
開発サーバー用に、シンプルな Apache Web サーバー セットアップと基本的な IP テーブル (ufw) があります。ログには次のような行が表示されます。
[Fri May 16 10:10:36.258369 2014] [:error] [pid 15926] [client 69.147.158.130:8396] script '/var/www/html/wp-login.php' not found or unable to stat
私は WordPress をまったく実行しておらず、これは非常に小さなハッキングの試みであることは理解しています (Apache に対するより洗練された攻撃が存在します)。ただし、Snort などの IDS/IPS をインストールせずに、この IP アドレスを (一時的に) 自動的にブロックしたいと思います。
私は、wp-admin または wp-login に接続しようとするアドレスをブロックする簡単な方法を探しています。このようなことを処理できる Apache モジュールはありますか?
答え1
明らかに IP アドレスをブロックする解決策を求めていますが、それは良い解決策ではないと思います。
その理由は、これらの攻撃は、おそらく 1 つのマスター システムによって制御されているさまざまな IP アドレスから行われているからです。これが、今日の DDoS 攻撃やハッキング攻撃が発生する仕組みです。
代わりに、実装を検討する必要がありますモッドセキュリティこれは、Web サービス レベルのファイアウォールとして機能する Apache モジュールです。サイトに送信されるすべての Web トラフィックを分析し、既知の異常な動作が検出された場合は、「403: Forbidden」応答によってアクセスがブロックされます。
少しマイナス面としては、MidSecurity には、適切に機能するが誤検知を引き起こす可能性のあるデフォルトのルール セットが多数あることです。そのため、実装すると、最初の数週間は微調整が必要になる可能性が高くなります。
しかし、最終的な結果は、この「あなたを知る」期間の後に、既知の不正な動作からサイトをヒューリスティックに保護するツールが手に入ることです。IP アドレスのリストを保持するだけではありません。
答え2
自動的に行うことはお勧めしません。IP を手動でブロックすることをお勧めします。自動化できる唯一のシステムは、ログを解析して同様のエラーを検出するスクリプトなどです。
ufwでIPをブロックするには
sudo ufw deny from <ip address>
iptablesで
sudo iptables -I INPUT -s <ip address> -j DROP
答え3
私にとって有効な解決策は、@ceejayozのコメントに記載されているfail2banです。
@iain - これは実際には重複しています - 指摘していただきありがとうございます。