1 분 소요


세번째 포스팅에서는 Snort를 설정하는 법에 대해 알아보려고 한다. Snort.conf 파일을 수정해야 하는데 복잡한 편이다.


1. Snort.conf 수정하기
$sudo vi /usr/local/snort/etc/snort.conf
이렇게 하면 문서 편집기가 뜬다. vi 사용에 익숙하지 않다면....

* vi 간단 사용법 *
 vi는 윈도우즈의 메모장처럼 리눅스의 메모장이라고 생각하면 된다. 마우스 없이 키보드로 모든 작업을 할 수 있어 매우 편하지만 처음에 익숙하지 않으면 많이 헤매게 된다.. 일단 vi를 사용하기 위한 최소한의 지식들만 적어둔다.
vi는 입력모드와 편집모드가 있다. 처음에 vi 명령으로 문서를 저 위에처럼 열게 되면 자동으로 편집모드로 설정되는데 이때 아무리 키보드를 눌러도 문자 입력이 되기는 커녕 이상한 명령들만 자동으로 수행되어 문서가 망가지기 쉽다. 입력 모드로 전환하려면 i를 누르면 된다. i를 누르면 창 제일 밑에 --insert--라고 뜨게 되고 입력모드로 전환 되었음을 의미한다. 
 현재 입력모드인지 편집모드인지 헷갈린다면 그냥 무조건 esc를 눌러서 편집모드로 돌아온 뒤 입력할 게 생기면 입력모드로 전환하여 작업하는게 편하다.
 문서를 저장할 때는 esc를 눌러 편집모드로 들어온 후  :wq 라고 치면 된다. 만약 문서 수정 없이 그냥 끝낼때는 :q 라고 치면 되고, 강제 종료 하고싶다면 :wq! 라고 치면 된다. 그럼 간단 설명 끝

이어서
1)
var WHITE_LIST_PATH  ../rules
var BLACK_LIST_PATH  ../rules
라고 되어있는 부분을
var WHITE_LIST_PATH  /usr/local/snort/rules
var BLACK_LIST_PATH  /usr/local/snort/rules
로 바꾸어 준다. 

2)
dynamicpreprocessor directory  /usr/local/lib/snort_dynamicpreprocessor/
dynamicengine /usr/local/lib/snort_dynamicengine/libsf_engine.so
dynamicdetection directory  /usr/local/lib/snort_dynamicrules
dynamicpreprocessor directory  /usr/local/snort/lib/snort_dynamicpreprocessor/
dynamicengine  /usr/local/snort/lib/snort_dynamicengine/libsf_engine.so
dynamicdetection directory  /usr/local/snort/lib/snort_dynamicrules
로 바꿔준다.

3)
#output unified2: filename merged.log, limit128, nostamp, mpls_event_types, vlan_event_types
이 라인 밑에 아래 라인을 추가한다.
output unified2: filename snort.u2, limit 128

기본 설정은 끝났다. IP나 포트 설정 같은 것은 필요할 때 나중에 하기로 하고.. 파일을 저장하고 끝내자. 저장하는법은 위에 썼다시피 :wq 이다.


2. barnyard2 설치하기
$sudo tar zxvf barnyard2-1.9.tar.gz
$cd barnyard2-1.9
$sudo ./configure --with-mysql
$sudo make
$sudo make install
$cp etc/barnyard2.conf  /usr/local/snort/etc
$sudo mkdir  /var/log/barnyard2
$sudo chmod 666 /var/log/barnyard2
$sudo touch  /var/log/snort/barnyard2.waldo
$sudo chown snort.snort  /var/log/snort/barnyard2.waldo

$sudo vi /usr/local/snort/etc/barnyard2.conf
여기까지 하면 다시 문서편집기로 들어간다!

1)
config reference_file:  /etc/snort/reference.config
config classification_file:  /etc/snort/classification.config
config gen_file:  /etc/snort/gen-msg.map
config sid_file:  /etc/snort/sid-msg.map
config reference_file:  /usr/local/snort/etc/reference.config
config classification_file:  /usr/local/snort/etc/classification.config
config gen_file:  /usr/local/snort/etc/gen-msg.map
config sid_file:  /usr/local/snort/etc/sid-msg.map
로 바꾼다.

2)
#config hostname: thor
밑에 아래 줄을 추가한다
config hostname: localhost

3)
#output database: log, mysql, user=root password=test dbname=db host=localhost
밑에 아래 줄을 추가한다
output database: log, mysql, user=snort password=내비밀번호 dbname=snort host=localhost

:wq를 눌러 저장하고 나온다.


3. 네트워크 카드 설정하기
 네트워크 카드를 두개 쓸 경우에는 설정해 줘야 하지만 지금 이번에는 네트워크 카드 하나만 가지고 설치하므로 딱히 필요 없다.

4. 스노트 테스트하기
$sudo /usr/local/snort/bin/snort   -u snort -g snort -c /usr/local/snort/etc/snort.conf  -i eth0
뭐라고 쉭쉭 나오고 제일 마지막에 Commencing packet processing 이라는 말이 나오면 성공!
종료할때는 ctrl+c 를 눌러 종료하면 된다.

다음 포스팅에는 스노트가 잡은 로그들을 보여주는 BASE 라는 플러그인을 설치해보자. 




카테고리:

업데이트:

댓글남기기