?場景:
周一上班centos服務(wù)器ssh不可用,web和數(shù)據(jù)庫等應(yīng)用不響應(yīng)。好在vnc可以登錄
使用last命令查詢,2號之前的登錄信息已被清空,并且sshd文件在周六晚上被修改,周日晚上2點服務(wù)器被人遠程重啟
root?????pts/1????????:1.0?????????????Mon?Jul??3?11:09???still?logged?in???
root?????pts/1????????:1.0?????????????Mon?Jul??3?11:08?–?11:09??(00:01)????
root?????pts/0????????:0.0?????????????Mon?Jul??3?10:54???still?logged?in???
root?????tty1?????????:0???????????????Mon?Jul??3?10:53???still?logged?in???
reboot???system?boot??2.6.32-696.3.2.e?Mon?Jul??3?10:46?–?11:11??(00:25)????
root?????pts/0????????:0.0?????????????Mon?Jul??3?10:42?–?down???(00:01)????
root?????tty1?????????:0???????????????Mon?Jul??3?10:40?–?down???(00:03)????
reboot???system?boot??2.6.32-696.3.2.e?Sun?Jul??2?02:31?–?10:44?(1+08:12)???
reboot???system?boot??2.6.32-431.el6.x?Sun?Jul??2?02:27?–?02:27??(00:00)?
Jul??2?03:11:20?oracledb?rsyslogd:?[origin?software=”rsyslogd”?swVersion=”5.8.10
”?x-pid=”1960″?x-info=”
“]?rsyslogd?was?HUPed
Jul??2?03:35:11?oracledb?sshd[13864]:?Did?not?receive?identification?String?from
使用less /var/log/messages命令2點結(jié)合last命令,判斷2點重啟后IPATABLES生效,有大量的ssh暴力破解的掃描信息,由于機器是測試環(huán)境,上面安裝了ORACLE和squid,臨時管理了iptables,重啟后iptables啟動,應(yīng)該沒有再次被再次登錄,但是系統(tǒng)中部分文件以及被修改
message文件中部分信息如下:
103.207.37.86
Jul??2?03:35:12?oracledb?sshd[13865]:?Error:?Bad?prime?description?in?line?186
Jul??2?03:35:12?oracledb?sshd[13865]:?error:?Bad?prime?description?in?line?187
Jul??2?03:35:12?oracledb?sshd[13865]:?error:?Bad?prime?description?in?line?188
Jul??2?03:35:13?oracledb?sshd[13865]:?Failed?password?for?illegal?user?support?f
103.207.37.86?port?58311?ssh2
Jul??2?03:45:05?oracledb?sshd[13887]:?Illegal?user?support?from?
103.79.143.234
113.108.21.16
Jul??2?05:10:37?oracledb?sshd[14126]:?Illegal?user?support?from?
103.79.143.234
Jul??2?05:10:37?oracledb?sshd[14126]:?Failed?password?for?illegal?user?support?f
rom?
103.79.143.234?port?57019?ssh2
Jul??2?05:10:43?oracledb?sshd[14128]:?Did?not?receive?identification?string?from
解決方法
1.修改root用戶密碼
2.由于sshd文件被修改,重新安裝ssh,并設(shè)置只有指定內(nèi)網(wǎng)IP可以訪問
3.配置iptables,使iptables
重裝SSHD
1.rpm -qa | grep ssh查詢已安裝包
系統(tǒng)已安裝包:
openssh-clients,openssh-server,openssh,openssh-askpass
刪除這四個包,刪除時centos提示包之間有依賴關(guān)系,按照提示從依賴關(guān)系的最里層開始刪除,
按照openssh-askpass openssh openssh-server openssh-clients這個順序刪除就可以了。
2.安裝
使用yum逐一安裝,yum install openssh-askpass **
安裝openssh-server時提示:
unpacking of archive failed on file /user/sbin/sshd cpio:rename
刪除文件提示Operation not permitted錯誤
查詢文件的隱藏屬性
lsattr /usr/sbin/sshd
-u—ia–e /usr/sbin/sshd
i:設(shè)定文件不能被刪除、改名、設(shè)定鏈接關(guān)系,同時不能寫入或新增內(nèi)容。i參數(shù)對于文件 系統(tǒng)的安全設(shè)置有很大幫助。
a 即append,設(shè)定該參數(shù)后,只能向文件中添加數(shù)據(jù),而不能刪除,多用于服務(wù)器日志文件安全,只有root才能設(shè)定這個屬性
使用 chattr -ia /usr/sbin/sshd修改文件的隱藏屬性,取消對應(yīng)設(shè)置之后刪除成功
+ :在原有參數(shù)設(shè)定基礎(chǔ)上,追加參數(shù)。 – :在原有參數(shù)設(shè)定基礎(chǔ)上,移除參數(shù)
再次yum install openssh-server 成功
3.配置ssh登錄控制,設(shè)置管理IP,黑白名單
vi /etc/ssh/sshd_config
#修改端口號
Port 52111
#只允許SSH2方式的連接
Protocol 2
#容許root用戶登錄,因為后面會設(shè)置可登錄IP,所以這里就容許了
PermitRootLogin yes
#不容許空密碼
PermitEmptyPasswords no
#屏蔽來自所有的SSH連接請求
vi /etc/hosts.deny
sshd: ALL
#允許來自內(nèi)網(wǎng)指定ip的SSH連接請求
vi /etc/hosts.allow
sshd: 192.168.0
sshd: 192.168.253.**
配置對應(yīng)iptables設(shè)置
1.iptables配置規(guī)則
iptables [-t表名] [-A|I|D|R 鏈名 ] [-i網(wǎng)卡名] [-p協(xié)議] [-s源IP] [-d目標ip] [–dport目標端口號] [-j動作]
這里需要配置的是Filter表,filter表中有input,output,forward三條規(guī)則鏈,如果本機服務(wù)比較多,規(guī)則比較繁瑣,比較便捷的方法是寫shell腳本之后重啟ssh服務(wù)
#限制SSH的連接IP
iptables -A INPUT -s 192.168.101.32 -p tcp –dport 22 -j ACCEPT
iptables -A INPUT -s 192.168.101.35 -p tcp –dport 22 -j ACCEPT
#SSH支持52111是修改后SSH端口
iptables -A OUTPUT -p tcp –sport 52111 -j ACCEPT
這里只是針對SSH做了簡單配置,具體iptables的配置,詳見iptables配置一文
配置后/etc/rc.d/init.d/iptables save保存,使用service iptables restart重啟服務(wù)后配置生效。