歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> LINUX下的IDS測試

LINUX下的IDS測試

日期:2017/2/27 9:30:35   编辑:更多Linux
   //當時做這個實驗是為了參加學院舉行的學生學術論壇,文章有點長,請提出你的寶貴意見    Linux下的IDS測試實驗  2000級計算機一班:王維   IDS(Instrusion Detection System),也就是大家平時所說的入侵檢測系統,廣泛的被運用於各種操作系統的安全檢測和安全防御,以及探測網絡受攻擊的程度和次數。為以後的網絡安全管理提供詳實的資料和證據。  由於條件的限制,我們只能夠采取SNORT做為本次實驗的IDS使用。  Snort的一些功能:   1.實時通訊分析和信息包記錄      2.包裝有效載荷檢查      3.協議分析和內容查詢匹配     4.探測緩沖溢出、秘密端口掃描、CGI攻擊、SMB探測、操作系統侵入嘗試      5.對系統日志、指定文件、Unix socket或通過Samba的WinPopus 進行實時報警   下面,我將以REDHAT 7.3為例,講述一個完整的入侵檢測系統的調試和測試報告  一,本機環境  OS:REDHAT 7.3  HardWare:CPU:P3 800 .256MB--SDRAM .20G/7200 --HARDDISC  IDS:SNORT-1.9+Libpcap  二.調試方法  首先將在本機環境中安裝SNORT。SNORT是一個免費的IDS軟件,我們這次將利用他來做系統檢測  本機已經獲得了SNORT-1.9這個版本。  首先,為了更方便的定制後面的探測規則和調試需要,我們將采取手工編譯源文件(scorcus)的方法安裝。(版本說明:SNORT-1.9.0.tar.gz )  本地安裝的權限必須是:ROOT。如果不是ROOT。則必須采取SU指令,切換成本地系統管理員:ROOT  #su  #passwd:************  當確定從ROOT登陸以後,我們必須將源文件釋放出來,因為在使用snort的時候,我們需要Libpcap這個包文件,所以在本機測試前,我們必須保證系統中有Libpcap。如果不清楚localhost是否已經有Libacap的話,可以用下面的指令查詢:  $ locate Libacap  如果出現:  /usr/lib/Libacap.1.9.0  /usr/lib/Libpcap.a  等提示信息的話,證明本機已經有了Libpcap.如果沒有任何提示的話,則說明還沒有Libpcap庫文件,需要安裝。那麼進行下列操作:(我獲取的Libpcap0.6.2.tar.gz)  cd /usr/src/ids  [root@kykin-L-linux ids]# tar –zxvf libpcap-0.6.2.tar.gz  [root@kykin-L-linux ids]# ls  libpcap-0.6.2 libpcap-0.6.2.tar.gz snort-1.9.0 snort-1.9.0.tar.gz  這樣的操作,將libpcap完全的釋放到了本地文件夾中  繼續:  [root@kykin-L-linux ids]# cd libpcap-0.6.2  [root@kykin-L-linux libpcap-0.6.2]# ls  aclocal.m4 configure.in lbl pcap-enet.c README.linux  bpf CREDITS libpcap.a pcap.h savefile.c  bpf_dump.c CVS LICENSE pcap-int.h savefile.o  bpf_dump.o etherent.c llc.h pcap-linux.c scanner.c  bpf_filter.c etherent.o Makefile pcap-linux.o scanner.l  bpf_filter.o ethertype.h Makefile.in pcap-namedb.h scanner.o  bpf_image.c FILES mkdep pcap-nit.c sll.h  bpf_image.o gencode.c nametoaddr.c pcap-nit.h SUNOS4  CHANGES gencode.h nametoaddr.o pcap-null.c TODO  config.cache gencode.o net pcap.o tokdefs.h  config.guess grammar.c nlpid.h pcap-pf.c VERSION  config.h grammar.o optimize.c pcap-pf.h version.c  config.h.in grammar.y optimize.o pcap-snit.c version.o  config.log inet.c pcap.3 pcap-snoop.c  config.status inet.o pcap-bpf.c ppp.h  config.sub INSTALL pcap.c README  configure install-sh pcap-dlpi.c README.aix  這些源文件也就是我們即將進行編譯的Libpcap文件,繼續:  [[email protected]]# ./configure --prefix=/usr/local/libpcap-0.6.2  (這句話的意思是:編譯Libpcap文件到/usr/local/libpcap-0.6.2 目錄)  [[email protected]]# make  [[email protected]]# makeinstall  執行完上面的,我們已經完整的將Libpcap安裝到了本系統中  下面,我們將完成SNORT的安裝和調試  (為了測試的需要,我們不需要把SNORT的日志文件寫入本地mysql數據庫,那麼對MYSQL數據庫的操作步驟暫時省略)  [root@kykin-L-linux ids]#tar –zxvf snort-1.9.0.tar.gz  [root@kykin-L-linux ids]# cd snort-1.9.0  [root@kykin-L-linux snort-1.9.0]# ls  acconfig.h config.h.in contrib Makefile snort.8  aclocal.m4 config.log COPYING Makefile.am src  ChangeLog config.status doc Makefile.in stamp-h  config.cache config.sub etc missing stamp-h.in  config.guess configure install-sh mkinstalldirs templates  config.h configure.in LICENSE rules  [root@kykin-L-linux snort-1.9.0]# ./configure --prefix=/usr/local/snort19  [root@kykin-L-linux snort-1.9.0]#make  [root@kykin-L-linux snort-1.9.0]#makeinstall  (這幾個操作的含義和Libpcap相同)  然後,我們將對SNORT作一系列的調試,使其正常運行,也方便管理  [root@kykin-L-linux snort-1.9.0]# cp etc /usr/local/snort19 –r  (復制當前文件夾下的ETC目錄到SNORT19下面)  [root@kykin-L-linux snort-1.9.0]# cp rules /usr/local/snort19 –r  (復制全部規則文件)  [root@kykin-L-linux snort-1.9.0]# cp etc/classification.config /root/  [root@kykin-L-linux snort-1.9.0]# cp etc/snort.conf /root/.snortrc  (將調用的文件屬性修改)  做完這一些,我們的工作已經完成了一大部分。下面我們將完成比較重要的一部分。入侵檢測的規則定制  [root@kykin-L-linux snort-1.9.0]#vi /root/.snortrc  # This file contains a sample snort configuration.  # You can take the following steps to create your  # own custom configuration:  #  # 1) Set the network variables for your network  # 2) Configure preprocessors  # 3) Configure output plugins  # 4) Customize your rule set  #  ###################################################  # Step #1: Set the network variables:  #  # You must change the following variables to reflect  # your local network. The variable is currently  # setup for an RFC 1918 address space.  #  # You can specify it eXPlicitly as:  #  # var HOME_NET 10.1.1.0/24  。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。  (內容太多,暫時省略)  首先。我們在整個config文件的102行找到:  var RULE_PATH ../rules  這個是本地存放規則的路徑,我們必須根據自己的情況,完整寫出來  我的文件是這樣的:  var RULE_PATH /usr/local/snort19/rules  然後,在config文件的590行。我們將會看見:  include $RULE_PATH/bad-traffic.rules  從這裡開始,一直到後面,就是SNORT的整個規則集合。我們必須根據自己的情況作出詳細的調試  include $RULE_PATH/bad-traffic.rules  include $RULE_PATH/exploit.rules  include $RULE_PATH/scan.rules  include $RULE_PATH/finger.rules  include $RULE_PATH/FTP.rules  include $RULE_PATH/telnet.rules  include $RULE_PATH/rpc.rules  include $RULE_PATH/rservices.rules  include $RULE_PATH/dos.rules  (文件的內容太多,暫時省略)  你可以針對自己的系統的具體環境做出詳細的規則說明,不需要的規則,就采取#注釋的方法來去掉  為了可執行指令:SNORT的方便調用,我們將做出連接說明  [[email protected]]#ln –s /usr/local/snort19/bin/snort /usr/sbin/snort  然後。我們將建立一個新的目錄來存放SNORT日志文件  [root@kykin-L-linux snort-1.9.0]#cd /var/log  [root@kykin-L-linux snort-1.9.0]#mkdir snort  做完上面的一切,基本上完成了整個IDS的初步設定,下面我們將測試是否成功  [root@kykin-L-linux snort-1.9.0]#snort  Initializing Output Plugins!  Log Directory = /var/log/snort    Initializing Network Interface eth0  using config file /root/.snortrc  Initializing Preprocessors!  Initializing Plug-ins!  Parsing Rules file /root/.snortrc    +++++++++++++++++++++++++++++++++++++++++++++++++++  Initializing rule chains...  No arguments to frag2 directive, setting defaults to:   Fragment timeout: 60 seconds   Fragment memory cap: 4194304 bytes<




Copyright © Linux教程網 All Rights Reserved