導航:首頁 > 源碼編譯 > libnids源碼

libnids源碼

發布時間:2022-01-23 05:07:42

A. 我在網上下了NIDS的源代碼,編譯出現一下錯誤,應該怎麼辦

#define HAVE_REMOTE
#include "pcap.h"

B. 如何通過源碼安裝升級libpcap

安裝libcap開發包後,再試試看 sudo apt-get install libpcap-dev sudo apt-get install libnids-dev sudo apt-get install libnet1-dev

C. 怎樣用snort搭建防火牆 選修課考試 拜託了

Snort是一個著名的免費而又功能強大的輕量級入侵檢測系統,具有使用簡便、輕量級以及封堵效率高等特點,本文從實用操作的角度介紹了如何用Snort保證上網主機的安全。

入侵檢測技術是繼「防火牆」、「數據加密」等傳統安全保護措施之後的新一代安全保障技術。它對計算機和網路資源上的惡意使用行為進行識別和響應,它不僅檢測來自外部的入侵行為,同時也監督內部用戶的未授權活動。而且,隨著網路伺服器對安全性要求的不斷增大,如何在Linux環境下抵禦黑客入侵和攻擊,切實保證伺服器的安全具有重大的實踐意義。

Snort是一個強大的輕量級的免費網路入侵檢測系統,其特點如下:

1.輕量級的網路入侵檢測系統

Snort雖然功能強大,但其代碼非常簡潔、短小,源代碼壓縮包只有1.8M多。

2.Snort的可移植性好

Snort的跨平台性能極佳,目前已經支持類Unix下Linux、Solaris、Freebsd、Irix、HP-ux、微軟的Windows2000等伺服器系統。

3.Snort的功能非常強大

Snort具有實時流量分析和日誌IP網路數據包的能力,能夠快速檢測網路攻擊,及時發出報警。利用XML插件,Snort可以使用SNML(簡單網路標志語言)把日誌放到一個文件或者適時報警。Snort能夠進行協議分析和內容的搜索/匹配,現在Snort能分析的協議有TCP、UDP、ICMP,將來可能增加對ARP、IPX等協議的支持。它能夠檢測多種方式的攻擊和探測,例如緩沖區溢出、秘密埠掃描、CGI攻擊、SMB探測、探測存在系統指紋特徵的企圖等。Snort的日誌格式既可以是tcpmp式的二進制格式,也可以解碼成ASCⅡ字元格式,更加便於用戶尤其是新手檢查。使用資料庫輸出插件,Snort可以把日誌記錄進資料庫。使用TCP流插件,Snort可以對TCP包進行重組。

4.Snort的擴展性較好,對於新的攻擊反應迅速

作為一個輕量級的網路入侵檢測系統,Snort有足夠的擴展能力。它使用一種簡單的規則描述語言,最基本的規則只是包含四個域:處理動作、協議、方向、注意的埠,例如「log tcp any any-> 192.168.0.1/24 79」。發現新的攻擊後,可以很快根據「bugtraq」郵件列表,找出特徵碼,寫出檢測規則。因為規則語言簡單,所以容易上手,節省人員的培訓費用。

5.遵循公共通用許可證GPL

Snort遵循通用公共許可證GPL,所以只要遵守GPL ,任何組織和個人都可以自由使用。

Snort的體系結構

包解碼 Snort的包解碼支持乙太網和SLIP及PPP媒體介質。包解碼所做的工作就是為探測引擎准備數據,其功能是捕獲網路傳輸數據並按照TCP/IP協議的不同層次將數據包進行解析。Snort利用libpcap庫函數進行數據採集, 該庫函數可以為應用程序提供直接從鏈路層捕獲數據包的介面函數,並可以設置數據包過濾器來捕獲指定的數據。網路數據採集和解析機制是整個NIDS實現的基礎,其中最關鍵的是要保證高速和低的丟包率,這不僅僅取決於軟體的效率還同硬體的處理能力相關。對於解析機制來說,能夠處理數據包的類型的多樣性也同樣非常重要。

