Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
관리 메뉴

Dev & Hack

7. Snort 설치와 룰 제작 실습 본문

Academy/융합보안지원센터 3기

7. Snort 설치와 룰 제작 실습

STEELJIN 2017. 8. 25. 17:37

Snort란?

오픈소스 IDS/ IPS, 네트워크 침투를 탐지하고 방지하는 데 사용된다.


설치




설치 명령 실행

설치 완료 후 버전 확인

스노트 설정


설정파일 확인

local.rules 파일에 룰을 정의하면 내가 만드는 룰로 패킷을 거를 수 있다.



실행 옵션

-A : 얼럿 모드, fast, full, none 중 하나로 지정

-a : arp 패킷을 프린트

-b : 패킷을 tcpdump 파일로 저장

-c : 지정 파일을 룰로 사용

-C : 패킷의 사용자 데이터 부분을 문자로 프린트

-D : snort를 데몬으로 실행 - 터미널을 종료해도 백그라운드에서 실행됨

-i : 지정된 네트워크 인터페이스를 모니터링

-q : 조용히 실행

-V : 버전 정보 표시

-v : sniffing모드로 동작

-d : 모든 네트워크 계층 포함

-e : 데이터링크 계층 헤더 포함


탐지 되는 지 확인해보자.


윈도우에서는 ping을 nmap으로는 포트스캐닝을 해보았다.




탐지 결과가 잡히는 것을 확인할 수 있다.

 

다음으로 로컬룰을 만들어보자.


포트스캔 탐지 룰을 제작

룰은 헤더와 옵션으로 구성된다.


룰 헤더 

Alert : 알람 발생 시키고 로그 남김

Log : 로그남김

Pass : 무시

Activate : 알람 발생, 대응하는 Dynamic Action활성화

Drop : Iptables를 통해 패킷 차단 및 로그 남김

sdrop : Iptables를 통해 패킷 차단 및 로그 남김

rejet : Drop과 동일 하고 메시지를 남김


룰 옵션

msg :Alert, log 출력시 이벤트명으로 사용

content : 패킷의 페이로드 내부를 검색하는 문자열

offset : Content에서 검색할 문자열 offset

nocase :대소문자 구별 X

rev : 룰 수정 횟수

sid : 룰 식별자

- 100미안 : 예약

- 100~100만사이 : www.snort.org에서 배포하는 룰

100만초과 : 사용자 정의 룰 

threshold : 동일한 특정 패킷이 설정한 시간안에 일정 수가 발견되면 경고 알림 출력, BruteForce 공격 검출시 유용

threshold:type [limit . threshold, both], track [by_src, bt_dst], count [number], seconds [time]

limit : count 하는 동안 x 번째 트래픽 까지 탐지

threshold : 횟수마다 계속 탐지

both : count 하는 동안 횟수만큼 트래픽이 탐지되면 1번만 알림

by_src : 출발지 패킷

by_dst : 도착지 패킷


alert tcp any any -> 192.168.52.128 any (msg:"NMAP -sS  option Detect"; flags:S;threshold:type both, track by_src, count 50, seconds 5; sid:10000001;)

모든 대역에서 외부로 나가는 패킷중에 192.168.52.128 패킷의 모든 포트를 검출하고 검출하면 NMAP -sS option Detect 메시지를 띄우고 5초간 50번의 횟수인 출발지 패킷을 탐지하라는 뜻.


로컬룰 을 적용하여 실행해보자.


nmap을 이용하여 스캔을 하면


해당 룰 대로 메시지를 잘 띄우는 것을 확인 할 수 있다.



Comments