最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
如何防止Ubuntu FTP遭受攻击
时间:2026-07-29 09:40:16 编辑:袖梨 来源:一聚教程网
1. 安装并配置vsftpd(Very Secure FTP Daemon)在Ubuntu可用的FTP服务器软件中,vsftpd安全系数较高;完成优先安装后,还要借助配置文件进行安全强化:
- 安装vsftpd:
sudo apt update && sudo apt install vsftpd - 为防止未授权访问,禁用匿名登录:编辑
/etc/vsftpd.conf,设置anonymous_enable=NO - 通过chroot jail限制用户访问主目录:添加
chroot_local_user=YES(把用户限制在各自的家目录中);如果部分用户需要突破限制,可添加allow_writeable_chroot=YES(防止权限冲突) - 管理写入权限:仅向可信用户开放写入,设置
write_enable=YES(默认开启),如有必要,可通过chroot_list_enable=YES设置允许执行写入操作的用户列表 - 开启日志记录以便审计:添加
xferlog_enable=YES(用于记录传输日志)、log_ftp_protocol=YES(用于记录详细协议日志)
2. 启用SSL/TLS加密传输(FTPS)窃听或篡改风险源于FTP协议默认以明文传输,因此传输过程需要SSL/TLS提供加密保护:
- 生成自签名证书(生产环境建议使用Let’s Encrypt等CA签发的证书):
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem(按提示输入国家、组织等信息) - 配置vsftpd使用证书:编辑
/etc/vsftpd.conf,添加:ssl_enable=YES(启用SSL)、rsa_cert_file=/etc/ssl/private/vsftpd.pem(证书路径)、rsa_private_key_file=/etc/ssl/private/vsftpd.pem(私钥路径)、force_local_data_ssl=YES(强制数据传输加密)、force_local_logins_ssl=YES(强制登录过程加密)、ssl_tlsv1=YES(仅允许TLSv1协议,禁用SSLv2/3)、ssl_ciphers=HIGH(使用高强度加密套件) - 重启vsftpd服务:
sudo systemctl restart vsftpd
3. 配置防火墙限制访问仅保留必要端口对FTP流量开放,相关访问控制由ufw(Uncomplicated Firewall)完成:
- 允许FTP控制连接(默认端口21):
sudo ufw allow 21/tcp - 允许FTP数据连接(被动模式端口范围,如50000-50100):
sudo ufw allow 50000:50100/tcp - 启用ufw:
sudo ufw enable - 检查规则:
sudo ufw status(确认规则生效) - 若使用iptables,需额外保存规则(
sudo apt install iptables-persistent && sudo netfilter-persistent save)
4. 使用被动模式(PASV)适配防火墙/NAT防火墙容易拦截主动模式(PORT)下服务器向客户端发起的连接,所以需要开启被动模式:
- 编辑
/etc/vsftpd.conf,添加:pasv_enable=YES(开启被动模式)、pasv_min_port=50000(设置被动模式最小端口)、pasv_max_port=50100(设置被动模式最大端口) - 确认防火墙已放行上述端口范围
5. 加强用户权限与密码策略
- 创建专用FTP用户(避免使用root):
sudo adduser ftpuser(设置强密码) - 限制用户访问范围:将用户主目录权限设为755(
sudo chmod 755 /home/ftpuser),所有者设为用户自身(sudo chown ftpuser:ftpuser /home/ftpuser) - 强密码策略的实施要求为:长度达到8位或以上,同时包含特殊字符、数字以及大小写字母,并按期更换(如每90天)
6. 安装fail2ban防止暴力破解对FTP登录日志进行监控后,fail2ban会自动封禁登录尝试多次失败的IP:
- 安装fail2ban:
sudo apt install fail2ban - 配置FTP防护:编辑
/etc/fail2ban/jail.local,添加:[vsftpd]enabled = trueport = ftpfilter = vsftpdlogpath = /var/log/vsftpd.logbantime = 3600# 封禁时间(秒)maxretry = 5# 最大尝试次数 - 重启fail2ban:
sudo systemctl restart fail2ban
7. 定期更新与维护
- 更新系统和软件包:
sudo apt update && sudo apt upgrade -y(修复已知漏洞) - 定期审查日志:查看
/var/log/vsftpd.log(或xferlog),关注异常登录、大量失败尝试等活动 - 定期备份配置文件:备份
/etc/vsftpd.conf以及用户数据,避免配置丢失
相关文章
- 迅捷 FW316R 无线路由器端口映射设置指南 08-12
- 迅捷 FW316R 无线路由器WDS桥接设置 08-12
- 迅捷 FW316R 无线路由器内网主机上网权限设置 08-12
- 迅捷 FW316R 无线路由器网速限制设置 08-12
- 腾讯电脑管家如何设置开机自启 08-12
- 迅捷 FW316R 无线路由器WiFi网络设置 08-12