블로그 > 관리 거의 안함..ㅡㅡ;; http://blog.naver.com/tz1977/60001190676 | |
Snort란? snort는 실시간 트래픽 분석과 IP 네트워크 상에서 패킷 로깅이 가능한 가벼운(lightweight) 네트워크 침입탐지시스템이다. snort는 프로토콜 분석, 내용 검색/매칭을 수행할 수 있으며 오버플로우, Stealth 포트스캔, CGI 공격, SMB 탐색, OS 확인 시도 등의 다양한 공격과 스캔을 탐지할 수 있다. 테스트서버: OS ; RedHat Linux 9.0 1. 필요한 파일이 2개 또는 3개 일 수 있다. 1) snort-2.1.0.tar.gz : www.snort.org에서 최신버젼을 받을 수 있다. 2) libpcap-0.7.2-1.i386.rpm : Linux9.0시디에서 구했다... www.rpmfind.com에서도 구할 수 있다. 3) pcre-4.5.tar.gz : ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 에서 구할 수 있다. 2. pcre는 이미 설치되어 있을 수도 있으니..이 파일은 snort를 configure할때 에러가 난다면(없으믄 에러..ㅡㅡ;;) 다운 받자. 3. 이제 설치해보도록 한다. 1) 적당한 위치에 파일들을 옮긴 후 그 위치로 이동한다. mv ./snort-2.1.0.tar.gz /usr/local/src mv ./libpcap-* /usr/local/src mv ./pcre-* /usr/local/src cd /usr/local/src 2) libpcap을 설치한다. rpm -Uvh libpcap-0.7.2-1.i386.rpm 3) snort의 압축을 해제 후, 디렉토리 통째로 이동시킨다. 그 후 해당 디렉토리로 이동. tar xvfz snort-2.1.0.tar.gz mv snort-2.1.0 /usr/local/snort cd /usr/local/snort 4) configure , make , make install을 한번에 한다. ./configure && make && make install * 팁1: &&와 ;의 차이점 --> &&로 명령어를 묶을경우 에러가 나면 실행을 중지하지만, ;로 묶을경우 무시하고 설치한다. 5) 만약 여기서 에러가 난다면(pcre에러) pcre를 설치해야한다. pcre의 설치는 간단하므로 간략하게만 설명한다. 압축해제 -> configure -> make -> make install tar xvfz pcre-4.5.tar.gz -> cd pcre-4.5 -> ./configure && make && make install 6) snort의 설치가 4)번처럼 잘 되었다면 로그 기록을 위한 설정이 필요하다. A) 로그기록을 위한 디렉토리 설정 ㄱ) mkdir /var/log/snort ㄴ) chmod 700 /var/log/snort B) /usr/local/snort/etc/snort.conf 파일의 환경설정 ㄱ) var HOME_NET 의 IP부분을 any -> 자기서버IP로 변경해준다. ㄴ) include $RULE_PATH/web-iis.rules 부분은 IIS를 위한 설정이므로, 주석처리한다. (#) 4. 이제 실행해보자. /usr/local/snort/src/snort -l /var/log/snort -A fast -c /usr/local/snort/etc/snort.conf -D -N 명령어 설명 : ( 이부분은 phpschool에서 참조... ) 참조시작 { -l 은 로그 디렉토리 설정 부분이고 -c 는 설정파일 부분이고 -A 는 로그기록을 어떻게 할꺼냐 .. full,none,fast 세가지가 있습니다. -D 는 데몬으로 동작한다는것이고 -N 은 로그를 남기지 않고 경고메시지만 남긴다는 의미입니다. ※. -N 옵션을 주지 않으면 서버에 접근하는 아이피를 디렉토리로 만들어서 로그가 남게 된다.(조심) snort 실행 옵션은 아래와 같습니다. -A Set alert mode: fast, full, or none (alert file alerts only) -a Display ARP packets -b Log packets in tcpdump format (much faster!) -c <rules> Use Rules File <rules> -C Print out payloads with character data only (no hex) -d Dump the Application Layer -D Run Snort in background (daemon) mode -e Display the second layer header info -F <bpf> Read BPF filters from file <bpf> -g <gname> Run snort gid as <gname> group (or gid) after initialization -h <hn> Home network = <hn> -i <if> Listen on interface <if> -I Add Interface name to alert output -l <ld> Log to directory <ld> -n <cnt> Exit after receiving <cnt> packets -N Turn off logging (alerts still work) -o Change the rule testing order to Pass|Alert|Log -O Obfuscate the logged IP addresses -p Disable promiscuous mode sniffing -P <snap> set explicit snaplen of packet (default: 1514) -q Quiet. Don't show banner and status report -r <tf> Read and process tcpdump file <tf> -s Log alert messages to syslog -S <n=v> Set rules file variable n equal to value v -t <dir> Chroots process to <dir> after initialization -u <uname> Run snort uid as <uname> user (or uid) after initialization -v Be verbose -V Show version number -X Dump the raw packet data starting at the link layer rule 파일은 http://www.snort.org/downloads/snortrules.tar.gz 에서 받으시면 되고 rule 에 대한 자세한 설명은 http://www.snort.org/cgi-bin/done.cgi 에서 확인 하실 수 있습니다. } 참조 끝 5. snort에 의한 로그파일은 /var/log/snort에 쌓이게된다. ( alert ) |
engineering/Network Eng.2006. 8. 7. 01:22