天天看點

利用shell自動将異常IP加入iptables黑名單

在日常的工作中,總會碰到異常IP建立大量的TCP連接配接,導緻伺服器響應速度慢或者無法通路;

此時可以利用腳本将這些異常的IP加入iptables黑名單;

統計異常IP并加入黑名單腳本:

<code>#!/bin/bash</code>

<code>netstat</code> <code>-na | </code><code>grep</code> <code>ESTAB | </code><code>awk</code> <code>'{print $5}'</code> <code>| </code><code>awk</code> <code>-F: </code><code>'{print $1}'</code> <code>| </code><code>egrep</code> <code>-</code><code>v</code> <code>'192.168|127.0'</code> <code>| </code><code>uniq</code> <code>-c | </code><code>awk</code> <code>'{if($2!=null &amp;&amp; $1&gt;1){print $2}}'</code> <code>&gt; </code><code>/root/dropip</code><code>.txt</code>

<code>for</code> <code>i </code><code>in</code> <code>$(</code><code>cat</code> <code>/root/dropip</code><code>.txt)</code>

<code>do</code>

<code>/sbin/iptables</code> <code>-A INPUT -s $i -j DROP</code>

<code>echo</code> <code>"$i"</code> <code>&gt;&gt; </code><code>/root/dropip</code><code>.log</code>

<code>done</code>

結合任務計劃每隔3分鐘自動執行:

<code>[root@lvs02 account_tcp]</code><code># crontab -l</code>

<code>#tcp connection is limit</code>

<code>*</code><code>/3</code> <code>* * * * </code><code>/root/account_tcp/drop_ip</code><code>.sh %&gt; </code><code>/dev/null</code>

本文轉自激情燃燒的歲月部落格51CTO部落格,原文連結http://blog.51cto.com/liuzhengwei521/1909535如需轉載請自行聯系原作者

weilovepan520