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

サーバー設定

Web サイトへの不正アクセスを防止する方法について解説します。

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



Basic 認証で不正アクセスを防止

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

Apache や nginxなど、主要なWebサーバーは全て対応しています。
Apache でパスワード制限を掛ける

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

活用例として、WordPress の管理画面 /wp-admin などに設定すると、
WordPress に対する不正アクセスをある程度抑えられます。

IP アドレスで不正アクセスを防ぐ

アクセス元が決まっている場合、「IPアドレス」による制限が効果的です。
特定の IP アドレスのみを許可したり拒否することができます。

日本語のサイトで日本人向けのコンテンツしかない場合は、
国外の IP アドレスをブロックすることで海外からの攻撃を防止できます。

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

サイトの特性や利用者層、セキュリティ要件とのバランスを考慮する必要があるため、
IP アドレス制限の難易度は少々高めであると言えます。

WAF (Web Application Firewall) を導入する

WAF (Web Application Firewall) と呼ばれるツールがあります。
Web サイトへの不正アクセスを防ぐために開発されたファイアウォールです。

短時間の大量アクセスや、不審な通信内容を自動的にブロックする機能を持ちます。
攻撃によく使われるパターンを学習しているため、一定の効果が見込めます。

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

ただし、すべての攻撃をブロックできるわけではありません
Web サイトのセキュリティ対策を怠っていると意味がないので注意しましょう。

 
重要度の高い情報(個人情報など)を取り扱う場合は、
不正アクセス対策の一環として検討する余地があります。

まとめ

Web サイトへの不正アクセス防止について解説しました。
Web はデザインや機能面が注目されがちですが、セキュリティ対策も非常に重要です。

基本的には Web サイトをセキュアに作りこむことが重要ですが、
ログイン認証・IP アドレス制限・WAF といった仕組みを活用して安全性を高めましょう。

【関連記事】
エックスサーバーのセキュリティ強化
サポート切れサーバーを使うリスクとは
AWS WAF でサイトへの攻撃をブロックする
CentOS のログイン履歴を確認する方法
nginx で User-Agent の制限を掛ける