|
首頁 | 討論區 | 最新話題 | 搜尋 | XML | 登入 |
Blueimp » 列出所有討論區 » 討論區: MISSkill | |
|
此話題中所有文章數: 1 [ 話題狀態: 一般 ] | |
|
[轉貼]簡易防火牆建置與流量統計作者:施勢帆、吳國華簡介: 防火牆基本上是為了預防別人來存取你的網路,進而管制網路上資料的進出,防火牆一端連接外部的網路(經由真實的IP),另一端則連接內部的網路(虛擬的IP),將你內部的網路與外部的網路給隔離開,防火牆成了進入你內部網路的唯一通道,因此任何進出的資料都要經過防火牆,再經由防火牆來決定是否能夠通行,因此對於安全性更多加了一份保障。 另外在本文中也介紹兩個重量級的軟體,方便監看網路流量和過往的網路封包,這也應是防火牆中的功能之一。 一、防火牆的種類 1. 1. 封包過濾器 封包過濾器的功能為取得每一個封包,經由我們所設定的規則去進行過濾,看是否允許封包的傳送或是拒絕封包,封包過濾器存在於網路階層,而且不會影響到封包中的資料。在RedHat Linux中有一個ipchains的套件(6.0以上已內含),可以經由它來做封包過濾器。 2.代理伺服器(Proxy firewalls) 代理伺服器又常被稱為應用程式閘道,允許通過防火牆間接進入網際網路。 二、開始架設防火牆 網路位址轉換NAT(Netword Address Translation) 由於網際網路的發展愈來愈蓬勃,電腦的數量也跟著急遽增加,導致目前IP不足,一IP難求的現象,所以解決之道要使用虛擬的IP,相信虛擬IP必會成為未來的趨勢。網路上保留了特定IP供給私人虛擬網路使用,在真實的網路上將不會找到這三 組IP,這些虛擬IP位址為: Class A 10.0.0.0 ~ 10.255.255.255 Class B 172.16.0.0 ~ 172.31.255.255 Class C 192.168.0.0 ~ 192.168.255.255 2-1 查看網路卡狀態 首先必須要有兩張網路卡介面,一張對外(使用真實IP)eth1,一張對內(使用虛擬IP)eth0,執行 ifconfig –a 會出現網路卡的設定值,看是否兩張網路卡都有抓到。 在這裡要注意的是,可能你抓到的是eth0和eth1的設定值是相反的,也就是說eth0對應到的是真實的IP、eth1對應到的是虛擬IP,以筆者的實作,如果是這樣的話,必須要做修改,否且網路會連不出去,在下面會提到。 有可能在裝好系統開機時,可能會卡在開機時的畫面,可能是這樣子的話,建議拿掉一張網路卡重開機,設定完之後再插上。 ifconfig –A | more 查看目前所啟動的網路卡界面,目前為全設好的狀態 2-2 修改/etc/sysconfig/network 若只有捉到一張網路卡,那我們就直接手動安裝另一張網路卡,首先切換目錄到 /etc/sysconfig中,有一個檔案network,其內容為: 其中的FORWARD_IPV4要設為yes,才可以去啟動IP偽裝轉換。 2-3 修改/etc/sysconfig/network-scripts/ifcfg-eth1 接著到 /etc/sysconfig/network-scripts目錄中,會有下列檔案: 目前我們要注意的是ifcfg-eth0、ifcfg-eth1這兩個檔案,在你安裝完之後它只有ifcfg-eth0這個檔案,並沒有ifcfg-eth1。首先將ifcfg-eth0複製成ifcfg-eth1,執行cp ifcfg-eth0 ifcfg-eth1 ,其中ifcfg-eth1為對外網路卡的設定檔,依自己的設備去修改,其內容為: 第一行指定網路卡的界面為:eth1 第三行指定廣播位址為:192.192.73.255 第四行指定IP位址為:192.192.73.35 第五行指定網路遮罩為:255.255.255.0 第六行指定網路號碼為:192.192.73.0 第七行指定是否在開機後去啟動網路卡界面 2-4 修改/etc/sysconfig/network-scripts/ifcfg-eth0 在這我們直接修改設定檔ifcfg-eth0,做為內部虛擬的網路卡介面,其內容為: 第一行指定網路卡的界面為:eth0 第三行指定廣播位址為:192.168.1.255 第四行指定IP位址為:192.168.1.1 第五行指定網路遮罩為:255.255.255.0 第六行指定網路號碼為:192.168.1.0 第七行指定是否在開機後去啟動網路卡界面 在這我們指定的內部網路,其中網路號碼為192.168.1.0,廣播號為192.168.1.255 所以真正可用的虛擬ip位址為192.168.1.1 ~ 192.168.1.254。 2-5 啟動網路卡 啟動: 關閉: 執行: ifconfig eth0 up ifconfig eth0 down 執行: ifconfig eth1 up ifconfig eth1 down 2-6 設定路由表 當上述的檔案設定完、啟動之後,我們必須替這兩個網路去建立route(路由)。 route的命令為: route add -net network address netmask device 網域 真實網域 虛擬網域 網路號(network) 192.192.73.0 192.168.1.0 網路遮罩(netmask) 255.255.255.0 255.255.255.0 閘道(gateway) 192.192.73.1 192.168.1.1 真實網域路由的設法: route add –net 192.192.73.0 netmask 255.255.255.0 gw 192.192.73.1 虛擬網域路由的設法: route add –net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1 其路由表為: route –n 這樣子就安裝好了兩張網路卡,eth1就做為對外部的網路卡(真實的IP),eth0做為對內部的網路卡(虛擬IP)。 2-7 測試 以eth1做為對內的網路介面,其虛擬IP位址為192.168.1.0 ~ 192.168.1.255,因為其第一個為網路號碼,最後一個為廣播號,所以可用的虛擬IP為192.168.1.1 ~ 192.168.1.254,我們將閘道器(gateway)設為192.168.1.1、子網路遮罩設為255.255.255.0,將192.168.1.2 ~ 192.168.1.254 之間的IP分配給內部的機器,之後內部的機器就可以互相通訊(‘ping’),但對於要連出去,還需要一個步驟,那就是使用一支程式,ipchains來達成這個目的。先針對上述的問題,如果要讓內部的機器連接到外部的網路,可先執行: /sbin/ipchains –A forward –s 192.168.1.0/24 –d 0.0.0.0/0 –j MASQ /sbin/ipchains –P forward DENY 第一個命令會將來源192.168.1.0 ~ 192.168.1.255的封包使用IP偽裝,將偽裝的封包送轉送給預設的路由,到外部的網路。 第二個命令會將forward的預設政策設為DENY。 你可以將這兩行命令加在/etc/rc.d/rc.local檔案中,使其每次開機時執行。 對於ipchains的使用,會在下面作更詳細的說明。 三、封包過濾防火牆ipchains 若你使用的是新版的Linux,裡面都會有ipchains的套件,直接使用就可以讓你建立封包過濾防火牆。 3-1 ipchains語法 其選項、來源ip、目的地ip、port可以不加,表示為全部。 ipchains語法: ipchains 命令 input forward output 選項 來源ip Port 目的地ip port -j目標 範例: ipchains –A input –p all –s 192.168.1.2 –d eef.oit.edu.tw 23 –j DENY 3-2 ipchains命令 可以有兩種形式來指定,全名方式或縮寫方式來表示 --add -A 增加新的ipchains規則 --delete -D 刪除第一個ipchains規則,或某一個ipchains規則 --inser -I 插入一個新ipchains規則,其插入需指定規則中的數字, 如果數字為1表示為第一個。 --replace -R 取代所選擇的規則,其取代需指定規則中的數字。 --list -L 列出所選擇設定的ipchains規則,如果沒有規則被指定, 會列出所有的規則出來。 --flush -F 將某個ipchains規則清除(例如:input、output、forward) 這相當於去刪除掉規則的功效。 --zero -Z 將所有規則中的封包和位元組計數器歸零 它也可以去指定-L, --list (list) 選項,會先列出之前的資 料,再列出歸零的資料。 --check -C 檢查封包是否違反所設的規則,這是一個相當有用的測 試,其是-s (來源), -d (目的地), -p (協定), -i (界面)更是必 要。 --new -N 產生一個新的使用者定義規則(user-defined)。 --delete-chain -X 刪除使用者定義的規則,如果沒有指定任何的參數,它將 會所有的定義的規則。 --policy -P 設定目標的政策,只有input,forward,output可以去設定。 --masquerade -M 這個選項可以去查看現在的偽裝連接狀況(須加上-L 選 項),或是去設定kernel偽裝參數(-S選項)。 --set -S 設定偽裝停止時間變數 --help -h 列出描述命令語法的說明。 3-3 ipchains選項參數 可以有兩種形式來指定,全名方式或縮寫方式來表示 使用’!’去反向:驚嘆號’!’有’not’的意義,有許多選項可以加上’!’去使用,表示不 相等的意思。 例如: -s ! localhost 說明: 表示除了localhost的來源位址都可以。 --proto -p [!] protocol 協定:可以用數字或名字,例如:tcp、icmp、 udp及all。 範例: ipchains –A input –p tcp –s 192.168.1.3 –d eef.oit.edu.tw ftp –j DENY 說明: 來源位址為192.168.1.3的主機不能對eef.oit.edu.tw這台主機做ftp的動作請求。 -- source -s [!] 指定來源位址。 --source-port [!] port 指定來源的port。 --destination -d [!] 指定目的地位址 --destination-port [!] 指定目的地的port --icmp-type [!] 型式名稱,指定ICMP型式 --interface -i [!] 網路介面名稱 ,lo、eth0、eth1。 -- jump -j 指定規則的目標,如果沒有指定的話,這條規則 算是沒有用處。 --numeric -n 取消DNS查詢,直接使用IP -- log -l 將關於ipchains的訊息記錄起來,記錄於 /var/log/messages內。 -- verbose -v 完整模式,會列出界面名稱、規則、TOS偽裝, 封包和位元組計數也會列出,須和-L一起使用。 [!] --syn -y 只有當SYN設定時才會符合TCP封包 --TOS -t Type Of Service [!] --version -V 列出ipchains的版本 --bidirectional -b 雙向模式 範例: ipchains -A input -b -s 192.168.1.5 -d eef.oit.edu.tw -j DENY 說明: 可以看到-b參數會多出一個來源與目的地相反的規則出來,使得192.168.1.5不能到eef.oit.edu.tw,而eef.oit.edu.tw也不能到192.168.1.5,兩台主機互不相往來。 四、封包過濾防火牆ipchains的操作規則 此段在說明如何去使用ipchains操作規則;大部分相同地你將會使用到增加(-A)和刪除(-D)這兩項命令,其它像插入(-I)、取代(-R)在觀念上都差不多。 4-1 ipchains規則 首先列出ipchains的規則表出來: ipchains –L 分為三大部分: input chains:輸入時的過濾規則 例如:ipchains –A input –p tcp –s 192.168.1.3 –d 192.192.69.36 www –j DENY 禁止192.168.1.3的來源位址去存取目的地192.192.69.36的網頁。 forward chain :執行IP偽裝的規則 例如:ipchains –A forward –s 192.168.1.0/24 –d 0.0.0.0/24 –j MASQ 啟動192.168.1.0~255的IP偽裝 output chain:輸出時的過濾規則(與input相反) 例如:ipchains –A output –p tcp –s 192.192.69.36 www –d 192.168.1.3 –j DENY 功用與input相同,只不過來源地址、目的地位址要對換 每個所設的規則必須要去符合情況,以及要做些什麼(目標)。 舉例來說,你可能要去拒絕從IP位址192.168.1.3的ICMP的封包,所以在這裡我們的條件必須是協定ICMP及來源位址必須是192.168.1.3,目的地為192.192.69.39這台主機(若不設則為全部),目標是’DENY’。 指令寫法為: ipchains –A input –p icmp –s 192.168.1.3 –d 192.192.73.35 –j REJECT 4-2 命令的用法 增加新的規則 -A: 我們增加(-A)’input’的規則,要指明封包的來源位址(‘-s 192.168.1.3’)及協定 (‘-p ICMP’),及應該結果為拒絕(‘-j DENY’)。 範例: ipchains -A input –s 192.168.1.3 –p icmp –j DENY 說明:拒絕來自192.168.1.3的icmp封包。 刪除規則 -D: 我們刪除ipchains 規則有兩種方法,首先我們知道在’input’的規則中只有一個(剛剛上面所增加的),也是第一個,所以我們可以使用數字來刪除.。 範例: ipchains –D input 1 說明:刪除input規則中的第一條。 第二種方法是跟增加新的規則差不多,只不過是增加(-A)換成了刪除(-D),這種方法在你如果設定了很多的規則的時候很好用,你可以不必去數它到底是第幾個,只要照打一遍就行了,當然必須要一模一樣才行。 範例: ipchains -D input –s 192.168.1.3 –p icmp –j DENY 插入新規則 -I: 首先我們先看看目前input中有2個規則: 範例: ipchains -I input 3 -p icmp -s 192.168.1.6 -j DENY 說明:插入新的規則到第3個位置。 結果: 取代規則 -R: 與插入規則的使用方法相同。 清除規則 -F: 除了可公使用-D來刪除規則之外,還可以使用-F來清除,它是直接清除掉某規則中的全部。 範例: ipchains –F input ipchains –F forward 說明:清除掉input、forward的所有規則。 重設(歸零)計數器 -Z: 可以使用-Z命令去使封包的計數歸零。 範例: ipchains –L –v –Z ; echo;ipchains –L –v 說明:列出所設定的規則,並且把它的封包、位元組清除歸零,再列出規則來。 結果: 改變政策 -P: 當我們查看規則時,第一行是’Chain input (policy ACCEPT):’,其中政策(policy)是ACCEPT,預設是所有的資料都可傳送,除非我們再去設規則去做限制,不過我們也可以去改變預設值,使得預設是全部的網路被拒絕傳送。 範例: ipchains –P input DENY ipchains –P forward DENY ipchains –P output DENY 說明:將所有對內、對外的網路中斷拒絕。 4-3 指定協定種類 使用’-p’來指定協定種類,其中協定分為’TCP’(Transmission Control Protocol)、’UDP’(User Datagram Protocol)、’ICMP’(Internet Control Message Protocol)或是全部(all),在這的協定寫法沒有分大小寫,能以數字代替協定。 在/etc/protocols中有註明各種協定,其中tcp為6,udp為17,icmp為1。 TCP(傳輸控制協定): 位於應用層,如果應用程式(http、ftp)需要可靠性高的資料傳輸方式,那麼就可以採用TCP,TCP會去檢查資料是否安全到達,否則就重新發送資料。將傳輸的資料以TCP格式成為資料段,交由網路層的IP協定去處理,每一段資料含有一個檢查值,接收者用它來驗証資料是否受損,如果接收的資料沒有損壞,會傳回確認回去;如果資料有損會便會丟棄。TCP具有可靠性及連線性。 UDP(使用者資料協定): 位於應用層,讓應用程式直接使用封包傳送服務,如IP提供的傳送服務,UDP協定並不會去檢查封包是否安全到達目的地,因此傳送速度快,但卻是一個不可靠、非連線性的封包協定。 ICMP(網路控制訊息協定): 屬於網際層的一部分,利用IP封包的傳送,發送它的訊息,ICMP發送的訊息執行了如偵測遠端機器是否運作(‘ping’)、資料流的控制(當封包到得太快來不及處理時,目的主機傳回一個ICMP的來源抑制訊息給發送者,告訴資料來源暫時停止傳送封包)。 ICMP並沒有port,但它還是有它的選項參數可以使用,用來選擇ICMP的類型。 我們可以指定ICMP的名稱或是數字代表(可以執行 ipchains –h icmp 去列出詳細的名字)。 一般共同的ICMP封包類型為: 數 字 名 稱 要求的動作 0 echo-reply ping 3 destination-unreachable 任何的TCP/UDP傳輸 5 Redirect routing 8 echo-request ping 11 time-exceeded traceroute 範例: ipchains -A input -p 1 -s 192.168.1.3 -d 192.192.73.35 -j DENY 說明:主機192.192.73.35拒絕192.168.1.3的ping請求(ICMP的協定為1)。 ipchains -A input -p icmp --icmp-type echo-request –s 192.168.1.3 –d 192.192.73.35 -j REJECT 說明:與上例相同,但多去指明了ICMP種類。 4-4 指定過濾對象 指定來源和目的地的IP位址 -s -d : 來源(-s)和目的地(-d)的表示法有3種: 1. 使用完整的主稱名稱,例如:’mouse.oit.edu.tw’ 或 ‘localhost’ 2. 使用IP位址,例如:’192.192.73.36’ 3. 允許某範圍的IP位址,例如:’192.192.73.0/24’ 或 ’192.192.73.0/255.255.255.0’ 兩者是一樣的,都是包含了192.192.73.0 ~ 192.192.73.255的IP位址。 在斜線(‘/’)的數字代表了IP位址,’/24’是255.255.255.0,’/32’是 255.255.255.255,其中比較重要的是’0/0’,指全部。 範例: ipchains –A input –s 0/0 –j DENY 說明: ‘0/0’表示指定所有來源的IP位址都會被拒絕,你也可以不加’-s’參數,也是指定所有的來源IP位址。 4-5 指定UDP和TCP的port 除了去指定協定之外,還可以細分去指定它的port, 例如: 指所有來源位址的port 80,其中80也可以用名字來表示’www’ -p tcp –s 0.0.0.0/0 80 假如要TCP封包可以到達192.168.0.1的任何port,但除了www這個port: -p tcp –d 192.168.0.1 ! www 其中驚嘆號’!’放置的位址也可以這樣指定: -p tcp –d ! 192.168.0.1 www 也可以表示為不是192.168.0.1和www的port: -p tcp –d ! 192.168.0.1 ! www 4-5 重要的指定目標 ipchains利用選項’-j’(--jump)去指定目標,若前面設了一長串,卻少了這最後一項,那你可就要全功盡棄了,沒有了目標,做什麼事都不會成功。 在這要注意的是它必須是大寫。 分為六種目標: ACCEPT: 允許封包經過 REJECT: 刪除經過的封包,但會產生ICMP回應去告訴來源這個目的地是 不能到達(Destination Port Unreachable) DENY: 刪除經過的封包,如同沒有接收 MASQ: 告訴kernel去偽裝封包(IP偽裝) REDIRECT: 告訴kernel送出封包到本地port去取代heading,這只能用在TCP 或UDP協定 4-6 log 記錄 /var/log/message 若你有加上’-l’選項的話,關於ipchains的訊息會被記錄在/var/log/message檔案中,在標準的Linux 系統上,kernel的輸出訊息經由klogd(kernel logging daemon)所記錄。其中的記錄為: Jul 18 11:38:28 www kernel: Packet log: input REJECT eth0 PROTO=1 (1) (2) (3) (4) (5) (6) (7) (8) 192.168.1.3:8 192.168.1.1:0 L=60 S=0x00 I=7476 F=0x0000 T=32 (9) (10) (11) (12) (13) (14) (15) ipchains記錄: (1) 日期、時間 (2) 主機名稱 (3) 使用kernel來記錄 (4) 指出從ipchains產生訊息 (5) 所使用的規則:input (6) 規則的目標:REJECT (7) 封包所經過的網路卡界面:eth0 (8) 協定號碼:1(ICMP)、6(TCP)、17(UDP) (9) 來源IP位址和port (10) 目的地IP位址和port (11) 封包的長度 (12) TOS(Type of service) (13) IP的 ID (14) 資料段偏移(重新組合資料段封包) (15) 封包的TTL(Time to live) 五、 ipchains的範例 在這裡要提醒使用者,千萬不要用遠端登入來使用ipchains,因為常會不小心就把自個兒給關在房外,進不了家,有時候為了要測試關掉telnet的功能,就這樣連自己也telnet 不進去了,當然跑到主機前去修改是免不了的事。 關閉所有的服務: 基於安全的理由,我們要把所有對內、對外的窗口給統統關閉起來,執行下列指令將會將進入、輸出、轉送封包的預設政策設為拒絕,這一步最好放在你最後的時候再來做,因為如果先設了所有DENY的規則,則後來設的ACCEPT規則會被先前的DENY給取代。 ipchains –P input DENY ipchains –P forward DENY ipchains –P output DENY 啟動虛擬IP的偽裝服務: 將內部虛擬IP192.168.0.0 ~ 255啟動IP封包轉送到外界的網路,使之可以連到外界的任何地方去。 ipchains –A forward –s 192.168.0.0/24 –d 0.0.0.0/0 –j MASQ 預防被別人ping到死: 頻寬消耗是網路上常見的攻擊手法,利用送出大量的封包來攻擊,消耗頻寬,使得對方的主機負荷過重而當機,或是使正當的封包無法正確的傳送,利用ipchains可能去預防這類的事件發生。 ipchains –A input –p icmp –j DENY 當對方ping主機的時候,會出現’Request timed out.’ 這會拒絕所有icmp的往來,在之前提到icmp是管訊息的傳送,所以當對方使用’ping’是沒有用的,但關掉也不是件好事,因為當我們要知道遠端主機是否網路有通,也是要用到’ping’,相對的我們也就對主機失去了聯絡。 ipchains –A input –p icmp –j REJECT 若目標使用REJECT,則出現的訊息會為下列樣子,會告訴你這個port是不能到達(被拒絕) ‘From net15.ee.oit.edu.tw (192.192.73.35): Destination Port Unreachable’ 開啟某特定服務port: 若你的主機有提供某些服務,可以去開啟那個服務的port,其中-d後接的是自己的主機名稱。 範例一: 為開啟httpd的port,其中www也可以用其數字來表示,port為80 ipchains –A input –p tcp –d 192.192.73.35 www –j ACCEPT 範例二: 為開啟telnet的port,外界可telnet到192.192.73.35這台主機,port為23 ipchains –A input –p tcp –d 192.192.73.35 telnet –j ACCEPT 範例三: 為開啟smtp的port,192.192.73.35可以對外提供smtp的服務,port為25 若要知道服務的port號,可以查看/etc/service檔案。 ipchains –A input –p tcp –d 192.192.73.35 smtp –j ACCEPT 關閉某特定服務的port: 第一個為0.0.0.0/0 所有的IP不能對192.192.73.35的www(port80)去連線 第二個為192.192.73.35的smtp服務被關閉 ipchains –A input –p tcp –d 192.192.73.35 80 –j DENY ipchains –A input –p tcp –d 192.192.73.35 25 –j DENY 使用封包過濾: 網路上常會有些不受歡迎人、事、物,對於這一點你大可不必擔太多心,只要把他們擋在門外,他們的威脅性也就相對地減少。 假如常有人到你的聊天室、留言板,亂說話、大放獗詞的話,而你又可以追查到他的ip位址,那麼我們就可以把他擋在門外。 範例: 192.192.73.8這台電腦不能夠對主機eef.oit.edu.tw作出任何連線的請求,完全被拒絕在外。 ipchains –A input –p all –s 192.192.73.8 –d eef.oit.edu.tw –j DENY 六、 使用ipchains-save、ipchains –restore 儲存設定值 ipchains有二支程式去儲存、反存我們所設的規則,ipchains-save可以儲存一個或所有的規則,它是指令檔,會先去讀取ipchains的設定檔並且儲存成檔案起來,使用時可以加入-v參數,列出詳細的動作。 範例: ipchains-save –v > filename 結果: 若要將檔案回復成ipchains的規則,執行下面指令即可: ipchains-restore < filename 六、 使用webmin 管理 ipchains 看了上述的說明或許讀者會感到十分困難,其實我們也可以使用 webmin 的Third Party Modules 中IPchains Firewalling 來管理,如下圖所示: 其中有Disable, Low, Medium, High, Full 五個安全等級,或者可自定規則,如下圖所示: 七、流量統計 ntop (http://www.ntop.org)是一個網路使用狀況監測軟體,在互動式模式下,ntop 會將網路的使用狀況顯示在使用者的終端機畫面上。在Web 模式中,ntop會像Web Server 一樣產生出內含網路使用狀況的網頁傳回到使用者的瀏覽器上。在RedHat 7.0 powertools中有ntop-1.3.1.-2.i386.rpm,所以在RedHat 7.0下使用rpm –ivh ntop-1.3.1.-2.i386.rpm安裝,然後用ntop –d 執行即可,執行web 輸出畫面如下:(筆者使用的是 1.1 版) 八、流量記錄 Snort (http://www.snort.org)是一個精巧的網路入侵偵測軟體(IDS)。具有執行即時流量分析與封包紀錄功能的特性,提供了協定的分析,封包內容的搜尋。可用來偵測各種不同的攻擊與調查 (如 buffer overflows,stealth port scans,CGI attacks,SMB probes,OS fingerprinting attempts 等等)。Snort 使用 flexible rule based language 來設定那些流量應該被蒐集,那些應該放行。他也具有模組化的偵測引擎。Snort 具有即時警告的特性,其警告的機制可使用 syslog,使用者自訂的檔案,UNIX socket 或是使用 Samclient 傳遞 WinPopup 訊息給 Windows client 端的使用者。(取自LinuxFAB.cx) 取得 snort-1.6.3.tar.gz ,然後執行下列步驟安裝: tar xvfz snort-1.6.3.tar.gz cd snort-1.6.3 ./configure make make install 在此筆者只介紹封包紀錄功能,其他功能日後再述。假定我們要將記錄檔至於首頁上可以執行 snort –C –d –D –l /home/httpd/html/snort,結果如下: 當然筆者有作一些安全上的管理,否則所有網路的機密便曝光了,況且因為記錄所有資料所以檔案會長的很快,所以如果你真要如此記錄,請注意控制的細節。底下我們再深入看看。 看到 USER 了嗎?接下來當然是PASS ……. 結論: 看到了這裡相信大家對ipchains的使用應該有進一步的認識,ipchains的功能實在是很強大,無法去說的很徹底,有些小地方要靠讀者去體會才行。另外由 ntop, snort 可以看出網路是如何不安全性,也希望所有網管人員要多重視。(哎!套一句我女兒說的:說別人說自己 :~~) 施勢帆,任職於亞東技術學院電機系 E-mail�Gshie@digital.oit.edu.tw URL�Ghttp://mouse.oit.edu.tw 吳國華,任職於帆網路研究室 ---------------------------------------- 支持小惡魔 BTC : 19tn3RnCuwZVukXAwyhDWZD4uBgUZoGJPx LTC : LTFa17pSvvoe3aU5jbmfcmEpo1xuGa9XeA 知識跟八卦一樣,越多人知道越有價值;知識最好的備份方法,散播! 藍色小惡魔(林永傑): 臉書 |
|||
|