close
實驗說明

本Lab為本人實作Linux 備忘,哪天忘記時可翻出來參考

我們將於此實驗實現出不同情境權限設計,並做整理

CentOS 5.6:  vsftpd-2.0.5-16

預先建立三個帳戶分別為

keynes: 權限: keynes.keynes   家目錄:  /home/keynes(750)
 
keynes2: 權限: keynes2.keynes(加入次要群組:keynes) 家目錄: /home/keynes

                           故意 設計為Read Only 帳戶

keynes3:權限:keynes3.keynes3  家目錄: /home/keynes3     #下圖為Check 圖示

 
[虛擬FTP設計] 於Eth0 底下多附掛一個IP,當作第二台FTP站台

Primary:  192.168.0.161/24

Secondary: 192.168.0.152/24

shell> ip addr add 192.168.0.152/24 brd + dev eth0  #eth0下多附掛1 ip

shell> ip addr show eth0   
 
實驗心得:

本人習慣於共用資料夾與FTP規劃以Windows Base 平台為主Ex: 架設Filezilla 或Server-U FTP

然後VSFTP與SAMBA是簡易且Free解決方案,若想設計具多功能FTP建議可以考慮Filezilla Server

組態檔案路徑: /etc/vsftpd/vsftpd.conf  #以下操作說明將以此檔編輯為主

Event 1 _架設FTP權限設計為"不開放匿名登入",僅允許實體帳號者驗證登入

 確認關鍵參數

anonymous_enable=NO  #若開放匿名請設定為YES

local_enable=YES            #若開放匿名請設定為NO

下圖設定為"匿名登入" 預設登入後User被指定為FTP,家目錄為/var/ftp/pub

 
     下圖: 關閉FTP匿名登入後,禁止匿名使用者登入訊息
   
  

    
  由於目前FTP組態已設定為" 實體帳戶使用者驗證登入" 形式,我們利用keynes這個帳戶

      試者登入FTP
從下圖中我們已成功登入FTP: 然而keynes 家目錄下(/home/keynes)
  
      我們試著成功 write 一個DATA 並上傳至該FTP(OK)
     目錄權限: 750            

    
 Event2. 禁止特定User 登入FTP 與 利用TcpWrapper 禁止特定主機或網域連入FTP站台

        vi /etc/vsftpd/ftpusers    #請將禁用帳戶填入儲存組態後,重啟Vstpd服務即可生效

      
        Tcp Wrappers: 限定特定主機,網段,網域,連入企業FTP 站台

        1st : 確認vsftpd.conf 內參數啟用Tcp Wrapper = 

      
 2nd:  vi /etc/hosts.deny  加入以下範例,禁止192.168.0.199 與192.168.2.0

                   網段連入FTP
     

        vsfpd: 192.168.0.199 192.168.2.0/255.255.255.0    

      
     
       禁止實體用戶登入FTP成功後,Chroot 至Home目錄以外的資料夾

       確認vsftpd.conf 參數如下

      chroot_list_file=/etc/vsftpd/chroot_list    #確認此行未被註解

      接者請編輯 /etc/vsftpd/chroot_list 
  #本例實驗將keynes2 設為禁址Chroot 使用者

      下圖: 我們使用keynes2 登入FTP站台並試者切換其他使用者目錄,發現被禁止訊息

       550: failed to change directory

       # VSFTPD 亦提供全域使用者皆不可Chroot參數,請確任以下參數未被註解即可

       chroot_list_enable=YES 
     

    
Event3: 全域傳輸檔案速率限制,FTP處理IP同時最大連線數,閒置N秒自動斷線,ASCII 模式

             上傳與下載組態

             請確認vsftpd.conf 幾個重要參數修改如下 #此部份不提供截圖

           
anon_max_rate=5000     #匿名使用者傳輸限定5kb/s

            local_max_rate=10000    #實體使用者傳輸限定10kb/s

           max_clients=100              #FTP可以同一時間處理100 Client端

           max_per_ip=5                   #限定單一IP 最大可以連接FTP使用連線數

           idle_session_timeout=300     # 用戶閒置FTP,達300秒後,自動斷線

Event4:
虛擬FTP規劃與組態

           觀察目前網卡Eth0 目前有掛兩個IP分別為192.168.0.161 , 192.168.0.152

           Then 我們需替192.168.0.152(Virtual FTP)建置匿名使用者DIR,範例如下

          useradd -d /var/vftp2   vftp2
          chown root.root /var/vsftp2
          chmod a+rx /var/vsftp2
          mkdir /var/vsftp2/pub

         並且我們將 Cpoy /etc/vsftpd/vsfptd.conf    為  /etc/vsftpd/vsftpd2.conf 

          <---Virtual FTP 設定檔

      
        Then 我們編輯  vsftpd2.conf  #virtual ftp 設定組態檔案,插入以下參數

        listen_address=192.168.0.152  參考下圖

        ftp_username=vftp2

        Then 設定完.152 FTP 站台後, 我們另需修改vsftpd.conf(.161) 插入以下參數

        
listen_address=192.168.0.161 

     
   #service vsftpd restart           生效修改設定
     
      
      最後驗
證虛擬FTP: 192.168.0.152(ok): 在此我們採取匿名登入設計
   


Event5:  SFTP 組態,配置安全的 SSH over FTP 檔案加密傳輸通道

     首先我們需產生 SSL憑證

     openssl req -new -x509 -nodes -out vsftpd.pem -keyout vsftpd.pem

     產生vsftpd.pem 檔案後,我將他copy至/etc/vsftpd/ 目錄下
        

     接者我們需編輯vsftpd.conf ,於空白處插入以下幾行參數 #修改完成後,請重新啟動vsftpd

     ssl_enable=YES
     allow_anon_ssl=YES
     force_local_data_ssl=YES
     force_local_logins_ssl=YES
     ssl_tlsv1=YES
     ssl_sslv2=YES
     ssl_sslv3=NO
     rsa_cert_file=/etc/vsftpd/vsftpd.pem
    
     最後,我們將驗證SSH Over FTP 是否運行OK  #我們於上一步設置強制執行SFTP登入測試

     下圖: 我們可以看到 530 Non-anonymous ...must encryption  #已成功強制啟用SFTP傳輸

                然而,
我們利用sftp://192.168.0.161登入測試可成功登入FTP站台
    
arrow
arrow
    全站熱搜

    終極.凱因斯 發表在 痞客邦 留言(0) 人氣()