2017-09-25 1 views
0

私たちはSuse Linux Enterprise Server 12を使用しています。私たちのWebサーバーに1秒間に50回以上接続するIPアドレスをブロックし、そのIPアドレスを10分間ブロックする必要があります。また、攻撃者と本物のトラフィックを区別し、攻撃者のIPを永久にブロックする必要があります。私たちは現在iptablesの使用をブロックしていますが、以下は原則です。IPTables同時接続をブロックするスクリプト

iptables -I INPUT -p tcp --dport 443 -i eth0 -m state --state NEW -m recent --set 
iptables -I INPUT -p tcp --dport 443 -i eth0 -m state --state NEW -m recent --update --seconds 1 --hitcount 50 -j DROP 

IPAddressは50個を超える接続をブロックしますが、IPAddressはブラックリストに登録されません。上記のすべてのシナリオに一致するスクリプトがあるかどうかをお知らせください。助けてください。

+0

要求(SYN)が1秒で50を超えると、作成したルールによって同じIPアドレスからの新しい接続がブロックされます。そうであれば、IPアドレスは1秒間ブロックされます。タスクを達成するための多くの例が見つかります。このような自動IPブラックリストの実装は、ソースIPを偽装することによってサービス拒否の影響を受けやすいことに注意してください。誤ったブロッキングは、誰かのブラウザがループに陥った場合にも起こる可能性があります。 fail2banはあなたの問題を解決することを目的とした素晴らしいツールです。 –

答えて

0

これをテストしたところ、本当にうまく動作しました。振る舞いが検出された場合、IPは10分間ホールドダウンされてログに記録されます。これらのファイルを見て、動作を確認することができます。/proc/net/xt_recent/NICE、/ proc/net/xt_recent/NAUGHTY。悪質なIPのログを解析し、永久にブラックリストに登録する場合は、起動時にiptablesにロードされるファイルにコミットするスクリプトを作成する必要があります。そのコンセプトはすでに明らかですので、私にそれを含める必要はありません。

#flush and clear 
iptables -F -t nat 
iptables -F 
iptables -X 

#this is where naughty kids go 
iptables -N GETCAUGHT 

#you got added to the naughty list 
iptables -A GETCAUGHT -m recent --name NAUGHTY --set     #everyone here is bad 
iptables -A GETCAUGHT -j LOG --log-prefix "iwasbad: " --log-level 4 #and it goes on your permanent record 

#if you are on the NAUGHTY list you get a lump of coal         
iptables -A INPUT -i eth0 -m recent --name NAUGHTY --rcheck --seconds 600 -j DROP  #check everyone at the door 

#though everyone starts out on the NICE list 
iptables -A INPUT -i eth0 -p tcp --dport 443 -m conntrack --ctstate NEW -m recent --name NICE --set  #you seem nice 

#but if you GETCAUGHT doing this you are naughty 
iptables -A INPUT -i eth0 -p tcp --dport 443 -m conntrack --ctstate NEW -m recent --name NICE --seconds 1 --hitcount 50 --update -j GETCAUGHT #that wasn't nice 
+0

上のスクリプトはいくつかの変更を加えて動作しました。ありがとうございました。 – user2693302

+0

コマンド "iptables -F"はあなたのINPUTチェーンをフラッシュします。それはUFWとFail2Banがルールを保存する場所で、ファイアウォールを破壊します。あなたがUFWとFail2Banを使用していなくても、ほとんどの同等のサービスも同様にiptablesを使います。 iptables -Fとiptables -Xを呼ばなくてもルールを追加できます。私は "iptables -F -t nat"についてコメントするのに十分な知識がありませんが、より多くの研究と注意を助言します。 –

関連する問題