사용자 지정 서명 번들을 NSX IDS/IPS 엔진에 업로드합니다.
사용자 지정 서명을 업로드할 때의 고려 사항:
NSX IDS/IPS에 대한 사용자 지정 서명을 배포할 때 NSX와 호환되는 지원되는 키워드만 포함해야 합니다. 아래에서 지원되는 키워드 목록을 참조하십시오.
지원되는 주소 그룹 및 포트만 서명에 사용되는지 확인합니다.
address-groups: HOME_NET: "any" EXTERNAL_NET: "any" HOME_NETWORK: "[10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,fd00::/8]" HTTP_SERVERS: "$HOME_NET" SMTP_SERVERS: "$HOME_NET" SQL_SERVERS: "$HOME_NET" DNS_SERVERS: "$HOME_NET" TELNET_SERVERS: "$HOME_NET" AIM_SERVERS: "$EXTERNAL_NET" DC_SERVERS: "$HOME_NET" DNP3_SERVER: "$HOME_NET" DNP3_CLIENT: "$HOME_NET" MODBUS_CLIENT: "$HOME_NET" MODBUS_SERVER: "$HOME_NET" ENIP_CLIENT: "$HOME_NET" ENIP_SERVER: "$HOME_NET" port-groups: HTTP_PORTS: "any" SHELLCODE_PORTS: "!80" ORACLE_PORTS: 1521 SSH_PORTS: 22 DNP3_PORTS: 20000 MODBUS_PORTS: 502 FILE_DATA_PORTS: "[$HTTP_PORTS,110,143]" FTP_PORTS: 21 VXLAN_PORTS: "4789"
업로드하려는 사용자 지정 서명 번들의 형식이 올바른지 확인합니다. 즉, .zip 확장명이 있어야 합니다(예: sample_rules.zip). NSX에서는 사용자 지정 서명에 대한 종속성을 추적하지 않으므로 종속 서명이 게시 프로세스에 포함되어 있는지 확인합니다.
유효한 사용자 지정 서명을 게시한 후 유효하지 않은 사용자 지정 서명만 포함된 새 번들로 재정의하는 경우 NSX에서는 새 번들을 게시하도록 허용하지 않습니다. NSX에서는 "재정의된 서명은 유효/주의 서명에만 허용됩니다." 오류 메시지를 표시합니다. 또한 이전 번들의 서명을 사용하도록 이전에 업데이트된 모든 IDPS 프로파일은 새 번들에 해당 서명이 없으므로 유효하지 않게 됩니다. 새 번들에 이전 번들의 일부인 사용자 지정 서명이 포함되어 있으면 기존 서명으로 표시되고, 기존 프로파일에 대해 유효한 서명으로 남아 있습니다.
-
모든 사용자 지정 서명이 지원되는 키워드를 사용하는지 확인합니다. 지원되는 키워드 목록은 다음과 같습니다.
sid
규칙 ID를 설정합니다.
priority
우선 순위가 높은 규칙이 먼저 검토됩니다.
rev
규칙의 버전을 설정합니다.
classtype
규칙 및 경고의 분류에 대한 정보입니다.
app-layer-protocol
감지된 app-layer 프로토콜에서 일치됩니다.
tcp.ack
특정 TCP 승인 번호를 확인합니다.
tcp.seq
특정 TCP 시퀀스 번호를 확인합니다.
tcp.window
특정 TCP 기간 크기를 확인합니다.
ipopts
특정 IP 옵션이 설정되어 있는지 확인합니다.
tcp.flags
TCP 헤더에 설정된 플래그를 감지합니다.
fragbits
조각화 및 예약된 비트가 IP 헤더에 설정되어 있는지 확인합니다.
fragoffset
[IP 조각 오프셋] 필드의 특정 십진수 값과 일치됩니다.
ttl
특정 IP Time-to-Live 값을 확인합니다.
tos
[IP 헤더 TOS] 필드의 특정 십진수 값과 일치됩니다.
itype
특정 ICMP 유형과 일치됩니다.
icode
특정 ICMP id-value과 일치됩니다.
icmp_id
ICMP ID를 확인합니다.
icmp_seq
ICMP 시퀀스 번호를 확인합니다.
dsize
패킷 페이로드의 크기에 일치됩니다.
flow
흐름의 방향 및 상태에 일치됩니다.
threshold
규칙의 경고 빈도를 제어합니다.
metadata
로깅에 사용됩니다.
reference
규칙에 대한 정보를 찾을 수 있는 위치로 직접 연결합니다.
tag
태그를 정의합니다.
msg
규칙 및 가능한 경고에 대한 정보입니다.
content
페이로드 컨텐츠에 일치됩니다.
uricontent
요청 URI 버퍼에서 일치시킬 레거시 키워드입니다.
pcre
정규식에 일치됩니다.
depth
페이로드 시작 부분에서 확인할 바이트 수를 지정합니다.
startswith
패턴은 버퍼의 시작 부분에 있어야 합니다('depth:<pattern len>'과 동일).
endswith
이전 컨텐츠가 버퍼 끝에 정확히 일치되는지 확인합니다.
distance
이 컨텐츠 키워드와 그 이전에 나온 컨텐츠 간 관계를 나타냅니다.
within
이 컨텐츠 일치가 이전 컨텐츠 키워드 일치와 특정 거리 내에 있어야 함을 나타냅니다.
abs_offset
일치 항목을 찾기 위해 스트림의 어느 바이트부터 확인할지 지정합니다.
offset
일치 항목을 찾기 위해 페이로드의 어느 바이트부터 확인할지 지정합니다.
replace
IPS 모드에서만 사용할 수 있습니다.
nocase
대/소문자를 구분하지 않도록 컨텐츠 일치를 수정합니다.
fast_pattern
다중 패턴 일치기에서 강제로 이전 컨텐츠를 사용하도록 합니다.
rawbytes
사용되는 서명과 호환되도록 하기 위해 포함됩니다.
byte_test
<num of bytes>를 추출하고 특정 <offset>에서 <test value>의 값에 대해 <operator>로 선택한 작업을 수행합니다.
byte_jump
<offset>에서 <num of bytes>를 선택하고 감지 포인터를 해당 위치로 이동할 수 있도록 허용합니다.
sameip
소스의 IP 주소가 대상의 IP 주소와 동일한지 확인합니다.
geoip
네트워크 트래픽의 소스, 대상 또는 소스 및 대상 IP 주소와 일치시키고 IP 주소가 속하는 국가를 파악합니다.
ip_proto
packet-header의 IP 프로토콜과 일치됩니다.
ftpbounce
FTP 바운스 공격을 감지합니다.
isdataat
페이로드의 특정 부분에 아직 데이터가 있는지 확인합니다.
id
특정 IP ID 값과 일치됩니다.
rpc
RPC 프로시저 번호 및 RPC 버전과 일치됩니다.
flowvar
흐름 변수를 설정합니다.
flowint
흐름별 정수에 작동합니다.
pktvar
패킷 변수를 정의합니다.
noalert
규칙에 의해 경고가 생성되지 않습니다.
flowbits
흐름 플래그에 작동합니다.
hostbits
호스트 플래그에 작동합니다.
ipv4-csum
IPv4 체크섬 오류를 확인합니다.
tcpv4-csum
TCPv4 체크섬 오류를 확인합니다.
tcpv6-csum
TCPv6 체크섬 오류를 확인합니다.
udpv4-csum
UDPv4 체크섬 오류를 확인합니다.
udpv6-csum
UDPv6 체크섬 오류를 확인합니다.
icmpv4-csum
ICMPv4 체크섬 오류를 확인합니다.
icmpv6-csum
ICMPv6 체크섬 오류를 확인합니다.
stream_size
스트림의 바이트 양에 일치됩니다.
detection_filter
임계값에 도달한 후 매 일치할 때마다 경고가 발생합니다.
dataset
고정 버퍼를 데이터 집합과 일치시킵니다(실험 버전).
datarep
데이터 집합(실험 버전)에 작동합니다.
decode-event
개별 패킷을 디코딩하는 동안 감지된 값 및 조건입니다.
gid
다른 서명 그룹에 다른 ID 값을 제공합니다.
nfq_set_mark
iptables 규칙에서 NFQUEUE를 사용하여 Suricata로 패킷을 전송합니다.
bsize
버퍼 길이와 일치됩니다.
tls.version
TLS/SSL 버전과 일치됩니다.
tls.subject
[TLS/SSL 인증서 주체] 필드와 일치됩니다.
tls.issuerdn
[TLS/SSL 인증서 IssuerDN] 필드와 일치됩니다.
tls_cert_notbefore
[TLS 인증서 notBefore] 필드와 일치됩니다.
tls_cert_notafter
[TLS 인증서 notAfter] 필드와 일치됩니다.
tls_cert_expired
만료된 TLS 인증서와 일치됩니다.
tls_cert_valid
유효한 TLS 인증서와 일치됩니다.
tls.fingerprint
TLS/SSL 인증서 SHA1 지문과 일치됩니다.
tls_store
TLS/SSL 인증서를 디스크에 저장합니다.
http_cookie
HTTP 쿠키 버퍼와만 일치시킬 컨텐츠 수정자입니다.
http.cookie
HTTP 쿠키/세트 쿠키 버퍼와 일치시킬 고정 버퍼입니다.
http_method
HTTP 메서드 버퍼와만 일치시킬 컨텐츠 수정자입니다.
http.method
HTTP 메서드 버퍼와만 일치시킬 고정 버퍼입니다.
http.protocol
http_protocol 고정 버퍼를 정의합니다.
http.start
http_start 고정 버퍼를 정의합니다.
urilen
HTTP URI 길이와 일치됩니다.
http_client_body
HTTP 요청 본문과만 일치시킬 컨텐츠 수정자입니다.
http.request_body
HTTP 요청 본문 버퍼와 일치시킬 고정 버퍼입니다.
http_server_body
HTTP 응답 본문과 일치시킬 컨텐츠 수정자입니다.
http.response_body
HTTP 응답 본문 버퍼와 일치시킬 고정 버퍼입니다.
http_header
HTTP 헤더 버퍼와만 일치시킬 컨텐츠 수정자입니다.
http.header
정규화된 HTTP 헤더 버퍼와 일치시킬 고정 버퍼입니다.
http.header_names
http_header_names 고정 버퍼를 정의합니다.
http.accept
http accept 헤더에 대한 http.accept 고정 버퍼를 정의합니다.
http.accept_lang
http accept 언어 헤더에 대한 http.accept_lang 고정 버퍼를 정의합니다.
http.accept_enc
http accept 인코딩 헤더에 대한 http.accept_enc 고정 버퍼를 정의합니다.
http.connection
http connection 헤더에 대한 http.connection 고정 버퍼를 정의합니다.
http.content_len
http content length 헤더에 대한 http.content_len 고정 버퍼를 정의합니다.
http.content_type
http content type 헤더에 대한 http.content_type 고정 버퍼를 정의합니다.
http.location
http location 헤더에 대한 http.location 고정 버퍼를 정의합니다.
http.server
http server 헤더에 대한 http.server 고정 버퍼를 정의합니다.
http.referer
http referer 헤더에 대한 http.referer 고정 버퍼를 정의합니다.
http_raw_header
원시 HTTP 헤더 버퍼와 일치시킬 컨텐츠 수정자입니다.
http.header.raw
원시 HTTP 헤더 버퍼와 일치시킬 고정 버퍼입니다.
http_uri
HTTP uri-buffer와만 일치시킬 컨텐츠 수정자입니다.
http.uri
특별히 표준화된 HTTP URI 버퍼와만 일치시킬 고정 버퍼입니다.
http.uri.raw
특별히 원시 HTTP URI 버퍼와만 일치시킬 고정 버퍼입니다.
http_raw_uri
원시 HTTP URI와 일치시킬 컨텐츠 수정자입니다.
http_stat_msg
HTTP stat-msg-buffer와 일치시킬 컨텐츠 수정자입니다.
http.stat_msg
HTTP 응답 상태 메시지와 일치시킬 고정 버퍼입니다.
http_stat_code
HTTP stat-code-buffer와만 일치시킬 컨텐츠 수정자입니다.
http.stat_code
HTTP stat-code-buffer와만 일치시킬 고정 버퍼입니다.
http_user_agent
HTTP User-Agent 헤더와만 일치시킬 컨텐츠 수정자입니다.
http.user_agent
HTTP 사용자 에이전트 버퍼와만 일치시킬 고정 버퍼입니다.
http_host
HTTP 호스트 이름과 일치시킬 컨텐츠 수정자입니다.
http.host
HTTP 호스트 버퍼와 일치시킬 고정 버퍼입니다.
http_raw_host
HTTP 호스트 헤더 또는 HTTP URI의 원시 호스트 이름과 일치시킬 컨텐츠 수정자입니다.
http.host.raw
HTTP 호스트 헤더 또는 HTTP URI의 원시 호스트 이름과 일치시킬 고정 버퍼입니다.
http.request_line
HTTP 요청 줄과 일치시킬 고정 버퍼입니다.
http.response_line
HTTP 응답 줄과 일치시킬 컨텐츠 수정자입니다.
nfs_procedure
NFS 절차와 일치시킬 고정 버퍼입니다.
nfs.version
NFS 버전과 일치시킬 고정 버퍼입니다.
ssh.proto
ssh 프로토콜과 일치시킬 고정 버퍼입니다.
ssh.protoversion
SSH 프로토콜 버전과 일치시킬 고정 버퍼입니다.
ssh.software
SSH 소프트웨어와 일치시킬 고정 버퍼입니다.
ssh.softwareversion
SSH 소프트웨어 문자열과 일치시킬 고정 버퍼입니다.
ssl_version
SSL/TLS 레코드 버전과 일치시킬 고정 버퍼입니다.
ssl_state
SSL 연결의 상태와 일치시킬 고정 버퍼입니다.
byte_extract
특정 <offset>에서 <num of bytes>를 추출하고 <var_name>에 저장합니다.
file.data
파일 데이터와 컨텐츠 키워드를 일치시킵니다.
pkt_data
감지 포인터를 패킷 페이로드의 시작 부분으로 재설정합니다.
app-layer-event
애플리케이션 계층 구문 분석기 및 프로토콜 감지 엔진에서 생성된 이벤트와 일치됩니다.
dcerpc.iface
DCERPC 헤더의 인터페이스 UUID 값과 일치됩니다.
dcerpc.opnum
DCERPC 헤더의 인터페이스 내에서 하나 이상의 작업 번호 및/또는 작업 번호 범위와 일치됩니다.
dcerpc.stub_data
지정된 DCERPC 패킷의 스텁 데이터와 일치됩니다. '고정 버퍼'입니다.
smb.named_pipe
트리 연결의 SMB 명명 파이프와 일치시킬 고정 버퍼입니다.
smb.share
트리 연결의 SMB 공유 이름과 일치시킬 고정 버퍼입니다.
asn1
데이터를 구조화하고 설명하는 표준 표기법입니다.
engine-event
Suricata 침입 탐지 시스템의 감지 이벤트 기록입니다.
stream-event
TCP 스트림 엔진 이벤트와 일치시킬 규칙입니다.
filename
파일 이름과 일치됩니다.
file.name
파일 이름과 일치시킬 고정 버퍼입니다.
fileext
파일 이름의 확장명과 일치됩니다.
filestore
규칙이 일치하면 파일을 디스크에 저장합니다.
filemagic
libmagic이 파일에 대해 반환하는 정보에 일치됩니다.
file.magic
파일 매직에서 일치시킬 고정 버퍼입니다.
filemd5
MD5 체크섬 목록과 MD5 파일을 일치시킵니다.
filesha1
SHA-1 체크섬 목록과 SHA-1 파일을 일치시킵니다.
filesha256
SHA-256 체크섬 목록과 SHA-256 파일을 일치시킵니다.
filesize
전송 중인 파일의 크기에 일치됩니다.
l3_proto
서명이 IPv4, IPv6 또는 둘 다와 일치해야 하는지를 지정합니다.
lua
lua 스크립트를 사용하여 일치됩니다.
iprep
호스트의 IP 신뢰도 정보와 일치됩니다.
dns.query
DNS 쿼리 버퍼와 일치시킬 고정 버퍼입니다.
dns.opcode
DNS 헤더 opcode 플래그와 일치됩니다.
tls.sni
특별히 TLS SNI 버퍼와만 일치시킬 컨텐츠 수정자입니다.
tls.certs
TLS 인증서 고정 버퍼와 일치시킬 컨텐츠 수정자입니다.
tls.cert_issuer
특별히 TLS 인증서 발급자 버퍼와만 일치시킬 컨텐츠 수정자입니다.
tls.cert_subject
TLS 인증서 주체 버퍼와만 일치시킬 컨텐츠 수정자입니다.
tls.cert_serial
TLS 인증서 직렬 버퍼와 일치시킬 컨텐츠 수정자입니다.
tls.cert_fingerprint
TLS 인증서 지문 버퍼와 일치됩니다.
ja3.hash
JA3 해시 버퍼와 일치시킬 컨텐츠 수정자입니다.
ja3.string
JA3 문자열 버퍼와 일치시킬 컨텐츠 수정자입니다.
ja3s.hash
JA3S 해시 고정 버퍼와 일치시킬 컨텐츠 수정자입니다.
ja3s.string
JA3S 문자열 고정 버퍼와 일치시킬 컨텐츠 수정자입니다.
modbus
Modbus 요청의 다양한 속성과 일치됩니다.
cip_service
CIP 서비스와 일치됩니다.
enip_command
이더넷/IP 명령을 감지하기 위한 규칙입니다.
dnp3.data
다음 컨텐츠 옵션이 재조립된 애플리케이션 버퍼와 일치되도록 합니다.
dnp3_func
DNP3 요청 및 응답에 있는 애플리케이션 기능 코드와 일치됩니다.
dnp3_ind
응답 애플리케이션 헤더의 DNP3 내부 표시기 플래그와 일치됩니다.
dnp3_obj
DNP3 애플리케이션 데이터 개체와 일치됩니다.
xbits
비트에 작동합니다.
base64_decode
base64로 인코딩된 데이터를 디코딩합니다.
base64_data
컨텐츠는 base64 디코딩된 데이터와 일치됩니다.
krb5_err_code
Kerberos 5 오류 코드와 일치됩니다.
krb5_msg_type
Kerberos 5 메시지 유형과 일치됩니다.
krb5.cname
Kerberos 5 클라이언트 이름과 일치시킬 고정 버퍼입니다.
krb5.sname
Kerberos 5 서버 이름과 일치시킬 고정 버퍼입니다.
sip.method
SIP 메서드 버퍼와 일치시킬 고정 버퍼입니다.
sip.uri
SIP URI와 일치시킬 고정 버퍼입니다.
sip.protocol
SIP 프로토콜과 일치시킬 고정 버퍼입니다.
sip.stat_code
SIP 상태 코드와 일치시킬 고정 버퍼입니다.
sip.stat_msg
SIP 상태 메시지와 일치시킬 고정 버퍼입니다.
sip.request_line
SIP 요청 줄과 일치시킬 고정 버퍼입니다.
sip.response_line
SIP 응답 줄과 일치시킬 고정 버퍼입니다.
template2
템플릿입니다.
ipv4.hdr
IPV4 헤더와 일치시킬 고정 버퍼입니다.
ipv6.hdr
IPV6 헤더와 일치시킬 고정 버퍼입니다.
tcp.hdr
TCP 헤더와 일치시킬 고정 버퍼입니다.
udp.hdr
UDP 헤더와 일치시킬 고정 버퍼입니다.
tcp.mss
TCP MSS 옵션 필드와 일치시킬 고정 버퍼입니다.
ftpdata_command
FTP 데이터 채널을 트리거하는 FTP 명령과 일치됩니다.
target
공격의 대상이 어느 쪽인지를 출력 모듈에 나타냅니다.
snmp.version
SNMP 버전과 일치됩니다.
snmp.community
SNMP 커뮤니티와 일치시킬 SNMP 컨텐츠 수정자입니다.
snmp.pdu_type
SNMP PDU 유형과 일치됩니다.
bypass
sig의 일치가 완료되면 바이패스 콜백을 호출합니다.
prefilter
강제로 조건이 사전 필터로 사용되도록 합니다.
compress_whitespace
검사 전에 연속 공백 문자를 하나의 공백으로 압축하도록 버퍼를 수정합니다.
strip_whitespace
검사 전에 공백을 제거하도록 버퍼를 수정합니다.
to_md5
버퍼의 md5 해시로 변환합니다.
to_sha1
버퍼의 sha1 해시로 변환합니다.
to_sha256
버퍼의 sha256 해시로 변환합니다.
dotprefix
버퍼를 수정하여 dotprefix를 추출합니다.
nopcap
경고 시 흐름에서 pcap 컨텐츠가 잘리지 않도록 합니다.