*本文原創作者:康康你秋褲穿反啦,屬於FreeBuf原創獎勵計劃,未經許可禁止轉載
本篇文章涉及到的知識點包括:IDS/IPS/防火牆的區別與部署位置;映象埠、堡壘機的位置和注意細節;ACL訪問控制列表和埠安全、VLAN安全,以及靶場以及日誌採集的實施細節。
背景介紹
自己所在高校的實驗室要有一個類似用機器學習方法來檢測網路使用者異常的相關專案,需要搭建一個攻防平臺來採集日誌資料,大名鼎鼎的資料集UNSW-NB15就是用類似方法取得的。本篇文章要把攻防平臺搭建全過程以及日誌蒐集方法分享給大家。
值得注意的是,攻防平臺的搭建其實是企業裡網路安全建設的縮影,許多企業可能還在網路安全建設方面無從下手,不用慌張,本片文章將會對基本的防禦裝置的訴求、功能、和部署用法開始講起,如果廣大企業使用者和安全運維從業人員能從本篇文章有所收穫,那我非常開心啦,嘿嘿(●ˇ∀ˇ●)
話不多說,直接上拓撲
哈哈,這裡將攻擊區當作網際網路,防火牆右側模擬網路內部網路,可能會和實際部署有偏差,不要著急,下面會對每個過程以及裝置具體講解。
1. IDS 入侵檢測系統
用途:用來檢查網路中有無攻擊存在,基於流量型的,由於實驗室與綠盟有合作,本次採用綠盟的NIDS裝置,檢測範圍最大可以從資料鏈路層到應用層,如果發生攻擊,會通知管理員,並記錄日誌,然後就沒有然後了,對頭,就是告訴你一聲“你網路被攻擊了哈”
2. IPS 入侵防禦系統
用途:應用級別的防火牆,規則實時更新,可以檢測網路裡面的發生的攻擊,從網路層到應用層發生的攻擊都可以識別,並實施阻斷丟棄攻擊報文。還可以進行一些應用管理、比如限制企業使用者沒事幹打英雄聯盟之類的功能也可以實現(lll¬ω¬)。
部署:注意區分場景,有時候會被當作防火牆來部署,可以選擇是否自帶NAPNAPT,可以選擇DMZ區域等資產管理。0.0.0.0代表IP全部關心。部署在網路級別防火牆之後,一進一出。相當於對比較雞肋的網路級防火牆的一個強大的功能擴充,這樣就阻斷了網際網路和內網之間的攻擊。本次沒有采用該裝置NIPS,但是還是給大家瞭解一下
3. NSAS 遠端網路評估系統
用途:啥東西,名字這麼長,其實說白了就是漏洞掃描裝置,可以遠端檢查並掃描網路裡的伺服器、電腦、手機、筆記本、甚至路由器、交換機上面存在的漏洞。比較良心的是,它還給出了修復方案和裝置安全配置規範指南
4. 防火牆
用途:在網際網路與網路邊界之間,實時監測不同網路間的攻擊,並經行阻斷,比較特別的是,實驗採用綠盟的NF,可以檢測到應用層的攻擊,並阻斷,聽起來和IPS很像對不對?後面我介紹他們之間的區別。
部署:網路與網路邊界部署,一進一出,0.0.0.0代表全關心。值得注意的是,流量清洗裝置在防火牆前面,IPS在防火牆後面,也可以選擇在DMZ部署(前面提到過DMZ,DMZ可以理解為一個不同於外網或內網的特殊網路區域。DMZ內通常放置一些不含機密資訊的公用伺服器,比如Web、 Mail、FTP等。這樣來自外網的訪問者可以訪問DMZ中 的服務,但不可能接觸到存放在內網中的公司機密或私人資訊等。即使DMZ中伺服器受到破壞,也不會對內網中的機密資訊造成影響。)
DMZ部署哲學:
用途:包含訪問控制,通常是運維人員用token以及動態密碼來訪問,用於檢查公司內部管理員、操作員的惡意操作或者誤操作,操作記錄全程備份,進行嚴格的許可權分配,避免不正當的操作,通常日誌會被髮送到異地伺服器,作為取證和追責。其實這種裝置挺有用的,大多數公司應該備一個,對於公司敏感資訊管理、程式碼管理都有好處,防止什麼“刪庫跑路”之類的事情發生。能力強的可以把它改造成git程式碼託管平臺兩用,
部署:典型部署為在開發伺服器、伺服器叢集與運維人員之間。分配正常IP,運維人員只能通過堡壘機來操作網路裝置。
值得注意的事情和區別:
1.其實堡壘機可以不用買的,除非你財大氣粗非要買,其實,只要一般電腦配置可以,可以裝一個開源的堡壘機系統jumpserver,這種開源軟體一大把舒服的很,很多甲方瞭解的資訊不對稱,花這些冤枉錢。
2.我不是要說防火牆和IDS、IPS之間的區別麼?我這裡說一下,其實現在很多乙方的安全硬體裝置本質都!是!一!樣!的!。
好了,希望硬體安全產品廠商不要對號入座,趕緊跑。
6. 有關網路拓撲實現相關的部署
這一片內容其實是網路裝置整合、路由交換裡面的東西,一般是網路工程師做組網設計時用的。巧了,鄙人就是網路工程的同學。
網路VLAN劃分示例:
interface Vlan110
mac-address 0009.7c35.c403 ip address 192.168.3.1 255.255.255.0 ip ospf cost 10 standby 11 ip 192.168.3.1 standby 11 priority 200 standby 11 preempt
這裡說重點,其他的一筆帶過。
拓撲設計要求是192.168.6.0是使用者區域有g/0-g/3,分別是靶機伺服器、一個映象介面和另一臺安全裝置,其他使用者都在剩下的介面中,劃分為vlan6
192.168.7.0是黑客攻擊區域,劃分為vlan7,黑客可以訪問使用者和伺服器,使用者不能訪問黑客,問在交換機中如何配置ACL訪問控制列表實現這一功能?
我摸索了兩天,才終於準確滿足了這一需求:
#ip access-list standard 1 Ruijie(config-std-nacl)#deny 192.168.7.0 0.0.0.255 Ruijie(config-std-nacl)#permit 192.168.6.0 0.0.0.255 Ruijie(config-std-nacl)#permit any Ruijie(config-std-nacl)#exit Ruijie(config)#int range g0/4-12 Ruijie(config-if-range)#ip access-group 1 in Ruijie(config-if-range)#exit Ruijie(config)#int range g0/1-2 Ruijie(config-if-range)#ip access-group 1 in Ruijie(config-if-range)#exit Ruijie(config)#int range g0/1-2 Ruijie(config-if-range)#ip access-group 1 out Ruijie(config-if-range)#exit Ruijie(config)#int range g0/4-12 Ruijie(config-if-range)#ip access-group 1 out
好了,如果你是行業內的,看一看,如果這超出了你研究的領域,可以跳過。
7. 埠安全和VLAN安全 switch(config-if)# interface fastethernet 0/1 進入一個埠 switch(config-if)# switchport-security 開啟該埠安全功能 switch(config-if)# switchport-security maxmum 1 配置埠的最大連線數為1,最大能配置為128 switch(config-if)# switchport-security violation shutdown 如果違反規則就會關閉該埠
這是預設的銳捷的埠保護,有效緩解ARP欺騙和網路過載,ARP欺騙還可以在DHCP裡面設定,有興趣的朋友自行搜尋。有關VLAN安全:
vlan內部間的安全措施有很多種,這裡介紹一種臨時防止蠕蟲散佈的方法
建立VACL,使同一個vlan內部的機器不能互訪,
R1(config)#vlan access-map map-name[sequence] R1(config-access-map)#match ip address{acl-number | acl-name} R1(config-access-map)#match ipx address{acl-number | acl-name} R1(config-access-map)#match mac addressacl-name R1(config-access-map)#action {drop |forward | redirect} R1(config)#vlan filter map-name vlan-listvlan-list私有vlan8. 映象埠
我們的IDS要通過映象端口才能部署,這樣,IDS就可以觀察到所有資料了,所有流量資料都會被交換機給IDS另外發一份
1、映象埠是什麼
映象的意思就是監視的意思,把一個埠的通訊資料用另一個埠給複製出來,常常用於需要對那個埠的通訊進行監視才使用。映象埠既可以實現一個VLAN中若干個源埠向一個監控埠映象資料,也可以從若干個VLAN向一個監控埠映象資料。
埠映象(port Mirroring)功能通過在交換機或路由器上,將一個或多個源埠的資料流量轉發到某一個指定埠來實現對網路的監聽,指定埠稱之為”映象埠”或”目的埠”,在不嚴重影響源埠正常吞吐流量的情況下,可以通過映象埠對網路的流量進行監控分析。在企業中用映象功能,可以很好地對企業內部的網路資料進行監控管理,在網路出故障的時候,可以快速地定位故障
2. 部署: observe-port 1interfaceGigabitEthernet0/0/21 //觀察口。 interface Vlanif1ipaddress 192.168.7.2 255.255.255.0 interface GigabitEthernet0/0/10 portlink-type access //劃分接入方式 portdefault vlan 7 //劃分歸屬VLAN port-mirroring to observe-port 1inbound //將此口的資料映象到觀察口,下同。 port-mirroring to observe-port 1 outbound。9. 談一談白帽子常涉及的層面相關部署
伺服器一臺:ubuntu12.04 nginx1.4+php5.3.4+mysql5
裡面放上我們近年來常見的包含漏洞的舊版本CMS ,比如dedeCMS、FineCMS之類,系統版本低一點我們可以玩matespolite,資料庫用root賬戶連線,平時可以玩UDF、MOF提權,剩下還有什麼注入啊、檔案包含啊。。不多說了
使用者主機兩臺:分別是ubuntu12.04和windows7未打補丁版
兩臺裝置均開放SMB協議,什麼永恆之藍啊你懂的。。不多說了。
測試:
我們可以測試分別把IDS 開啟,防火牆開啟或關掉的攻擊效果,攻擊手段 不限於web安全以及系統組建提權,從而判斷安全裝置的作用。答案當然是防火牆對於內網之間的攻擊當然沒用啊,但是IDS會記錄日誌。
10.日誌蒐集
流量蒐集:
別忘了我們搭建攻防平臺的初衷是為了蒐集日誌的
在伺服器靶機和使用者的電腦上安裝fiddler和wireshark,事後將日誌丟給資料清洗、打標那幫人處理,其實資料的清洗和打標也是十分勞神的~~~
使用者行為蒐集:
這裡要祭出大名鼎鼎的神器sysmon啦!
Sysmon是微軟推出的一款工具,它以系統服務和裝置驅動程式的方法安裝在系統上,並保持常駐,可用來監視和記錄系統活動,並寫入windows事件日誌,監控的物件包括程序的建立、網路連線和檔案建立和更改。
域 特徵 備註 USB裝置操作 裝置型別 裝置插、拔行為 裝置讀、寫行為 sysmon 檔案訪問檔案型別 新建、 拷貝、刪除、開啟、關閉、讀與寫許可權等操作 Sysmon CD/DVD介質訪問介質型別,介質讀、寫操作 Sysmon 網路流量協議型別 源IP 目的IP 源埠 目的埠 路徑 持續時間 wireshark 郵件操作(留下) 賬戶名 登入、登出 新建、刪除、讀操作 收件人地址(太敏感) 郵件伺服器 計算機登入賬戶名 登入、登出操作 os CPUCPU 的佔用率 Powershell 程序程序型別 程序建立 程序生命週期 Sysmon 印表機操作檔案型別 檔名 印表機日誌 使用者命令 時間序列上的使用者命令 Linux bash日誌 Windows sysmon 登錄檔讀、寫、新增、刪除操作 Sysmon
隨後貼心的 sysmon 可以把日誌匯出為xml格式。
11. 感想和企業安全建設
一次攻防平臺搭建介紹完了,這裡折射出來很多企業裡面需要做的事情,你看到了麼?
企業內部網路安全建設是從路由交換開始的,許可權核查、漏洞掃描、攻擊阻斷甚至對外資產防DDoS,不管是買裝置還是自己動手搭建,總之一樣都不能少。企業如果資金充裕的話,且對外有網際網路產品,辦一個安全應急響應中心(SRC)也是一個不錯的選擇,招點人就把內部網路安全也捎帶辦了。如果企業比較小,可以選擇靠譜的乙方公司或者是雲服務提供商做一個資產的安全託管,都是一個不錯的選擇。
(注:若對本文有任何想法,都可以私信與作者聯絡。)