출처
snort.org
base.secureideas.net
adodb.org
ehey0214.tistory.com/51
Snort ?
Snort는 네트워크 상에서 발생한 패킷을 관찰하여 Snort 규칙으로 작성된 패턴(사용자가 작성한 특정 문자열)이 탐지되면
모니터에 보여주는 오픈소스 기반의 패킷 모니터링 및 탐지 툴이라고 생각하시면 됩니다.
이 툴을 기반으로 만든 대표적인 장비는 IDS/IPS, TMS가 있으며 IDS와TMS는 탐지만 IPS는 탐지 및 차단 기능이 있습니다.
IDS/IPS는 탐지 시 횟수 당 최대 84byte의 패킷을 보여주고 TMS는 1524byte의 패킷을 보여줍니다.
TMS가 IDS/IPS보다 패킷의 탐지 범위가 넓죠 그렇지만 가장 큰 단점이 있습니다.
예를 들어 보안 관리자가 웹서버의 공격을 탐지하기 위해 외부IP에서 내부망 IP로 PORT는 80으로 접근하는 snort 패턴을 내부망 IP대역을 지정하지 않을 경우 1번 처럼 외부IP -> 내부IP port 80으로 접근하는 이벤트를 탐지하고 2번 처럼 내부IP에서 외부IP port 80으로 접근하는 이벤트도 탐지합니다. 이처럼 TMS는 외부에서 내부로 들어오는 패킷만 보고 싶은면 패턴마다 내부망 IP 대역을 수동으로 지정해야하는 큰 단점이 있습니다.
SNORT 설치
1. 프로그램 설치 환경
VM이 설치된 XP 또는 Windos7 환경에서 구현
APMSETUP 7, Snort_2_9_2_3_Installer.exe
, WinPcap 설치
2. DB 설정
cd c:\Snort\schemas // cmd 창에서 입력 exit |
3. SNORT 설정
C:\Snort\etc\snort.conf 파일을 아래와 같이 수정한다. (파란 글씨는 수정/추가 빨간 글씨는 삭제 입니다.)
ipvar -> var로 전체 수정 -------------------------------------------------------------------------------------------------------------------------------------------------- # Setup the network addresses you are protecting var HOME_NET 192.168.X.0/24 // 스노트 설치 PC의 IP대역 C클래스로 설정 -------------------------------------------------------------------------------------------------------------------------------------------------- var RULE_PATH C:\Snort\rules // 절대 경로로 변경 -------------------------------------------------------------------------------------------------------------------------------------------------- # Set the absolute path appropriately var WHITE_LIST_PATH c:\snort\rules var BLACK_LIST_PATH c:\snort\rules -------------------------------------------------------------------------------------------------------------------------------------------------- # path to dynamic preprocessor libraries dynamicpreprocessor directory c:\snort\lib\snort_dynamicpreprocessor # path to base preprocessor engine # path to dynamic rules libraries -------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------- # Inline packet normalization. For more information, see README.normalize -------------------------------------------------------------------------------------------------------------------------------------------------- # database -------------------------------------------------------------------------------------------------------------------------------------------------- # site specific rules include $RULE_PATH/attack-responses.rules include $RULE_PATH\user_defind.rules // C:\Snort\rules\user_defind.rules 빈파일을 생성한다. |
4. BASE 설정
base-1.4.5base-1.4.5.tar.gz 압축해제 후 디렉토리 이름을 base로 변경하고 C:\APM_Setup\htdocs\ 이하 디렉토리에 저장
base\includes\base_action.inc.php 파일에서 아래 두 줄 앞에 // 주석을 붙여준다.
// include_once("Mail.php"); // r.rioux added for PEAR::Mail |
5. BASE 설치
http://localhost/base 에 접속하여 BASE를 설치하고 아래 항목 부분만 입력하고 Countinue
Path to ADODB : C:\APM_Setup\htdocs\adodb5 // php는 표준화된 DB 접근함수를 가지고 있지않아 ADODB 라이브러리 필요함 ※ adodb5adodb-5.20.9.zip 압축해제 후 C:\APM_Setup\htdocs\adodb5에 저장 Database Name : snort Databse Host : localhost Database User Name : root Database Password : apmsetup
"Create BASE AG" 누르고 다음 화면에서 "Now continue to step 5" 눌러 BASE 설치를 완료한다.
6. SNORT 룰 입력
user_defind.rules 파일을 열어서 아래와 같이 입력하고 저장
7. SNORT 실행
cd c:\snort\bin // cmd 창에서 입력 |
8. SNORT 테스트
같은 C클래스로 설정된 다른 PC에서 SNORT가 설치된 IP로 http://192.168.X.X/test 입력하여 룰 테스트를 진행함
SORT가 설치된 PC에서 http://localhost/base 로 접속하여 Alerts 누름
이벤트 ID #0-(1-1) 누름
이벤트 탐지 확인