1. Configure preprocessors 프로프로세서 설정은 사용자가 snort 에 지원되는 여러가지 plugin 를 쉽게 사용할수 있도록 한다. 설정 형식은 다음과 같다.
---------------------------------------------------------- preprocessor <name_of_processor>: <configuration_options> ----------------------------------------------------------
preprocessor 로는 다음과 같다.
Minfrag ------- minfrag 는 아주 작게 조각난 패킷을 탐지하는 역활을 한다. 공격자는 침입탐지 툴을 피하기 위해서 패킷을 잘게 잘게 쪼게서 보내기도 하는데 이렇게 되면 조각난 패킷에 대해 패턴검사를 하기 때문에 정확한 검사를 할수 없다. 그러므로 몇 바이트 미만의 패킷이 들어오면 경고를 해주게 된다.
사용방법 : preprocessor minfrag:128 //128byte 이하의 패킷은 경고.
Defrag ------ defrag preprocessor 는 조각된 패킷을 경고하는 minfrag 와는 달리 이를 감지 하고 IP 패킷을 재조합 한다. minfrag 보다는 강력한 탐지를 할수 있다. 하지만 이를 사용할 경우 시스템에 많은 부하가 걸려 전송량이 많은 네트웍에서는 주의를 해야 할것이다.
사용방법 : preprocessor defrag // 옵션 없음
Stream ------ stream 은 TCP stream 을 재조합하여 탐지율을 높인다. 하지만 이것역시 많은 시스템 부하를 일으키게 된다. 텔넷이나 ftp, web 정도의 서비스를 하는 port 정도를 조합하면 좋을거 같다. 그리고 stream 을 사용할때 주의할점이 하나 있다. 설정 위치 인데... stream preprocessor 는 반드시 defrag 뒤에 , http_decode 보다는 앞에 설정이 되어 있어야 한다.
사용방법 : preprocessor stream2: timeout 10, ports 21 23, maxbytes 16384
timeout : 초단위로 패킷이 없을때 stream 을 얼마간 계속할것인지 결정 port : 조합할 패킷이 들어 오는 port maxbytes 는 패킷을 재조합할 최대 크기를 말한다.
HTTP Decode ------------ http_decode 는 HTTP URL 문자열이 알아보지 못하게 되있는 경우 그것을 snort 엔진에서 알아볼수 있는 문자열로 변환.
사용방법 : preprocessor http_decode: 80 -unicode -cginull
Portscan --------- Portscan 공격을 탐지하고 로그를 남기게 된다.
사용방법: preprocessor portscan: $HOME_NET 4 3 portscan.log
Portscan Ignorehosts --------------------- portscan detector 가 작동하지 않아야 할 IP 리스트를 지정할수 있다.
사용방법: portscan-ignorehosts: <host list>
2. Config output plugins 패킷 감시 결과를 출력할때 사용되는 plugins 을 지정하는 것이다. 각 plugin 마다..출력하는 각각의 출력형태를 가지고 있기에 어떤식으로 출력을 할것인지를 이곳에서 결정하면 된다. 사용되는 plugin module 종류는 다음과 같다.
Alert_syslog : alert 를 syslog 로 보내 버린다.
Alert_fast : alert 로그를 남길때 output file 이 한라인으로 남기기 때문에 무척 빠르다.
Alert_full : alert 로그를 남길때 output file 에 모든 로그를 남기기 때문에 상당히 느리다.
Alert_smb : alert 를 줄때 WinPopup 형식으로 netbios 를 사용하는 원격 머신에 경고를 날려 준다.
Alert_unixsock : Unix domain socket을 설치해서 이곳으로 alert를 준다.
log_tcpdump : log packets 를 tcpdump 형태로 바꾸어 outfile 을 남긴다.
database : snort 의 data 를 mysql,postgresql 등으로 저장한다.
Alert_smb : alert 를 줄때 WinPopup 형식으로 netbios 를 사용하는 원격머신에 경고를 날려 준다.
Alert_unixsock : Unix domain socket을 설치해서 이곳으로 alert를 준다.
log_tcpdump : log packets 를 tcpdump 형태로 바꾸어 outfile 을 남긴다.
database : snort 의 data 를 mysql,postgresql 등으로 저장한다.
3. Rule set config Snort Rule set 설정파일을 snort.conf 파일에서 include 를 이용해서 가져 온다. include xxxxxxx.rules
주의 할점은 c 언어와 같이 include 문 마지막에 ; 를 사용하지 않는다.
|