探測引擎 探測引擎是Snort的心臟,它主要負責的工作是:按照啟動時載入的規則,對每個數據包進行分析。探測引擎將Snort規則分解為鏈表頭和鏈表選項進行引用。鏈表頭由諸如源/目標IP地址及埠號這些普通信息標識,鏈表選項定義一些更詳細的信息如TCP 標志、ICMP代碼類型、特定的內容類型、負載容量等。探測引擎按照Snort規則文件中定義的規則依次分析每個數據包。與數據包中數據匹配的第一條規則觸發在規則定義中指定的動作,凡是與規則不匹配的數據包都會被丟棄。

日誌記錄/告警系統 告警和日誌是兩個分離的子系統。日誌允許將包解碼收集到的信息以可讀的格式或以tcpmp格式記錄下來。可以配置告警系統,使其將告警信息發送到syslog、flat文件、Unix套接字或資料庫中。在進行測試或在入侵學習過程當中,還可以關掉告警。預設情況下,所有的日誌將會寫到/var/log/Snort文件夾中,告警文件將會寫到/var/log/Snort/alerts文件中。Snort的數據包記錄器子系統主要提供了如下方式:「Fast Model」,採取tcpmp的格式記錄信息 ;「Readable Model」,按照協議格式記錄,易於用戶查看;「Alert to syslog」,向syslog發送報警信息;「Alert to text file」,以明文形式記錄報警信息。

值得提出的是,Snort考慮到用戶需要高性能的時候,即網路數據流量非常大,可以將數據包信息進行壓縮從而實現快速報警。

D. 網路入侵的名詞解釋

1, 入侵檢測技術(IDS)可以被定義為對計算機和網路資源的惡意使用行為進行識別和相應處理的系統。包括系統外部的入侵和內部用戶的非授權行為,是為保證計算機系統的安全而設計與配置的一種能夠及時發現並報告系統中未授權或異常現象的技術,是一種用於檢測計算機網路中違反安全策略行為的技術。
入侵檢測方法很多,如基於專家系統入侵檢測方法、基於神經網路的入侵檢測方法等。目前一些入侵檢測系統在應用層入侵檢測中已有實現。
入侵檢測通過執行以下任務來實現:
1.監視、分析用戶及系統活動;
2.系統構造和弱點的審計;
3.識別反映已知進攻的活動模式並向相關人士報警;
4.異常行為模式的統計分析;
5.評估重要系統和數據文件的完整性;
6.操作系統的審計跟蹤管理,並識別用戶違反安全策略的行為。
入侵檢測系統典型代表
入侵檢測系統的典型代表是ISS公司(國際互聯網安全系統公司)的RealSecure。它是計算機網路上自動實時的入侵檢測和響應系統。它無妨礙地監控網路傳輸並自動檢測和響應可疑的行為,在系統受到危害之前截取和響應安全漏洞和內部誤用,從而最大程度地為企業網路提供安全。
入侵檢測系統目前存在的問題:
1. 現有的入侵檢測系統檢測速度遠小於網路傳輸速度, 導致誤報率和漏報率
2. 入侵檢測產品和其它網路安全產品結合問題, 即期間的信息交換,共同協作發現攻擊並阻擊攻擊
3. 基於網路的入侵檢測系統對加密的數據流及交換網路下的數據流不能進行檢測, 並且其本身構建易受攻擊
4. 入侵檢測系統體系結構問題
發展趨勢:
1. 基於agent(注:代理服務)的分布協作式入侵檢測與通用入侵檢測結合
2. 入侵檢測標準的研究, 目前缺乏統一標准
3. 寬頻高速網路實時入侵檢測技術
4. 智能入侵檢測
5. 入侵檢測的測度

2,在1998年,Martin Roesch先生用C語言開發了開放源代碼(Open Source)的入侵檢測系統Snort.直至今天,Snort已發展成為一個多平台(Multi-Platform),實時(Real-Time)流量分析,網路IP數據包(Pocket)記錄等特性的強大的網路入侵檢測/防禦系統(Network Intrusion Detection/Prevention System),即NIDS/NIPS.Snort符合通用公共許可(GPL——GUN General Pubic License),在網上可以通過免費下載獲得Snort,並且只需要幾分鍾就可以安裝並開始使用它.snort基於libpcap。
snort系統組成:snort由三個重要的子系統構成:數據包解碼器,檢測引擎,日誌與報警系統。
Snort有三種工作模式:嗅探器、數據包記錄器、網路入侵檢測系統。嗅探器模式僅僅是從網路上讀取數據包並作為連續不斷的流顯示在終端上。數據包記錄器模式把數據包記錄到硬碟上。網路入侵檢測模式是最復雜的,而且是可配置的。我們可以讓snort分析網路數據流以匹配用戶定義的一些規則,並根據檢測結果採取一定的動作。

