在某目錄下建立指令碼檔案auto_deny_login.sh,內容如下,
注意:檔案必須在linux下建立並加入如下指令碼內容,否則會報錯。
#!/bin/sh
#auto drop ssh failed ip address
#wugk 2013-1-2
#定義變數
sec_file=/var/log/secure
#如下為擷取secure檔案惡意ip 遠端登入80埠,大於等於4次就寫入防火牆,禁止以後再登入伺服器的22埠
ip_addr=`tail -n 1000 /var/log/secure |grep "failed password"|awk ''|grep "\." |sort |uniq -c |sort -nr|awk ' $1>=4 '`
iptable_conf=/etc/sysconfig/iptables
echo
cat if [ $? -ne 0 ];then
#判斷iptables配置檔案裡面是否存在已拒絕的ip,如何不存在就不再新增相應條目
sed -i "/lo/a -a input -s $i -m state --state new -m tcp -p tcp --dport 80 -j drop" $iptable_conf
else
#如何存在的話,就列印提示資訊即可
echo "this is $i is exist in iptables,please exit ......"
fi done
#最後重啟iptables生效
/etc/init.d/iptables restart
執行定時任務:
如上指令碼編寫完畢,如何實現自動新增惡意ip呢,執行如下命令,新增到crontab即可,實現每5分鐘自動執行該指令碼。
echo "*/5 * * * * /bin/sh /data/sh/auto_deny_login.sh >>/data/logs/login/login.log 2>&1" >>/var/spool/cron/root
login.log需要自己手動建立,注意自己修改auto_deny_login.sh和login.log的路徑
Linux計畫任務通過執行指令碼
linux計畫任務通過執行指令碼備份xampp安裝的mysql資料庫 鄧強 1.首先編輯計畫任務 vim etc crontab 加入以下 mysqldump mysqlbases to this file 0 2 root usr bin mysqlbak 這是設定每天2點定時執行 mysqlba...
Apache 通過CGI執行指令碼
1.配置伺服器,開啟注釋 告訴伺服器cgi和pl字尾的檔案都是cgi指令碼 編寫python指令碼,並放入 var www cgi bin 目錄下 usr bin python coding utf 8 print content type text plain print hello,world ...
通過 MAC 位址得到IP的指令碼
通過 mac 位址得到ip的指令碼冷勝魁 seaquester lengshengkui gmail.com 2008 7 16掃瞄某乙個網段,尋找指定網絡卡 由mac位址確定 的ip。bin bash ipprefix 172.21.73 count 1 mac 1 while count 255...