當前位置:編程學習大全網 - 源碼下載 - 如何在 Linux 系統上安裝 Suricata 入侵檢測系統

如何在 Linux 系統上安裝 Suricata 入侵檢測系統

由於安全威脅持續不斷,配備入侵檢測系統(IDS)已成為如今數據中心環境下最重要的要求之壹。然而,隨著越來越多的服務器將網卡升級到10GB/40GB以太網技術,我們越來越難在大眾化硬件上以線速實施計算密集型入侵檢測。本篇文章將演示如何在linux服務器上安裝和配置Suricata IDS。在linux上安裝Suricata IDS不妨用源代碼構建Suricata。妳先要安裝幾個所需的依賴項,如下所示。在Debian、Ubuntu或linux Mint上安裝依賴項$ sudo apt-get install wget build-essential libpcre3-dev libpcre3-dbg automake autoconf libtool libpcap-dev libnet1-dev libyaml-dev zlib1g-dev libcap-ng-dev libjansson-dev在CentOS、Fedora或RHEL上安裝依賴項$ sudo yum install wget libpcap-devel libnet-devel pcre-devel gcc-c++ automake autoconf libtool make libyaml-devel zlib-devel file-devel jansson-devel nss-devel壹旦妳安裝了所有必需的程序包,現在可以安裝Suricata了,如下所示。首先,從suricata-ids(https://)安裝可用的社區規則集的最新快照,並將它們存儲在/etc/suricata/rules下。首次配置Suricata IDS現在就可以配置Suricata了。配置文件位於/etc/suricata/suricata.yaml。使用文本編輯工具打開文件,以便編輯。$ sudo vi /etc/suricata/suricata.yaml下面是壹些基本的設置,供妳開始入門。“default-log-dir”關鍵字應該指向Suricata日誌文件的位置。default-log-dir: /var/log/suricata/在“vars”這部分下面,妳會找到Suricata使用的幾個重要變量。“HOME_NET”應該指向由Suricata檢查的本地網絡。“!$HOME_NET”(被分配給EXTERNAL_NET)指本地網絡以外的任何網絡。“XXX_PORTS”表明不同服務所使用的壹個或多個端口號。請註意:不管使用哪個端口, Suricata都能自動檢測HTTP流量。所以,正確指定HTTP_PORTS變量並不是很重要。vars:HOME_NET: [192.168.122.0/24]EXTERNAL_NET: !$HOME_NETHTTP_PORTS: 80SHELLCODE_PORTS: !80SSH_PORTS: 22“host-os-policy”這部分用來防範壹些利用操作系統的網絡堆棧的行為(比如TCP重組)來規避檢測的常見攻擊。作為壹項應對措施,現代IDS想出了所謂的“基於目標的”檢測,檢查引擎根據流量的目標操作系統,對檢測算法進行微調。因而,如果妳知道每個本地主機運行什麽操作系統,就可以將該信息提供給Suricata,從而有望提高其檢測速度。這時候用到了“host-os-policy“部分。在該例子中,默認的IDS策略是linux;如果不知道某個IP地址的操作系統信息,Suricata就會運用基於linux的檢查策略。如果捕獲到192.168.122.0/28和192.168.122.155的流量,Suricata就會運用基於Windows的檢查策略。host-os-policy:# 這些是Windows機器。windows: [192.168.122.0/28, 192.168.122.155]bsd: []bsd-right: []old-linux: []# 將linux作為默認策略。linux: [0.0.0.0/0]old-solaris: []solaris: [::1]hpux10: []hpux11: []irix: []macos: []vista: []windows2k3: []在“threading”這部分下面,妳可以為不同的Suricata線程指定CPU親和性(CPU affinity)。默認情況下,CPU親和性被禁用(“set-cpu-affinity: no”),這意味著Suricata線程將被安排在任何可用的CPU核心上。默認情況下,Suricata會為每個CPU核心創建壹個“檢測”線程。妳可以調整這個行為,只要指定“detect-thread-ratio: N”。這會創建N x M個檢測 線程,其中M是指主機上CPU核心的總數。

  • 上一篇:遊戲編程相關的好書有哪些推薦
  • 下一篇:iOS 利用貝塞爾曲線畫出類似氣泡框的UI
  • copyright 2024編程學習大全網