Snort / 메모

Snort

  • Snort는 오픈 소스 침입 차단 시스템(IPS, Intrusion Prevention System)이다.
  • 홈페이지 : https://www.snort.org/
  • 주요 기능 : packet sniffer, packet logger, network intrusion prevention system

Snort can be deployed inline to stop these packets, as well. Snort has three primary uses: As a packet sniffer like tcpdump, as a packet logger — which is useful for network traffic debugging, or it can be used as a full-blown network intrusion prevention system. Snort can be downloaded and configured for personal and business use alike.

Snort Rule

구조

Action / Protocol / Source IP / Source Port / Direction / Destination IP / Destination Port / Option

Action

  • alert : 경고 생성 / 로그 기록
  • log : 로그 기록
  • pass : 무시
  • drop : 차단 / 로그 기록
  • reject : 차단 / 로그 기록 / TCP라면 TCP 리셋 전송, UDP ICMP port unreachable message 전송

Protocol

  • tcp
  • udp
  • icmp
  • ip

IP

  • 192.168.0.10/32
  • 192.168.0.0/24
  • [192.168.0.10/32, 192.168.0.11/32]
  • !192.168.0.10/32
  • any

Port

  • 80
  • !80
  • 1:200
  • !1:200
  • any

Direction

  • -> : 요청 패킷 탐지
  • <> : 요청, 응답 패킷 둘 다 탐지

Option

  • General
  • Payload Detection
  • Non-Payload Detection
  • Post-Detection

Option

General

  • msg
    The msg keyword tells the logging and alerting engine the message to print with the packet dump or alert.
  • reference
    The reference keyword allows rules to include references to external attack identification systems.
  • gid
    The gid keyword (generator id) is used to identify what part of Snort generates the event when a particular rule fires.
  • sid
    규칙 식별자
  • rev
    규칙 리비전
  • classtype
    규칙 분류
  • priority
    우선 순위
  • metadata
    The metadata keyword allows a rule writer to embed additional information about the rule, typically in a key-value format.

Payload Detection

  • content
    검색할 문자열
    alert tcp any any -> any 139 (content:"|5c 00|P|00|I|00|P|00|E|00 5c|";)

  • protected_content

  • hash

  • length

  • nocase
    대소문자를 무시한다.
    alert tcp any any -> any 21 (msg:"FTP ROOT"; content:"USER root"; nocase;)

  • rawbytes
    가공 전의 패킷 데이터에서 규칙을 매칭할 때 사용
    alert tcp any any -> any 21 (msg:"Telnet NOP"; content:"|FF F1|"; rawbytes;)

  • depth
    지정 바이트까지 탐지

  • offset
    지정 바이트 건너뛰고 탐지
    alert tcp any any -> any 80 (content:"cgi-bin/phf"; offset:4; depth:20;)

  • distance
    이전 content 패턴에 매치된 경우, 매치된 이후 바이트부터 몇 바이트 떨어진 위치에서 다음 content를 검사할 것인지 지정
    alert tcp any any -> any any (content:"ABC"; content:"DEF"; distance:1;)

  • within
    이전 content 패턴에 매치된 경우, distance부터 몇 바이트 범위 내에서 다음 content를 검사할 것인지를 지정
    alert tcp any any -> any any (content:"ABC"; content:"EFG"; within:10;)

  • http_client_body

  • http_cookie

  • http_raw_cookie

  • http_header

  • http_raw_header

  • http_method

  • http_uri

  • http_raw_uri

  • http_stat_code

  • http_stat_msg

  • http_encode

  • fast_pattern

  • uricontent

  • urilen

  • isdataat
    alert tcp any any -> any 111 (content:"PASS"; isdataat:50,relative; content:!"|0a|"; within:50;)

  • pcre

  • pkt_data

  • file_data

  • base64_decode

  • base64_data

  • byte_test

  • byte_jump

  • byte_extract

  • byte_math

  • ftpbounce

  • asn1

  • cvs

  • dce_iface

  • dce_opnum

  • dce_stub_data

  • sip_method

  • sip_stat_code

  • sip_header

  • sip_body

  • gtp_type

  • gtp_info

  • gtp_version

  • ssl_version

  • ssl_state

Non-Payload Detection

  • fragoffset
  • ttl
  • tos
  • id
  • ipopts
  • fragbits
  • dsize
  • flags
  • flow
  • flowbits
  • seq
  • ack
  • window
  • itype
  • icode
  • icmp_id
  • icmp_seq
  • rpc
  • ip_proto
  • sameip
  • stream_reassemble
  • stream_size

Post-Detection

  • logto
  • session
  • resp
    alert tcp any any -> any 80 (content:"a"; resp:<resp_t>; sid:1;)
    resp_t : rst_snd, rst_rcv, rst_all, reset_source, reset_dest, reset_both, icmp_net, icmp_host, icmp_port, icmp_all
  • react
  • tag
  • replace
  • detection_filter

예제

content 검출

  • content:"456"
    1234567890abcdef
  • content:456";depth:7
    1234567890abcdef
  • content:"456";offset:2;depth:4
    1234567890abcdef
  • content:"123";content:"789";distance:3
    1234567890abcdef
  • content:"123";content:"789";distance:3;within:5
    1234567890abcdef
  • content:"34";offset:2;depth:5;content:"0ab";distance:3;within:5
    1234567890abcdef

기타

Snort Rule Creator

 

같은 카테고리의 다른 글
하이패스 사용 내역 확인하고 출력하는 방법

하이패스 사용 내역 확인하고 출력하는 방법

