ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Snort] Rule 명령어
    Coding/개발 2020. 6. 5. 05:29

     

     

     

    오늘은 snort rule에 관한 명령어를 정리해 볼려고 한다!

    나중에 rule을 만들때 참고하면 좋을꺼 같다^^


     

    < Rule 구조 >

     

    # Action

    명령어 의미
    alert 로그 기록 & 경고 알림
    log 로그 기록
    pass 패킷 무시
    drop 패킷 차단 & 로그 기록 (IPS기능)
    reject 패킷 차단 & 로그 기록
    sdrop 패킷 차단 (로그 기록 X)

     

    # Protocol

    명령어 의미
    tcp TCP만 탐지
    udp UDP만 탐지
    ip IP 전체 탐지
    icmp ICMP 메시지 탐지
    any 전체 탐지

     

    # SrcIP/DstIP

    명령어 의미
    $HOME_NET 내부 IP 주소
    $EXITERNAL_NET 외부 IP 주소
    $XXX_SERVERS 특정 서버 IP 주소

     

    # SrcPort/DstPort

    명령어 의미
    80 80번 포트
    !80 80번 포트를 제외한 나머지 포트
    1:500 1~500번 포트
    any 모든 포트

     

    # -> 방향

    방향 의미
    -> 요청패킷 탐지
    <- 응답패킷 탐지
    <> 요청/응답 둘다 탐지

     

    # Option

    명령어 의미 사용 예시
    msg 경고 이벤트 메세지 mag:"access";
    content 문자/숫자 탐지 content:"Host: ";
    sid rule을 식별
    (구별하기 위한 방법으로 사용
    100미만은 예약이 되어있음)
    sid:10001;
    rev rule 버전
    (원본 규칙이 수정됐을 경우 +1)
    rev:1;
    flow 흐름 옵션 flow:established,to_server;

     

    # flow: + 

    명령어 의미
    to_server (=from_client) 클라이언트 -> 서버 패킷일때 활성화
    to_client (=from_server) 서버 -> 클라이언트 패킷일때 활성화
    established 세션에 연결된 패킷 매칭

     

    내가 필요한 것만 정리를 해보았고 다양한 명령어를 알고 싶다면 (정리 짱짱)

    https://net123.tistory.com/579

     

    Snort - 03. Snort Rule 구조

    Snort - 03. Snort Rule 구조 1. Snort Rule Signiture  - 스노트는 다음과 같은 룰 헤더와 옵션으로 구성된다. Snort 룰 시그니처 구조 Action 유형  명령어 내용  alert 경고 발생 및 로그 기록  log   ..

    net123.tistory.com


    < 실습 >

     

     http인 패킷 로그 확인 rule 

    alert tcp any any -> any 80 (msg:"tistory.com access"; content:"GET /"; content:"Host: "; content:"tistory.com"; sid:10001; rev:1;)

     rule header 명령어 의미 

    : tcp의 모든 ip에서 80번 포트를 사용하는 패킷 (80=http)

     option 명령어 의미 

    : "GET", "Host: ", "tistory.com" 문자열을 탐지하면 "tistory.com access" 메시지 출력 / sid=10001, rule 버전 1(1번 수정)

     

    https인 패킷 로그 확인 rule

    alert tcp any any -> any 443 (msg:"naver.com access"; flow:to_server, established; content:"naver.com"; sid:10002; rev:1;)

     rule header 명령어 의미 

    : tcp의 모든 ip에서 443포트를 사용하는 패킷 (443=https)

     Option 명령어 의미 

    : 패킷 흐름이 서버로 가는 패킷이고(Clinet Hello[tls패킷]), 그 세션에 연결된 패킷이며 "naver.com" 문자열을 탐지하면 "naver.com  access" 메시지 출력 / sid=10002, rule 버전 1(1번 수정)

     

    < 실행 모습 >

    suricata 실행 : suricata -s test.rules -i eth0

    log파일 실행 : tail -f fast파일 경로/fats.log

    [http] tistory.com 로그 확인

    [https] naver.com 로그 확인

     


     

    rule을 만들어봤는데 http로 분명 로그가 잡혔는데 다시 하면 https로 해야 잡힌다.

    정말 알다가도 모르겠어..

    왜그러는거야ㅠㅠ


    'Coding > 개발' 카테고리의 다른 글

    [C언어] ARP 패킷 스니핑 프로그램  (0) 2020.03.09

    댓글

Designed by Tistory.