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

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站台
本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站台

全站熱搜