현대카드의 하이패스를 사용하고 있는데 카드 명세서에는 금액만 찍힌다. 그래서 언제 어디에서 사용한 것인지 알 수가 없다. 정확히 언제 어디서 사용한 것인지 알아야 한다면, 그리고 건별 영수증이 필요하다면 고속도로 통행료 홈페이지로 가자. 원하는 정보를 얻을 수 있다. 회원 가입을 하고... 카드 등록을 한다. 에서... 조건을 지정하여 내역을 조회할 수 있다. 영수증이 필요하면 선택을 한 후 ...

닷네임코리아에서 도메인 인증코드 발급 받는 방법

닷네임코리아에서 도메인 인증코드 발급 받는 방법

도메인은 어디에서 구입하나 별 차이가 없습니다. 도메인 판매처에서 여러 가지 부가서비스를 제공하고 있지만 대동소이해서, 업체가 아주 이상한 곳이 아니라면 저렴한 곳에서 구입하면 됩니다. 그런 이유로 그동안 닷네임코리아를 이용했었습니다. 등록 비용도 저렴했고, 기간 연장 비용도 저렴했고, 이벤트도 자주 했었습니다. 그런데, 요즘은 달라졌습니다. 닷네임코리아의 가격이 좀 올라갔고, 더 저렴하게 공급하는 업체가 많아졌습니다. 닷네임코리아에서 웹호스팅 ...

DNS / DMARC 레코드의 용도와 설정하는 방법

DNS / DMARC 레코드의 용도와 설정하는 방법

DMARC란? DMARC는 Domain-based Message Authentication Reporting and Conformance의 약자이다. DNS 레코드를 이용하여 메일이 해당 도메인에서 정상적으로 발송되었음을 증명하는 방법에는 SPF, DKIM이 있다. SPF와 DKIM 테스트를 통과하지 못한 메일에 대해서 어떻게 처리했으면 하는지를 DMARC 레코드로 수신 메일 서버에 알려준다. DMARC 레코드에 대한 자세한 내용은 RFC 7489 문서에 있다. DMARC 레코드 설정하는 방법 DMARC 레코드는 TXT 레코드로, 호스트는 ...

Creative Cloud / 파일 동기화 / 중지하는 방법

Creative Cloud / 파일 동기화 / 중지하는 방법

Adobe CC를 설치하면 파일 탐색기에 Creative Cloud Files라는 폴더가 생깁니다. 그리고 클라우드에 있는 파일을 동기화하면서 파일들을 다운로드합니다. 그런데 동기화하는 동안은 PC의 자원을 많이 사용해서 다른 작업을 하는 게 힘듭니다. 그런 경우 동기화를 중지하세요. 그리고 한가한 시간에 다시 동기화를 시작하세요. 동기화를 중지하려면 Creative Cloud Desktop을 엽니다. 그리고 을 클릭합니다. 을 클릭한 후... 을 ...

경기도교육청 상용클라우드 계정 만들고 오피스365, 한컴오피스 2018 설치하는 방법

경기도교육청 상용클라우드 계정 만들고 오피스365, 한컴오피스 2018 설치하는 방법

아이가 학교에서 컴퓨터를 배웁니다. 프리젠테이션을 배웠는데 한쇼로 만듭니다. 그리고 과제가 나옵니다. 한쇼로 뭔가를 만들어오라고... 만약 집에 한쇼가 없다면 어떻게 할까요? 아이 과제를 위해 사야할까요? 다행히도 초중고 학생이라면 교육청에서 한컴오피스 사용권을 받을 수 있습니다. MS 오피스 사용권도 얻을 수 있구요. 다음은 교육청에서 MS 오피스, 한컴오피스 사용권을 얻는 방법입니다. 경기도교육청의 사례이고, 다른 지역 ...

Microsoft Endpoint Configuration Manager / 메모

SQL Server 데이터 정렬은 SQL_Latin1_General_CP1_CI_AS로 한다.

가족 요양 / 메모

가족 요양에 대하여 조사한 것을 정리한다. 부정확한 정보일 수 있으니, 참고만 하시길 바란다. 가족 요양이란? 몸이 불편한 사람의 가족 구성원이 요양보호사처럼 직접 간병하는 것 가족 요양 조건 간병하는 사람은 요양보호사 자격증이 있어야 한다. 간병을 받는 사람은 장기요양등급이 있어야 한다. 가족 관계이어야 한다. 간병하는 사람은 타 직업 근무 시간이 월 160시간 미만이어야 한다. 가족 요양 신청 방법 간병하는 사람이 방문요양센터와 ...

서식 / 한자공책

서식 / 한자공책

한자와 뜻, 음을 적을 수 있는 한자 공책 양식이다. PDF 형식이고, A4 사이즈이다. 다운로드 : 한자공책

미디어 인코더 / 동영상을 움직이는 GIF로 만드는 방법

미디어 인코더 / 동영상을 움직이는 GIF로 만드는 방법

동영상을 움직이는 GIF로 만드는 방법은 여러 가지가 있습니다. 그 중 하나는 Adobe Media Encoder를 사용하는 것입니다. Adobe Premiere를 설치하면 같이 설치되는 프로그램이고, Premiere 없이 단독으로 설치할 수도 있습니다. Adobe Media Encoder를 실행하고, 대기열의 + 아이콘을 클릭하여 변환할 동영상을 추가합니다. 출력물을 애니메이션 GIF로 설정하고 변환하면 잠시 후 GIF가 생성됩니다.

서식 / 그림 일기장

서식 / 그림 일기장

초등학교 저학년이 사용하는 그림 일기장 양식이다. 다운로드 : 그림 일기장