centos

centos环境下vsftp的安全漏洞防范

小樊
39
2025-12-27 04:19:30
栏目: 网络安全

CentOS 环境下 vsftpd 的安全漏洞防范

一 基线加固与最小暴露

二 传输加密与访问控制

三 认证与账户安全

四 已知漏洞处置与版本策略

五 监控审计与 SELinux 配合

附 关键配置示例

anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
userlist_enable=YES
userlist_deny=NO
ls_recurse_enable=NO
ascii_download_enable=NO
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
log_ftp_protocol=YES
max_clients=50
max_per_ip=5
sudo mkdir -p /etc/ssl/certs
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
  -keyout /etc/ssl/certs/vsftpd.pem -out /etc/ssl/certs/vsftpd.pem

在 vsftpd.conf 中追加:

ssl_enable=YES
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1_2=YES
ssl_sslv2=NO
ssl_sslv3=NO
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
rsa_private_key_file=/etc/ssl/certs/vsftpd.pem
sudo firewall-cmd --permanent --add-port=21/tcp
sudo firewall-cmd --permanent --add-port=1024-1048/tcp
sudo firewall-cmd --reload
# 仅允许 192.168.1.0/24
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" service name="ftp" accept'
sudo firewall-cmd --reload
auth required pam_tally2.so deny=3 unlock_time=300
# 生成口令库
echo -e "ftpuser1\npassword1\nftpuser2\npassword2" > /etc/vsftpd/account.txt
db_load -T -t hash -f /etc/vsftpd/account.txt /etc/vsftpd/account.db
chmod 600 /etc/vsftpd/account.db
# /etc/pam.d/vsftp.vu
auth required pam_userdb.so db=/etc/vsftpd/account
account required pam_userdb.so db=/etc/vsftpd/account
# 专用系统账号
sudo useradd -d /ftpsite -s /sbin/nologin virtual_user
sudo mkdir -p /ftpsite
sudo chown virtual_user:virtual_user /ftpsite
sudo chmod 700 /ftpsite
# vsftpd.conf 启用虚拟用户
anonymous_enable=NO
local_enable=NO
guest_enable=YES
guest_username=virtual_user
pam_service_name=vsftp.vu

0
看了该问题的人还看了