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