歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux平台Snort入侵檢測系統實戰指南

Linux平台Snort入侵檢測系統實戰指南

日期:2017/2/28 15:44:07   编辑:Linux教程

  我們都知道,企業的網絡目前威脅主要來自兩個位置:一個是內部,一個是外部。來自外部的威脅都能被防火牆所阻止,但內部的攻擊都不好防范。因為公司內部人員對系統了解很深且有合法訪問權限,所以內部攻擊更容易成功。

  IDS為信息提供保護,已經成為深度防御策略中的重要部分。IDS與現實世界裡的防竊報警裝置類似,它們都對入侵進行監控,當發現可疑行為時,就向特定的當事人發出警報。IDS分為兩類:主機IDS(HIDS)和網絡IDS(NIDS)。HIDS安裝在受監控主機上,擁有對敏感文件的訪問特權。HIDS利用這一訪問特權對異常行為進行監控。NIDS存在於網絡中,通過捕獲發往其他主機的流量來保護大量網絡設施。

  HIDS和NIDS都有各自的優點和缺點,完整的安全解決方案應包括這兩種IDS,對於這一點比較難做到。不了解這一領域的人常常認為IDS就像一把萬能鑰匙,能解決所有安全問題。例如有的單位花了大筆的錢購置了商業IDS由於配置不當反而搞得連連誤報,一下子就把數據庫塞滿了大量丟包進而崩潰。這種態度使人們以為只要將IDS隨便安放在網絡中就萬事大吉了,不必擔心任何問題,實際上遠非如此。沒有人會認為Email服務器直接連在Internet上就能正確運作。同樣,你也需要正確的計劃IDS策略,傳感器的放置。下文以開源軟件Snort的安裝與維護為例,介紹正確地安裝和維護IDS的思路和方法。

  安裝Snort

  1、安裝准備工作

  我們在安裝前我們要知道我們需要監控的內容,理想的狀況是對一切進行監控。所有網絡設備和任何從外部到企業的連接都處在Snort的監視之下。盡管這一計劃對小公司只有幾十台機器是很可能實現的,但是當大型企業中連接上天台網絡設備時,這成了難以施展的艱巨任務。

  為了加強snort檢測的安全性,最好能為監控網段提供獨立的智能交換機,如果你需要配置分布式的配置,可以吧服務器和控制台接在一個交換機上,二其他傳感器放置在不同的物理位置,但這樣的成本會有所增加。Snort IDS的維護問題是無法回避的。你遲早要對Snort特征更新並編寫定制的規則,所以你還需要一個懂得維護IDS的專業人士。

  2、深入Snort

  Snort包含很多可配置的內部組件,它們對誤報、漏報以及抓包和記錄日志等的性能都有很大影響。能深入了解Snort的內幕有助於有效地利用Snort監控人侵。還會幫助你根據自己的網絡定制Snort,並且避免它的一些常見缺陷。

  2.1、用Libpcap輸送Snort包

  Snort沒有自己的捕包工具,它需要一個外部的捕包程序庫:libpcap。Snort利用libpcap獨立地從物理鏈路上進行捕包,它可以借助libpcap的平台為一個真正的與平台無關的應用程序。直接從網卡捕包的任務由libpcap承擔。這一捕獲原始包的工具是由底層操作系統提供給其他應用程序使用的。Snort需要數據保持原始狀態,它利用的就是原始包所有的協議頭信息都保持完整,未被操作系統更改的特性來檢測某些形式的攻擊。由於利用libpcap獲取原始包,一次只能處理一個包,這不是最好的方法,這也制約了它對千兆網絡進行監控的瓶頸。

  2.2、包解碼器

  包一被收集到Snort必須對每一個具體的協議元素進行解碼。在包通過各種協議的解碼器時,解碼後的包數據將堆滿一個數據結構。包數據一被存人數據結構中,就會迅速被送到預處理程序和檢測引擎進行分析。

  2.3、預處理程序

  Snort的預處理分為兩類。它們可以用來針對可疑行為檢查包或者修改包以便檢測引擎能對其正確解釋。預處理的參數可以通過snort.Conf配置文件調整。

  預處理器:

    • Frag2
    • Stream4
    • Stream4_reassemble
    • Http_decode
    • RPC_decode
    • BO
    • Telnet_decode
    • ARPspoof
    • ASNI_decode
    • Fnord
    • Conversation
    • Portscan2
    • SPADE

  2.4、檢測引擎

  檢測引擎將流量與規則按其載人內存的順序依次進行匹配。是Snort的一個主要部件。

  2.5、輸出插件

  Snort的輸出插件接收Snort傳來的入侵數據。輸出插件的目的是將報警數據轉儲到另一種資源或文件中。

Copyright © Linux教程網 All Rights Reserved