page counter next up previous contents
Next: 保護隱私及匿蹤上網 Up: Snort 入侵偵測 Previous: Snort 安裝   Contents   DYWANG_HOME

Snort 使用

  1. 監聽 (sniffer) 模式:在此模式下,Snort 僅是 sniffer(如 tcpdump)的功能,監聽所有來往的封包,但不會做攻擊模式的比對。
    [root@kvm8 ~]# snort -v
    05/17-20:00:21.777355 192.168.122.8:22 -> 192.168.122.1:35748
    TCP TTL:64 TOS:0x10 ID:30685 IpLen:20 DgmLen:708 DF
    ***AP*** Seq: 0x5082263D  Ack: 0x1B3CC3FD  Win: 0x190  TcpLen: 32
    TCP Options (3) => NOP NOP TS: 1770779 42906554 
    =+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
    
  2. NIDS(網路型入侵偵測系統):在此模式下,Snort 不僅會監聽所有來往的封包,並會做攻擊模式的比對。執行以下指令,以常駐程式方式啟動 Snort,並將網卡設定成 promiscuous。
    [root@kvm8 ~]# snort -c /etc/snort/snort.conf -i eht0 -D
    Spawning daemon child...
    My daemon child 1976 lives...
    Daemon parent exiting (0)
    
  3. 以 dmsg 查看。
    [root@kvm8 ~]# dmesg | grep promiscuous
    device eth0 entered promiscuous mode
    device eth0 left promiscuous mode
    device eth0 entered promiscuous mode
    device eth0 left promiscuous mode
    device eth0 entered promiscuous mode
    
  4. Snort 語法
  5. payload 語法
  6. rules 語法範例一:當主機上的 5432 埠,如果有接收到內含有 select 字串的封包,則記錄一筆警示記錄(記錄內容為「someone access PSQL command:SELECT」)。
    alert tcp any any → any 5432 (msg:"someone access PSQL command:SELECT"; content:"select";)
    規則描述如下表:
    alert【處理方式】 產生警示的 log
    tcp【來源通訊協定】 偵測 TCP 的封包
    any【來源 IP】 偵測任何的來源 IP
    any【來源 port】 偵測任何的來源埠
    any【目的 IP】 偵測任何的目的 IP
    5432【目的 port】 僅偵測 5432 埠的封包
    【進階處理內容】 若符合內容含有「select」的字串,則將 msg 後的字串記錄起來。
    
  7. rules 語法範例二:當主機上的 27374 埠,接收到來自外部 IP 任何 port 的 tcp 封包,旗標包含「ACK + 其他」,內容包含 0d0a5b52504c5d3030320d0a,引用外部攻擊識別系統 arachnids,其 id 485。
    alert tcp $EXTERNAL_NET any -> $HOME_NET 27374 (msg: 'BACKDOOR SIG - SubSseven 22'; flags: A+; content: "|0d0a5b52504c5d3030320d0a|"; reference:arachnids,485;)
    
  8. rules 設定對從任何位址小於 1024 埠向本機 500 以上端口發送的 tcp 資料包都報警。
    [root@kvm8 ~]# cat /etc/snort/rules/web-misc.rules 
    alert tcp any :1024 -> 192.168.122.8 500:
    
  9. 修改 snort 設定將此 rules 加入。
    [root@kvm8 ~]# grep web-misc /etc/snort/snort.conf 
    include $RULE_PATH/web-misc.rules
    
  10. 攻擊模擬及 log 查詢待續。
    [root@kvm8 ~]# cat /var/log/snort/snort.log.1400330008
    


De-Yu Wang 2020-05-19