[IDS] 그대로 따라하면 Snort 완벽 설치!!
※파일 다운안되면 첨부파일 확인하세요
여기에 Snort를 설치해보려고한다
(사실 Windows 7에서 설치 테스트 했고, Windows 10은 이번에 시도해보려고 한다)
(필요한 파일 몇개 모음 APM_Setup은 직접 다운받아주세용) -> google에서 apmsetup7 다운로드
(리눅스 기반이라 일반 메모장으로는 불편하니 editplus같은 편집툴을 사용하면 좋아용)
(유료라 공유는 안함!)
우선 네트워크의 패킷을 수집하려면 WinPcap이라는걸 설치해야 한다
https://www.winpcap.org/install/default.htm
여기서 다운로드 받으면 된다
WinPcap은 기본값으로 설치해주면 된다
다음으로는 Snort 결과를 보기 위한 웹 서버를 설치할 것인데
APM Setup이라는걸 설치하여 한방에 해결하겠다
http://apmsetup.com/download.php --> 현재는 사라졌으니 google에서 apmsetup7 검색 후 다운로드
모두 기본 값으로 설치해주면 된다
방화벽은 끌꺼지만 일단 액세스 허용!
Readme 파일 보기는 체크해제했다
APMSETUP이 실행되면 업데이트를 한다고 하는데 아니요를 선택하고 X 를 클릭하자
작업 표시줄 오른쪽에 보면 APM 아이콘이 생겼다
마우스 오른쪽 클릭하여 MySQL 관리를 선택하자
그럼 MySQL root의 패스워드를 알려준다
관리 페이지에 로그인하여 패스워드를 변경해도 된다
여기서는 그냥 사용하겠다
adodb 라는 것을 다운받아야 한다
http://sourceforge.net/projects/adodb/?source=directory
여기서 받으면 된다
압축을 풀어서 adodb5 라는 이름으로 C:\APM_Setup\htdocs 폴더에 넣어주자
그리고 원래 있던 index.php 파일은 지워주자
너무 길어 지니 다음 글에 이어서 !!
이제 snort를 설치해 보자
snort를 다운받아야하는데 최신 버전의 snort를 다운받으니 DB와 연동에 조금 문제가 생겨서
전 버전의 snort를 사용하겠다
이제 마지막으로 base를 다운받자
http://sourceforge.net/projects/secureideas/files/BASE/base-1.4.5/base-1.4.5.tar.gz/download
adodb와 마찬가지로 C:\APM_Setup\htdocs 안에 넣어주자
폴더 명은 base로 해주자
이제 다운받는건 끝이 났고
설정을 해야한다
설정이 생각보다 복잡하다 (리눅스에 비하면 엄청 편하다)
우선 C:\Snort\schemas 로 이동하여 Shift + 마우스 오른쪽 클릭한다
그럼 여기에서 명령 프롬프트 열기라는 메뉴가 있다 클릭하자
mysqladmin -u root -p create snort
(snort라는 데이터베이스 만듬)
mysql -D snort -u root -p < create_mysql
(snort 데이터베이스에 현재 폴더에 있는 create_mysql 내용을 집어 넣음)
mysql -u root -p
(mysql 콘솔 로그인)
use snort;
(snort 데이터베이스 선택)
show tables;
(snort 데이터베이스 안에 테이블 확인)
위와 같이 테이블이 나왔다면 성공이다
Mysql 설정은 끝이 났다
이제 Base 설정을 해보자
우선 수정해야할 부분이 있다
C:\APM_Setup\htdocs\base\includes\base_action.inc.php 파일을 열어서
include_once("Mail.php"); // r.rioux added for PEAR::Mail
include_once("Mail/mime.php"); //r.rioux added for PEAR::Mail attachments
두 줄 앞에 // 주석을 달아 주어야 한다
그리고 웹 브라우저를 열어 http://localhost/base 로 이동해 보자
그럼 아래와 같은 창이 뜬다
Continue를 누르자
그럼 아래와 같은 창이 뜨는데 adodb를 풀어둔 경로를 적어준다
C:\APM_Setup\htdocs\adodb5
그리고 Continue를 누르자
아래와 같은 창이 뜬다
아까 만든 db 인 snort
주소 localhost
MySQL 아이디와 패스워드를 입력해주고
Continue!
base 화면을 볼 때 인증을 할거면 적어 넣으면 된다
여기서는 귀찮으니 그냥 Continue
아래와 같이 뜨면 Create BASE AG 클릭
잘 해왔다면 아래와 같이 DONE이 뜬다
이제 아래의 Step 5... 를 클릭하면
base 메인 화면이 뜬다
이제 Snort 설정만 해주면 된다
다음 글에 계속!!
이제 snort 설정을 해야 한다
C:\Snort\etc 로 이동하여
snort.conf 파일을 열어보자
우선 위의 화면 처럼 리눅스 path 경로로 되어있다 (/) 이것을
(\)로 바꿔주자
그리고..
portvar 와 ipvar 로 되어있는 부분을 전부 var로 수정해야한다 (문서 전체) (스샷 없음)
170 라인 쪽에도 위의 화면 같이 되어있는데
아래 화면같이 바꿔준다
또......
# site specific rules 의 아래 include 부분을 다 선택하여 지워주고
아래와 같이 user.rules 라고 적어 준다
또또..
C:\snort\rules 폴더에 user.rules 파일을 만들고
alert icmp any any -> any any (msg:"ICMP TEST"; sid:50001;)
를 추가해주고
C:\Snort 에는 so_rules라는 파일을 만들어서
50001 || ICMP TEST 를 추가해주자
또또또...
위 화면같이 주석이 안되어 있는 부분을 주석 처리해주자
마지막으로
아래와 같이 # database 부분에
output database: alert, mysql, user=root password=apmsetup dbname=snort host=localhost
output database: log, mysql, user=root password=apmsetup dbname=snort host=localhost
를 추가해 주자
이제 아까 snort\rules\user.rules에 추가해둔 icmp 탐지 룰을 이용하여
snort가 제대로 작동하는지 테스트 해보자
우선 테스트를 위해 방화벽을 꺼놓자
방화벽을 껏으면 C:\Snort\bin 으로 이동하여
CMD 창을 열고
snort -W 를 입력해 본다
그럼 index 부분에 네트워크 카드 번호가 나오는데
여기서는 네트워크 카드가 1개라 1개만 나온다
1번 네트워크 카드를 사용하자
snort -c C:\Snort\etc\snort.conf -l C:\Snort\log -i 1
snort -c [설정파일] -l [로그경로] -i [네트워크 카드 번호]
이제 Snort가 에러없이 실행되었다면..
다른 PC를 이용하여 IDS를 설치한 Windows 10으로 PING을 보내보았다
Windows 10에서 base 화면을 보면 ICMP를 감지했다는걸 볼 수 있다
핑을 한 번 보내면
icmp Request(8)와 icmp echo reply(0) [주고 받고]
4개의 핑을 보낸 결과
IDS에서 8개가 감지되었다
흠흠 룰 만드는 방법은 PDF첨부파일 참고
출처: http://lureout.tistory.com/491 [취미로 하는 IT보안]