라이프로그


Snort for Windows 설치 3 - APM 설치 및 기본 환경설정(sonrt.conf) 컴퓨터

SNORT 를 운영하기 위해서 1번을 선택했다면 MySQL 이 있어야 한다.

IDS Policy Manager 툴을 사용한다면 apache 나 php 는 없어도 되긴 하지만, 장기적으로 mysql 의 관리를 위해서라든가 기타 다른 툴들의 사용을 위해서는 APM 세트를 설정해 놓는것이 여러모로 유용하니 APM 설치를 시행해 두자.


상기 Link 에 가면 apm 설치가 편리하게 되어 있는 xampp 를 받을 수 있다.
apm 설치 및 운영은 또 다른 영역이니 별도로 설명하지 않겠다. APM 설치 및 운영에 관한 글은 다른 곳에서도 많이 찾을 수 있을 것이다. 

xampp 를 이용하여 apm 설치를 정상적으로 잘 마쳤다면 이제 기본설정을 해줄 차례이다.
snort.conf 를 수정하여야 하는데, 만의하나 원본 복원을 위해서 snort.conf 를 복사하여 두자. 그 후 사본을 가지고 편집하는 것이 혹시 모를 실수를 방지하는데 좋다.


1. ipvar HOME_NET 부분에 보호할 내부 네트워크 설정
 - snort/etc/snort.conf 파일을 열어 보호할 내부 네트워크를 설정한다. 
 - ipvar HOME_NET any  ipvar HOME_NET 192.168.0.0/24 처럼 수정한다
 - 메모장으로 열 경우 서식때문에 엉망으로 보이니 워드패드로 열던가, 기타 다른 에디터를 사용한다.  MS워드도 되고, acroedit 등의 에디터를 사용하면 잘 보인다.

config  파일내의 기타 다른 변수들에 대한 설명은 README.variables 파일을 참조하기 바란다.


2. 로그
 - DB 로깅을 위해 로그가 쌓일 대상 Databse 에 대한 부분의 설정 주석을 카피하여 서버 설정을 수정한다.
 - 나중 참조를 위해서라도 주석처리되어 있는 부분은 직접 수정하지 말고 카피해서 쓰는것이 좋다.
# output database: log, <db_type>, user=<username> password=<password> test dbname=<name> host=<hostname>
output database: log, mysql, user=root password=<password> test dbname=snort host=localhost

3. Windows 환경값에 맞게 조정
 - xNIX 계열 OS 들에 맞춘 오픈소스다 보니 기본 폴더가 /usr/local/ 로 설정되어 있는 것들이 많다. 이 부분을 수정해 주어야 한다. 이정도는 패키징할때 snort 제작자가 신경을 좀 쓰면 될 부분인데.. 좀 아쉼긴 하다.
 -다음과 같은 부분을 찾아 굵은 글씨처럼 바꿔준다. 만약 설치시에 디렉토리 변경을 했으면 자신이 변경한 디렉토리로 해주어야 한다. 

# path to dynamic preprocessor libraries
#dynamicpreprocessor directory /usr/local/lib/snort_dynamicpreprocessor/
dynamicpreprocessor directory C:\snort\lib\snort_dynamicpreprocessor

# path to base preprocessor engine
#dynamicengine /usr/local/lib/snort_dynamicengine/libsf_engine.so
dynamicengine C:\snort\lib\snort_dynamicengine\sf_engine.dll

# path to dynamic rules libraries
#dynamicdetection directory /usr/local/lib/snort_dynamicrules
dynamicdetection directory C:\snort\lib\snort_dynamicrules

# metadata reference data.  do not modify these lines
#include classification.config
#include reference.config
include C:\Snort\etc\classification.config
include C:\Snort\etc\reference.config

- 마지막에 \ 를 추가하면 에러가 발생하니 주의

-추가로 해당 설정 파일에서 snort 탐지룰 디렉터리를 참조하는 ‘/’ 문자를 찾아서 윈도우 디렉터리 구분자인 ‘₩’ 로 대체해준다. 예를 들면 ‘var RULE_PATH ../rules’는 ‘C:\snort\Rules’와 같은 형태로, ‘include $RULE_PATH/local.rules’를 ‘include $RULE_PATH₩local.rules’ 형태로 변경한다.

- 디렉터리 참조로 사용되지 않는 ‘/’도 있으니 파일 전체에서 한꺼번에 모두 치환하면 안된다. 초기 AIM_SERVERS 부분에 네트워크 마스트비트 표현부분이 치환돼 버리니 하나씩 신경써서 바꿔야 한다. 이 부분도 모두 주석처리하고 하나씩 바꿔주면 좋겠지만 양이 많기 때문에 알아서 편한대로 선택하시길.. 초기에 원본이 있으니 나는 그걸 믿고 주석처리 없이 치환 해버렸다. 



4. snort 와 DB 연동
 가. Database 에 snort DB 생성. 도스프롬르트를 열고 아래와 같이 입력한다.
  - C:\xampp\MySQL\bin>mysqladmin -uroot -p create snort

 나. 테이블 생성
  - c:\xampp\MySQL\bin>mysql -D snort -u root -p < c:\snort\schemas\create_mysql

  - c:\xampp\MySQL\bin>mysql snort -u root –p
        mysql> show tables;
    위와같이 입력해서 요렇게 나오면 설치가 잘 된 것이다.
































 다. 테이블 중 not null 이나 unique 설정 오류로 에러가 발생할 경우 스키마를 변경하여야 한다. snort 를 실행하여 해당 오류를 확인하여야 하고, 모든 오류사항을 설치과정에서 다 겪어보기도 힘든 관계로 패스 -_-;;


여기까지 수행하면 snort 로 탐지를 수행하여 기록을 남긴 기본적인 준비는 마친 것이다. 

잘 안돼도 질문따위는 받지 않는다. 나도 어딘가에서 보고 한거라 어케 해결하는지 잘 모르니까... (무책임....)



트랙백

이 글과 관련된 글 쓰기 (트랙백 보내기)
TrackbackURL : http://agol.egloos.com/tb/5492160 [도움말]

덧글

댓글 입력 영역