这篇文章给大家分享的是有关如何编译安装 vsFTP 3.0.3的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。漏洞详情VSFTP是一套基于GPL发布的类Unix系统上使用的FTP服务器软件。该软件支持虚拟用户、支持
这篇文章给大家分享的是有关如何编译安装 vsFTP 3.0.3的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
漏洞详情
VSFTP是一套基于GPL发布的类Unix系统上使用的FTP服务器软件。该软件支持虚拟用户、支持两种认证方式(PAP或xinetd/tcp_wrappers)、支持带宽限制等。
VSFTP中存在安全漏洞,该漏洞源于程序没有正确处理‘deny_file'选项。远程攻击者可利用该漏洞绕过访问限制。
以下产品及版本受到影响:VSFTP3.0.2及之前版本,opensuse13.1版本和13.2版本。
受影响的产品
Vsftpd Vsftpd 3.0.2
FTP的登录一般有三种方式,分别是:
匿名用户形式:默认安装的情况下,系统只提供匿名用户访问,只需要输入用户anonymous/ftp,并将自己的Email作为口令即可登录。
本地用户形式:以/etc/passwd中的用户名为认证方式。
虚拟用户形式:支持将用户名和密码保存在文件或数据库中,将登录用户映射到指定的系统账号(/sbin/nologin)来访问资源,其中这些虚拟用户是FTP的用户。
实验环境: Centos 7.5 192.168.2.3
firewalld、iptables 及 SElinux 均为关闭状态
下面实验采用基于PAM的虚拟用户,需要先用yum来安装PAM的组件:
需要使用 epel 源
yum -y install epel-release && yum -y install pam pam-devel db4-utils
在默认配置下 vsftpd 需要使用 nobody 用户
从官网上下载 https://www.linuxfromscratch.org/blfs/view/svn/server/vsftpd.html
wget Https://security.appspot.com/downloads/vsftpd-3.0.3.tar.gz
tar xf vsftpd-3.0.3.tar.gz
cd vsftpd-3.0.3/
vsftpd的源码包里并没有configure文件,直接编译安装
make clean && make -j 4 && make install
如果编译的时候报错
/usr/bin/ld: cannot find -lcap
查找该 .so 文件
find / -name "*libcap.so*"
/usr/lib64/libcap.so.2.22
/usr/lib64/libcap.so.2
ln -sv /usr/lib64/libcap.so.2 /usr/lib64/libcap.so
默认配置:
默认配置:
主程序文件:/usr/local/sbin/vsftpd
主配置文件:/etc/vsfptd.conf
PAM认证文件:/etc/pam.d/vsftpd
匿名用户主目录:/var/ftp
匿名用户的下载目录:/var/ftp/pub
vsftpd的安全原则主要有两个:
只允许支持虚拟用户登录,关闭本地用户和匿名用户。
不允许使用root权限运行。
创建配置文件存放目录
mkdir /etc/vsftpd
拷贝新的配置文件到 /etc/vsftpd 目录
创建用户以及共享目录、目录权限
创建虚拟用户口令明文文件,使用前面安装的db4-utils组件生成口令认证文件:
vim /etc/vsftpd/access.txt
zhangsan #用户名
123456 #密码
lisi
123456使用
前面安装的db4-utils组件生成口令认证文件:
db_load -T -t hash -f /etc/vsftpd/access.txt /etc/vsftpd/access.db
编辑vsftpd的PAM认证文件:
vim /etc/pam.d/vsftpd
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/access
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/access
编辑配置主文件 /etc/vsftpd/vsftpd.conf
cp /etc/vsftpd/vsftpd.conf{,.bak}
vim /etc/vsftpd/vsftpd.conf
#禁止匿名用户
anonymous_enable=NOlocal_enable=YESwrite_enable=YES#不启动锁定用户名单,所有的用户都将被锁定不允许访问上级目录,只允许访问其主目录chroot_local_user=YESchroot_list_enable=NO#启动logxferlog_enable=YESxferlog_std_fORMat=YESxferlog_file=/etc/vsftpd/vsftpd.log#开启虚拟用户guest_enable=YES#FTP虚拟用户对应的系统用户guest_username=vsftpd#PAM认证文件/etc/pam.d/vsftpdpam_service_name=vsftpdvirtual_use_local_privs=YES
编写 vsftpd 启动 脚本:/etc/init.d/vsftpd
#!/bin/bash## vsftpd This shell script takes care of starting and stopping# standalone vsftpd.## chkconfig: - 60 50# description: Vsftpd is a ftp daemon, which is the program# that answers incoming ftp service requests.# processname: vsftpd# config: /etc/vsftpd/vsftpd.conf# Source function library.. /etc/rc.d/init.d/functions# Source networking configuration.. /etc/sysconfig/network# Check that networking is up.[ ${NETWORKING} = "no" ] && exit 0[ -x /usr/local/sbin/vsftpd ] || exit 0RETVAL=0prog="vsftpd"start() { # Start daemons. if [ -d /etc/vsftpd ] ; then for i in `ls /etc/vsftpddisable = yes/g' /etc/xinetd.d/vsftpdsed -in 's/disable.*=.*/disable = yes/g' /etc/xinetd.d/vsftpdn
启动 vsftpd
servicevsftpd start
登陆测试
开机启动,重启测试
chkconfig vsftpd on
感谢各位的阅读!关于“如何编译安装 vsFTP 3.0.3”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
--结束END--
本文标题: 如何编译安装 vsFTP 3.0.3
本文链接: https://www.lsjlt.com/news/278333.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0