Snort 설치 및 설정

2023. 10. 9. 10:19·리팩토링

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. 주요 수정 사항

  1. 모든 ipvar, portvar → var로 일괄 변경
  2. 45번 줄에 HOME_NET 등 네트워크 정보 설정
    • 예: var HOME_NET 192.168.43.0/24
  3. 모든 경로를 Windows 경로로 변경 (../rules → C:\snort\rules)
  4. 동적 룰 폴더(C:\snort\lib\Snort_dynamicrules) 생성
  5. 사용하지 않는 기능(265~269줄)은 주석 처리
  6. white_list.rules, black_list.rules는 빈 파일로 생성
  7. 로그 설정 추가:
  8.  
    output database: alert, mysql, user=root password=비밀번호 dbname=snort host=localhost output database: log, mysql, user=root password=비밀번호 dbname=snort host=localhost
  9. metadata, reference data, rules 경로도 Windows 형식으로 수정
  10. 사용할 룰 파일은 직접 생성 후 snort.conf에 명시

8. Snort IDS 테스트

  1. 룰 파일에 간단한 ICMP 탐지 룰 작성
  2. Snort 라이브러리 위치로 이동: cd C:\snort\bin
  3. 네트워크 인터페이스 번호 확인:
  4. snort.exe -W
  5. 설정 검증:→ Snort successfully validated 메시지 확인
  6. snort.exe -T -c C:\snort\etc\snort.conf -l C:\snort\log -i 1
  7. Snort 실행:
  8. snort.exe -c C:\snort\etc\snort.conf -l C:\snort\log -i 1
  9. 다른 가상환경에서 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
'리팩토링' 카테고리의 다른 글
  • 악성코드 샘플 분석 실습3
  • Snort 개요
  • 악성코드 샘플 분석 실습2
  • 악성코드 샘플 분석 실습
야채호빵o
야채호빵o
  • 야채호빵o
    정보보안 공부노트
    야채호빵o
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 리팩토링
      • 침해대응
      • AWS 클라우드
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
야채호빵o
Snort 설치 및 설정
상단으로

티스토리툴바