当前位置 : 主页 > 网络编程 > 其它编程 >

centos7ftp服务器搭建_CentOS7下搭建vsftpd服务器(本地用户模式)

来源:互联网 收集:自由互联 发布时间:2023-07-02
​CentOS7下搭建vsftpd服务器(本地用户模式)1、首先yum方式安装vsftpdyuminstallvsftpd2、修改vsftpd.conf配置文件cdetcvsftp ​CentOS7下搭建vsftpd服务器(本地用户模式) 1、首先yum方式安装vsftpd yum insta
​CentOS7下搭建vsftpd服务器(本地用户模式)1、首先yum方式安装vsftpdyuminstallvsftpd2、修改vsftpd.conf配置文件cdetcvsftp 04002178c1d253678f60b50a340e20bf.png

​CentOS7下搭建vsftpd服务器(本地用户模式)

1、首先yum方式安装vsftpd

yum install vsftpd

ed234d93b0405235ee52c53815b5dbb0.pngf1b62b351cdef482540ed8738ccadfcc.png

2、修改vsftpd.conf配置文件

cd /etc/vsftpd/

cp vsftpd.conf vsftpd.conf_default

#修改下列参数的值

anonymous_enableNO #禁止匿名登录FTP服务器

local_enableYES #允许本地用户登录FTP服务器

listenYES #监听IPv4 sockets

#listen_ipv6YES #关闭监听IPv6 sockets或者改为NO

chroot_local_userYES #全部用户被限制在主目录

chroot_list_enableYES #启用例外用户名单

chroot_list_file/etc/vsftpd/chroot_list #指定例外用户列表文件列表中用户不被锁定在主目录

allow_writeable_chrootYES

以上配置可以直接用下面命令进行替换修改

sed -i s/anonymous_enableYES/anonymous_enableNO/ /etc/vsftpd/vsftpd.conf

sed -i s/listenNO/listenYES/ /etc/vsftpd/vsftpd.conf

sed -i s/listen_ipv6YES/listen_ipv6NO/ /etc/vsftpd/vsftpd.conf

sed -i s/#chroot_local_userYES/chroot_local_userYES/ /etc/vsftpd/vsftpd.conf

sed -i s/#chroot_list_enableYES/chroot_list_enableYES/ /etc/vsftpd/vsftpd.conf

sed -i s/#chroot_list_file/chroot_list_file/ /etc/vsftpd/vsftpd.conf

echo "allow_writeable_chrootYES" >> /etc/vsftpd/vsftpd.conf

b1fd33bd03affa84fa76a178a1ee903d.png

3、创建ftp用户 例如yuanfan

useradd -d /data/FTP -s /sbin/nologin yuanfan

passwd yuanfan

并设置密码

030ff67548a56670b271477589262027.png

4、启动vsftpd服务并设置开机自启动

systemctl enable vsftpd

systemctl start vsftpd

8cd7de3402aa9ea677a4e1f718175d51.png

若有防火墙需要防火墙添加ftp服务

5、客户端登录测试

ftp 172.16.30.200

d7cd0b6143d5af505e0d57ced7fff7c5.png

输入正确的用户名密码提示530错误

解决办法vi /etc/pam.d/vsftpd

注释掉这一行

#auth required pam_shells.so

然后重启vsftpd服务

5b1dc34c4564d66acbb1ec8e9443ac49.png0fa159ae8ae780d6af690fea3a86bcce.png

这时再进行登录提示

e436a92d34e1b57889c5cc10739c5c7c.png

再手动在/etc/vsftpd/目录下创建一下chroot_list文件即可

touch /etc/vsftpd/chroot_list后重新登录可以正常登录了

5063b75ccbba13f6c72c718bce3b9e22.png6370aa5ca9b4c886444c0d7f052e1185.png

在FTP服务器上可以下客户端上传上来的文件

1e3ebb3d4dfd7316d7d29a09e23727dc.png

6、要实现用户能够切换用户家目录

在FTP服务器这边将用户加到/etc/vsftpd/chroot_list文件中

可以man vsftpd.conf查看chroot_list帮助说明

44117cfc36b9b03b249458fe6d75be98.png

echo yuanfan > /etc/vsftpd/chroot_list然后重启vsftpd服务

如下图所示就可以切换家目录了(可以看出用户切换家目录风险较高)

bd4fe9d9385be0edc187092ded32919c.png

7、被动模式限定端口

echo "pasv_enableYES">> /etc/vsftpd/vsftpd.conf

echo "pasv_min_port30001">> /etc/vsftpd/vsftpd.conf

echo "pasv_max_port30010">> /etc/vsftpd/vsftpd.conf

97e5a69fb883cec168d0fa5b860a5d83.png

抓包分析可以看到传输端口已经被限制在30001-30010端口范围内

9600dc42bd1e7926e9afb690b4459ec8.png

另外ftp登录过程是明文传输的抓包可以看到用户名与密码

8、设置成主动模式

删除上一步中被动模式添加的配置改成主动模式的配置

pasv_enableNO

port_enableYES

connect_from_port_20YES(默认有一行)

88f62a97c96e086510929b5d68d85e42.png

服务端要开放20端口

firewall-cmd --add-port20/tcp --permanent

firewall-cmd --reload

如下图所示Linux客户端使用主动模式需要关闭防火墙

passive命令切换成主动模式

c2ed6dbeb53648935eff5eabb1e04ad0.pngabf0d73332fe1a13519d6557dc6e65a8.png

抓包可以看到传输端口为20

9、安全加固

1)禁止显示 banner 信息

#ftpd_bannerWelcome to blah FTP service.

取消注释进行修改即可

2)限制 FTP 登录用户

在 ftpusers 和 user_list 文件中列举的用户都是不允许访问 FTP 服务的用户(例如 root、bin、daemon 等用户)。除了需要登录 FTP 的用户外其余用户都应该添加至此拒绝列表中

3)修改监听地址和默认端口

修改 VSFTP 配置文件 vsftpd.conf设置监听 1.1.1.1 地址的2121 端口

listen_address1.1.1.1

isten_port2121

55b4a0bd5e3b5b4be9d59dd50374685c.png
上一篇:P1706【全排列问题】
下一篇:没有了
网友评论