VSFTPD的基础安全加固

与SSL配置相关的设置(要添加)

ssl_enabe=YES| NO #是否启用ssl

ssl_sslv2=YES|NO #是否激活sslv2加密

ssl_sslv3=YES|NO #是否激活sslv3加密

ssl_tlsv1=YES|NO #是否激活tlsv1加密

force_local_logins_ssl=yes|NO #非匿名用户登陆时是否加密

force_local_data_ssl=YES|NO #传输数据是否加密

rsa_cert_file=/etc/vsftpd/.sslkey/vsftpd.pem #证书位置

配置ftp仅允许ssl连接

 

#利用openssl创建证书
openssl req -new -x509 -nodes (-days 3650) -out vsftpd.pem -keyout vsftpd.pem

# openssl req会在任何需要私钥的地方自动创建私钥
-new 生成一个新的证书签署请求
-x509:专用于CA生成自签证书,如果不是自签证书则不需要此项

vi /etc/vsftpd/vsfptd.conf
ssl_enable=YES
force_local_login_ssl=YES
rsa_cert_file=/etc/vsftpd/vsftpd.pem

可能错误:

425 Failed to establish connection  设置selinux为disable /etc/selinux/config

530 login incorrect  /etc/pam.d/vsftpd 文件里的这一行,#auth required pam_shells.so 意思是只有包含shell的用户才能登录,但是我们用户的bash是nologin不允许登陆

530 Non-anonymous sessions must use encryption   非匿名用户必须使用证书连接登陆

对本地用户的目录穿越设置

  关键词: chroot

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

(1)对local_user设置的理解: chroot_local_user为YES时,即代表本地用户的活动范围限制在自家目录

(2)指定用户执行chroot -可以进行目录穿越

chroot_local_user=No 

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list 

只有在list_file里指定的用户可以进行 list_file的格式为每个用户名占一行

对本地用户的访问控制

  关键词:userlist  tips:centos7 只有userlist_enable 其余可能要自己添加

userlist_enable=YES

userlist_deny=YES 

userlist_file=/etc/vsftpd.user_list #该文件指定的本地用户可以访问ftp服务器 其他则不可以 

banner信息控制

  关键词: banner

file_banner=xxx

配置基本的性能和安全选项

1. 空闲用户会话中断时间 #keyword=timeout

idle_session_timeout=xx #unit is seconds

2.空闲数据连接的中断时间

data_connection_timeout= xx # also seconds

3.传输速率配置 #important 对本地用户和匿名用户

  #要自己添加

local_max_rate=50000 #50kbytes /sec

anon_max_rate=30000

4.设置客户端连接的端口范围 #passive mode

pasv_min_port=50000

pasv_max_port=60000

服务器环境相关配置(要自己添加的)

connect_timeout=xx #units is seconds 主动模式下 设定时间没有得到响应 中断连接

accept_timeout=xx #also seconds  被动模式

max_clients=0 #最大连接数 如果vsftpd是stadalone启动 可以限制客户端同时在线的数量

max_per_ip=0 # 限制同一个ip最多能有多少个客户端在线

与本地用户相关设置

guest_enable=YES|NO #默认为NO 如果为YES 所有的本地用户被将被设置成guest用户

guest_username=ftp # 当guest_enable=YES生效 指定guest用户名称

匿名用户相关设置

anon_other_write_enable=YES|NO # 是否允许匿名用户有“写”之外的权限,包括删除、修改、重命名的权限

anon_max_rate=0 #匿名用户的传输速率,0 表示不限制

anon_umask=077 #匿名用户上传文件的默认权限

系统安全相关设置

tcp_wrappers=YES |NO # 是否支持 tcp_wrappers

dual_log_enable=YES, vsftpd_log_file=/var/log/vsftpd.log #是否启用双日志,及另一份日志的路径

配置一个/sbin/nologin的用户

家目录在/home/lisen 所属组www 目录权限700

useradd -d /home/lisen -s /sbin/nologin lisen

passwd miller

chown -R www:www lisen/  递归修改lisen目录所有者所属组为www

chmod -R 700 lisen/  递归修改lisen目录所有者和所属组权限为775

posted @ 2023-02-26 16:11  lisenMiller  阅读(223)  评论(0编辑  收藏  举报