使用xinetd 運(yùn)行ProFTPD
使用xinetd 運(yùn)行ProFTPD。pureftpd是一種在多款類Unix上使用的開(kāi)放源代碼的軟件。即它也就是一種純粹的Ftp程序。本文所描述的是使用xinetd 運(yùn)行ProFTPD。使用xinetd方式運(yùn)行ProFTPD的步驟:
(1)檢查確省運(yùn)行情況
確省情況下ProFTPD以stand-alone工作模式運(yùn)行,可以使用"ps aux| grep proftpd"命令查看進(jìn)程號(hào),然后使用kill命令中止運(yùn)行。
(2)修改配置文件
修改/etc/proftpd.conf文件的ServerType選項(xiàng)由"standalone"改為"inetd"。
(3)建立用戶組
groupadd nogroup
(4)創(chuàng)建配置文件/etc/xinetd.d/proftpd,代碼如下:
service ftp { flags = REUSE socket_type = stream instances = 30 cps = 25 60max_load = 3.0wait = no user = root server = /usr/local/sbin/proftpd log_on_success = HOST PID log_on_failure = HOST RECORD disable = no }
(5)重新啟動(dòng)xinetd配置
killall -USR1 xinetd
(6)使用命令連接服務(wù)器
可以使用"ftp localhost"連接本地服務(wù)器,如果連接被拒絕,可以使用命令:
tail -f /var/log/messages
查看錯(cuò)誤信息。
1、限制同時(shí)運(yùn)行的進(jìn)程數(shù)。
通過(guò)設(shè)置instances選項(xiàng)設(shè)定同時(shí)運(yùn)行的并發(fā)進(jìn)程數(shù):
當(dāng)服務(wù)器被請(qǐng)求連接的進(jìn)程數(shù)達(dá)到20個(gè)時(shí),xinetd將停止接受多出部分的連接請(qǐng)求。直到請(qǐng)求連接數(shù)低于設(shè)定值為止。
2.限制一個(gè)IP地址的最大連接數(shù):
通過(guò)限制一個(gè)主機(jī)的最大連接數(shù),從而防止某個(gè)主機(jī)獨(dú)占某個(gè)服務(wù)。
per_source=5
這里每個(gè)IP地址可以連接單個(gè)IP地址的連接數(shù)是5個(gè)。
3.限制負(fù)載。
xinetd還可以使用限制負(fù)載的方法防范拒絕服務(wù)攻擊。用一個(gè)浮點(diǎn)數(shù)作為負(fù)載系數(shù),當(dāng)負(fù)載達(dá)到這個(gè)數(shù)目的時(shí)候,該服務(wù)將暫停處理后續(xù)的連接:
max_load = 2.8
上面的例子中當(dāng)一項(xiàng)系統(tǒng)負(fù)載達(dá)到2.8時(shí),所有服務(wù)將暫時(shí)中止,直到系統(tǒng)負(fù)載下降到設(shè)定值以下。說(shuō)明要使用這個(gè)選項(xiàng),編譯時(shí)要加入--with-loadavg,xinetd將而已處理max-load配置選項(xiàng)。從而在系統(tǒng)負(fù)載過(guò)重時(shí)關(guān)閉某些服務(wù)進(jìn)程,來(lái)實(shí)現(xiàn)某些拒絕服務(wù)攻擊。
4.限制所有服務(wù)器數(shù)目(連接速率)。xinetd可以使用cps選項(xiàng)設(shè)定連接速率,下面的例子:
cps = 25 60
第一個(gè)參數(shù)表示每秒可以處理的連接數(shù),如果超過(guò)了這個(gè)連接數(shù)之后進(jìn)入的連接將被暫時(shí)停止處理;第二個(gè)參數(shù)表示停止處理多少秒后繼續(xù)處理先前暫停處理的連接。即服務(wù)器最多啟動(dòng)25個(gè)連接,如果達(dá)到這個(gè)數(shù)目將停止啟動(dòng)新服務(wù)60秒。在此期間不接受任何請(qǐng)求。
【編輯推薦】