linux-vsftpd-security
yum -y install vsftpd
IPTABLES_MODULES ="ip_nat_ftp"
service iptables restart
ENSURE USERS ARE "CHROOT" JAILED TO THEIR HOME DIRECTORY
/etc/vsftpd/vsftpd.conf
chroot_local_user=YES
service vsftpd restart
IN /etc/passwd you MAY want to have FTP only users, in which case their shell should be:
/sbin/nologin
SET YOUR IPTABLES FIREWALL TO ALLOW FTP TRAFFIC ONLY FROM A KNOWN SOURCE
(system-config-securitylevel-tui CENTOS) and enable the FTP
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -s 1.2.3.4 --dport ftp -j ACCEPT
iptables -I RH-Firewall-1-INPUT 9 -p tcp --dport 20 -j ACCEPT
iptables -I RH-Firewall-1-INPUT 9 -p tcp --dport 21 -j ACCEPT
iptables -L -n --line-numbers
*filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :RH-Firewall-1-INPUT - [0:0] -A INPUT -j RH-Firewall-1-INPUT -A FORWARD -j RH-Firewall-1-INPUT -A RH-Firewall-1-INPUT -i lo -j ACCEPT -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT -A RH-Firewall-1-INPUT -p 50 -j ACCEPT -A RH-Firewall-1-INPUT -p 51 -j ACCEPT -A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited COMMIT