编译安装 vsFTP 3.0.3的详细解析(vsftp3.0.2)

编译安装 vsFTP 3.0.3的详细解析(vsftp3.0.2)

扫码添加渲大师小管家,免费领取渲染插件、素材、模型、教程合集大礼包!

漏洞详情

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.3firewalld。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.htmlwgethttps://security.appspot.com/downloads/vsftpd-3.0.3.tar.gztar xfvsftpd-3.0.3.tar.gzcd vsftpd-3.0.3/

编译安装 vsFTP 3.0.3的详细解析(vsftp3.0.2)

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.2ln -sv /usr/lib64/libcap.so.2 /usr/lib64/libcap.so

默认配置:默认配置:主程序文件:/usr/local/sbin/vsftpd主配置文件:/etc/vsfptd.confpam认证文件:/etc/pam.d/vsftpd匿名用户主目录:/var/ftp匿名用户的下载目录:/var/ftp/pubvsftpd的安全原则主要有两个:只允许支持虚拟用户登录。关闭本地用户和匿名用户。不允许使用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.confcp /etc/vsftpd/vsftpd.conf{,.bak}vim/etc/vsftpd/vsftpd.conf#禁止匿名用户?

123456789101112131415161718192021 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

?

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 #!/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 ] ; thenfor i in `ls /etc/vsftpd/*.conf`; dosite=`basename $i .conf`echo -n $"starting $prog for $site: "/usr/local/sbin/vsftpd $i &retval=$?[ $retval -eq 0 ] && {touch /var/lock/subsys/$progsuccess $"$prog $site"}echodoneelseretval=1fireturn $retval}stop() {# stop daemons.echo -n $"shutting down $prog: "killproc $progretval=$?echo[ $retval -eq 0 ] && rm -f /var/lock/subsys/$progreturn $retval}# see how we were called.case "$1" instart)start;;stop)stop;;restart|reload)stopstartretval=$?;;condrestart)if [ -f /var/lock/subsys/$prog ]; thenstopstartretval=$?fi;;status)status $progretval=$?;;*)echo $"usage: $0 {start|stop|restart|condrestart|status}"exit 1esacexit $retval

增加执行权限

修改文件 /etc/xinetd.d/vsftpd 。不使用 xinetd 守护进程启动 vsftpdsed -in 's/disable.*=.*/disable = yes/g' /etc/xinetd.d/vsftpdsed -in 's/disable.*=.*/disable = yes/g' /etc/xinetd.d/vsftpdn

启动 vsftpdservicevsftpd start

登陆测试

开机启动。重启测试chkconfig vsftpd on

以上就是编译安装 vsftp 3.0.3的详细内容。更多关于编译安装 vsftp 3.0.3的资料请关注渲大师其它相关文章!

分享到 :
相关推荐

简单3条命令彻底清除WDCP占用空间

WDCP是国内著名的Linux管理控制面板。界面清爽简洁。对于一些不会使用Linux...

租用东京服务器做啥类型网站好(租用东京服务器做啥类型网站好呢)

东京服务器租用适合做什么网站?东京机房距离我们国内比较近。所以东京服务器在国内访问速...

美国服务器端口是如何分类的(美国服务器端口是如何分类的呢)

美国服务器端口分类的方法:1。从端口的性质来分类。有公认端口。注册端口。动态和私有端...

虚拟主机租用需要讲究哪些原则(虚拟主机租用需要讲究哪些原则呢)

说到虚拟主机租用。这是现代很多企业在建站时都会用到的服务。但是到底虚拟主机租用讲究的...

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注