• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    打造安全可控的FTP服務器

    2019-07-10 00:59:58河北科技師范學院趙學作
    網(wǎng)絡安全和信息化 2019年7期
    關鍵詞:配置文件列表服務器

    ■ 河北科技師范學院 趙學作

    編者按:盡管FTP服務器在傳輸文件時非常方便,但其安全性是非常脆弱的,因此打造一個安全可控的FTP服務器對單位網(wǎng)絡安全是非常有必要的。

    FTP是用于在網(wǎng)絡上進行文件傳輸?shù)囊惶讟藴蕝f(xié)議,使用客戶/服務器模式。它屬于網(wǎng)絡傳輸協(xié)議的應用層。

    Centos7是我們常用的服務器系統(tǒng)之一,我們也經(jīng)常需要在這個系統(tǒng)中安裝并配置安全可控的FTP服務器。

    安裝FTP服務器

    1.安裝vsftpd服務器命令。

    # yum install vsftpd

    2.啟動vsftpd并設置在下次啟動時自動啟用。

    # systemctl start vsftpd

    # systemctl enable vsftpd

    3.設置防火墻,允許外部系統(tǒng)用通過21端口訪問FTP 服務。

    # firewall-cmd--zone=public --permanent--add-port=21/tcp

    # firewall-cmd--zone=public --permanent--add-service=ftp

    # firewall-cmd--reload

    配置 FTP 服務器

    1.修改配置文件。

    配置前先備份一下原始配置文件 /etc/vsftpd/vsftpd.conf

    # cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.orig

    然后修改這個文件,并將下面的選項設置相關的值:

    # vi /etc/vsftpd/vsftpd.conf

    anonymous_enable=NO### 禁用匿名登錄

    write_enable=YES### 允許對文件系統(tǒng)做改動的 FTP 命令

    local_enable=YES### 允許本地用戶登錄

    local_umask=022### 本地用戶創(chuàng)建文件所用的 umask 值

    dirmessage_enable=YES### 當用戶首次進入一個新目錄時顯示一個消息

    xferlog_enable=YES### 用于記錄上傳、下載細節(jié)的日志文件

    connect_from_port_20=YES ### 使用端口 20 (ftp-data)用于PORT 風格的連接

    xferlog_std_format=YES ### 使用標準的日志格式

    listen=NO### 不要讓 vsftpd 運行在獨立模式

    listen_ipv6=YES### vsftpd 將監(jiān)聽 IPv6而不是 IPv4

    pam_service_name=vsftpd ### vsftpd使用的 PAM 服務名

    userlist_enable=YES### vsftpd 支持載入用戶列表

    tcp_wrappers=YES### 使用 tcp wrappers

    chroot_local_user=YES###禁止切換根目錄

    chroot_list_enable=YES

    # (default follows)

    chroot_list_file=/etc/vsftpd/chroot_list###如果沒有此文件則創(chuàng)建此文件,不需要添加內容

    allow_writeable_chroot=YES

    local_root=/home/ftp/pub ###限定主目錄

    2.創(chuàng)建FTP用戶。

    # useradd qhdedu

    3.為用戶qhdedu設置密碼qhd123

    # echo "qhd123" |passwd qhdedu --stdin

    4.限制這個新創(chuàng)建的用戶qhdedu只能通過FTP訪問。

    # usermod -s /sbin/nologin qhdedu

    5.為用戶分配主目錄。

    創(chuàng)建目錄:

    # mkdir -p /home/ftp/qhdedu

    創(chuàng)建歡迎文件

    echo "歡迎登錄FTP"> /home/ftp/qhdedu/.message

    圖1 提示登錄成功

    設置該目錄的訪問權限

    # chmod a-w /home/ftp/qhdedu && chmod 777-R /home/ftp/qhdedu

    設置為用戶主目錄

    # usermod -d /home/ftp/qhdedu qhdedu

    6.基于用戶列表文件 /etc/vsftpd/userlist來配置FTP來允許/拒絕用戶的訪問。

    默認情況下,如果設置了userlist_enable=YES,當userlist_deny選項設置為YES的 時 候,userlist_file=/etc/vsftpd/userlist中列出的用戶被拒絕登錄。如果配置為userlist_deny=NO,意 味 著只有在 userlist_file=/etc/vsftpd/userlist顯式指定的用戶才允許登錄。

    # vi /etc/vsftpd/vsftpd.conf

    #### vsftpd 支持載入用戶列表的的配置

    userlist_enable=YES#### vsftpd 將 從userlist_file 給出的文件中載入用戶名列表

    userlist_deny=NO

    userlist_file=/etc/vsftpd/userlist ####存儲用戶名的文件,一行一個用戶名

    7.將FTP服務器開啟被動模式。

    # vi /etc/vsftpd/vsftpd.conf #修改配置文件,在末尾添加以下內容:

    pasv_enable=YES

    pasv_min_port=30000

    pasv_max_port=31000

    8.保存后重啟vsftpd。

    # service vsftpd restart

    或systemctl start vsftpd

    我們可以用systemctl status vsftpd可查看當前狀態(tài)。

    測試服務器

    1.用qhdedu用戶身份登錄。

    ftp://192.168.1.18

    輸入用戶名:qhdedu

    輸入密碼:qhd123

    會顯示登錄成功,并顯示歡迎內容。如圖1所示。

    2.用FTP匿名登錄會提示失敗。如圖2所示。

    圖2 提示登錄失敗

    控制匿名賬號可以登錄、上傳及下載

    vsftpd.conf文件默認支持匿名登錄,修改vsftpd.conf可更改登錄方式。

    anonymous_enable=YES # YES為匿名可以登錄 NO為匿名不可以登錄

    write_enable=YES

    anon_upload_enable=YES

    anon_mkdir_write_enable=YES

    anon_other_write_enable=YES

    anon_other_write_enable=YES

    anon_world_readable_only=NO

    anon_root=/home/ftp/pub

    配置完再給相關目錄賦權:

    # chown root:ftp /home/ftp/pub

    # chmod 755 /home/ftp/pub

    圖3 出現(xiàn)錯誤提示

    圖4登錄成功

    這句非常關鍵,也決定著是否能登錄,權限必須為755,而不能是 777,如果是777,則登錄時出現(xiàn)錯誤提示:

    500 OOPS: vsftpd:refusing to run with writable root inside chroot ()

    如圖3所示。

    如果想給匿名賬號有寫入權限(上傳權限),可以建立一個子目錄,并賦于權限,如:

    mkdir -p /home/ftp/pub/ftp

    chmod 777 /home/ftp/pub/ftp

    也就是說,要在anon_root=/home/ftp/pub中的目錄/home/ftp/pub建立一個子目錄(即兩個目錄不能是同一目錄)。

    如果SELinux是啟動狀態(tài),還要放

    寬SELinux的控制權限,即更改SELinux為Permissive模式:

    # vi /etc/selinux/config

    將文件中SELINUX=enforcing一 句 改 成SELINUX=permissive重啟動后再getenforce時應該顯示permissive。當然也可用setenforce 0直接暫時關閉SELinux,但不推薦此方法。

    這時再測試匿名登錄:

    ftp://192.168.1.18

    ftp

    密碼回車(密碼為空)

    cd ftp

    看到可以登錄成功,并且可以上傳文件(如圖4所示):

    put E:a.txt #將E:a.txt這個文件上傳至/home/ftp/pub/ftp。

    猜你喜歡
    配置文件列表服務器
    巧用列表來推理
    提示用戶配置文件錯誤 這樣解決
    學習運用列表法
    擴列吧
    搭建簡單的Kubernetes集群
    互不干涉混用Chromium Edge
    通信控制服務器(CCS)維護終端的設計與實現(xiàn)
    忘記ESXi主機root密碼怎么辦
    得形忘意的服務器標準
    計算機網(wǎng)絡安全服務器入侵與防御
    常宁市| 仁怀市| 康乐县| 兴和县| 光泽县| 车致| 阳江市| 民勤县| 满洲里市| 崇左市| 美姑县| 大兴区| 肇州县| 南城县| 广汉市| 九龙坡区| 拉萨市| 蒙自县| 罗平县| 白玉县| 老河口市| 金门县| 滨海县| 河北省| 车险| 比如县| 荔波县| 凤台县| 巴林左旗| 九龙城区| 福泉市| 融水| 浦北县| 将乐县| 南投市| 株洲市| 黔南| 台前县| 盐池县| 济阳县| 留坝县|