記錄下防禦SSH爆破攻擊的經驗(CentOS7.3)
阿新 • • 發佈:2017-11-17
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.設置白名單、黑名單
1vim /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)