ssh 安全配置
- 端口
ssh随机端口范围在 27000-30000可以手动修改也要改在这个范围内建议定时修改端口。
- 密码
登陆密码应包含大小写、数字、特殊字符等 10 位以上建议定期修改密码。
- root 登录
默认允许 root 登录 vps也可以新建普通用户禁止 root 登录。
vim /etc/ssh/sshd_config
1 # add below lines2 PermitRootLogin no
- 密钥登录
如果觉得还不够安全或者非 root 登录不方便也可以设置密钥登录然后再禁止密码登录。不过这样只能在自己电脑上登录。
客户端生成密钥对然后把公钥传输到服务端
[客户端 ~]# ssh-keygen
[客户端 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub -p 端口 用户名服务器地址
- 用户限制
可以设置允许登录的用户以及禁止登陆的用户
vim /etc/ssh/sshd_config
1 # add below lines2 AllowUsers xxx3 DenyUsers xxx
- ip 限制
相比 iptables 通过修改配置文件限制 ip ssh 登录更简便。
vim /etc/hosts.allow
1 # add below lines2 # only allow x.x.x.x login3 sshd: x.x.x.x4 # allow all ip login5 sshd:all
vim /etc/hosts.deny
1 # add below lines2 # deny x.x.x.x login3 sshd: x.x.x.x
Centos7配置fail2ban防止ssh被暴力破解
- 配置epel源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
或者 yum -y install epel-release
- 安装fail2ban
yum install fail2ban
- 查看当前版本
fail2ban-server -V
- 配置
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
vi /etc/fail2ban/jail.local
末尾添加以下内容
1 [ssh-iptables]2 enabled true3 filter sshd4 action iptables[nameSSH, port22, protocoltcp]5 #sendmail-whois[nameSSH, destyouremail.com, senderfail2banemail.com]6 logpath /var/log/secure7 maxretry 38 bantime 300
maxretry 表示最大尝试次数达到3次bantime 客户端300秒内禁止连接
- 启动fail2ban服务
systemctl start fail2ban
- 验证
fail2ban-client ping
Server replied: pong //表示正常
- 测试
连接当前主机连续输错三次密码则会拒绝连接
查看被禁止的IP
fail2ban-client status ssh-iptables
此处ssh-iptables为jail.local的[ssh-iptables]名称
可以在/var/log/fail2ban.log查看屏蔽日志
下一篇姊妹篇之——fail2ban 触发邮件告警
努力吧少年不努力学习你将一无所有。。。。。。。。。。。。。。。
转:https://www.cnblogs.com/iceblues/p/10203423.html