线上服务器每天都要经受几百上千次的ssh攻击,可以采取以下几种措施加强这方面的防护。
- 修改ssh服务端口
ssh服务默认监听22端口,大部分攻击都是针对这个端口的,我们可以修改它的默认监听端口号来减少被攻击概率
vim /etc/ssh/sshd_config
找到port 22这一行,把它修改为别的冷门端口号
重启sshd服务
service sshd restart 或者 systemctl restart sshd.service
-
设置ssh私钥登录
-
ssh-keygen -t rsa
生成秘钥,存放在/home/用户目录/.ssh/目录下面
将生成的id_rsa.pub公钥复制到该目录的authorized_keys文件中,多个用换行符分隔
-
修改ssh配置
vim /etc/ssh/sshd_config
PasswordAuthentication no //字符串密码登录禁止
PermitRootLogin no //root用户登录禁止,可以用一般用户登录以后通过"su -"来输入密码登入root用户,提高安全性
-
重启ssh服务
service sshd restart 或systemctl restart sshd.service
-
把生成的私钥文件复制到要登录的电脑上,配置shell登录
把id_rsa文件复制到自己的电脑上,shell软件中配置使用key登录,选择这个key,就可以登录啦
-
安装denyhosts软件
安装
yum install denyhosts.noarch
配置
vim /etc/denyhosts.conf
常用的配置项:
DENY_THRESHOLD_INVALID = 5 #无效用户名限制登陆次数
DENY_THRESHOLD_VALID = 10 #有效用户名限制登陆次数
DENY_THRESHOLD_ROOT = 5 #root限制登陆次数
AGE_RESET_ROOT = 1d #root用户登录失败计数归零的时间
一般默认配置就已经够了
启动服务:
service denyhosts start 或者 systemctl start denyhosts.service