在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下遭受暴力破解攻擊。