Ubuntu vsftpd如何防止暴力破解
导读:Ubuntu 上 vsftpd 防止暴力破解的实用方案 一 核心思路 使用 Fail2Ban 自动封禁反复失败的源 IP,叠加 PAM 失败计数 做账户级锁定,形成双层防护。 关闭匿名登录、启用 chroot 隔离、限制可登录用户,降低被...
Ubuntu 上 vsftpd 防止暴力破解的实用方案
一 核心思路
- 使用 Fail2Ban 自动封禁反复失败的源 IP,叠加 PAM 失败计数 做账户级锁定,形成双层防护。
- 关闭匿名登录、启用 chroot 隔离、限制可登录用户,降低被爆破的攻击面与影响范围。
- 启用 SSL/TLS(FTPS) 加密凭据与数据,避免明文口令被嗅探再利用。
- 配置防火墙仅放通必要端口与来源网段,减少暴露面与扫描命中率。
二 快速落地步骤
-
安装并启用 Fail2Ban
- 安装:
sudo apt-get update & & sudo apt-get install fail2ban -y - 新建配置:
sudo nano /etc/fail2ban/jail.local - 示例内容:
[DEFAULT] bantime = 600 maxretry = 3 [vsftpd] enabled = true port = ftp filter = vsftpd logpath = /var/log/vsftpd.log maxretry = 3 bantime = 600 - 启动:
sudo systemctl restart fail2ban & & sudo systemctl enable fail2ban - 说明:以上规则会在 10 分钟 内失败 3 次 的 IP 封禁 10 分钟;可按需调整为更严格(如 bantime=3600、findtime=600)。
- 安装:
-
加固 vsftpd 基础配置
- 编辑:
sudo nano /etc/vsftpd.conf - 建议关键项:
anonymous_enable=NO local_enable=YES write_enable=YES chroot_local_user=YES allow_writeable_chroot=YES userlist_enable=YES userlist_deny=NO userlist_file=/etc/vsftpd/user_list xferlog_enable=YES xferlog_file=/var/log/vsftpd.log - 说明:禁用匿名、启用本地用户与写入(按业务定)、将用户 chroot 到主目录、仅允许 user_list 中的用户登录,并开启日志便于审计与 Fail2Ban 匹配。
- 编辑:
-
启用 SSL/TLS 加密
- 生成证书:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.key -out /etc/ssl/certs/vsftpd.crt - 配置 vsftpd:
ssl_enable=YES rsa_cert_file=/etc/ssl/certs/vsftpd.crt rsa_private_key_file=/etc/ssl/private/vsftpd.key force_local_logins_ssl=YES force_local_data_ssl=YES - 说明:强制登录与数据传输加密,防止明文口令被窃听与重放。
- 生成证书:
-
防火墙与被动端口
- 放通控制与数据端口(示例被动端口范围 40000–50000):
sudo ufw allow 21/tcp sudo ufw allow 40000:50000/tcp sudo ufw enable - 说明:被动模式需固定端口范围并在防火墙放行,否则数据通道会被阻断。
- 放通控制与数据端口(示例被动端口范围 40000–50000):
三 进阶防护与可选措施
-
PAM 账户锁定(可选,叠加 Fail2Ban 更稳妥)
- 编辑:
sudo nano /etc/pam.d/vsftpd - 追加(失败 3 次锁定 300 秒示例):
auth required pam_tally2.so deny=3 unlock_time=300 account required pam_tally2.so - 说明:PAM 锁定为“账户级”策略,Fail2Ban 为“源 IP 级”策略,二者配合可显著降低暴力破解成功率。
- 编辑:
-
访问控制与端口隐蔽
- 仅允许可信网段访问 FTP 端口(UFW 示例):
sudo ufw deny 21/tcp sudo ufw allow from < 可信IP或网段> to any port 21 - 修改默认端口(示例改为 2123):
listen_port=2123 - 说明:减少自动化扫描命中率;注意同步调整防火墙与客户端配置。
- 仅允许可信网段访问 FTP 端口(UFW 示例):
四 验证与运维
- 检查 Fail2Ban 状态与封禁情况:
sudo fail2ban-client status vsftpd - 实时查看日志:
sudo tail -f /var/log/vsftpd.log,确认失败登录是否出现并被 Fail2Ban 处理 - 定期更新:
sudo apt-get update & & sudo apt-get upgrade -y,及时修补安全漏洞。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu vsftpd如何防止暴力破解
本文地址: https://pptw.com/jishu/770864.html
