Sintaxa. classtype:
tcp alerta orice orice -> orice 25 (msg: "EXPN SMTP rădăcină"; steaguri: A +; conținut: "EXPN rădăcină"; nocase; classtype: încercat-recon;)
Opțiunea classtype poate avea numai acele valori pentru clasificare care sunt definite în snort.conf folosind clasificarea config. Snort oferă un set standard de clasificare în fișierul classification.config. care este folosit în seturile de reguli furnizate.
Stabiliți nivelul de importanță regulilor. Este posibil să se utilizeze parametrul de prioritate împreună cu classtype, iar nivelul de prioritate al parametrului classtype se va schimba.
Sintaxa. prioritate:
tcp alertă orice orice -> orice 80 (msg: "WEB-MISC PHF această încercare"; steaguri: A +; continut: "/ cgi-bin / PHF"; prioritate: 10;)
tcp alertă orice orice -> orice 80 (msg: "EXPLOATAȚI overflow ntpdx"; dsize:> 128; classtype: a încercat să-admin; prioritate: 10;)
Altele decât tastele indicate în tabel, Snort ignoră, astfel încât acestea pot fi scrise în format gratuit în formatul cheie-valoare. Mai multe chei sunt separate prin virgule, iar cheile și valorile sunt separate de un spațiu.
metadate: key1 value1; metadate: key1 value1, key2 value2;
alert tcp orice -> oricare 80 (msg: "Exemplu de reguli pentru biblioteca partajată"; metadate: motor partajat; metadate: soid 3 | 12345;)
tcp alertă orice orice -> orice 80 (msg: "Shared Library Regula Exemplul"; metadate: motor partajat, soid 3 | 12345;)
alert tcp orice -> orice 80 (msg: "Exemplu de regulă de serviciu HTTP"; metadate: service http;)
Cuvântul cheie pentru conținut are un număr de modificatori care modifică comportamentul conținutului specificat anterior. Lista modificatorilor:
Alerta de orice tcp orice -> orice 139 (conținut: "| 5c 00 | P | 00 | I | 00 | P | 00 | E | 00 5c |";)
alert tcp orice -> oricare 80 (conținut: "GET";)
Trebuie să scăpați de următoarele caractere:
Are funcționalitate similară cu conținutul. dar nu funcționează într-un mod diferit. Principalul avantaj al cuvântului cheie protejatconținut față de conținut este acela că vă permite să ascundeți conținutul vizat deschizând doar hash (digest) conținutului specificat. Ca și în cazul conținutului. Scopul principal este de a se potrivi cu șirurile anumitor octeți. Căutarea este realizată prin hashing părți ale rezultatelor mesajelor primite și comparația cu condiția prevăzută în suma hash. Din cauza a ceea ce se face o cantitate foarte mare de calcule.
În momentul de față cu cuvântul cheie protected_content este posibil să se utilizeze algoritmii hash MD5, SHA256 și SHA512. Algoritmul hash trebuie specificat în regulă folosind cuvântul cheie hash. Dacă nu este setată implicit în configurația Snort. În plus, împreună cu parametrul protected_content, trebuie specificat modificatorul de lungime. pentru a specifica lungimea datelor sursă.
Ca și în cazul conținutului. în regulă, este posibilă utilizarea mai multor condiții protected_content. Această regulă permite partajarea conținutului și a conținutului protejat. De asemenea, în "protected_content", puteți folosi modificatorul negativ "!".
Cuvântul protejat_content are aceleași modificări ca și conținutul. cu excepția următoarelor:
Sintaxa. protejat_content: [!] "
Următoarele reguli sunt declanșate pe linia "HTTP".
alert tcp orice <> orice 80 (msg: "MD5 Alert"; protected_content: "293C9EA246FF9985DC6F62A650F78986" hash: md5; ofset: 0; lungime: 4;)
alert tcp orice <> orice 80 (msg: "SHA256 Alert"; protected_content: "56D6F32151AD8474F40D7B939C2161EE2BBF10023F4AF1DBB3E13260EBDC6342" hash: SHA256; ofset: 0; lungime: 4;)
Se utilizează pentru a specifica algoritmul hash care va fi utilizat atunci când se potrivește cu modelul specificat în condiția protected_content. Dacă algoritmul implicit nu este specificat în configurația Snort, trebuie să specificați algoritmul utilizat în regulă cu protejat_content. În prezent, sunt suportate următorii algoritmi de ștergere: MD5, SHA256 și SHA512.
Folosit pentru a seta lungimea inițială a conținutului pentru care suma hash (digest) este setată la protected_content. Valoarea specificată trebuie să fie în intervalul de la 0 la 65536.
alert tcp orice -> oricare 21 (msg: "FTP ROOT"; conținut: "USER root"; nocase;)
Cuvântul cheie rawbytes este modificatorul pentru cuvântul cheie de conținut înaintea acestuia. permițându-vă să lucrați cu datele de pachete brute, ignorând orice decodificare făcută cu preprocesoarele.
HTTP Inspect are un set de cuvinte cheie http_raw_cookie. http_raw_header. http_raw_uri etc. pentru a lucra cu date brute care corespund anumitor părți ale cererilor și răspunsurilor HTTP. Cu aceste cuvinte cheie, nu este necesar să utilizați rawbytes, deoarece aceste condiții funcționează în mod prestabilit cu date brute.
Majoritatea celorlalte preprocesoare utilizează în mod implicit date decodate / normalizate pentru a se potrivi cu modelul. Prin urmare, pentru a potrivi date brute arbitrare din pachet, trebuie să specificați cuvântul cheie rawbytes.
tcp alertă orice orice -> orice 21 (msg: "Telnet NOP" conținut: "| FF F1 |"; rawbytes;)