본문 바로가기

Security/System

내 컴퓨에 IDS(침입탐지시스템)를 구축해 보자! – snort 설정 편(2)

 

이전 snort 설치 편에 이어 snort 구성으로 글을 이어가도록 하겠습니다.

MySQL HSC의 연동은 snort가 알려주는 네트워크 상황을 보다 편리하게 관리하기 위한 하나의 방법으로 snort의 설치만으로도 침입탐지 기능을 수행할 수 있으며 방법은 다음과 같습니다!

 

먼저, snort 공식 홈페이지에서 다운로드 받은 rule을 해당 경로에 복사 해 줍니다.

다운로드 받은 rules => C:\Snort\rules\ 디렉토리에 복사

다운로드 받은 signatures => C:\Snort\doc\signatures\ 디렉토리에 복사

 

다음은 snort 동작에 있어 가장 중요하며 처음 설치해 보는 사용자들이 가장 어려워 할 수 있는 부분으로 snort를 구성에 맞게 설정 해줘야 합니다.

 

Snort 설정 파일은 snort 가 설치된 디렉토리 밑에 etc 디렉토리에 존재하는 snort.conf 파일이며, 해당 파일을 아래와 같이 워드패드로 열어 수정해줍니다.

 

 

 

[그림] 연결 프로그램 선택

 

 

 

 

 

[그림] 워드패드 선택


설정에 앞서, 본 글에서 사용하는 절대 경로는 snort의 기본 설치 경로로서, 이는 개인이 설치한 경로에 따라 달라질 수 있으며 또 한, 아래 snort 설정은 본 글을 작성함에 있어 필요한 부분만 설정하였음을 알려드립니다. ^^

 

1) 워드패드로 snort.conf 파일을 열고 가장 먼저 var HOME_NET 부분을 수정해 주면 되는데, 기본 값인 any를 줘도 동작은 가능하나, 본 글에서는 10.1.1.0/24로 설정하여 C class 대역을 목적지로 하는 패킷만을 감시하도록 설정하겠습니다.

var HOME_NET 10.1.1.0/24

 

2) rule에 대한 설정으로 아래를 참고하여 경로를 넣어주세요.

var RULE_PATH C:\Snort\rules

var PREPROC_RULE_PATH C:\Snort\preproc_rules



3) preprocessor
설정으로 아래를 참고하여 경로를 넣어주세요.

dynamicpreprocessor directory C:\Snort\lib\snort_dynamicpreprocessor

dynamicengine C:\Snort\lib\snort_dynamicengine\sf_engine.dll



4) output
셋팅으로 주석 밑에 아래와 같은 명령어를 넣어줍니다.

이는 경고 메시지를 log 폴더에 alert.ids 파일로 남긴다는 내용입니다.

# output log_tcpdump: tcpdump.log

output alert_fast: alert.ids 



5) output DataBase로 보내는 설정입니다.

user, passwd, dbname, hostname을 미리 정하여 각 값을 입력해줍니다. , 여기서 주의 할 점은 이 후에 설치할 MySQL 의 패스워드와 DB name에 동일한 값을 넣어줘야 한다는 것입니다.

output database: log, mysql, user=root password=임의값 dbname=임의값 host=localhost pot=3306 sensor_name=임의값

output database: alert, mysql, user=root password=임의값 dbname=임의값 host=localhost pot=3306 sensor_name=임의값



6) include 설정으로 아래를 참고하여 경로를 넣어주세요.

include C:\Snort\etc\classification.config

include C:\Snort\etc\reference.config



 

7) 마지막은 rule에 대한 경로 설정 부분으로 본 글에서는 윈도우 환경에 snort를 설치하고 있으므로 경로 표시 / 를 아래와 같이 \ 로 바꾸어 줍니다.

[그림] rule 경로 설정

 

이것으로 snort의 동작을 위한 기본 설정이 끝났습니다! 다들 잘 따라오셨나요? 중간에 막히는 부분이 있다고 해도 약간만 고민을 한다면 쉽게 해결하실 수 있을 겁니다!

 

설정을 마쳤으니 이제 설정이 정상적으로 되었는지 snort를 실행 시켜 확인해 보겠습니다.

먼저, 아래와 같이 cmd 창에서 snort –W 명령어로 자신의 네트워크 카드를 확인 합니다.

 

 

[그림] 네트워크 번호

 

본 글에서는 네트워크 카드 번호가 1번으로 확인되네요. 이는 개인의 PC 환경에 따라 달라질 수 있습니다.

그럼, 설정 상태의 정상 여부를 보겠습니다.

 

 

 

 

 

[그림] snort 설정 파일 검사

 

명령어 > snort -T -l C:\Snort\log -c C:\Snort\etc\snort.conf -i 1
-T
옵션
: snort 설정 파일 정상 여부 테스트

-l 옵션  : 로그 파일 저장 위치

-c 옵션 : snort.conf 파일의 위치

-i 옵션  : 모니터링 할 네트워크 카드의 번호

 

Snort exiting 메시지가 출력됩니다. 이는 snort가 정상적으로 설정 되었음을 알려주는 메시지이며, Snort –v –i 1 명령어를 통해 제대로 동작되는지 보도록 하겠습니다. 앞의 명령어는 로그에 기록 없이 해당 네트워크 대역을 흐르는 패킷의 IP TCP/UDP/ICMP 헤더들을 보여주도록 하는 명령어입니다. 

 

 

[그림] snort –v –i 1 명령어 실행

 

Snort가 정상적으로 동작함이 확인되는군요! Snort가 정상적으로 설치되었다면 남은 MySQL HSC를 연동하는 일은 지금까지 설치한 것보다 쉽게 해결 할 수 있을 것입니다! 하지만, 본 글에서 이 부분을 모두 다룬다면 내용이 너무 길어지므로 다음 시리즈에 이어서 올리도록 하겠습니다.