自動拒絕惡意IP遠端登入Linux伺服器指令碼

2021-09-04 04:20:13 字數 1887 閱讀 7451

隨著整個it行業的發展,安全對於人們來說非常的重要,小到個人電腦,到it企業大資料儲存,大到整個網際網路安全,其實要做好安全,不能光看整體,有時候細節才是最重要的,相對而言,個人電腦的安全,需要我們從多方面來防禦,例如使用目前權威主流的360防毒軟體,然後結合自己上網的習慣,不要開啟來歷不明的東西等等。

那對於伺服器級別的安全,我們該如何來做呢,首先是伺服器本身處在的機房環境安全,人為操作安全,以及作業系統方面的安全,禁止不必要的埠和服務、配置伺服器自身防火牆,例如iptables,除了這些,伺服器就安全了嗎,就算我們做到這些,也只是相對的安全。安全是要靠長期和點滴來保證。

說了那麼多,呵呵,那我們今天要討論的是什麼呢?今天我們一起來研究一下linux下如何拒絕惡意ip的***,當然這裡有很多種方法,我們今天使用指令碼來實現。

有部分伺服器由於業務的需求,配置了外網ip,允許22埠對外訪問,(當然我們這裡是來討論這種情況的初步解決方法,真實環境中如果加強安全的話,伺服器前端我們可以配置硬體防火牆,後端管理的話,我們可以使用***接入、ip限制、中控機金鑰登入、許可權命令控制等一系列的方法來鞏固區域網伺服器的相對安全。)

當我們已經配置了iptables防火牆,我們允許22埠對外網所有人訪問,當然這也是為了方便,我們在任何地方都連線上,沒有做***,也沒有做ssh金鑰驗證,但是我們的密碼設定得非常複雜,大小寫、特殊符、數字 32位,連自己都記不住,就別人掃瞄沒有3-5年是無法攻破的哈哈。所以每天看/var/log/secure檔案裡面,全部是惡意***的ip,那怎麼拒絕這些ip下次再***,或者怎麼讓這些ip嘗試3-4次就拒絕訪問22埠了,看**如下:

#!/bin/sh

#auto drop ssh failed ip address

#wugk 2013-1-2

#定義變數

sec_file=/var/log/secure

#如下為擷取secure檔案惡意ip 遠端登入22埠,大於等於4次就寫入防火牆,禁止以後再登入伺服器的22埠

ip_addr=`tail -n 1000 /var/log/secure |grep "failed password"| egrep -o "([0-9]\.)[0-9]" | sort -nr | uniq -c |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 22 -j drop" $iptable_conf

else

#如何存在的話,就列印提示資訊即可

echo "this is $i is exist in iptables,please exit ......"

fidone

#最後重啟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

過幾天觀察,我們會發現iptables配置檔案裡面發生了如下變化:截圖如下,全部是惡意***的ip:

以上方法僅供參考,還有另外一種方法也非常不錯,通過讀取惡意ip登入資訊,然後把ip寫入/etc/hosts.deny 檔案高效,一樣可以達到效果。

遠端登入ubuntu被拒絕

過一天的努力終於在今天中午實現了遠端登入ubuntu,現在把步驟寫一些 我用的是ubuntu8.10,先配置了 etc gdm gdm.conf custom,找到下邊的資訊 security disallowtcp false xdmcp enable 1 port 177 在windows下安裝...

遠端登入VirtualBox虛擬機器Linux

通過埠 的方式,使用終端 如mobaxterm,xshell,putty等終端 遠端登入本機虛擬機器linux,開啟虛擬機器,找到 設定 網路 網絡卡1 確認以下設定項,如果不一致請更改。點選 埠 新增一條記錄 名稱任意 如 ssh 協議 tcp 主機ip 127.0.0.1 主機埠 2222 任意...

python 輸入IP自動遠端登入伺服器

usr bin python encoding utf 8 1 編寫乙個函式,返回使用者名稱 ip 密碼 2 系統資訊展示 3 ssh遠端登入 import getpass import pexpect class auto ssh 輸入ip,返回使用者名稱和密碼 defsystem message...