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