##包含子配置文件
include /usr/local/etc/conf.d/mod_ban.conf
include /usr/local/etc/conf.d/mod_quota.conf
include /usr/local/etc/conf.d/mod_tls.conf
配置mod_ban子配置文件
————————–mod_ban.conf內容———————————
##最大登錄嘗試次數
MaxLoginAttempts3
##如果編譯ban模塊
<IfModule mod_ban.c>
##設置阻止日志路徑
BanLog/usr/local/var/proftpd/log/ban.log
##設置ban阻止表路徑
BanTable/usr/local/etc/conf.d/ban.tab
##阻止事件:1分鐘內請求連接 超過5次,拒絕連接,4小時后解鎖
BanOnEventClientConnectRate5/00:01:0004:00:00"Stopconnecting frequently"
##阻止事件:10分鐘內嘗試登錄 超過5次,拒絕連接,1小時后解鎖
#允許管理員手動添加和解除黑名單
BanControlsACLs all allowuser root
#設置白名單
<Class whitelist>
##這里就不說了,呵呵~
From10.1.50.50
</Class>
#
##如果包含在白名單,這里用到的是mod_ifsession模塊
<IfClass whitelist>
##關閉ban引擎
BanEngine off
</IfClass>
##不果不在白名單
<IfClass!whitelist>
##開啟ban引擎
BanEngine on
</IfClass>
</IfModule>
配置mod_quota子配置文件
———————-mod_quota.conf內容——————————-
##如果編譯qutatab模塊執行模塊里的配置
<IfModulemod_quotatab.c>
##開啟quota引擎
QuotaEngine on
##顯示大小單位MB
QuotaDisplayUnitsMb quota
##登錄時掃描
QuotaOptionsScanOnLogin
##顯示quota命令可用性信息
QuotaShowQuotas on
##指定quota表路徑,前者是限制的大小,后者是已經使用的大小
QuotaLimitTable file:/usr/local/etc/conf.d/ftpquota.limittab
QuotaTallyTable file:/usr/local/etc/conf.d/ftpquota.limittab
##指定quota日志路徑
QuotaLog/usr/local/var/proftpd/log/ftpquota.log quota
</IfModule>
配置mod_tls子配置文件
————————mod_tls.conf內容———————————
##如何編譯了tls模塊
<IfModule mod_tls.c>
##開啟TLS引擎
TLSEngine on
##設置TLS日志路徑
TLSLog/usr/local/var/proftpd/log/tls.log
##設置同時支持SSL版本3和TLS版本1
TLSProtocolSSLv3TLSv1
##連接到服務器時,是否強制用戶使用FTPS? 否。
TLSRequired off
##設置認證簽名文件,包含RSA算法公鑰
TLSRSACertificateFile/usr/local/etc/conf.d/proftpd-cert.pem
##設置RSA密鑰
TLSRSACertificateKeyFile/usr/local/etc/conf.d/proftpd-key.pem
##指定CA簽名
TLSCACertificateFile/usr/local/etc/conf.d/cacert.pem
#檢測用戶是否優先使用FTPS
TLSVerifyClient off
#強制TLS協商與否
TLSRenegotiate none
</IfModule>
使用Proftpd
虛擬域
proftpd支持基于IP地址的虛擬域,基于同一IP不同端口的虛擬域。但是,很遺憾不向apache那樣支持同地址同端口不同域名的基于互聯網域名的虛擬域。
詳細配置方法參見:
http://www.proftpd.org/docs/howto/Vhost.html
http://www.proftpd.org/docs/configs/virtual_authuserfile.conf
http://www.proftpd.org/docs/configs/virtual.conf
官方文檔描述的很清楚,除了是不是方塊字。
添加虛擬用戶
編譯Proftpd時,會生成ftppasswd程序,用來添加虛擬用戶和組。
ftpasswd –passwd –name=admin
–uid=nobody –gid=nobody
–home=/ftp_pool/pub/
–shell=/bin/false
–file=/usr/local/etc/conf.d/ftpd.passwd
//添加虛擬組
ftpasswd –group–name=xiyang –gid=1001
–file=/usr/local/etc/conf.d/ftpd.group
第一次是啟動Proftpd之前需要初始化quota表,方法如下:
cd /usr/local/etc/conf.d/
ftpquota –create-table -type limit
ftpquota –create-table -type tally
用戶和組策略
虛擬用戶的ID可以相同。虛擬組的作用,為邏輯控制,而非權限控制。根據虛擬域的不同來分配uid和gid,域中用戶使用域的uid和gid,虛擬用戶被DefaultRoot ~ 鎖定在其home目錄下。