Laden Sie ein benutzerdefiniertes Signaturpaket auf die NSX IDS/IPS-Engine hoch.
Überlegungen zum Hochladen benutzerdefinierter Signaturen:
Stellen Sie beim Bereitstellen benutzerdefinierter Signaturen für NSX IDS/IPS sicher, dass nur unterstützte Schlüsselwörter enthalten sind, die mit NSX kompatibel sind. Weitere Informationen finden Sie in der folgenden Liste der unterstützten Schlüsselwörter.
Stellen Sie sicher, dass nur unterstützte Adressgruppen und Ports in Ihren Signaturen verwendet werden:
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"
Bestätigen Sie, dass das Format des hochzuladenden benutzerdefinierten Signaturpakets korrekt ist. Es muss eine ZIP-Erweiterung aufweisen (z. B. sample_rules.zip). Beachten Sie, dass NSX keine Abhängigkeiten für benutzerdefinierte Signaturen verfolgt. Stellen Sie daher sicher, dass alle abhängigen Signaturen in den Veröffentlichungsprozess einbezogen werden.
Wenn Sie eine gültige benutzerdefinierte Signatur veröffentlichen und diese anschließend mit einem neuen Paket überschreiben, das nur ungültige benutzerdefinierte Signaturen enthält, lässt NSX die Veröffentlichung des neuen Pakets nicht zu. In NSX wird folgende Fehlermeldung angezeigt: „Überschriebene Signatur ist nur für eine Signatur vom Typ GÜLTIG/WARNUNG zulässig.“ Darüber hinaus werden alle IDPS-Profile, die bereits zur Verwendung von Signaturen aus dem alten Paket aktualisiert wurden, ungültig, da diese Signaturen im neuen Paket nicht enthalten sind. Wenn das neue Paket benutzerdefinierte Signaturen enthält, die ebenfalls Teil des alten Pakets sind, werden sie als vorhandene Signaturen angezeigt und gelten als gültige Signaturen für vorhandene Profile.
-
Stellen Sie sicher, dass alle benutzerdefinierten Signaturen die unterstützten Schlüsselwörter verwenden. Im Folgenden finden Sie die Liste der unterstützten Schlüsselwörter:
sid
Legt Regel-IDs fest.
priority
Regeln mit einer höheren Priorität werden zuerst geprüft.
rev
Legt die Version der Regel fest.
classtype
Informationen zur Klassifizierung von Regeln und Warnungen.
app-layer-protocol
Übereinstimmung mit dem erkannten App-Layer-Protokoll.
tcp.ack
Überprüfung auf eine bestimmte TCP-Bestätigungsnummer.
tcp.seq
Überprüfung auf eine bestimmte TCP-Sequenznummer.
tcp.window
Überprüfung auf eine bestimmte TCP-Fenstergröße.
ipopts
Überprüft, ob eine bestimmte IP-Option festgelegt ist.
tcp.flags
Erkennt die im TCP-Header festgelegten Flags.
fragbits
Überprüft, ob die Fragmentierung und die reservierten Bits im IP-Header festgelegt sind.
fragoffset
Übereinstimmung mit bestimmten Dezimalwerten im Feld für des IP-Fragment-Offset.
ttl
Überprüfung auf einen bestimmten IP-Lebensdauerwert (TTL).
tos
Übereinstimmung mit bestimmten Dezimalwerten im TOS-Felds des IP-Headers.
itype
Übereinstimmung mit einem bestimmten ICMP-Typ.
icode
Übereinstimmung mit einem bestimmten ICMP-ID-Wert.
icmp_id
Überprüfung auf eine ICMP-ID.
icmp_seq
Überprüfung auf eine ICMP-Sequenznummer.
dsize
Übereinstimmung mit der Größe der Paketnutzlast.
flow
Übereinstimmung mit Richtung und Status des Flows.
threshold
Steuert die Häufigkeit der Warnungen für eine Regel.
metadata
Wird für die Protokollierung verwendet.
reference
Weiterleitung an Stellen, an denen Informationen über die Regel zur Verfügung stehen.
tag
Definiert Tags.
msg
Informationen zur Regel und möglichen Warnung.
content
Übereinstimmung mit Nutzlastinhalt.
uricontent
Legacy-Schlüsselwort zum Abgleich im Puffer der Anforderungs-URI.
pcre
Übereinstimmung mit regulärem Ausdruck.
depth
Gibt die Anzahl der Byte an, die am Anfang der Nutzlast überprüft werden.
startswith
Muster muss sich am Anfang eines Puffers befinden (identisch mit „depth:<pattern len>“).
endswith
Stellt sicher, dass der vorherige Inhalt genau mit dem Inhalt am Ende des Puffers übereinstimmt.
distance
Gibt eine Beziehung zwischen diesem Inhaltsschlüsselwort und dem vorhergehenden Inhalt an.
within
Gibt an, dass diese Inhaltsübereinstimmung innerhalb einer bestimmten Entfernung von der vorherigen Übereinstimmung des Inhaltsschlüsselworts liegen muss
abs_offset
Gibt an, ab welchem Byte im Stream eine Überprüfung auf eine Übereinstimmung durchgeführt wird.
offset
Gibt an, ab welchem Byte in der Nutzlast eine Überprüfung auf eine Übereinstimmung durchgeführt wird.
replace
Nur für die Verwendung im IPS-Modus.
nocase
Ändert die Inhaltsübereinstimmung so, dass die Groß- und Kleinschreibung beachtet wird.
fast_pattern
Erzwingt, dass vorhergehender Inhalt im Matcher mit mehreren Mustern verwendet wird.
rawbytes
Für Kompatibilität mit verwendeten Signaturen enthalten.
byte_test
Extrahiert <num of bytes> und führt einen mit <operator> ausgewählten Vorgang anhand des Werts in <test value> mit einem bestimmten <offset> durch.
byte_jump
Lässt zu, dass eine <num of bytes> aus einem <offset> ausgewählt wird und dass der Erkennungszeiger an diese Position verschoben wird.
sameip
Überprüft, ob die IP-Adresse der Quelle mit der IP-Adresse des Ziels identisch ist.
geoip
Übereinstimmung mit der Quell-, Ziel- oder Quell- und Ziel-IP-Adresse des Netzwerkdatenverkehrs sowie Kenntnisse darüber, zu welchem Land die IP-Adresse gehört.
ip_proto
Übereinstimmung mit dem IP-Protokoll in der Paketkopfzeile.
ftpbounce
Erkennt Bounce-Angriffe über FTP.
isdataat
Überprüft, ob in einem bestimmten Teil der Nutzlast noch Daten vorhanden sind.
id
Übereinstimmung mit einem bestimmten IP-ID-Wert.
rpc
Gleicht RPC-Prozedurnummern und RPC-Version ab.
flowvar
Legt eine Flow-Variable fest.
flowint
Verarbeitet eine Pro-Flow-Ganzzahl.
pktvar
Definiert Paketvariablen.
noalert
Von der Regel wird keine Warnung erzeugt.
flowbits
Verarbeitet ein Flow-Flag.
hostbits
Verarbeitet ein Host-Flag.
ipv4-csum
Überprüfung auf IPv4-Prüfsummenfehler.
tcpv4-csum
Überprüfung auf TCPv4-Prüfsummenfehler.
tcpv6-csum
Überprüfung auf TCPv6-Prüfsummenfehler.
udpv4-csum
Überprüfung auf UDPv4-Prüfsummenfehler.
udpv6-csum
Überprüfung auf UDPv6-Prüfsummenfehler.
icmpv4-csum
Überprüfung auf ICMPv4-Prüfsummenfehler.
icmpv6-csum
Überprüfung auf ICMPv6-Prüfsummenfehler.
stream_size
Übereinstimmung mit der Menge der Byte eines Streams.
detection_filter
Warnung bei jeder Übereinstimmung nach Erreichen des Schwellenwerts.
dataset
Übereinstimmung des persistenten Puffers mit Datensätzen (experimentell).
datarep
Verarbeitet Datensätze (experimentell).
decode-event
Werte und Bedingungen, die beim Entschlüsseln einzelner Pakete erkannt werden.
gid
Weist verschiedenen Gruppen von Signaturen einen anderen ID-Wert zu.
nfq_set_mark
Verwendet NFQUEUE in iptables-Regeln, um Pakete an Suricata zu senden.
bsize
Übereinstimmung mit der Länge eines Puffers.
tls.version
Übereinstimmung mit TLS/SSL-Version.
tls.subject
Übereinstimmung mit dem Feld „Betreff“ des TLS-/SSL-Zertifikats.
tls.issuerdn
Übereinstimmung mit dem Feld „IssuerDN“ des TLS-/SSL-Zertifikats.
tls_cert_notbefore
Übereinstimmung mit dem Feld „notBefore“ des TLS-Zertifikats.
tls_cert_notafter
Übereinstimmung mit dem Feld „notAfer“ des TLS-Zertifikats.
tls_cert_expired
Übereinstimmung mit abgelaufenen TLS-Zertifikaten.
tls_cert_valid
Übereinstimmung mit gültigen TLS-Zertifikaten.
tls.fingerprint
Übereinstimmung mit dem SHA1-Fingerabdruck des TLS-/SSL-Zertifikats.
tls_store
Speichert den TLS-/SSL-Zertifikat auf der Festplatte.
http_cookie
Inhaltsmodifizierer für den ausschließlichen Abgleich im HTTP-Cookie-Puffer.
http.cookie
Persistenter Puffer für den Abgleich auf den HTTP-Cookie-/Set-Cookie-Puffern.
http_method
Inhaltsmodifizierer für den ausschließlichen Abgleich auf dem HTTP-Methodenpuffer.
http.method
Persistenter Puffer für den speziellen oder ausschließlichen Abgleich im HTTP-Methodenpuffer.
http.protocol
Definiert den persistenten Puffer „http_protocol“.
http.start
Definiert den persistenten Puffer „http_start“.
urilen
Übereinstimmung mit der Länge des HTTP-URI.
http_client_body
Inhaltsmodifizierer für den ausschließlichen Abgleich im HTTP-Anforderungstext.
http.request_body
Persistenter Puffer für den Abgleich im Puffer des HTTP-Anforderungstexts.
http_server_body
Inhaltsmodifizierer für den Abgleich im HTTP-Antworttext.
http.response_body
Persistenter Puffer für den Abgleich im Puffer des HTTP-Antworttexts.
http_header
Inhaltsmodifizierer für den ausschließlichen Abgleich im HTTP-Header-Puffer.
http.header
Persistenter Puffer für den Abgleich im normalisierten HTTP-Header-Puffer.
http.header_names
Definiert den persistenten Puffer „http_header_names“.
http.accept
Definiert den persistenten Puffer „http.accept“ für den HTTP-Accept-Header.
http.accept_lang
Definiert den persistenten Puffer „http.accept_lang“ für den HTTP-Accept-Sprach-Header.
http.accept_enc
Definiert den persistenten Puffer „http.accept_enc“ für den HTTP-Accept-Verschlüsselungs-Header.
http.connection
Definiert den persistenten Puffer „http.connection“ für den HTTP-Verbindungs-Header.
http.content_len
Definiert den persistenten Puffer „http.content_len“ für den HTTP-Inhaltslängen-Header.
http.content_type
Definiert den persistenten Puffer „http.content_type“ für den HTTP-Inhaltstyp-Header.
http.location
Definiert den persistenten Puffer „http.location“ für den HTTP-Speicherort-Header.
http.server
Definiert den persistenten Puffer „http.server“ für den HTTP-Server-Header.
http.referer
Definiert den persistenten Puffer „http.referer“ für den HTTP-Referenzheader.
http_raw_header
Inhaltsmodifizierer für den Abgleich im Raw-HTTP-Header-Puffer.
http.header.raw
Persistenter Puffer für den Abgleich im Raw-HTTP-Header-Puffer.
http_uri
Inhaltsmodifizierer für den speziellen und ausschließlichen Abgleich im HTTP-URI-Puffer.
http.uri
Persistenter Puffer für den speziellen oder ausschließlichen Abgleich im normalisierten HTTP-URI-Puffer.
http.uri.raw
Persistenter Puffer für den speziellen oder ausschließlichen Abgleich im Raw-HTTP-URI-Puffer.
http_raw_uri
Inhaltsmodifizierer für den Abgleich im Raw-HTTP-URI.
http_stat_msg
Inhaltsmodifizierer für den Abgleich im HTTP-stat-msg-Puffer.
http.stat_msg
Persistenter Puffer für den Abgleich in der HTTP-Antwortstatusmeldung.
http_stat_code
Inhaltsmodifizierer für den ausschließlichen Abgleich im HTTP-stat-code-Puffer.
http.stat_code
Persistenter Puffer für den ausschließlichen Abgleich im HTTP-stat-code-Puffer.
http_user_agent
Inhaltsmodifizierer für den ausschließlichen Abgleich im HTTP-Benutzer-Agent-Puffer.
http.user_agent
Persistenter Puffer für den speziellen oder ausschließlichen Abgleich im HTTP-User-Agent-Puffer.
http_host
Inhaltsmodifizierer für den Abgleich im HTTP-Hostnamen.
http.host
Persistenter Puffer für den Abgleich im HTTP-Host-Puffer.
http_raw_host
Inhaltsmodifizierer für den Abgleich im HTTP-Host-Header oder Raw-Hostnamen aus dem HTTP-URI.
http.host.raw
Persistenter Puffer für den Abgleich im HTTP-Host-Header oder Raw-Hostnamen aus dem HTTP-URI.
http.request_line
Persistenter Puffer für den Abgleich in der HTTP-Anforderungszeile.
http.response_line
Inhaltsmodifizierer für den ausschließlichen Abgleich in der HTTP-Antwortzeile.
nfs_procedure
Persistenter Puffer für den Abgleich mit dem NFS-Verfahren.
nfs.version
Persistenter Puffer für den Abgleich mit der NFS-Version.
ssh.proto
Persistenter Puffer für den Abgleich mit dem SSH-Protokoll.
ssh.protoversion
Persistenter Puffer für den Abgleich mit der SSH-Protokollversion.
ssh.software
Persistenter Puffer für den Abgleich mit der SSH-Software.
ssh.softwareversion
Persistenter Puffer für den Abgleich mit der SSH-Softwarezeichenfolge.
ssl_version
Persistenter Puffer für den Abgleich mit der Version des SSL-/TLS-Datensatzes.
ssl_state
Persistenter Puffer für den Abgleich mit dem Status der SSL-Verbindung.
byte_extract
Extrahiert <num of bytes> in einem bestimmten <offset> und speichert sie in <var_name>.
file.data
Gleicht Inhaltsschlüsselwörter mit Dateidaten ab.
pkt_data
Setzt den Erkennungszeiger an den Anfang der Paketnutzlast zurück.
app-layer-event
Übereinstimmung mit Ereignissen, die von den App-Layer-Parsern und der Protokollerkennungs-Engine erzeugt werden.
dcerpc.iface
Übereinstimmung mit dem Wert der Schnittstellen-UUID in einem DCERPC-Header.
dcerpc.opnum
Übereinstimmung mit einer oder mehreren Vorgangsnummern und/oder einem oder mehreren Vorgangsnummernbereichen innerhalb der Schnittstelle in einem DCERPC-Header.
dcerpc.stub_data
Übereinstimmung mit den Stub-Daten in einem bestimmten DCERPC-Paket. Es handelt sich um persistenten Puffer.
smb.named_pipe
Persistenter Puffer für den Abgleich in SMB Named Pipe in Tree Connect.
smb.share
Persistenter Puffer für den Abgleich in SMB-Freigabename in Tree Connect.
asn1
Gilt als Standardschreibweise zum Strukturieren und Beschreiben von Daten.
engine-event
Eine Aufzeichnung eines Erkennungsereignisses im Suricata-System zur Erkennung von Eindringversuchen.
stream-event
Regeln für den Abgleich in TCP-Stream-Engine-Ereignissen.
filename
Übereinstimmung mit dem Dateinamen.
file.name
Persistenter Puffer für den Abgleich im Dateinamen.
fileext
Übereinstimmung mit der Erweiterung eines Dateinamens.
filestore
Speichert Dateien auf der Festplatte bei übereinstimmender Regel.
filemagic
Übereinstimmung mit den libmagic-Informationsrückläufen für eine Datei.
file.magic
Persistenter Puffer für den Abgleich in File Magic.
filemd5
Ordnet Datei MD5 zur Liste der MD5-Prüfsummen zu.
filesha1
Ordnet Datei SHA-1 zur Liste der SHA-1-Prüfsummen zu.
filesha256
Ordnet Datei SHA-256 zur Liste der SHA-256-Prüfsummen zu.
filesize
Übereinstimmung mit der Größe der Datei während der Übertragung.
l3_proto
Gibt an, ob Signatur mit IPv4, IPv6 oder beiden übereinstimmen muss.
lua
Übereinstimmung mithilfe eines LUA-Skripts.
iprep
Übereinstimmung mit den IP-Reputationsinformationen für einen Host.
dns.query
Persistenter Puffer für den Abgleich mit dem DNS-Abfragepuffer.
dns.opcode
Ordnet das Opcode-Flag des DNS-Headers zu.
tls.sni
Inhaltsmodifizierer für den speziellen und ausschließlichen Abgleich im TLS-SNI-Puffer.
tls.certs
Inhaltsmodifizierer für den Abgleich des persistenten Puffers des TLS-Zertifikats.
tls.cert_issuer
Inhaltsmodifizierer für den speziellen und ausschließlichen Abgleich im Puffer des TLS-Zertifikatausstellers.
tls.cert_subject
Inhaltsmodifizierer für den speziellen und ausschließlichen Abgleich im Puffer des TLS-Zertifikatantragstellers.
tls.cert_serial
Inhaltsmodifizierer für den Abgleich des seriellen Puffers des TLS-Zertifikats.
tls.cert_fingerprint
Übereinstimmung mit dem Puffer des TLS-Zertifikatfingerabdrucks.
ja3.hash
Inhaltsmodifizierer für den Abgleich des JA3-Hash-Puffers.
ja3.string
Inhaltsmodifizierer für den Abgleich des JA3-Zeichenfolgenpuffers.
ja3s.hash
Inhaltsmodifizierer für den Abgleich des persistenten JA3S-Hash-Puffers.
ja3s.string
Inhaltsmodifizierer für den Abgleich des persistenten JA3S-Zeichenfolgenpuffers.
modbus
Übereinstimmung mit verschiedenen Eigenschaften von Modbus-Anforderungen.
cip_service
Übereinstimmung mit CIP-Dienst.
enip_command
Regeln zum Erkennen des EtherNet-/IP-Befehls.
dnp3.data
Erstellt folgende Inhaltsoptionen für den Abgleich im neu zusammengesetzten Anwendungspuffer.
dnp3_func
Übereinstimmung mit dem Anwendungsfunktionscode, der in DNP3-Anforderungen und -Antworten gefunden wurde.
dnp3_ind
Übereinstimmung mit den internen DNP3-Indikator-Flags im Antwortanwendungs-Header.
dnp3_obj
Übereinstimmung mit den DNP3-Anwendungsdatenobjekten.
xbits
Verarbeitet Bits.
base64_decode
Entschlüsselt Base64-codierte Daten.
base64_data
Inhaltsübereinstimmung mit entschlüsselten Base64-Daten.
krb5_err_code
Übereinstimmung mit Kerberos 5-Fehlercode.
krb5_msg_type
Übereinstimmung mit Kerberos 5-Nachrichtentyp.
krb5.cname
Persistenter Puffer für den Abgleich im Kerberos 5-Clientnamen.
krb5.sname
Persistenter Puffer für den Abgleich im Kerberos 5-Servernamen.
sip.method
Persistenter Puffer für den Abgleich im SIP-Methoden-Puffer.
sip.uri
Persistenter Puffer für den Abgleich im SIP-URI.
sip.protocol
Persistenter Puffer für den Abgleich im SIP-Protokoll.
sip.stat_code
Persistenter Puffer für den Abgleich im SIP-Statuscode.
sip.stat_msg
Persistenter Puffer für den Abgleich in der SIP-Statusmeldung.
sip.request_line
Persistenter Puffer für den Abgleich in der SIP-Anforderungszeile.
sip.response_line
Persistenter Puffer für den Abgleich in der SIP-Antwortzeile.
template2
Vorlage.
ipv4.hdr
Persistenter Puffer für den Abgleich im IPv4-Header.
ipv6.hdr
Persistenter Puffer für den Abgleich im IPv6-Header.
tcp.hdr
Persistenter Puffer für den Abgleich im TCP-Header.
udp.hdr
Persistenter Puffer für den Abgleich im UDP-Header.
tcp.mss
Persistenter Puffer für den Abgleich im TCP-MSS-Optionsfeld.
ftpdata_command
Übereinstimmung mit FTP-Befehl, der einen FTP-Datenkanal auslöst.
target
Gibt dem Ausgabemodul an, welche Seite das Ziel des Angriffs ist.
snmp.version
Übereinstimmung mit SNMP-Version.
snmp.community
SNMP-Inhaltsmodifizierer für den Abgleich in der SNMP-Community.
snmp.pdu_type
Übereinstimmung mit SNMP-PDU-Typ.
bypass
Ruft das Umgehungs-Callback auf, wenn der Abgleich einer Signatur abgeschlossen ist.
prefilter
Erzwingt eine Bedingung, die als Vorfilter verwendet werden soll.
compress_whitespace
Ändert den Puffer, um aufeinanderfolgende Leerzeichen vor der Überprüfung in ein einzelnes Leerzeichen zusammenzufassen.
strip_whitespace
Ändert den Puffer, um Leerzeichen vor der Überprüfung zu entfernen.
to_md5
Konvertierung in den MD5-Hash des Puffers.
to_sha1
Konvertierung in den sha1-Hash des Puffers.
to_sha256
Konvertierung in den sha256-Hash des Puffers.
dotprefix
Ändert den Puffer, um das Punktpräfix zu extrahieren.
nopcap
Vermeidet das Kürzen von pcap-Inhalt in Flows bei Warnungen.