色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

編譯安裝 vsFTP 3.0.3的詳細解析

瀏覽:28日期:2023-03-25 09:40:28

漏洞詳情

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 ] ; 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/$prog   success $"$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" in  start)start;;  stop)stop;;  restart|reload)stopstartRETVAL=$?;;  condrestart)if [ -f /var/lock/subsys/$prog ]; then    stop    start    RETVAL=$?fi;;  status)status $progRETVAL=$?;;  *)echo $"Usage: $0 {start|stop|restart|condrestart|status}"exit 1esacexit $RETVAL

增加執行權限

  • 修改文件 /etc/xinetd.d/vsftpd ,不使用 xinetd 守護進程啟動 vsftpd
  • sed -in "s/disable.*=.*/disable = yes/g" /etc/xinetd.d/vsftpd
  • sed -in "s/disable.*=.*/disable = yes/g" /etc/xinetd.d/vsftpdn

  • 啟動 vsftpd
  • servicevsftpd start

登陸測試

  • 開機啟動,重啟測試
  • chkconfig vsftpd on

以上就是編譯安裝 vsFTP 3.0.3的詳細內容,更多關于編譯安裝 vsFTP 3.0.3的資料請關注其它相關文章!

標簽: FTP
相關文章:
主站蜘蛛池模板: 亚洲国产福利精品一区二区 | 久久精品免费 | 国产国语一级毛片全部 | 免费久草 | 美女一级毛片毛片在线播放 | 欧美成人性做爰网站免费 | 91黑丝国产线观看免费 | 日韩一区二区三区不卡视频 | 亚洲视频中文字幕在线 | 亚洲欧美一区二区三区不卡 | 日韩精品一区二区三区 在线观看 | a级毛片免费高清视频 | 51久久夜色精品国产 | 91精品久久| 亚洲一区二区三区四区 | 亚洲最大网站在线 | 免费看岛国视频在线观看 | 美女张开腿 | 欧美在线观看一区二区 | 国产精品国产亚洲精品看不卡 | 欧美视频在线观看一区二区 | 99爱视频99爱在线观看免费 | 免费观看的毛片手机视频 | 99九九视频 | 欧美午夜a级精美理论片 | 天堂8在线天堂资源bt | 手机毛片 | 日韩在线一区二区三区 | 亚洲国产cao | 午夜怡红院| 欧美精品专区55页 | 亚洲热视频 | 2级毛片 | 天天se天天cao综合网蜜芽 | 欧美搞黄视频 | 四虎免费大片aⅴ入口 | 久久久久久综合七次郎 | 日本人成18在线播放 | 日本a级片免费观看 | 18视频免费网站 | 午夜欧美在线 |