记录下防御SSH爆破攻击的经验(CentOS7.3)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记录下防御SSH爆破攻击的经验(CentOS7.3)相关的知识,希望对你有一定的参考价值。

一、安装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 = [email protected] #管理员邮箱

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)的主要内容,如果未能解决你的问题,请参考以下文章

CentOS7防止CC攻击防止SSH爆破采取的措施

PHP之防御sql注入攻击的方式 兄弟连分享经验技巧

牛掰!SSH端口嗅探方法及其防御技术

客户端遭受大流量的DDoS攻击了怎么办?

CentOS 7安装fail2ban+Firewalld防止SSH爆破

手游房卡麻将被流量攻击了怎么办