ProFTPD服務器安全策略
圖-ProFTPD
ProFTPD是針對Wu-FTP的弱項而開發的,已經成為繼Wu-FTP之后最為流行的FTP服務器軟件,越來越多的站點選用它構筑安全高效的FTP站點,TurboLinux就是一個例子。
1.使用xinetd方式運行ProFTPD
ProFTPD能以Stand-alone、xinetd兩種模式運行,當用戶賬號比較少又經常需要連接到ProFTPD服務器時推薦使用xinetd模式運行。使用xinetd方式運行ProFTPD可以有效防范DoS攻擊。原理和方法可以查看《網管理員世界》8月的《分類防范Linux的DoS》。
2.隱藏服務器版本信息
通常軟件的版本信息是攻擊者尋求最有價值的信息。修改配置文件:/etc/Proftpd.conf:
ServerIdent off
3.使用非root權限運行Proftpd
以非root權限運行Proftpd。修改配置文件:/etc/Proftpd.conf:
User nobody //設置FTP服務以nobody運行
Group nobody //原來是Group nobody,一定要改為“Group nobody”
上面的配置表示以nobody用戶身份運行Proftpd。使用nobody身份運行能夠降低緩沖區溢出攻擊所帶來的危險。
4.監控Proftpd服務器
通常新部署一個FTP服務器之后需要進行一段時間的監控:記錄FTP連接記錄、誰連接到我的FTP服務器。Proftpd本身附帶了幾個命令可以使用:
usr/local/bin/ftpcout:顯示FTP服務器連接數信息。
usr/local/bin/ftpwho:顯示FTP服務器連接用戶名稱信息。
可以使用watch命令配合使用,運行下面命令:
watch -n 60 /usr/local/bin/ftpcount
這個命令每六十秒顯示一次連接數目信息。
5.修改Proftpd服務器配置文件
Proftpd服務器配置文件/etc/Proftpd.conf中許多選項可以加固服務器。/etc/Proftpd.conf文件格式和Apache服務器配置非常相像。
(1)通過IP地址限制FTP訪問
假設要允許主機名稱myhost.domain.com訪問FTP服務器,首先使用命令Ping myhost.domain. com。假設登到IP地址216.112.169. 138,修改配置文件,加入以下內容:
Order Allow,Deny
Allow from 216.112.169.138
Deny from all
注意:不要在Allow命令后直接使用主機名稱,因為檢查主機名稱會降低服務器的運行速度。另外主機名稱比IP地址更具有欺騙性。
(2)使用PAM作為ProFTPD授權用戶的鑒別方法
ProFTPD也可以加入嵌入式認證模塊,成為PAM-aware的FTP服務器。PAM和PAM-aware相關知識和配置請查看相關資料。這樣,用戶連接到ProFTPD服務器時都由PAM使用/etc/pam.d/ftp文件進行認證。在 ProFTPD使用PAM比較簡單,在配置文件/etc/Proftpd.conf加入:
AuthPAMAuthoritative on
AuthPAMConfig ftp
ProFTPD服務器會自動把/etc/pam.d/ftp配置用于用戶授權。
(3)限制普通FTP用戶可訪問的目錄
同樣,ProFTPD服務器也要限制普通FTP用戶可以訪問的目錄,和wu-ftpd相比比較簡單。如果限制skate組的skate用戶登錄時不能切換到其他目錄,修改配置文件加入:
DefaultRoot ~skate,skate
這樣它就只能呆在自己的home目錄中。
(4)限制FTP命令特權
禁止一些用戶創建和刪除目錄的特權。如果發現一些用戶有威脅行為,可以把他放在一個特定組中 (badusers)。使用如下的配置:
Order deny,allow
DenyGroup badusers
AllowAll
這樣除了那個特定的用戶組之外,其他用戶可以創建和刪除目錄。
(5)控制FTP命令緩沖區大小
許多攻擊者通過發送大尺寸的命令攻擊FTP服務器,希望造成服務器緩沖區溢出。可以使用CommandBuffer Size命令限制客戶端命令長度,通常設定為512。
(6)修改ProFTPD服務器使用端口
ProFTP如果使用Stand-alone模式,可以通過設置proftpd.conf來控制它。使用不同端口的設置也較為簡單,只需在proftpd.conf中將“Port xx”改為需要的值即可。
通過上文詳細的說明,想必大家都能清楚知道ProFTPD服務器安全策略,希望本文對大家有用!
【編輯推薦】
- Proftpd 大蝦的學習筆記
- ProFTPD 詳細解析
- Gentoo中的proftpd的一些問題
- Proftpd使用TLS/SSL
- Proftpd登陸速度慢
- 為什么要使用proftpd
- ProFTPD 主要特性