私はcentOS7サーバーにデプロイされたWebアプリケーションに対して侵入テストを実行しているようです。送信元IPアドレス11.21.32.44からポート80および443への着信要求をブロックする方法
OSファイアウォールを使用してブロックし、centOS7はファイアウォールを使用します。
次から読むFedora ドキュメントルールは次のようになります。
firewall-cmd --add-rich-rule="
rule family='ipv4'
source address='11.21.32.44'
port protocol='tcp' port='443' reject"
さて、今よりよく考えてみると、404 httpd応答でN個の要求の後に特定のIPアドレスを自動的にブロックする方法を探したいと思います。
答え1
ボットの場合は、ターゲットポートに関係なくすべての接続試行を安全に拒否する必要があります。
これを行うには、そのIPアドレスまたは範囲をファイアウォールブロックゾーンに追加するだけで十分です。
firewall-cmd --zone=block --add-source=203.0.113.208/29
whois $someip
ipcalc -d
よく知られていない不要なボットデータベースを使用して、レコードアドレスを照会して範囲を決定できます。
もちろん、個々の住所を追加することも可能です。
--permanent
これらのブロックを保存するには追加する必要があります。
Firewalldは確立された接続ではなく新しい接続のみを拒否するため、Webサーバーに確立された接続はまだログに入力される可能性があります。
これを削除するには、次のように殺すことができますss
。
ss -K dst 203.0.113.208
dst
(はい、ボットのソースアドレスとして使用する必要があります)
さまざまなリスクが関連しているため、このプロセスを自動化するのは面倒です。
- 攻撃面を増やします(これは理論的なリスクではありません。過去を検索することをお勧めします)。欠陥禁止CVEそして類似)
- 誤検知が多すぎます。つまり、自動化されたシステムが過度にブロックされ、正当な訪問者/顧客または自分自身をブロックできます。
- ...