改用更安全的传输方式
很多老系统还在用传统FTP,账号密码明文传输,相当于把钥匙挂在门把手上。建议直接换成SFTP或者FTPS,前者基于SSH加密,后者带SSL/TLS证书保护。比如你在公司上传产品图,用FileZilla连接时选SFTP协议,端口改成22,数据就不再是裸奔状态。
限制登录尝试和IP访问
服务器日志里常看到成千上万次密码爆破,都是自动脚本在扫默认端口。可以在防火墙规则里设置:同一个IP连续5次输错密码,锁定30分钟。Linux下用fail2ban就能实现,配置文件加几行:
<code>[vsftpd]<br>enabled = true<br>maxretry = 5<br>bantime = 1800</code>这样外地黑客扫半天也进不来。
关闭匿名访问和默认账户
有些FTP装完默认开着anonymous登录,任何人都能下载文件。这就像开店不关门还贴着“随便拿”标语。进配置文件把anonymous_enable=YES改成NO。同时删掉或重命名默认的ftp账户,换成自定义用户名,别叫admin、upload这种容易猜的名称。
给用户目录加权限隔离
多个部门共用一台服务器时,销售部的人不该看到财务报价单。启用chroot机制,让每个用户只能待在自己的文件夹里。vsftpd配置里加上:
<code>chroot_local_user=YES<br>allow_writeable_chroot=NO</code>再配合系统权限设置,普通用户没法跳出指定目录,就算密码泄露影响也有限。
定期更新和关掉无用服务
去年有个vsftpd漏洞能让攻击者直接获取shell权限,好些没更新的服务器中招。运维人员收到系统更新通知别偷懒,尤其涉及openssl、glibc这类底层组件。顺手检查有没有开启telnet、rlogin这些老旧服务,统统关掉,减少暴露面。
监控异常文件变动
有次朋友公司的官网首页突然变成黑产广告,查了半天发现是FTP密码太简单被撞库了。现在他在服务器上装了个inotify脚本,一旦htdocs目录里的html文件被修改,立刻发短信提醒。小成本就能发现异常操作,比事后恢复强得多。