Snort 환경을 구축하기 위해서는 다양한 프로그램을 설치해야한다.
설치 과정에서 버전 차이로 인한 호환성 문제와 구성파일 수정 과정에서 잦은 오류가 발생할수 있으므로, 차분하게 시간여유를 가지고 진행하는것이 좋다.
가상환경: VMware Workstation Pro 17
운영체제: Windows 7 Professional K
설치한 프로그램: Winpcap 4.1.3, Snort 2.9.2.3, Xampp 1.7.1, Base 1.4.5 , adodb-5.20.20, Notepad++
1. 클라이언트, 서버 환경 구성
1.1 server, client 가상환경 설치
VMware 설치 방법과 Windows 7 Professional K 과정을 정리하였으나, Windows 7 지원이 종료된지 오래되어 크롬 설치과정이 되지 않는것을 확인하였다. 따라서 Windows 10 환경에서 진행하는것을 추천한다.(추후에 시도 해보겠음)
1.2 클라이언트-서버 통신 확인
VMware에서 기본적으로 NAT로 구성하기 때문에 같은 네트워크 연결되어 있을것이다. 하지만, 클라이언트와 서버가 통신하기 위해서는 추가적으로 방화벽을 해제 해주어야한다.
방화벽을 해제한후에는 클라이언트에서 서버로 ping 전송을 했을때, ping 응답이 돌아오는것을 확인할수 있다.
*클라이언트와 서버 ip주소를 모를때는 ipconfig를 입력하고, 이더넷 어댑터 로컬연결-Ipv4주소를 확인하면 된다.
2. 프로그램 설치 및 환경설정
2.1 Winpcap 4.1.3 설치
네트워크로 전송되는 패킷을 탐지하기 위해 Winpcap을 설치해야한다. 설치과정중 변경없이 Next 버튼만 클릭하여 설치를 진행하였다.
2.2 Snort 2.9.2.3설치
2.3 Xampp 1.7.1 설치
xampp는 웹페이지를 통해 모니터링을 하기위한 웹서버와 DB를 해준다.
xampp 최신버전은 mariadb를 지원하므로, mysql을 지원하는 xampp 1.7.1 버전을 설치하였다.
Install 버튼을 누르기전 Apache as service와 MYSQL as service를 체크해주면 된다.
Apache as service와 MYSQL as service를 체크하고 설치해준다.(Filezilla는 체크해제)
2.4 Base 1.4.5 설치
Base는 snort에서 탐지한 로그를 웹페이지를 통해 시각화해서 확인하고 분석할수 있는 도구이다.
파일 다운로드후 압축을 풀기위해서는 알집 프로그램을 설치해야한다.
압축해제한 파일은 xampp-hodoc 디렉토리에 옮겨준다.
2.5 aDOdb-5.22.7 설치
adodb는 로그데이터를 DB에 저장하고, PHP 사용해 처리 및 표시해주는 도구이다.
adodb도 Base와 동일하게 알집 프로그램이 설치되어 있어야한다.
압축해제한 파일은 xampp-hodoc 디렉토리에 옮겨준다.(adodb5라고 파일명을 수정하였음)
2.6 Notepad ++ 설치
snort를 윈도우에서 실행시키기 위해서 구성파일을 수정해야한다. 메모장을 통해서 구성파일을 수정하려고하면 내용이 깨져 보일수 있기 때문에 Notepad++를 설치해서 수정을 진행할것이다.
설치과정에서 별다른 수정없이 다음버튼을 눌러서 진행해주었다.
2.7 MySQL 설정
로컬디스크(C:)-Snort-schemas에 위치한 create_mysql 파일을 복사한다.
로컬디스크(C:)-xampp-mysql-bin 파일에 붙여넣는다.
Xampp를 실행하고, Apache와 MySQL을 실행한다. (XAMPP를 실행하면서 다양한 오류들이 발생할수 있다)
관리자권한으로 cmd창을 실행한다.
먼저 mysql의 패스워드를 설정해야한다.
해당 경로로 이동한다.
cd c:\xampp\mysql\bin
기본 패스워드는 공백이므로 엔터를 입력한다.
mysql -u root -p mysql
해당 명령어를 입력해서 패스워드를 수정한다. PASSWORD('root')에서 root부분을 수정해준다.
UPDATE mysql.user SET Password = PASSWORD('root') WHERE User = 'root';
FLUSH PRIVILEGES;
quit 또는 Ctrl + C
이후에는 다시 접속하여 아래와 같이 명령어를 입력해준다.
cd c:\xampp\mysql\bin
mysqladmin -u root -p create snort
mysql -D snort -u root -p < create_mysql
mysql -u root -p
use snort;
show tables;
2.8 BASE 설정
c:\xampp\htdocs\base\includes에 있는 파일을 Notepad++를 통해 실행하고, 29, 30번 줄에 주석처리를 해준다. ( // 추가)
http://localhost/base에 접속하여 continue 버튼을 누른다.
C:\xampp\htdocs\adodb5를 입력하고 continue를 누른다.
아래와 같이 입력하고 continue를 누른다.(Database Password는 MySQL에서 설정했던 패스워드를 입력한다.)
로그인 정보를 입력하고, Use Authentication System을 체크표시후 contiue를 누른다.
Create BASE AG 버튼을 클릭한다.
DONE Successfully created user 표시가 나오면 Base 설정은 완료가 되었다.
2.9 Snort .conf 파일 수정
C:\Snort\etc\ 경로에서 snort.conf 파일을 Notepad++을 통해 열고, Ctrl+F 후 ipvar, portvar 두 가지 키워드를 'var'로 모두 바꾸어 준다.
리눅스 경로 방식으로 설정되어 있는 경로를 윈도우 경로 방식으로 수정해준다.
256~269줄은 IDS 모드에서 사용할수 없으므로 주석처리(# 표시)를 해준다.
C:\snort\rules 경로에 black_list.rules, white_list.rules를 추가해준다(메모장으로 작성, 파일형식은 모든파일)
DB 정보를 입력한다. (password는 mysql에서 설정한 비밀번호로 설정)
C:\Snort\rules 경로에 사용하고자 하는 룰 생성 후, , 554번 줄에 해당 룰 파일 경로를 추가한다.
Snort에 포함할 rybbit.rules를 제외하고 주석처리를 한다
2.10 Snort 연결 확인
관리자권한으로 cmd창 실행후, 아래 명령어를 실행
파일 위치로 이동 하기
cd C:\Snort\bin
NIC 번호 확인
snort.exe -W
snort.conf 파일 검증 테스트
snort.exe -T -c c:\snort\etc\snort.conf -l c:\snort\log -i 1
아래 그림처럼 나오면 설정에 성공한것이다.
참고자료