suricata的簡介以及安裝過程

之前也沒有怎麼寫過blog。所以很多地方可能不對,請大家多多包涵。

Suricata介紹

Suricata是一款高性能的網絡IDS、IPS和網絡安全監控引擎。它是由the Open Information Security Foundation開發,是一款開源的系統。軟件的源代碼可以通過http://suricata-ids.org/獲得。

IDS介紹

IDS是英文“Intrusion Detection Systems”的縮寫,中文意思是“入侵檢測系統”。專業上講就是依照一定的安全策略,通過軟、硬件,對網絡、系統的運行狀況進行監視,儘可能發現各種攻擊企圖、攻擊行爲或者攻擊結果,以保證網絡系統資源的機密性、完整性和可用性。做一個形象的比喻:假如防火牆是一幢大樓的門鎖,那麼IDS就是這幢大樓裏的監視系統。一旦小偷爬窗進入大樓,或內部人員有越界行爲,只有實時監視系統才能發現情況併發出警告。

IDS在種類上可以分爲:

1、主機型IDS

也稱基於系統的模型,它是通過分析系統的審計數據來發現可疑的活動,如內存和文件的變化等。其輸入數據主要來源於系統的審計日誌,一般只能檢測該主機上發生的入侵。
這種模型有以下優點:
一是性能價格比高:在主機數量較少的情況下,這種方法的性能價格比可能更高。
二是更加細緻:這種方法可以很容易地監測一些活動,如對敏感文件、目錄、程序或端口的存取,而這些活動很難在基於協議的線索中發現。
三是視野集中:一旦入侵者得到了一個主機用戶名和口令,基於主機的代理是最有可能區分正常的活動和非法的活動的。
四是易於用戶剪裁:每一個主機有其自己的代理,當然用戶剪裁更方便了。
五是較少的主機:基於主機的方法有時不需要增加專門的硬件平臺。
六是對網絡流量不敏感:用代理的方式一般不會因爲網絡流量的增加而丟掉對網絡行爲的監視。

2、網絡型IDS入侵預防系統(IPS: Intrusion Prevention System)是電腦網絡安全設施,是對防病毒軟件(Antivirus Programs)和防火牆(Packet Filter, Application Gateway)的補充。 入侵預防系統(Intrusion-prevention system)是一部能夠監視網絡或網絡設備的網絡資料傳輸行爲的計算機網絡安全設備,能夠即時的中斷、調整或隔離一些不正常或是具有傷害性的網絡資料傳輸行爲。

即通過連接在網絡上的站點捕獲網上的包,並分析其是否具有已知的攻擊模式,以此來判別是否爲入侵者。當該模型發現某些可疑的現象時也一樣會產生告警,並會向一箇中心管理站點發出“告警”信號。
基於網絡的檢測有以下優點:
一是偵測速度快:基於網絡的監測器通常能在微秒或秒級發現問題。而大多數基於主機的產品則要依靠對最近幾分鐘內審計記錄的 分析。
二是隱蔽性好:一個網絡上的監測器不像一個主機那樣顯眼和易被存取,因而也不那麼容易遭受攻擊。由於不是主機,因此一個基於網絡的監視器不用去響應ping,不允許別人存取其本地存儲器,不能讓別人運行程序,而且不讓多個用戶使用它。
三是視野更寬:基於網絡的方法甚至可以作用在網絡的邊緣上,即攻擊者還沒能接入網絡時就被制止。
四是較少的監測器:由於使用一個監測器就可以保護一個共享的網段,所以你不需要很多的監測器。相反地,如果基於主機,則在每個主機上都需要一個代理,這樣的話,花費昂貴,而且難於管理。但是,如果在一個交換環境下,每個主機就得配一個監測器,因爲每個主機都在自己的網段上。
五是佔資源少:在被保護的設備上不用佔用任何資源。
這兩種模型具有互補性,基於網絡的模型能夠客觀地反映網絡活動,特別是能夠監視到主機系統審計的盲區;而基於主機的模型能夠更加精確地監視主機中的各種活動。基於網絡的模型受交換網的限制,只能監控同一監控點的主機,而基於主機模型裝有IDS的監控主機可以對同一監控點內的所有主機進行監控。

2、IPS介紹

入侵預防系統(IPS: Intrusion Prevention System)是電腦網絡安全設施,是對防病毒軟件(Antivirus Programs)和防火牆(Packet Filter, Application Gateway)的補充。 入侵預防系統(Intrusion-prevention system)是一部能夠監視網絡或網絡設備的網絡資料傳輸行爲的計算機網絡安全設備,能夠即時的中斷、調整或隔離一些不正常或是具有傷害性的網絡資料傳輸行爲。

IPS分類也是基於主機型和網絡型兩種。

Suricata安裝過程

我將介紹Ubuntu系統下載安裝過程,其它系統的安裝過程可以參考https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Ubuntu_Installation
在開始安裝Suricata之前需要將suricata所使用到的一些庫安裝才行。安裝需要的庫的命令是:
sudo apt-get -y install libpcre3 libpcre3-dbg libpcre3-dev \
build-essential autoconf automake libtool libpcap-dev libnet1-dev \
libyaml-0-2 libyaml-dev zlib1g zlib1g-dev libcap-ng-dev libcap-ng0 \
make libmagic-dev
Suricata默認的運行模式是IDS,如果你想跑IPS模式則還需要安裝
sudo apt-get -y install libnetfilter-queue-dev libnetfilter-queue1 libnfnetlink-dev libnfnetlink0
安裝好這些庫之後就開始下載源代碼,Suricata現在的源代碼版本分爲穩定版和開發版,現在的穩定版是suricata1.4.7,開發版本是suricata2.0。得到源碼可以通過兩種形式,
1、直接到官方網站或者是github裏面去下載。
2、通過Linux提過的wget命令直接下載
wget http://www.openinfosecfoundation.org/download/suricata-2.0.tar.gz
tar -xvzf suricata-2.0.tar.gz
cd suricata-2.0
因爲下載的格式是*.tar.gz所以可以通過tar -xvzf進行解壓,或者是通過兩步解壓縮。先用gunzip解壓*.gz,再用tar還原tar打包文件。
接下來就是要建立suricata所需要的文件夾,這個可以通過suricata.yaml文件可以看到,日誌文件是放在/var/log/suricata裏面,所以先建立日誌文件所需目錄。
sudo mkdir /var/log/suricata
然後建立配置文件所需目錄。
sudo mkdir /etc/suricata
最後再將下載的suricata源代碼裏面的配置文件拷貝到/etc/suricata目錄下,配置文件有3個,分別是classifiction.config、reference.config、suricata.yaml。
sudo cp classification.config /etc/suricata
sudo cp reference.config /etc/suricata
sudo cp suricata.yaml /etc/suricata
這裏要注意一下,可能要修改suricata.yaml中的路徑,因爲suricata啓動的時候是安裝suricata.yaml配置文件來讀取配置文件的。因爲我之前遇到suricata.yaml對classification.config和reference.config的路徑不是/etc/suricata,如果是這樣的話就需要你自己把suricata.yaml中的路徑修改成/etc/suricata/classifiction.config或者是reference.config。
這時的準備工作已經做完。最後就是安裝suricata,安裝suricata的命令很簡單可以直接通過./configure就行,也可以使用suricata官網提供的方法。
如果是需要IPS功能則使用
./configure --enable-nfqueue --prefix=/usr --sysconfdir=/etc --localstatedir=/var

也可以使用

./configure && make && make install-rules

make install-rules命令是幫你安裝suricata提供的規則文件,這個規則文件是IPS/IDS的核心。也就是通過規則文件suricata才知道哪些數據包是攻擊數據包。

最後運行IDS模式的方式是:

sudo suricata -c /etc/suricata/suricata.yaml -i wlan0

你可以自己查看自己的網絡端口,通過ifconfig命令。然後將對應的wlan0換成你自己的網絡端口號,一般物理口是eth0。不過還是要通過查看之後才能夠確定。

到此,Suricata已經可以運行起來了。



如果你要使用Suricata的NFQ模式,也就是IPS inline模式的話還需要配置iptable

sudo iptables -I FORWARD -j NFQUEUE
sudo iptables -I INPUT -j NFQUEUE
sudo iptables -I OUTPUT -j NFQUEUE
sudo iptables -I INPUT -p tcp  -j NFQUEUE
sudo iptables -I OUTPUT -p tcp -j NFQUEUE
sudo iptables -I INPUT -p tcp --sport 80  -j NFQUEUE
sudo iptables -I OUTPUT -p tcp --dport 80 -j NFQUEUE

sudo iptables -I FORWARD -i eth0 -o eth1 -j NFQUEUE
sudo iptables -I FORWARD -i eth1 -o eth0 -j NFQUEUE

配置好iptable之後你可以使用iptable -vnL查看你所配置的規則。結果如下:


這是對tcp的規則配置,iptable的規則以及介紹可以參考http://blog.csdn.net/wang_xya/article/details/18812885

啓動NFQ模式的IPS:

sudo suricata -c /etc/suricata/suricata.yaml -q 0

安裝Suricata也就完成,接下來我會介紹Suricata的規則庫管理以及Suricata的源代碼。

如果有問題請大家及時提出以方便我更改。謝謝大家吐舌頭吐舌頭吐舌頭

發佈了28 篇原創文章 · 獲贊 1 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章