文章目录
- 说明
- 可用的措施
- Fail2ban简介
- [Fail2ban 安装与配置指南](#Fail2ban 安装与配置指南)
- 防火墙的安全防护配置
- 清理SSH登陆日志
说明
- 公网有风险,使用需谨慎
可用的措施
- 更换默认的 22 端口;
- 禁止 root 账号;
- 高强度密码;
- 禁止 ping;
- 尝试登录次数限制;
- 生成密钥对;
- 限制登录 ssh 的 ip。
Fail2ban简介
- Fail2ban 是一款用于防止暴力破解的工具,可以监控日志文件并自动封禁恶意 IP。
rsyslog
是日志管理工具,Debian 12 及以上版本可能需要手动安装以支持 Fail2ban 的正常运行。- 通过
systemctl
命令可以管理 Fail2ban 服务的启动、停止和状态查看。
Fail2ban 安装与配置指南
- 打开fail2ban安装命令文档【这里以ubuntu为例】
-
安装 Fail2ban
bashsudo apt-get install fail2ban
-
安装 rsyslog(适用于 Debian 12 及以上版本)Debian 12 及以上版本需要手动安装
rsyslog
,执行以下命令:bashsudo apt-get install rsyslog
-
启动 Fail2ban 服务
bashsudo systemctl start fail2ban
-
设置开机自启动
bashsudo systemctl enable fail2ban
-
查看 Fail2ban 服务状态
bashsudo systemctl status fail2ban
如果需要修改禁用方式,需要先判读对应服务是否正常可用;
- RedHat/CentOS 使用的是 Firewall 防火墙。
- Debian/Ubuntu使用的是 UFW 防火墙。
日志路径需要根据操作系统修改。
- RedHat/CentOS 日志为 /var/log/secure。
- Debian/Ubuntu 日志为 /var/log/auth.log
防火墙的安全防护配置
- 务必开启防火墙(不要嫌弃麻烦),同时开启禁用ping
SSH管理的安全配置
- 启用开机自启,配置需要的连接端口、登陆密码和方式
Fail2ban安全防护配置
清理SSH登陆日志
-
删除 /var/log/ 目录下的 ssh 日志文件
auth.log
。bashsudo truncate -s 0 /var/log/auth.log /var/log/auth.log.1
sudo
: 清空系统日志文件需要管理员权限,因此需要使用sudo
。truncate
: 用于调整文件大小的命令。-s 0
: 将文件大小设置为 0 字节,即清空文件内容。/var/log/auth.log
和/var/log/auth.log.1
: 要清空的目标文件路径。
-
也可以使用以下命令来清空文件内容:
bashsudo echo "" > /var/log/auth.log sudo echo "" > /var/log/auth.log.1
bashsudo cat /dev/null > /var/log/auth.log sudo cat /dev/null > /var/log/auth.log.1