在 CentOS 上运行 FTP 服务器,最让人担忧的并非流量激增,而是被黑客悄无声息地入侵。只要扎扎实实落实以下几条基础防线,绝大多数攻击都能被有效阻挡。下面逐一说明。
-
系统更新是首要防线
别嫌麻烦,定期执行
yum update,将系统及所有相关软件包升级到最新版本。许多漏洞补丁是公开的,若不及时更新,无异于给攻击者留后门。 -
防火墙不能形同虚设,必须启用
无论是 iptables 还是 firewalld,都要配置好规则,仅允许信任的 IP 连接 FTP 端口。同时务必开启 SELinux——虽然配置有些门槛,但它能从内核层面限制 FTP 服务的权限,多一层保护总没错。
-
更换默认端口 21
端口 21 是自动化扫描工具的重点目标,改为 2121 或其他高位端口,可以直接过滤掉大量无差别扫描。这并非根治,但能显著减少骚扰。
-
主动开启被动模式
在 FTP 配置中启用被动模式(PASV),这样客户端的防火墙不会因数据连接端口问题而失效。跨网络访问时,这个配置几乎是刚需。
-
严格管理用户权限
强密码加定期更换是标配。此外,必须限制每个 FTP 用户只能访问自己需要的目录和文件,不授予多余权限。很多内部泄露或误操作,都是权限过宽导致的。
-
加密传输,避免裸奔
一定要配置 FTPS(FTP over SSL/TLS),让所有数据在传输过程中加密。若不加密,中间人攻击、抓包嗅探瞬间即可完成,用户名和密码直接暴露在网络中,极其危险。
-
日志和监控不能偷懒
开启详细日志,每天检查一次,重点关注异常登录和频繁失败尝试。更省心的做法是部署实时监控工具,一旦有异常立即报警,省得半夜爬起来翻日志。
-
备份永远不嫌多
无论防护多严密,总有万一。定期将 FTP 数据备份到异地或云端,遇到勒索病毒或误删时,至少能恢复数据,不至于手忙脚乱。
-
部署入侵检测系统(IDS)
像 Snort 或 Suricata 这类轻量级 IDS,能实时分析网络流量,检测到可疑模式立刻报警。成本不高,配置不复杂,但对防御未知攻击非常有效。
-
限制并发连接数
不要让同一个用户或同一 IP 一次性打开过多连接。许多资源耗尽攻击(如慢速攻击)靠无限开连接拖垮系统,设置上限就能有效缓解。
-
选对 FTP 服务器软件
推荐使用 vsftpd——轻量、安全、配置灵活,是 CentOS 上的经典选择。相比 Pure-FTPd 或 ProFTPD,vsftpd 对安全选项的支持更直接,文档也更完善。
-
关闭所有不需要的服务
执行
systemctl list-units --type=service --state=running查看当前运行的服务,除了 FTP 本身和必要的基础组件,其余全部停掉。攻击面越小,防守越简单。
以上每一条措施都不是摆设,组合起来效果更明显。最后提醒一句:上线生产环境前,务必先在测试机上验证一遍,不要贸然改动线上配置。安全这件事,宁可慢一点,也不可乱来。