3,SPAN技術主要是用來監控交換機上的數據流,大體分為兩種類型,本地SPAN和遠程SPAN.
----Local Switched Port Analyzer (SPAN) and Remote SPAN (RSPAN),實現方法上稍有不同。
利用SPAN技術我們可以把交換機上某些想要被監控埠(以下簡稱受控埠)的數據流COPY或MIRROR一
份,發送給連接在監控埠上的流量分析儀,比如CISCO的IDS或是裝了SNIFFER工具的PC. 受控埠和
監控埠可以在同一台交換機上(本地SPAN),也可以在不同的交換機上(遠程SPAN)。
二、名詞解釋
SPAN Session--SPAN會話
SPAN會話是指一組受控埠與一個監控埠之間的數據流。可以同時對多個埠的進入流量或是一個端
口的外出流量進行監控,也可以對VLAN內所有埠的進入流量進行監控,但不能同時對多個埠的外出
流量及VLAN的外出流量進行監控,可以對處於關閉狀態的埠設置SPAN,但此時的SPAN會話是非活動,
但只要相關的介面被打開,SPAN就會變為活動的。
監控埠最好是>=受控埠的帶寬,否則可能會出現丟包的情況。
SPAN Traffic--SPAN的流量
使用本地SPAN可以監控所有的網路流量,包括multicast、bridge protocol data unit (BPDU),和CDP、
VTP、DTP、STP、PagP、LACP packets. RSPAN不能監控二層協議。
Traffic Types--流量類型
被監控的流量類型分為三種,Receive (Rx) SPAN 受控埠的接收流量,Transmit (Tx) SPAN 受控埠
的發送流量,Both 一個受控埠的接收和發送流量。
Source Port--SPAN會話的源埠(也就是monitored port-即受控埠)
受控埠可以是實際的物理埠、VLAN、以太通道埠組EtherChannel,物理埠可以在不同的VLAN中,
受控埠如果是VLAN則包括此VLAN中的所以物理埠,受控埠如果是以太通道則包括組成此以太通道組
的所有物理埠,如果受控埠是一個TRUNK幹道埠,則此TRUNK埠上承載的所有VLAN流量都會受到監
控,也可以使用filter vlan 參數進行調整,只對filter vlan 中指定的VLAN數據流量做監控。
Destination Port--SPAN會話的目的埠(也就是monitoring port-即監控埠)
監控埠只能是單獨的一個實際物理埠,一個監控埠同時只能在一個SPAN會話中使用,監控
埠不參與其它的二層協議如:Layer 2 protocols
Cisco Discovery Protocol (CDP),
VLAN Trunk Protocol (VTP),
Dynamic Trunking Protocol (DTP),
Spanning Tree Protocol (STP),
Port Aggregation Protocol (PagP),
Link Aggregation Control Protocol (LACP).
預設情況下監控埠不會轉發除SPAN Session以外的任何其它的數據流,也可以通過設置ingress
參數,打開監控埠的二層轉發功能,比如當連接CISCO IDS的時會有這種需求,此時IDS不僅要接
收SPAN Session的數據流,IDS本身在網路中還會與其它設備有通訊流量,所以要打開監控埠的
二層轉發功能。
Reflector Port--反射埠
反射埠只在RSPAN中使用,與RSPAN中的受控埠在同一台交換機上,是用來將本地的受控埠流量
轉發到RSPAN中在另一台交換機上的遠程監控埠的方法,反射埠也只能是一個實際的物理埠,
它不屬於任何VLAN(It is invisible to all VLANs.)。
RSPAN中還要使用一個專用的VLAN來轉發流量,反射埠會使用這個專用VLAN將數據流通過TRUNK埠
發送給其它的交換機,遠程交換機再通過此專用VLAN將數據流發送到監控埠上的分析儀。
關於RSPAN VLAN的創建,所有參與RSPAN的交換機應在同一個VTP域中,不能用VLAN 1,也不能用
1002-1005,這是保留的(reserved for Token Ring and FDDI VLANs),如果是2-1001的標准VLAN,
則只要在VTP Server上創建即可,其它的交換機會自動學到,如果是1006-4094的擴展VLAN,則需要
在所有交換機上創建此專用VLAN.
反射埠最好是>=受控埠的帶寬,否則可能會出現丟包的情況。
VLAN-Based SPAN--基於VLAN的SPAN
基於VLAN的SPAN只能監控VLAN中所有活動埠接收的流量(only received (Rx) traffic),如果
監控埠屬於此VLAN,則此埠不在監控范圍內,VSPAN只監控進入交換機的流量,不對VLAN介面上
的路由數據做監控。
(VSPAN only monitors traffic that enters the switch, not traffic that is routed between VLANs.
For example, if a VLAN is being Rx-monitored and the multilayer switch routes traffic
from another VLAN to the monitored VLAN, that traffic is not monitored and is not received
on the SPAN destination port. )
三、SPAN和RSPAN與其它特性的互操作性
Routing--SPAN不監控VLAN間的路由數據;(不好理解)
Routing—Ingress SPAN does not monitor routed traffic. VSPAN only monitors traffic that
enters the switch, not traffic that is routed between VLANs. For example, if a VLAN is
being Rx-monitored and the multilayer switch routes traffic from another VLAN to the
monitored VLAN, that traffic is not monitored and not received on the SPAN destination port.
STP--監控埠和反射埠不會參與STP,但SPAN對受控埠的STP沒有影響;
CDP--監控埠不參與CDP;
VTP--RSPAN VLAN可以被修剪pruning;
VLAN and trunking--可以修改受控埠、監控埠和反射埠的VLAN和TRUNK設置,受控埠的改變
會立即生效,而監控埠和反射埠則要在從SPAN中去除後才會生效;
EtherChannel--整個以太通道組可以做為受控埠使用,如果一個屬於某個以太通道組的物理埠被
配成了受控埠、監控埠或反射埠,則此埠會自動從以太通道組去除,當SPAN
刪除後,它又會自動加入原以太通道組;
QoS--由於受QoS的策略影響,監控埠上收到的數據流會與受控埠實際的數據流不同,比如DSCP值
被修改等;
Multicast--SPAN可以監控組播的數據流;
Port security--安全埠不能做為監控埠使用;
802.1x--受控埠、監控埠和反射埠上可以設置802.1x,但有些限制。
四、SPAN和RSPAN的配置舉例
SPAN的限制和預設設置
Catalyst 3550交換機上最多隻能設置兩個SPAN Session,預設SPAN沒有使用,如果做了設置,預設
情況下,第一個被設為受控埠的介面進出流量都會受到監控,以後再追加的受控埠只會對接收的
流量進行監控,監控埠的默認封裝類型為Native,也就是沒有打VLAN的標記。

閱讀全文

與libnids源碼相關的資料

熱點內容
小謝解壓 瀏覽:139
h264編碼器源碼 瀏覽:664
有什麼辦法翻錄加密視頻 瀏覽:666
java數據結構與演算法面試題 瀏覽:977
解壓不了是什麼意思 瀏覽:359
紐西蘭編程師年薪 瀏覽:321
程序員為什麼大多生閨女 瀏覽:51
c編程用英文還是中文 瀏覽:723
一點都不解壓的游戲 瀏覽:203
解壓為什麼不能用中文文件夾 瀏覽:615
伺服器如何解除備份 瀏覽:144
安卓手機為什麼用一年就變卡 瀏覽:11
如何用風變編程自動回復 瀏覽:512
安卓閱讀幣怎麼樣 瀏覽:437
京東app怎麼切號 瀏覽:583
進入傳奇伺服器後如何修改 瀏覽:42
m0單片機的cycle怎麼知道 瀏覽:806
linux命令太長 瀏覽:782
壓縮機nb1111y是多少w 瀏覽:45
打賞視頻用什麼伺服器好 瀏覽:154