2007年10月11日 星期四

自動抵擋攻擊 ip-deny.sh

# 抓取 系統安全紀錄 | 分離 有含 "Failed" 的字串 > 建立紀錄檔deny_log
cat /var/log/secure |grep Failed > deny_log

# 分析紀錄檔 deny_log | 解析有::ffff:字串;刪除前方字元,
#解析有port字串;刪除後方字元 並輸出到紀錄檔 deny_iplog,
#執行排序sort 後再過濾重覆資料uniq !!
cat deny_log | sed 's/^.*::ffff://g' | sed 's/port.*$//g' | sort | uniq >> deny_iplog

# 再一次排序及過濾重覆資料
cat deny_iplog | sort | uniq > deny_iplog2

#刪除紀錄檔
rm -rf deny_iplog

# 建立完整 hosts.deny
echo ALL: > hosts.deny.1
# 去掉紀錄檔中的 跳行字元 tr -d '\n'
cat deny_iplog2 | tr -d '\n' >> hosts.deny.1
echo :deny >> hosts.deny.1

# 去掉紀錄檔中的 跳行字元 tr -d '\n'
cat hosts.deny.1 | tr -d '\n' >> hosts.deny.2
cat hosts.deny.2 > /etc/hosts.deny

# 輸出一個空行到hosts.deny作為跳行字元
echo "" >> /etc/hosts.deny

#刪除暫存處理檔案
rm -rf hosts.deny.?



#備註 修改 /root/ .bashrc 加入 /root/deny.sh 即可在root登入時自動執行!!

沒有留言: