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的源代碼。

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM