Snort_2_9_2_3_Installer.exe
Snort 2.9.2.3 버전이 자체적으로 schemas 파일을 제공해주는 마지막 버전으로
해당 버전으로 설치하고자 하며 Snort 홈페이지에서는 실행 파일을 다운로드할 수 없음.
위 그림처럼 선택 후 진행합니다.
압축을 해제한 후 C:\xampp\htdocs 위치에 base 라는 폴더 이름으로 넣어둡니다.
압축을 해제한 후 C:\xampp\htdocs 위치에 adodb5 라는 폴더 이름으로 넣어둡니다.
XAMPP 설치 후에 MySQL 초기 비밀번호가 설정되어 있지 않으므로 아래와 같이 명령어를 입력하여 비밀번호를 설정합니다.
1) mysql 라이브러리 파일 위치로 이동 cd C:\xampp\mysql\bin
2) mysql -u root -p mysql 입력 후 비밀번호 없이 엔터 치고 접속함
3) 비밀번호 설정 (특수문자 없이 평문으로 입력할 것!)
update user set password = password('비밀번호') where user = 'root';
4)권한테이블 업데이트
flush privileges;
5) 접속 종료
Quit
1) mysql 라이브러리 파일 위치로 이동
cd C:\xampp\mysql\bin
2) snort 데이터베이스 생성
mysqladmin -u root -p create snort
3) mysql 전용 schemas 적용
mysql -D snort -u root -p < create_mysql
* 여기서 create_mysql 파일은 C:\Snort\schemas 폴더에 위치해 있으며 C:\xampp\mysql\bin 폴더에 복사해서 넣어둘 것
5)mysql 콘솔 로그인
mysql -u root -p
6) snort 데이터베이스 선택
use snort;
7) snort 데이터베이스 안에 테이블 확인
show tables;
8) 테이블이 정상적으로 적용되었는지 확인할 것
base_action.inc.php 파일에서 빨간색 박스 부분은 Report 부분을 Mail 로 보여주는 소스 코드인데 파일이 없어서 오류가 나므로 2줄을 주석 처리한다.(해당 파일은 C:\xampp\htdocs\base\includes 폴더에 위치해 있다.)
// 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 입력하여 BASE 설정을 시작하고 하단의 Continue 버튼 클릭한다.
- 언어는 한글이 안되므로 English 로 선택한다.
- Path to ADODB 설정은 앞서 설치한 ADOdb 의 경로를 적어준다.
- Pick a Database type 설정은 MySQL 를 선택한다.
- Database Name 설정은 앞서 생성한 DB 명을 넣어준다.
- Database Host 설정은 localhost 로 기재한다.
- Database User Name 와 Database Password 설정은 MySQL 계정 정보를 입력한다.
- Archive Database 관련 설정은 할 필요 없다.
- Use Authentication System 옵션을 체크한다. (인증 시스템 사용 여부)
- Create BASE AG 버튼 클릭하면 미리 Table 을 등록하였기에 DOME 이 표시된다.
- Step 3 에서 설정한 BASE 계정 정보를 입력하여 로그인한다.
- 아직 Snort 탐지 로그가 없는 관계로 결과값이 없다.
snort.conf 파일은 C:\Snort\etc 폴더에 위치해 있으며 notepad++ 프로그램으로 수정한다.
위 그림과 같이, invar 와 portvar 문자열을 전부 var 문자열로 수정한다.
위 그림과 같이, 보호할 네트워크 정보, 외부 네트워크 정보, DNS 서버 정보 등 필요한 정보에 대해서 입력한다.
(ex. 보호할 네트워크 정보에서 사설망 대역 또는 자신의 IP만 입력)
-> 두 번째로 만든 아이피 172.30.1.131 입력
다음으로 룰 경로를 리눅스 형식에서 윈도우 형식으로 변경한다.
참고로 so_rules 폴더는 없는 관계로 생성할 것! (C:\Snort\so_rules)
동적 로드 라이브러리 경로를 리눅스 형식에서 윈도우 형식으로 변경한다.
참고로 snort_dynamicrules 폴더는 없는 관계로 생성할 것! (C:\Snort\lib\snort_dynamicrules)
IDS 모드에서는 사용할 수 없는 관계로 인라인 패킷 정규화 기능을 중지시킨다.
블랙리스트와 화이트 리스트 경로를 리눅스 형식에서 윈도우 형식으로 변경한다. (/ -> \ 수정)
참고로 white_list.rules 과 black_list.rules 파일을 빈 파일로 생성해서 C:\Snort 폴더에 넣어둘 것.
DB 정보를 입력한다.
password 부분에서 특수문자가 들어가 있을 경우 snort.conf 파일 검증에서 Error 가 발생하므로 평문으로 MySQL password 를 설정해야 함.
metadata reference data 경로를 입력한다.
마지막으로 사용할 룰 파일 경로를 설정한다.
IDS를 연구용으로 테스트하고자 디폴트로 설정되어 있는 룰 설정(Step #7: Customize your rule set 옵션)을 전체 주석 처리함.
사용할 룰 파일명을 입력한 후 위치에 C:\Snort\rules 폴더에 해당 룰 파일명으로 파일을 생성한다.
(ex. C:\Snort\rules\kook_snort.rules)
위 그림과 같이 파일을 만들어주는 내용은 아래와 같다.
위 그림처럼 룰 파일에서 룰을 만들어준다.
참고로 Snort 는 sid 옵션을 입력하지 않으면 에러남.
여기서 sid 는 Snort 규칙을 구분하는 식별자임. Snort 의 모든 규칙은 식별 번호를 가지고 있으며 리포팅 프로그램에서 규칙을 구분하는데 사용되기도 함.
1000001 부터 사용자가 정의한 규칙에 대해서 식별자를 사용할 수 있음.
다음으로 NIC 번호 확인할껀데 아래와 같이 명령어를 입력한다.
Snort 라이브러리 파일 위치로 이동
cd C:\Snort\bin
NIC 번호 확인 명령어를 입력함. (사용할 NIC 번호가 Index 란에 표시됨)
-W 옵션은 네트워크 인터페이스 확인하는 옵션임.
snort.exe –W
-> 여기서 NIC는 1번을 사용한다
snort.conf 오류 확인
: 아래와 같이 명령어를 입력한다.
snort.exe -T -c c:\snort\etc\snort.conf -l c:\snort\log -i 1
(맨 마지막 숫자는 NIC 카드 번호이다.)
“snort successfully validated the configuration!” 문자열이 나오면 오류 없이 설정이 완료된 것이다.
1) Snort 라이브러리 파일 위치로 이동한 후에 실행해야 에러가 나지 않는다.
cd C:\Snort\bin
2) 스노트 실행 명령어
c:\snort\etc\snort.conf -l c:\snort\log -i 1
내 아이피 주소로 ping을 보내본다. (ping 172.30.1.131)
정상적으로 진행됨을 확인함
[리팩토링_20-23주차] 악성코드 분석 및 스노트 탐지패턴보고서 (0) | 2024.01.17 |
---|---|
[리팩토링_18주차] Snort (0) | 2024.01.17 |
[리팩토링_15~17주차] 악성코드 분석_dgrep.exe (0) | 2024.01.17 |
[리팩토링_13.14주차] 악성코드 샘플분석_bton02setup.exe (0) | 2024.01.17 |
[리팩토링_12주차] 환경설정 및 샘플수집 (0) | 2023.08.15 |