Snort

한성공·2023년 6월 14일
0
post-thumbnail

스노트 개요

  • 네트워크 상 실시간 트래픽 분석 및 패킷 로깅을 수행할 수 있는 오픈소스 IDS
  • IDS 중 가장 널리 사용됨
  • 윈도우, 리눅스 버전이 있음

스노트 기능

  • 패킷 스티퍼(Packet Sniffer) : 네트워크 상의 패킷 스니핑
  • 패킷 로거(Packet Logger) : 모니터링한 패킷을 저장하고 로그에 로깅
  • 네트워크 침입탐지(IDS) : 네트워크 트래픽 분석 후 침입탐지

스노트 룰

룰 헤더 부분과 룰 옵션으로 구성됨

룰 헤더

ActionProtocolSrc IPSrc PORTDirectionDst IPDst PORT(Rule option)
탐지 후 행동들탐지 프로토콜출발 IP출발 PORT탐지방향지정목적 IP목적 포트
  • Action
    • alert : 경고를 발생시킨다.
    • log : 로그를 기록한다.
    • pass : 패킷을 무시한다.
    • active : alert를 발생시키고 대응하는 dynamic을 유효화 한다.
    • dynamic : active 에 의해 유효화된 경우 한쪽의 패킷을 기록한다.
    • drop : 패킷을 차단하고 기록한다.
  • Protocol
    • TCP : TCP 탐지
    • UDP : UDP 탐지
    • ICMP : ICMP 탐지
    • IP : IP 탐지
  • Src IP & PORT
    • any : 모든 IP & 포트
    • port : 특정 port 번호
    • port:port : port 번호 ~ port 번호
    • :port : port 번호 이하 모든 port
    • port: : port 번호 이상 모든 port
    • 예시 192.168.0.1 80 192.168.0.0/24 443 any 80 192.168.0.1 any any any $HOME_NET 과 같이 snort.conf 에서 지정된 변수 참조 가능
  • **Direction**
    • -> : 출발지 → 목적지 패킷 탐지
    • <> : 출발지 ↔ 목적지 사이 모든 패킷 탐지

룰 바디

  • 패킷 탐지 사용자 설정

  • 세미콜론(;)을 이용하여 옵션과 옵션을 구분

  • 일반 옵션 설정

    • msg : alert 발생 시 이벤트 명
    • sid : snort 룰 ID 99이하 : 시스템 예약 ID 100 ~ 1000000 이하 : snort 자체지정 id 1000001 이상 : 사용자 정의 sid
    • rev : 룰 수정횟수 수정 시 숫자 증가
  • 페이로드 범위 설정

    • dsize : dsize:<바이트, dsize:바이트<>바이트 와 같이 상한선, 하한선, 범위 지정 가능
    • content ****: 문자, 바이너리로 패턴 탐지 content: "문자" content: | 00 01 0A AA | content: "| 90 90 90 | /bin/sh"
    • offset : 검색을 시작할 byte수를 지정
    • depth : offset부터 시작하여 검색할 byte수를 지정
    • nocase : 대소문 자를 구별하지 않음
    • flags : TCP 제어 플래그를 지정한다. F, S, FA, FSA 등으로 지정 가능
    • pcre : 정규식 사용
    • threshold : 패킷의 발생량을 기반으로 탐지한다.
      • 아직까지 흔히 사용 되고 있지만 공식적으론 사용을 권장하지 않는다.비슷한 기능을 하진 detection_filter 사용이 권장된다.
      • type limit(로그발생기준: 임계값), threshold(로그발생기준: 패킷량), both(로그발생기준: IP)
      • track by_src , by_dst
      • count n : number events used by the thresholding
      • seconds m : time period over which count is accrued.
profile
Successhan

0개의 댓글