服务器最近登录一直卡顿,大概20~30秒,于是使用如下命令查看了下登录日志:
tail -10f /var/log/secure
日志信息如下:
竟然有人暴力刷账号密码,想破解登录!!真无聊
于是使用如下命令调试打印登录过程日志
ssh -vvv -p 26 [email protected]
日志信息如下:
显示文件系统满了,于是如下命令查看了下资源占用
df -h
信息如下
还有资源呀...
于是百度了解到 /var/log/btmp 记录了ssh失败的登录尝试次数和btmp上一次失败尝试的日期;
当ssh遭到爆破,会导致该文件过大会造成读取耗时也会导致ssh卡慢。
于是执行sudo truncate -s 0 /var/log/btmp
或执行:echo "" > /var/log/btmp清空,直接将该文件置为空
于是 就好了
为了防止再次被刷
1、使用如下命令修改ssh 端口
vim /etc/ssh/sshd_config
修改
Port 28
重启ssh
systemctl restart sshd
防火墙添加28端口
firewall-cmd --zone=public --add-port=28/tcp --permanent
firewall-cmd --reload
2、使用cron定期清理 btmp文件
btmp 文件不像其他日志那样通过 logrotate 自动轮转,但你可以设置一个定时任务来定期清空这个文件。例如,创建一个 cron 任务来每天清空 btmp:
sudo crontab -e
在编辑器中添加以下行(如果没有编辑器选择提示,推荐使用 nano 或 vi):
10 0 * * * > /var/log/btmp
这行命令会在每天的午夜(00:00)清空 btmp 文件。