Linux非法ip通過指令碼執行定時任務加入防火牆

2021-09-02 12:30:42 字數 1143 閱讀 4631

在某目錄下建立指令碼檔案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...