Vsftpd服务安全管理

版权声明:转载声明来源,请勿用于商业用途! https://blog.csdn.net/qq_27180763/article/details/85839967

虚拟用户配置

1、虚拟用户:虚拟用户只能访问FTP服务器,无法登录linux系统。(/sbin/nologin)
2、vsftp的服务进程为:vsftpd
3、vsftpd的配置文件为:/etc/vsftpd/vsftpd.conf
4、vsftpd的用户文件为:/etc/vsftpd/ftpusers
5、vsftpd的用户文件是:/etc/vsftpd/user_list

查看是否安装vsftp服务:

rpm -qa | grep vsftpd

安装vsftpd服务:

yum -y install vsftpd*

关闭selinux。

方法1: vim /etc/selinux/config 更改SELINUX=enforcing为SELINUX=disable (重启靶机)
方法2:setenforce 0

检查selinux开启状态:

/usr/sbin/sestatus -v

在这里插入图片描述

创建虚拟用户文本文件

首先进入vsftpd配置文件目录:

cd /etc/vsftpd/
touch vuser.txt

编辑/etc/vsftpd/vuser.txt,奇数行是用户名,偶数行是密码。

然后生成虚拟数据库文件,如果db_load没有安装,那么使用命令:

yum install db4-utils db4-devel db4-4.3安装后才可以使用。

扫描二维码关注公众号,回复: 4786892 查看本文章

使用命令db_load生成数据库文件

db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db

db_load命令:

选项-T允许应用程序能够将文本文件转译载入进数据库。由于我们之后是将虚拟用户的信息以文件方式存储在文件里的,为了让Vsftpd这个应用程序能够通过文本来载入用户数据,必须要使用这个选项。
指定了选项-T,那么一定要追加子选项-t;子选项-t,追加在在-T选项后,用来指定转译载入的数据库类型。
-f 参数后面接包含用户名和密码的文本文件,文件的内容是:奇数行用户名、偶数行密码
hash就是使用hash码加密
db_load -T -t hash -f /etc/vsftpd/vuser.txt vuser.db 前提就是在linux下配置好Vsftp环境确保db_load命令可以使用就是将用户文本信息文件转换为db数据库并使用hash加密。

配置pam文件,对客户端进行验证。

vim /etc/pam.d/vsftpd

加入代码:

auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser

修改虚拟数据库文件vuser.db的权限为700

chmod 700 /etc/vsftpd/vuser.db

新建系统用户vuser,使其对应所有的虚拟用户。

mkdir /ftpdir
useradd -d /ftpdir vuser (-d参数用来指定用户主目录)
chown vuser.vuser /ftpdir
usermod -s /sbin/nologin vuser (设置该用户无法登录)

设置虚拟用户的主配置文件

vim /etc/vsftpd/vsftpd.conf
增加:
guest_enable=yes
guest_username=vuser
pam_service_name=vsftpd
user_config_dir=/etc/vsftpd/vsftpd_user_conf
mkdir /etc/vsftpd/vsftpd_user_conf
touch /etc/vsftpd/vsftpd_user_conf/vuser

编辑配置文件vuser:

anon_world_readable_only=NO
浏览FTP目录和下载
anon_upload_enable=YES
允许上传
anon_mkdir_write_able=YES
建立和删除目录
anon_other_write_enable=YES
改名和删除文件
local_root=/ftpdir/
指定虚拟用户在系统用户下面的路径

vsftpd.conf加固

listen=YES/NO
设置独立进程控制vsftpd
anonymouse_enable=YES/NO
允许/进制匿名用户登陆
banned_email_file=/etc/vsftpd/vsftpd.banned_emails
允许/禁止邮件的使用和存放路径

配合使用:

deny_email_enable=YES/NO
允许/禁止匿名用户使用邮件作为密码
banner_file=/etc/vsftpd/banner_file
在文件banner_file添加欢迎词即可
cmds_allowed=HELP,DIR,QUIT,!
列出被允许使用的FTP命令
ftpd_bannner=“welcome to ftp server”
也是设置欢迎词屏幕,但是方法不一样
local_enable=YES/NO
允许/禁止本地用户登录
pam_service_name=vsftpd
使用pam模块进行ftp客户端的验证
userlist_deny=YES/NO
禁止/允许文件列表user_list的用户访问ftp服务器

配合使用:

userlist_file = /etc/vsftpd/user_list
用户列表文件
userlist_enable=YES/NO
激活/失效第8条的功能
tcp_wrappers=YES/NO
启用/不启用tcp_wrappers控制服务访问的功能

匿名用户选项的优化:

anon_mkdir_write_enable=YES/NO
允许/禁止匿名用户创建目录、删除文件
anon_upload_enable=YES/NO
允许/禁止匿名用户上传
anon_world_readable_only=YES/NO
禁止/允许匿名用户浏览目录和下载
ftp_username=anonftpuser
把匿名用户绑定到系统用户名
no_anon_password=YES/NO
不需要/需要匿名用户的登陆密码

本地用户选项的优化:

chmod_enable=YES/NO
允许/禁止本地用户修改文件权限
chroot_list_enable=YES/NO
启用/不启用禁锢在本地用户在家目录
chroot_list_file=/path/to/file
建立禁锢用户列表文件,一行一个用户
guest_enable=YES/NO
激活/不激活虚拟用户
guest_username=系统实体用户
把虚拟用户绑定在某个实体用户上
local_root=/path/to/file
指定或修改本地用户的根目录
local_umask=具体权位数字
设置本地用户新建文件的权限
user_config_dir=/path/to/file
激活虚拟用户的主配置文件

目录选项的优化:

text_userdb_names=YES/NO
启用/禁用修改匿名用户上传文件的权限。
write_enable=YES/NO
启用/禁止用户的写权限
max_clients=数字
设置FTP服务器同一时刻的最大连接数
max_per_ip
设置每ip的最大连接数

网络选项的优化:

anon_max_rate=number
设置匿名用户的最大下载速率
local_max_rate=number
设置本地用户的最大下载速率

猜你喜欢

转载自blog.csdn.net/qq_27180763/article/details/85839967
今日推荐