みなさん、良い一日を!
ブラックリストに登録されたIPおよびプロキシ(ほとんどが匿名)からサーバーへの着信要求をブロックする方法を探しています。 Apache configを使用してそれを行う方法は非常に明白ですが、主な質問は、そのようなIPの定期的に更新されるリストをどこで見つけることができるかです。
これを行うための「ベストプラクティス」はありますか?
この理由をさらに深く掘り下げます。私のWebサイトは、主に米国にあるさまざまなIPから大量の着信トラフィックを受信しています。ほとんどすべてのリクエストは互いに延期されます。そのため、特定のIPも、サブネットごとのIPの範囲もブロックできません。それは本当のDDoS攻撃ではありませんが、私の専用サーバーはほとんどオフラインになります:/
Fail2BanやDenyHostsのようなものが必要だと思いますが、パスワードの失敗だけでなく、すべての着信トラフィックに基づいています。
サーバーに優れた MoBlockのインストール方法 があります。 Ubuntu向けに書かれていますが、指示はどのディストリビューションにも適合させることができます。これは、任意のブロックリストをロードしてファイアウォールルールに変換できるツールであるため、Apacheが煩わされる前に、サーバーはトラフィックを迅速かつ効率的に破棄できます。
ブロックリスト自体については、 BISS IPブロックリスト ;があります。それらは主に、ピアツーピアトラフィックを監視しようとするエンティティをブロックすることを目的としており、非常にうまく機能します。ただし、オープンプロキシとTorルーターをブロックすることを目的とした「Tor /プロキシ」リストはありますが、その正確性や有効性については特に主張することはできません。
また、 DDoS-Deflate というプログラムを見つけました。これは、ファイアウォールルールを自動的に追加して、接続性の高いソースをブロックすることを目的としていますが、これも自分で使用したことがないため、どれだけうまく機能しているかはわかりません。動作します。
最後に、明らかにiptablesには hitcount コマンドがあり、着信接続を自動的にレート制限します。
Sudo iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH
Sudo iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 8 --rttl --name SSH -j DROP
これにより、着信SSH接続が60秒あたり8に制限され、すでに組み込まれています。
ModSecurityを試してください: http://www.modsecurity.org/ 、SSHBlackと組み合わせて: http://www.sshblack.com/
私は使用します http://feeds.dshield.org/block.txt
もっと積極的になりたい場合は、 http://www.wizcrafts.net/blocklists.html で入手できるリストを使用することもあります。
「不正な」IPをリストすることを目的としたサイトは多数あります。私は Project Honeypot が好きです。無料であり(ネットワークに参加している場合)、リストに載る理由についてはかなりオープンな基準があります。それ以外の場合、「オープンプロキシブラックリスト」をGoogleで検索すると、長い結果が得られるようです。具体的な推奨事項はありませんが、自分のニーズに合わせてオプションを分析することをお勧めします。