1. 程式人生 > >shell解決訪問攻擊

shell解決訪問攻擊

兩種方法實現

解決DOS攻擊生產案例

提示:根據web日誌或者網路連線數,監控當某個IP併發連線數或者段時間內PV連線到達100及使用防火牆命令封堵對應的IP,監控頻率每隔3分鐘;防火牆命令為:iptables -A  INPUT -s 192.168.0.7  -j DROP

檢視防火牆iptables -L -n

第一種:監控日誌

#!/bin/sh

while true

do

cat access_log.dms|awk '{print $1}'|sort|uniq -c|sort -nr > a.log

exec< a.log

while read line

do

    pv=$(echo $line|awk '{print $1}')

    ip=$(echo $line|awk '{print $2}')

    if [ $pv -gt 1000 ]&& [ `iptables -L -n|grep "$ip"|wc -l` -eq 0 ];then

      iptables -A INPUT -s $ip -j DROP

    fi

done

sleep 180

done

第二種:監控ip連線數

#!/bin/sh

while true

do

netstat -an|grep EST|awk -F '[ :]+' '{print $6}'|sort|uniq -c >a.log

exec< a.log

while read line

do

    pv=$(echo $line|awk '{print $1}')

    ip=$(echo $line|awk '{print $2}')

    if [ $pv -gt 1000 ]&& [ `iptables -L -n|grep "$ip"|wc -l` -eq 0 ];then

      iptables -A INPUT -s $ip -j DROP

    fi

done

sleep 180

done