一. 關(guān)閉Ping 掃描
- 先切換到root
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
1代表關(guān)閉,0代表開啟
- 用iptables
iptables -I INPUT -p icmp -j DROP
二. 創(chuàng)建普通用戶,禁止root用戶登錄,只允許普通用戶使用su命令切換到root
這樣做的好處是雙重密碼保護(hù),黑客就算知道了普通用戶的密碼,如果沒有root密碼,對(duì)服務(wù)器上攻擊也比較有限。
- 在root下添加普通賬戶
useradd lidi // 添加一個(gè)普通賬戶lidi,并設(shè)置密碼
passwd lidi
- 禁止root登錄
vi /etc/ssh/sshd_config
PermitRootLogin no // 設(shè)為no
Systemctl restart sshd // 重啟sshd
這樣就完成了第一步,之后root就無法登錄服務(wù)器只能通過普通用戶su切換
三、 修改ssh的默認(rèn)端口22,因?yàn)閟sh的端口是22,我們?nèi)绻薷牧嗽摱丝?,他們就需要花費(fèi)一點(diǎn)時(shí)間來掃描,稍微增加了點(diǎn)難度
以下將端口改為20903可以根據(jù)需要自己更改,大家修改端口時(shí)候最好挑10000~65535之間的端口號(hào),10000以下容易被系統(tǒng)或一些特殊軟件占用,或是以后新應(yīng)用準(zhǔn)備占用該端口的時(shí)候,卻被你先占用了,導(dǎo)致軟件無法運(yùn)行
- 修改/etc/ssh/sshd_config
vi /etc/ssh/sshd_config
#Port 22 //這行去掉#號(hào)
Port 51866 //下面添加這一行
為什么不先刪除22,以防其他端口沒配置成功,而又把22的刪除了,無法再次進(jìn)入服務(wù)器
- 修改SeLinux,關(guān)閉可忽略
- 如果你關(guān)閉了防火墻,可以忽略第三步,話說防火墻不開啟太危險(xiǎn)了,建議開啟
- 首先查看防火墻是否監(jiān)聽20903端口
firewall-cmd --permanent --query-port=20903/tcp
no // 顯示no 未監(jiān)聽
firewall-cmd --permanent --add-port=20903/tcp // 添加端口
success
- 重新加載防火墻策略
firewall-cmd --reload
- 執(zhí)行成功后,查看20903端口是否被開啟:
firewall-cmd --permanent --query-port=20903/tcp
- 重啟SSH服務(wù)和防火墻,最好也重啟下服務(wù)器
systemctl restart sshd
systemctl restart firewalld.service
shutdown -r now
- 然后測試試試,能不能通過20903登錄,若能登錄進(jìn)來,說明成功,接著刪除ssh 22端口,同時(shí)關(guān)閉防火墻22端口
firewall-cmd --permanent --zone=public --remove-port=22/tcp
四、使用一些類似DenyHosts預(yù)防SSH暴力破解的軟件(不詳細(xì)介紹)
其實(shí)就是一個(gè)python腳本,查看非法的登錄,次數(shù)超過設(shè)置的次數(shù)自動(dòng)將ip加入黑名單。
五、使用云鎖(不詳細(xì)介紹)