1. 程式人生 > >記錄下防禦SSH爆破攻擊的經驗(CentOS7.3)

記錄下防禦SSH爆破攻擊的經驗(CentOS7.3)

policy entos -perm 記錄 user 用戶名 kcon centos7 端口範圍

一、安裝denyhosts

1.安裝denyhosts

1 yum install -y denyhosts

2.配置(yum安裝時,大部分配置已寫好,稍作改動即可)

1 DENY_THRESHOLD_INVALID = 5 #無效用戶名限制登陸次數
2 DENY_THRESHOLD_VALID = 10 #有效用戶名限制登陸次數
3 DENY_THRESHOLD_ROOT = 5 #root限制登陸次數
4 AGE_RESET_ROOT = 1d  #root用戶登錄失敗計數歸零的時間
5 ADMIN_EMAIL = root@localhost #管理員郵箱

3.設置白名單、黑名單

1
vim /etc/hosts.deny 2 vim /etc/hosts.allow

相關命令

啟動命令yum安裝,已默認配好

1 service denyhosts start #啟動
2 service denyhosts stop #停止
3 service denyhosts status #顯示狀態

加入自啟動

1 chkconfig denyhosts on

二、禁止root遠程登錄、建立root權限的普通用戶

1.建立普通用戶

1 useradd name //name為添加用戶名字
2 passwd name //password為密碼

2.獲取root權限

1 vi /etc/sudoers

找到如下行:
技術分享圖片
更改為:
技術分享圖片

3.禁止root遠程登錄

1 vi /etc/ssh/sshd_config

將PermitRootLogin yes改為no

三、更改默認22端口為其他不常見端口

1.修改/etc/ssh/sshd_config

1 vi /etc/ssh/sshd_config

2.安裝semanage

1  yum install semanage
2  yum provides semanage 
3  yum -y install policycoreutils-python.x86_64

3.如果報錯則安裝所有服務

1 yum search SElinux

4.將所有SElinux開頭的都安裝下來

5.修改SElinux,使用以下命令查看當前SElinux 允許的ssh端口

1 semanage port -l | grep ssh

6.查看可以用的端口範圍

7.添加範圍內任意沒有被占用的端口來加入SElinux

1 semanage port -a -t ssh_port_t -p tcp 18888

8.然後確認是否已經加入進去

1 semanage port -l | grep ssh

如果成功會輸出

ssh_port_t tcp 18888, 22

9.將該端口添加到防火墻

1 firewall-cmd --zone=public --add-port=18888/tcp --permanent  #permanent是保存配置,不然下次重啟以後這次修改無效

10.重啟防火墻

1 firewall-cmd --reload

11.查看端口是否添加成功

1 firewall-cmd --zone=public --query-port=18888/tcp

12.重啟SSH

1 systemctl restart sshd.service

最後一步將/etc/ssh/sshd_config裏的Port 22註釋掉,改成現在你允許的端口

記錄下防禦SSH爆破攻擊的經驗(CentOS7.3)