Linux 系统 vsftpd 服务安全加固
1.及时安装更新补丁
在安装更新补丁前,备份您的 vsftp 应用配置。从 VSFTPD官方网站 获取最新版本的 vsftp 软件安装包,完成升级安装。或者,您可以下载最新版 vsftp 源码包,自行编译后安装更新。您也可以执行命令通过 yum 源进行更新。
yum update vsftpd
2.禁用匿名登录服务
添加一个新用户(test),并配置强密码。例如,执行下方命令。
useradd -d /home -s /sbin/nologin test
其中,/sbin/nologin参数表示该用户不能登录 Linux shell 环境。
test为用户名。
通过passwd test命令,为该用户配置强密码。密码长度建议八位以上,且密码应包括大小写字母、特殊字符、数字混合体,且不要使用生日、姓名拼音等常见字符串作为密码。
修改配置文件 vsftpd.conf,执行下方命令。
#vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
将该参数配置为 NO 表示禁止匿名登录,必须要创建用户认证后才能登录 FTP 服务。
3.禁止显示 banner 信息
修改 VSFTP 配置文件 vsftpd.conf,设置ftpd_banner=Welcome。重启 vsftp 服务后,即不显示 banner 信息。
>ftp 192.168.10.200 Connected to 192.168.10.200. 220 Welcome User (192.168.10.200:(none)):
4.限制 FTP 登录用户
在 ftpusers 和 user_list 文件中列举的用户都是不允许访问 FTP 服务的用户(例如 root、bin、daemon 等用户)。除了需要登录 FTP 的用户外,其余用户都应该添加至此拒绝列表中。
5.限制 FTP 用户目录
修改 VSFTP 配置文件 vsftpd.conf。
chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list
新建 /etc/vsftpd/chroot_list 文件,并添加用户名。例如,将 user1 添加至该文件,则 user1 登录 FTP 服务后,只允许在 user1 用户的 home 目录中活动。
6.修改监听地址和默认端口
例如,修改 VSFTP 配置文件 vsftpd.conf,设置监听 1.1.1.1 地址的 8888 端口。
listen_address=1.1.1.1 listen_port=8888
7.启用日志记录
修改 VSFTP 配置文件 vsftpd.conf,启用日志记录。
xferlog_enable=YES xferlog_std_format=YES
如果您需要自定义日志存放位置,可以修改xferlog_file=/var/log/ftplog。
8.其他安全配置
修改 VSFTP 配置文件 vsftpd.conf。
//限制连接数 max_clients=100 max_per_ip=5 //限制传输速度 anon_max_rate=81920 local_max_rate=81920