이전 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 대역을 목적지로 하는 패킷만을 감시하도록 설정하겠습니다.
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를 연동하는 일은 지금까지 설치한 것보다 쉽게 해결 할 수 있을 것입니다! 하지만, 본 글에서 이 부분을 모두 다룬다면 내용이 너무 길어지므로 다음 시리즈에 이어서 올리도록 하겠습니다.