로컬 규칙 파일을 가져와서 사용자 지정 침입 규칙을 생성할 수 있습니다. 규칙 파일은 확장자가 .txt
또는 .rules
일 수 있습니다. 시스템은 규칙 생성에 사용된 방법에 상관없이 맞춤형 규칙을 로컬 규칙 카테고리에 저장합니다. 사용자 지정 규칙은 규칙 그룹에 속해야 합니다. 그런데 한 사용자 지정 규칙이 둘 이상의 그룹에 속할 수도
있습니다.
맞춤형 침입 규칙을 만들 때 시스템은 GID: SID: Rev
형식의 고유한 규칙 번호를 규칙에 할당합니다. 이 번호의 요소는 다음과 같습니다.
-
GID - Generator ID입니다. 사용자 지정 규칙의 경우 GID를 지정할 필요가 없습니다. 규칙을 업로드하는 동안 전역 도메인에 있는지 하위 도메인에 있는지에 따라 시스템이 GID를 자동으로 생성합니다. 모든 표준
텍스트 규칙의 경우, 전역 도메인에 있을 때 이 값은 2000입니다.
-
SID - Snort ID입니다. 규칙이 시스템 규칙의 로컬 규칙인지 여부를 나타냅니다. 새 규칙을 생성할 때 고유한 SID를 규칙에 할당합니다.
로컬 규칙의 SID 번호는 1000000에서 시작하며 각 새 로컬 규칙의 SID는 1씩 증가합니다.
-
Rev - 수정 번호입니다. 새 규칙의 경우, 수정 번호는 1입니다. 사용자 지정 규칙을 변경할 때마다 수정 번호가 하나씩 증가합니다.
맞춤형 표준 텍스트 규칙에서 헤더 설정과 규칙 키워드 및 인수를 설정합니다. 규칙 헤더 설정을 사용하면 특정 프로토콜을 사용하며 특정 IP 주소 또는 포트를 오가는 트래픽만을 매칭하도록 규칙의 범위를 좁힐 수 있습니다.
참고
|
Snort 3 사용자 지정 규칙은 수정할 수 없습니다. 사용자 지정 규칙의 규칙 텍스트 내 classtype 에 유효한 분류 메시지가 있는지 확인하십시오. 분류를 사용하지 않거나 잘못된 분류를 사용하여 규칙을 가져온 경우 해당 규칙을 삭제하고 다시 생성합니다.
|
Snort 3에서 민감한 데이터 탐지
사회 보장 번호, 신용카드 번호, 이메일 같은 민감한 데이터가 인터넷에 고의적으로 또는 실수로 유출될 수 있습니다. 민감한 데이터 탐지는 민감한 데이터 유출 가능성을 탐지하고 이벤트를 생성하는 데 사용됩니다. 상당한 양의
PII(개인 식별 정보) 데이터가 전송되는 경우에만 이벤트가 생성됩니다. 민감한 데이터 탐지 기능은 이벤트 출력에서 PII를 마스킹할 수 있습니다.
sd_pattern 옵션
sd_pattern IPS 옵션을 사용하여 PII를 탐지하고 필터링합니다. 이 정보에는 신용카드 번호, 미국 사회 보장 번호, 전화번호 및 이메일 주소가 포함됩니다. 정규식(regex) 구문을 사용하여 고유한 PII를 정의할 수 있습니다.
sd_pattern 옵션에는 다음과 같은 설정이 있습니다.
-
Pattern(패턴) - PDU에서 찾을 정규식을 지정하는 암시적 필수 설정입니다. 정규식(regex)은 PCRE 구문으로 작성해야 합니다.
-
Threshold(임계값) - 이벤트를 생성하는 데 필요한 PDU 내 일치 항목의 수를 지정하는 명시적 설정으로, 선택 사항입니다.
sd_pattern as IPS rule 옵션은 추가 검사기에 대한 요구 사항 없이 Snort에서 사용할 수 있습니다. 규칙 옵션의 구문은 다음과 같습니다.
sd_pattern: "<pattern>"[, threshold <count>];
예를 들면 다음과 같습니다.
sd_pattern:"credit_card", threshold 2;
기본 제공 패턴
민감한 데이터에 대한 다섯 가지 기본 제공 패턴이 있습니다. "pattern" 설정에서 구축 당시 기본으로 내장된 패턴을 사용하려면 일치시켜야 하는 PII 유형의 이름을 지정해야 하며, 필요한 정규식(regex)으로 이를
대체합니다. PII 이름 및 정규식(regex) 매핑 또는 패턴은 다음과 같이 설명됩니다.
-
credit_card—
\d{4}\D?\d{4}\D?\d{2}\D?\d{2}\D?\d{3,4}
-
us_social—
[0-8]\d{2}-\d{2}-\d{4}
-
us_social_nodashes—
[0-8]\d{8}
-
Email—
[a-zA-Z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?
-
us_phone—
(?:\+?1[-\.\s]?)?\(?([2-9][0-8]\d)\)?[-\.\s]([2-9]\d{2})[-\.\s](\d{4})
PII 이름
|
패턴
|
credit_card
|
\d{4}\D?\d{4}\D?\d{2}\D?\d{2}\D?\d{3,4}
|
us_social
|
[0-8]\d{2}-\d{2}-\d{4}
|
us_social_nodashes
|
[0-8]\d{8}
|
Email
|
[a-zA-Z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+\/=?^_`{|}~-]+)
*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?
|
us_phone
|
(?:\+?1[-\.\s]?)?\(?([2-9][0-8]\d)\)?[-\.\s]([2-9]\d{2})[-\.\s](\d{4})
|
이러한 패턴과 일치하는 데이터 마스킹은 신용카드, 미국 사회 보장 번호, 이메일, 미국 전화번호에 대해 시스템 제공 규칙 또는 구축 당시 기본으로 내장된 패턴을 사용할 때만 작동합니다. 마스킹은 사용자 지정 규칙 또는
사용자 정의 PII 패턴에 대해 작동하지 않습니다. 규칙은 민감한 데이터, gid:13을 위한 LSP(Lightweight Security Package)에서 사용할 수 있습니다. 기본적으로, 이러한 정책은 시스템 제공
정책에서는 활성화되지 않습니다.
LSP의 민감한 데이터 규칙은 구축 당시 기본으로 내장된 모든 패턴에 적용되며 다음 임계값을 갖습니다.
-
credit_card: 2
-
us_social: 2
-
us_social_nodashes: 20
-
email: 20
-
us_phone: 20
sd_pattern 옵션을 사용하여 맞춤형 규칙을 생성하고 기존 규칙을 수정할 수 있습니다. 이렇게 하려면 Snort 3 침입 정책 인터페이스를 사용합니다.
다음은 사용자 지정 패턴 및 임계값과 함께 sd_pattern이 있는 규칙의 예입니다.
alert tcp (sid: 1000000001; sd_pattern:"[\w-\.]+@([\w-]+\.)+[\w-]{2,4}",threshold 4; msg: "email, threshold 4")
예
다음은 민감한 데이터 탐지를 사용하는 맞춤형 규칙의 예입니다.
구축 당시 기본으로 내장된 패턴이 있는 규칙:
alert tcp (
msg:"SENSITIVE-DATA Email";
flow:only_stream;
pkt_data;
sd_pattern:"email", threshold 5;
service:http, smtp, ftp-data, imap, pop3;
sid:1000001;
)
사용자 지정 패턴이 있는 규칙:
alert tcp (
msg:"SENSITIVE-DATA US phone numbers";
flow:only_stream;
file_data;
sd_pattern:"+?3?8?(0[\s\.-]\d{2}[\s\.-]\d{3}[\s\.-]\d{2}[\s\.-]\d{2})", threshold 2;
service:http, smtp, ftp-data, imap, pop3;
sid:1000002;
)
다음은 구축 당시 기본으로 내장된 민감한 데이터 패턴이 포함된 전체 Snort IPS 규칙의 몇 가지 예입니다.
-
alert tcp ( sid:1; msg:"Credit Card"; sd_pattern:"credit_card"; )
-
alert tcp ( sid:2; msg:"US Social Number"; sd_pattern:"us_social"; )
-
alert tcp ( sid:3; msg:"US Social Number No Dashes"; sd_pattern:"us_social_nodashes"; )
-
alert tcp ( sid:4; msg:"US Phone Number"; sd_pattern:"us_phone"; )
-
alert tcp ( sid:5; msg:"Email"; sd_pattern:"email"; )
데이터 마스킹 비활성화는 Secure Firewall Management Center 및 Secure Firewall Device Manager에서 지원되지 않습니다.