在CentOS下,为了防止VSFTPD遭受暴力破解攻击,可以采取以下措施:
限制登录尝试次数: 编辑VSFTPD配置文件(通常位于/etc/vsftpd/vsftpd.conf),添加或修改以下设置:
ftpd_max_attempts=5
这将限制用户在一定时间内尝试登录的次数。例如,上述设置将允许每个用户最多尝试5次登录,超过次数后将暂时锁定该用户。
启用防火墙: 使用firewall-cmd或iptables配置防火墙规则,限制对VSFTPD服务的访问。例如,只允许特定IP地址访问FTP服务:
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="21" accept'
firewall-cmd --reload
上述命令将允许IP地址为192.168.1.100的设备访问FTP服务。
使用fail2ban: 安装并配置fail2ban,它可以监控日志文件并根据规则阻止恶意IP地址。首先安装fail2ban:
yum install fail2ban
然后创建一个新的配置文件(例如/etc/fail2ban/jail.local),并添加以下内容:
[vsftpd]
enabled = true
port = ftp
protocol = tcp
filter = vsftpd
logpath = /var/log/vsftpd.log
bantime = 3600
maxretry = 5
上述设置将监控/var/log/vsftpd.log文件,当某个IP地址在1小时内尝试登录超过5次时,将其封锁1小时。
最后,启动fail2ban服务:
systemctl start fail2ban
systemctl enable fail2ban
使用SSL/TLS加密: 为了保护数据传输过程中的安全,建议使用SSL/TLS加密。编辑VSFTPD配置文件,添加或修改以下设置:
ssl_enable=YES
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
rsa_cert_file=/etc/pki/tls/certs/your_certificate.crt
rsa_private_key_file=/etc/pki/tls/private/your_private_key.key
替换your_certificate.crt和your_private_key.key为实际的证书文件路径。这将启用SSL/TLS加密并强制使用FTPS协议。
通过以上措施,可以有效地防止VSFTPD在CentOS下遭受暴力破解攻击。