Snort IDS 설치 및 설정 과정 (Windows 환경 기준)
Windows 7 가상환경에서 Snort IDS를 설치하고 설정하는 전 과정을 정리했습니다.
침입 탐지 시스템을 구성하고, 로그를 웹에서 분석할 수 있도록 Base까지 연동합니다.
1. Snort & WinPcap 설치
1-1. WinPcap 설치
Snort가 네트워크 패킷을 수집하기 위해 필요한 라이브러리입니다.
https://www.winpcap.org에서 WinPcap 설치
1-2. Snort 설치
- Snort 2.9.2.3 버전 사용 (스키마 파일 포함된 마지막 버전)
- 설치 시 'I do not plan to log to a database' 옵션 선택
- 설치 후 C:\Snort 경로에 설치됨
2. XAMPP 설치
2-1. XAMPP란?
Apache, MySQL, PHP를 한 번에 설치할 수 있는 통합 웹서버 패키지입니다.
2-2. 설치 방법
- 기본 설치 후, 서비스 관련 체크박스를 모두 선택하고 설치 진행
- 설치 후 C:\xampp 경로에 웹서버 구성됨
3. BASE 설치
3-1. BASE란?
Snort 로그를 웹에서 분석하고 시각화할 수 있는 PHP 기반 웹 인터페이스입니다.
3-2. 설치 방법
- BASE 파일 다운로드 후 압축 해제
- C:\xampp\htdocs\base 경로에 복사하여 저장
4. Adodb5 설치
4-1. Adodb란?
PHP에서 데이터베이스에 접근하기 위한 클래스 라이브러리입니다.
4-2. 설치 방법
- Adodb5 파일 다운로드 후 압축 해제
- C:\xampp\htdocs\adodb5 경로에 저장
5. MySQL 설정 및 Snort DB 연동
5-1. MySQL root 비밀번호 설정
cd C:\xampp\mysql\bin mysql -u root -p mysql
→ 비밀번호 없이 접속한 후, 아래 명령어로 비밀번호 설정
update user set password = password('비밀번호') where user = 'root'; flush privileges;
※ 특수문자 사용 시 Snort.conf에서 오류 발생 가능
5-2. Snort DB 및 스키마 적용
- C:\Snort\schema 폴더의 create_mysql 파일을 C:\xampp\mysql\bin에 복사
- Snort DB 생성 및 스키마 적용: mysqladmin -u root -p create snort mysql -D snort -u root -p < create_mysql
- 테이블 확인: mysql -u root -p use snort; show tables;
6. BASE 설정
6-1. BASE PHP 파일 수정
C:\xampp\htdocs\base\includes\base_action.inc.php 파일에서
29, 30번 줄을 주석 처리 (메일 전송 오류 방지)
6-2. 웹에서 BASE 설정
- 브라우저 주소창에 http://localhost/base 입력
- 언어는 영어 선택
- ADODB 경로: C:\xampp\htdocs\adodb5
- DB 설정:
- DB명: snort
- 사용자: root
- 비밀번호: 앞서 설정한 root 비밀번호
- 호스트: localhost
- 인증 시스템 사용 체크 후 로그인 계정 생성
- 마지막으로 "Create BASE AG" 클릭 → DONE 표시 확인
7. Snort 설정 (snort.conf 편집)
7-1. 편집 도구
Notepad++ 설치 추천 (경로 및 문법 강조 편리)
7-2. 주요 수정 사항
- 모든 ipvar, portvar → var로 일괄 변경
- 45번 줄에 HOME_NET 등 네트워크 정보 설정
- 예: var HOME_NET 192.168.43.0/24
- 모든 경로를 Windows 경로로 변경 (../rules → C:\snort\rules)
- 동적 룰 폴더(C:\snort\lib\Snort_dynamicrules) 생성
- 사용하지 않는 기능(265~269줄)은 주석 처리
- white_list.rules, black_list.rules는 빈 파일로 생성
- 로그 설정 추가:
-
output database: alert, mysql, user=root password=비밀번호 dbname=snort host=localhost output database: log, mysql, user=root password=비밀번호 dbname=snort host=localhost
- metadata, reference data, rules 경로도 Windows 형식으로 수정
- 사용할 룰 파일은 직접 생성 후 snort.conf에 명시
8. Snort IDS 테스트
- 룰 파일에 간단한 ICMP 탐지 룰 작성
- Snort 라이브러리 위치로 이동: cd C:\snort\bin
- 네트워크 인터페이스 번호 확인:
-
snort.exe -W
- 설정 검증:→ Snort successfully validated 메시지 확인
-
snort.exe -T -c C:\snort\etc\snort.conf -l C:\snort\log -i 1
- Snort 실행:
-
snort.exe -c C:\snort\etc\snort.conf -l C:\snort\log -i 1
- 다른 가상환경에서 Ping 전송 → ICMP 탐지 로그 확인
✅ 마무리
이 과정을 통해 Snort IDS를 설치하고
웹 인터페이스(Base)를 통해 실시간 탐지 결과를 확인할 수 있는 환경을 구축할 수 있습니다.
앞으로는 룰 작성, 경고 메일 설정, 외부 로그 연동 등
보안 정책을 더 정교하게 구성해볼 수 있습니다.
'리팩토링' 카테고리의 다른 글
악성코드 샘플 분석 실습3 (0) | 2023.10.09 |
---|---|
Snort 개요 (0) | 2023.10.09 |
악성코드 샘플 분석 실습2 (0) | 2023.10.09 |
악성코드 샘플 분석 실습 (0) | 2023.10.09 |
샘플 분석 환경 구성 (0) | 2023.03.28 |