Webサイトのセキュリティ対策(不正アクセス防止編)

サーバー設定

Webサイトを運営する際に、不正アクセスを防止する方法について紹介します。

今回は、特定のページに対してアクセス制限を掛ける3つの方法を取り上げました。管理画面や会員専用ページなど、特定の人にしか見せたくない場合に有効です。

Basic認証を掛けて不正アクセスを防止

導入のハードルが低く、設定も簡単なのが「Basic認証」によるアクセス制限です。
ユーザー名とパスワードを知っている人でないと、画面にアクセスすることができません。

Apacheやnginxなど、主要なWebサーバーは全て対応しています。設定方法について以下の記事で詳しく紹介しているため、ぜひ参考にしてください。

関連記事: Apacheでパスワードによるアクセス制限を掛ける方法

しかし、以降で紹介する2つの方法と比べるとセキュリティレベルは下がります。簡易的な認証・アクセス制限として活用しましょう。

WordPressの管理画面 /wp-admin などに設定すると、不正アクセスの軽減に繋がります。

IPアドレスで制限を掛ける

ハードルは高めですが、非常に効果があるのが「IPアドレス」による制限です。

アクセス元のIPアドレスを見てブロックする手段で、特定のIPアドレスのみを許可したり拒否することが可能です。

日本語サイトかつ日本人向けの場合は、海外のIPアドレスをブロックすることで、海外からの不正アクセスを防止できます。

注意点としては、IPアドレスに紐づく位置情報が必ずしも正しいとは限らない点です。海外だと思ってブロックしたIPアドレスが、実は日本で使われていたといったことも起こり得ます。

サイトの特性や利用者層、セキュリティ要件とのバランスを見て設定する必要があり、導入の難易度は少々高めであると言えます。

WAF(Web Application Firewall) を導入する

Webサイトへの不正アクセスをブロックするために、WAF(Web Application Firewall) と呼ばれるツールがあります。

短時間に大量にアクセスしてきたり、Webサーバーとの通信内容が不審なものであれば、アクセスを自動ブロックしてくれるものです。

ログイン機能や問い合わせフォームなど、ユーザーからの入力を受け付ける画面がある場合に特に有効です。クロスサイトスクリプティングやSQLインジェクションの防止にも繋がります。

すべての攻撃はブロックできないためWebサイト側での対策も必須です。

しかし、慎重な取り扱いが必要な情報(個人情報など)を持っている場合は、検討する余地があると思われます。

まとめ

Webサイトのセキュリティについて、不正アクセスを防止する方法を紹介しました。
サイトの機能やパフォーマンスと同様に、セキュリティ対策も重要な時代です。

基本的にはWebサイトをセキュアに作りこむことが重要ですが、必要に応じてログイン認証やIPアドレス制限・WAFといったツールを組み合わせることで、より安全性を高めることができます。

【関連記事】