安裝&調教ConfigServer Security & Firewall

作者: | 2014-05-26
Logo

ConfigServer Security & Firewall(簡稱CSF)防火牆是一個開放原始碼的軟體,雖然我其實一直是使用同類型的Advanced Policy Firewall(簡稱APF),但是前陣子更換CentOS 6之後才發現好像跟APF不太和氣 :| 雖然APF官網也有更新9.7 (rev:2),但我覺得APF他更新速度有點慢,CentOS都6.5了他才跟上這點我滿介意的,所以就換上了WHM/Cpanel主機管理系統上的外掛模組CSF :P 這套更新速度倒也滿快的,基本安裝也簡單,還附送一個Login Failure Daemon(簡稱LFD)軟體,而且除了WHM付費的主機管理系統可用,另一套Webmin開放原始碼的主機管理系統也同樣有支援CSF的外掛模組,這點我就滿開心的,因為我每台主機都有裝Webmin (H) 所以就來簡單記錄一下使用過程吧!

1. 首先安裝基本套件

yum install -y iptables nano perl perl-GDGraph perl-libwww-perl

2. 下載CSF

cd /usr/src
rm -fv csf.tgz
wget http://www.configserver.com/free/csf.tgz
tar xzf csf.tgz

3.如果安裝了AFP或BFD的同性質軟體請先執行CSF自帶的移除檔案

sh /usr/src/csf/remove_apf_bfd.sh

4. 安裝CSF

cd /usr/src/csf
sh install.sh

4.1 安裝完畢後先執行1次自我測試,如果正常就可使用完整功能,也就是比較能保障主機的安全,OpenVZ的VPS要特別注意這點

perl /usr/local/csf/bin/csfui.pl

csftest

4.2 安裝過程中CSF會自動將目前連線的IP加入白名單,也自動把已使用中的port加入設定檔,另外有安裝Webmin的可以在Webmin新增CSF外掛模組,
在左手邊的Webmin > Webmin Configuration > Webmin Modules
選擇From local file,空格中輸入/usr/local/csf/csfwebmin.tgz

Webmin_with_CSF_01
5. 新增好之後可以在左手邊的System > ConfigServer Security & Firewall看到他,不喜歡在SSH操作的就可以在這邊操作 :-#

Webmin_with_CSF_02

6. 設定CSF也不難,官方的讀我檔案有完整介紹,我這邊簡單介紹一下

vi +/TESTING /etc/csf/csf.conf

第220行 – 指定偵測的網路介面
ETH_DEVICE = “eth0” ← 一般Linux系統
ETH_DEVICE = “venet0” ← OpenVZ的VPS

第115行 – 指定要開放的TCP的PORT
TCP_IN = “20,21,22,25,47,53,80,110,113,123,143,161,443,465,587,993,995,1723,1812,1813,2077,2078,2082,2083,2086,2087,2095,2096,3306.10000,15000:16000”

第121行 – 指定要開放的UDP的PORT
UDP_IN = “20,21,22,25,47,53,123”

第128行 – 啟動ICMP功能,開放主機接受PING
ICMP_IN = “1”

第352行 – 指定SMTP使用的PORT
SMTP_PORTS = “25,465,587”

第358行 – 指定要開放使用SMTP的使用者與群組
SMTP_ALLOWUSER = “cpanel”
SMTP_ALLOWGROUP = “mail,mailman”

第399行 – 平時不啟動,當遭到SYNFLOOD或DDoS攻擊時,啟動過濾SYNFLOOD功能,這邊的範例是主機收到每秒100個封包就阻擋,突發上限是150,資源較小的主機可以把數字再往下調整
SYNFLOOD = “1”
SYNFLOOD_RATE = “100/s”
SYNFLOOD_BURST = “150”

第435行 – 平時不啟動,當遭到SYNFLOOD或DDoS攻擊時,啟動過濾PORTFLOOD功能,這邊的範例是如果300秒內有10個以上同樣的IP連接到tcp端口22的連接,則60秒後阻止該IP連線到端口22,另外如果5秒內有10個以上同樣的IP連接到tcp端口80的連接,則60秒後阻止該IP連線到端口80
PORTFLOOD = “22;tcp;10;60,80;tcp;10;60”

第419行 – 指定特定PORT可連線的數量,比如說22的PORT可5連線,443可20個連線
CONNLIMIT = “22;5;443;20

大致上也就這樣,其他的不太需要動 ({) 設定完畢後再關閉測試模式

第11行 – 關閉測試模式

TESTING = “0

7. 在SSH操作CSF其實也只有幾個指令常用,簡單介紹一下

檢查CSF運作狀態
csf -l
快速新增IP到黑名單
csf -d 8.8.8.8
快速新增IP到白名單
csf -a 8.8.8.8
重新讀取設定檔
csf -r
更新CSF主程式
csf -u
重新啟動CSF服務
service csf restart

臉書回應

篇回應

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *

(A)  :@  (brb)  (U)  (:cc)  :S  (H)  :-(  :cute  (6)  :-#  :$  :er  8-)  FUCK 
(})  ({)  GY  (L)  :kao  (K)  :cc  :pu  (F)  :(  ^o)  :-*  :O  +o(  |-) 
:)  (*)  :D  *-)  (N)  (Y)  :P  :|  (W)  ;)  XD