Dev & Hack
7. Snort 설치와 룰 제작 실습 본문
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을 이용하여 스캔을 하면
해당 룰 대로 메시지를 잘 띄우는 것을 확인 할 수 있다.
'Academy > 융합보안지원센터 3기' 카테고리의 다른 글
bWAPP - SQL injection (GET/Search) -level : low (0) | 2017.09.21 |
---|---|
6. 시나리오 기반 모의침투 실습 2 (Drive By Download) (0) | 2017.08.25 |
5. 시나리오 기반 모의침투 실습 1 (ARP spoofing, DNS spoofing) (0) | 2017.08.25 |
4. Veil evasion으로 AV우회 페이로드 제작 및 msfconsole을 이용한 익스플로잇 (0) | 2017.08.25 |
3. nmap 사용법 및 스크립트 사용 (0) | 2017.08.24 |