ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° систСмы прСдотвращСния Π°Ρ‚Π°ΠΊ Π½Π° основС plug-in для COA Snort с использованиСм snort-inline для Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ выявлСнных Π°Ρ‚Π°ΠΊ

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

ВсС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ для Π½ΠΈΡ… ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ†Π΅ΠΏΠΎΡ‡Π΅ΠΊ (см. Ρ€ΠΈΡ.). ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ, ΠΊ Π½Π΅ΠΌΡƒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ всС ΠΏΡ€Π°Π²ΠΈΠ»Π° этой Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ Π² ΠΏΠΎΡ€ΡΠ΄ΠΊΠ΅ ΠΈΡ… ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ. Под ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π° понимаСтся: Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π½Π° ΡΠΎΠΎΡ‚вСтствиС ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΡŽ, ΠΈ Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Ссли ΠΏΠ°ΠΊΠ΅Ρ‚ этому ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΡŽ соотвСтствуСт, ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊ Π½Π΅ΠΌΡƒ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ дСйствия. Под… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° систСмы прСдотвращСния Π°Ρ‚Π°ΠΊ Π½Π° основС plug-in для COA Snort с использованиСм snort-inline для Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ выявлСнных Π°Ρ‚Π°ΠΊ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

1. ВСорСтичСская Ρ‡Π°ΡΡ‚ΡŒ

1.1 ВнутрСнняя структура Snort

1.1.2 ΠŸΡ€Π΅ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Ρ‹

1.1.3 ΠœΠΎΠ΄ΡƒΠ»ΠΈ обнаруТСния

1.1.4 ΠœΠΎΠ΄ΡƒΠ»ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π°

1.2 ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Π°Ρ‚Π°ΠΊΠΈ

1.3 ΠŸΡ€Π°Π²ΠΈΠ»Π° Snort

1.3.1 ACTION

1.3.2 PROTO

1.3.3 IP_ADDR

1.3.4 PORT

1.3.5 DIRECTION

1.3.6 OPTIONS

1.4 ВозмоТности

1.5 Snort_inline — систСма прСдотвращСния Π°Ρ‚Π°ΠΊ (IPS) Π½Π° Π±Π°Π·Π΅ Snort

1.6 Iptables

1.6.1 ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌΠΈ понятиями iptables

1.6.2 ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹

1.6.3 ВстроСнныС дСйствия

1.6.4 Π’Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ Π½Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ дСйствия

1.6.5 Π’Π°Π±Π»ΠΈΡ†Π° mangle

1.6.6 Π’Π°Π±Π»ΠΈΡ†Π° filter

2. БистСма прСдотвращСния Π°Ρ‚Π°ΠΊ Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Бписок ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… источников

Как Π±Ρ‹ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π½ΠΈ Π±Ρ‹Π» Π·Π°Ρ‰ΠΈΡ‰Π΅Π½ web-сСрвСр ΠΈΠ»ΠΈ шлюз Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚, всСгда сущСствуСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π΅Π³ΠΎ Π²Π·Π»ΠΎΠΌΠ°. И Π΄Π»Ρ систСмного администратора Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ ΡƒΠ·Π½Π°Π²Π°Ρ‚ΡŒ ΠΎ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ°Ρ… Π²Π·Π»ΠΎΠΌΠ° Π΅Ρ‰Π΅ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Π·Π»ΠΎΠΌ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π». ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ особСнно Π²Π°ΠΆΠ½Ρ‹ срСдства, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ Ρ„Π°ΠΊΡ‚ проникновСния Π² ΡΠΈΡΡ‚Π΅ΠΌΡƒ, ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅Π΄ΠΈΡ‚ΡŒ ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚оящСм Π²Ρ‚ΠΎΡ€ΠΆΠ΅Π½ΠΈΠΈ, Π½ΠΎ ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π°Ρ‚Π°ΠΊΡƒ.

1. ВСорСтичСская Ρ‡Π°ΡΡ‚ΡŒ

БистСма Snort являСтся классичСским ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠΌ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ исходными тСкстами. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π΄Π°Π½Π½ΠΎΠΉ систСмы Π½Π°Ρ‡Π°Π» ΠΎΠ΄ΠΈΠ½ Π°Π²Ρ‚ΠΎΡ€, Martin Roesch, Π½ΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Ρ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным тСкстам, систСма стала быстро Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π·Π° ΡΡ‡Π΅Ρ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΈ, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ с ΠΏΡ€ΠΎΡ‡ΠΈΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°ΠΌΠΈ, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… для вСдСния ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ² обнаруТСния, Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Ρ‹ ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ² рСгистрации. Π“ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ ΠΈ ΡƒΠ΄ΠΎΠ±ΡΡ‚Π²ΠΎ Snort ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π½Π° Ρ‚Ρ€Π΅Ρ… столпах:

Β· языкС ΠΏΡ€Π°Π²ΠΈΠ», ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для описания свойств ΠΏΠΎΠ΄ΠΎΠ·Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ опасного Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°;

Β· ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ΅ оповСщСния ΠΎΠ± ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠΈ Π°Ρ‚Π°ΠΊΠΈ;

Β· ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ ΠΊΠΎΠ΄Π°, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ, основанной Π½Π° ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ.

1.1 ВнутрСнняя структура Snort

БистСма Snort ΠΈΠΌΠ΅Π΅Ρ‚ Π³ΠΈΠ±ΠΊΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Π½ΡƒΡŽ Π² Π²ΠΈΠ΄Π΅ мноТСства ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚ Ρ‚Ρ€Π΅Ρ… Ρ‚ΠΈΠΏΠΎΠ²:

— ΠΏΡ€Π΅ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Ρ‹

— ΠΌΠΎΠ΄ΡƒΠ»ΠΈ обнаруТСния

— ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π°

1.1.2 ΠŸΡ€Π΅ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Ρ‹

ΠŸΡ€Π΅ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Ρ‹ Snort Π±Ρ‹Π²Π°ΡŽΡ‚ Π΄Π²ΡƒΡ… Ρ‚ΠΈΠΏΠΎΠ². ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Ρ‚ΠΈΠΏ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для обнаруТСния ΠΏΠΎΠ΄ΠΎΠ·Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ активности, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ Ρ‚ΠΈΠΏ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² высоких ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ (Ρ‡Π΅ΠΌ ΠΊΠ°Π½Π°Π»ΡŒΠ½Ρ‹ΠΉ) для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ процСссором обнаруТСния. Π­Ρ‚ΠΎΡ‚ процСсс называСтся Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°. Он ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Ρ‚ΡŒ Π°Ρ‚Π°ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‚ внСшним Π²ΠΈΠ΄ΠΎΠΌ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° для большСй скрытности. БущСствуСт ΠΌΠ½ΠΎΠ³ΠΎ прСпроцСссоров snort, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ, внСся ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ измСнСния Π² Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹ прСпроцСссоров находятся Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ./src/preprocessors. Π—Π΄Π΅ΡΡŒ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ…:

Β· portscan (2) — ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для обнаруТСния сканирования ΠΏΠΎΡ€Ρ‚ΠΎΠ²

Β· http_inspect — ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для контроля http Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°

Β· stream4 — ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для контроля Π·Π° TCP сСссиями

Β· arpspoof — ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для обнаруТСния Π°Ρ‚Π°ΠΊ arp-spoofing

Β· bo — ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для обнаруТСния активности BackOrifice

Β· frag2 — ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для сборки Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²

Β· RPC-decode — Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ RPC-Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°;

Β· Telnet_decode — Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° telnet-сСссий;

Β· ASN1_decode — выявлСниС Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΉ Π² ΡΡ‚Ρ€ΠΎΠΊΠ°Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ASN1;

Β· ΠΈ Ρ‚. Π΄.

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΡΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ snort Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ свои прСпроцСссоры, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π½Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ спСцифичСских Π·Π°Π΄Π°Ρ‡.

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ сСтСвой Ρ‚Ρ€Π°Ρ„ΠΈΠΊ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ начиная с ΠΊΠ°Π½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Ρ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ. Π’ Π½Π°ΡΡ‚оящСС врСмя Snort ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ для интСрфСйсов Ethernet, SLIP ΠΈ PPP.

1.1.3 ΠœΠΎΠ΄ΡƒΠ»ΠΈ обнаруТСния

ΠœΠΎΠ΄ΡƒΠ»ΠΈ обнаруТСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ нСпосрСдствСнно для Π°Π½Π°Π»ΠΈΠ·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ прСпроцСссорами Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°. Если этот ΠΌΠΎΠ΄ΡƒΠ»ΡŒ опрСдСляСт, Ρ‡Ρ‚ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚ удовлСтворяСт ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ ΠΏΡ€Π°Π²ΠΈΠ»Ρƒ, Ρ‚ΠΎ ΠΎΠ½ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ событиС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ дальшС пСрСдаСтся модулям Π²Ρ‹Π²ΠΎΠ΄Π° Snort.

1.1.4 ΠœΠΎΠ΄ΡƒΠ»ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π°

ΠœΠΎΠ΄ΡƒΠ»ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Snort для записи событий бСзопасности, вСдСния Π»ΠΎΠ³ΠΎΠ² ΠΈ Ρ‚. Π΄. Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ устройства ΠΈ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π΄Π°Π½Π½Ρ‹Ρ…. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ систСму Π½Π° Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΎΠ² Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ ΠΈ Ρ‚СкстовыС Ρ„Π°ΠΉΠ»Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ². Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ Π΄Π°ΠΆΠ΅ Ρ‚Π°ΠΊΠΈΠ΅ экзотичСскиС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹, ΠΊΠ°ΠΊ увСдомлСния администратора ΠΏΠΎ e-mail ΠΈΠ»ΠΈ SMS. Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹ этих ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ находятся Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ./src/output-plugins Π’ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π°:

Β· alert_syslog — Π²Ρ‹Π²ΠΎΠ΄ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ syslog

Β· log_tcpdump — Π²Ρ‹Π²ΠΎΠ΄ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ tcpdump

Β· output_database — Π²Ρ‹Π²ΠΎΠ΄Π²Π‘Π”. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ mysql, postgresql, oracle, odbc, mssql (Ρ‚ΠΎΠ»ΡŒΠΊΠΎΠ΄Π»Ρ Snort ΠΏΠΎΠ΄ Windows)

Β· csv — Π²Ρ‹Π²ΠΎΠ΄Π²Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ CSV (coma separated values)

Β· ΠΈ Ρ‚. Π΄.

Π£ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Ρ‚Π°ΠΊ ΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ написания своих ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π²Ρ‹Π²ΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ благодаря открытости Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Π»Π΅Π³ΠΊΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

1.2 ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Π°Ρ‚Π°ΠΊΠΈ

Snort ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Π΅Ρ‚ Π°Ρ‚Π°ΠΊΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π°Π½Π°Π»ΠΈΠ·Π° сСтСвого Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°. ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ обнаруТСния Π°Ρ‚Π°ΠΊ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅, являСтся ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Π·Π»ΠΎΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠΉ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ описания сигнатур Π°Ρ‚Π°ΠΊ. Π’ ΡΠΈΡΡ‚Π΅ΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ простой язык описания сигнатур Π°Ρ‚Π°ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ описан Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ администраторам систСмы Π΄ΠΎΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π±Π°Π·Ρƒ сигнатур своими сигнатурами. КаТдоС ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π½Π° ΡΡ‚ΠΎΠΌ языкС состоит ΠΈΠ· Π΄Π²ΡƒΡ… частСй: условиС примСнСния ΠΈ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΠ΅.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ… вСрсиях систСмы появилась ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ конструкция языка сигнатур, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΊΠ»Π°ΡΡΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сСтСвой Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΏΠΎ ΡΡ‚Π΅ΠΏΠ΅Π½ΠΈ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ опасности. Π‘Ρ‚Π΅ΠΏΠ΅Π½ΡŒ опасности опрСдСляСтся экспСртом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ сигнатуру Π°Ρ‚Π°ΠΊΠΈ.

Π’ Π½Π°ΡΡ‚оящСС врСмя систСма находится Π² ΡΡ‚Π°Π΄ΠΈΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ: ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ нСсколько мСсяцСв ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½ΠΎΠ²Ρ‹Π΅ вСрсии систСмы ΠΈ Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

АрхитСктура систСмы Snort Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π»Π°ΡΡŒ ΠΈΠ· ΡΠΎΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ эффСктивности ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΎΠ½Π° ΠΏΡ€Π΅Π΄Π΅Π»ΡŒΠ½ΠΎ проста ΠΈ ΡΠΎΡΡ‚ΠΎΠΈΡ‚ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… подсистСм: Π΄Π΅ΠΊΠΎΠ΄Π΅Ρ€ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ядро обнаруТСния ΠΈ ΠΏΠΎΠ΄ΡΠΈΡΡ‚Π΅ΠΌΡ‹ оповСщСния ΠΈ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ. Π”Π΅ΠΊΠΎΠ΄Π΅Ρ€ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Π½Π°Π±ΠΎΡ€ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ для ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² ΡΠΎΠΎΡ‚вСтствии с ΡƒΡ€ΠΎΠ²Π½ΡΠΌΠΈ сСтСвого стСка, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ принятый ΠΊΠ°Π΄Ρ€ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ прСобразуСтся Π² ΠΏΠ°ΠΊΠ΅Ρ‚, сСгмСнт ΠΈ Π±Π»ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ спСцифичных для Π΄Π°Π½Π½ΠΎΠ³ΠΎ уровня сигнатур Π°Ρ‚Π°ΠΊ. Π―Π΄Ρ€ΠΎ выстраиваСт ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ΡΡ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π² Ρ‚.Π½. Ρ†Π΅ΠΏΠΈ ΠΏΡ€Π°Π²ΠΈΠ» — Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€Π°Π²ΠΈΠ», Π³Π΄Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° с ΠΎΠ±Ρ‰Π΅ΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ условий примСнСния ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ Π² ΠΎΠ΄Π½ΠΎ Π·Π²Π΅Π½ΠΎ Ρ†Π΅ΠΏΠΈ, Π° Π½Π΅ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ» строятся Ρ†Π΅ΠΏΡŒΡŽ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΈ ΠΎΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π·Π²Π΅Π½Π°. Π­Ρ‚ΠΎ сдСлано для ускорСния Π°Π½Π°Π»ΠΈΠ·Π° сСтСвого Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅ ΠΎΡ‚ ΠΊΠΎΡ€Π½Ρ, ΠΏΠ΅Ρ€Π²ΠΎΠ΅ подходящСС ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ выполняСт свой Π±Π»ΠΎΠΊ дСйствий ΠΈ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ. На Ρ€ΠΈΡ. 1 прСдставлСн нСбольшой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°ΠΊΠΎΠΉ Ρ†Π΅ΠΏΠΈ ΠΏΡ€Π°Π²ΠΈΠ».

Рис. 1 — Π¦Π΅ΠΏΠΈ ΠΏΡ€Π°Π²ΠΈΠ» систСмы Snort

1.3 ΠŸΡ€Π°Π²ΠΈΠ»Π° Snort

ΠŸΡ€Π°Π²ΠΈΠ»Π° Snort Π»Π΅Π³ΠΊΠΈ для понимания ΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ, ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ достаточно ΡΠΈΠ»ΡŒΠ½Ρ‹ΠΌ срСдством для обнаруТСния опасной сСтСвой активности.

1.3.1 ACTION

Π˜ΠΌΠ΅ΡŽΡ‚ΡΡ Ρ‚Ρ€ΠΈ основных Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠ΅ дальнСйшиС дСйствия ΠΏΡ€ΠΈ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠΈ сСтСвого ΠΏΠ°ΠΊΠ΅Ρ‚Π°, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΏΡ€Π°Π²ΠΈΠ»Ρƒ: pass, log ΠΈ alert.

Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° pass ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ просто ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚. Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° log опрСдСляСт, Ρ‡Ρ‚ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ Турналирования, Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ записи Π² Ρ„Π°ΠΉΠ» ΠΆΡƒΡ€Π½Π°Π»Π°. НаконСц, Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° alert Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π°, ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Ρƒ — ΠΎΠΏΡΡ‚ΡŒ ΠΆΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ способом — ΠΈ ΠΏΠΎΡ‚ΠΎΠΌ ΡƒΠΆΠ΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ Турналирования для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°.

МоТно Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Ρ‰Π΅ Π΄Π²Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹: activate ΠΈ dynamic. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ мноТСства ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠ΅. НапримСр, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π° с ΡΠ²Π½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠ°ΠΌΠΈ Π°Ρ‚Π°ΠΊΠΈ Π½Π° ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±ΡƒΡ„Π΅Ρ€Π° ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡŽ увСдомлСния ΠΎΠ± Π°Ρ‚Π°ΠΊΠ΅ ΠΈ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Ρ„Π°ΠΉΠ» ΠΆΡƒΡ€Π½Π°Π»Π° нСсколько ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² для дальнСйшСго ΠΈΡ… Π°Π½Π°Π»ΠΈΠ·Π°. Вакая Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΈ Π΄ΠΎΡΡ‚игаСтся совмСстным использованиСм Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ² activate ΠΈ dynamic. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, сущСствуСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ опрСдСлСния собствСнных Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ², ассоциировав ΠΈΡ… Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ нСсколькими ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°ΠΌΠΈ Турналирования. НапримСр, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅

ruletype redalert

{

type alert

output alert_syslog: LOG_AUTH LOG_ALERT

output database: log, mysql, user=snort dbname= snort host= localhost

}

создаСт Π½ΠΎΠ²ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρƒ redalert, Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΡƒΡŽ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ΠΉ Π΅Π³ΠΎ syslog ΠΈ Π·Π°ΠΏΠΈΡΡŒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ± ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… MySQL.

1.3.2 PROTO

Π’ Π½Π°ΡΡ‚оящСС врСмя для Π°Π½Π°Π»ΠΈΠ·Π° доступны Ρ‚Ρ€ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°, ΠΈ, соотвСтствСнно, допустимы Ρ‚Ρ€ΠΈ значСния этого ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° — tcp, udp, icmp. Π’ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, появится ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ARP, IPX, IGRP, GRE, RIP, OSPF ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ….

1.3.3 IP_ADDR

Snort Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° для Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈΠΌΠ΅Π½ (ΠΈ Π²Ρ€ΡΠ΄ Π»ΠΈ ΠΎΠ½ ΠΏΠΎΡΠ²ΠΈΡ‚ся Π² Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌ — ΠΏΠΎ ΡΠΎΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ), поэтому для задания хостов Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… IP-адрСса. ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово any позволяСт Π·Π°Π΄Π°Ρ‚ΡŒ всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ адрСса, для подсСтСй ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ CIDR-Π±Π»ΠΎΠΊΠΈ.

Π‘ΠΈΠΌΠ²ΠΎΠ» ! ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ условиС, Ρ‚. Π΅. !192.168.3.0/24 ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ любой Π½Π΅ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠΉ подсСти 192.168.3.0/24 IP-адрСс. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ списки адрСсов, пСрСчисляя ΠΈΡ… Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ ΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Ρ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки: [192.168.2.0/24,192.169.3.54/32].

1.3.4 PORT

Π—Π°Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² ΠΏΠΎΡ€Ρ‚ΠΎΠ² осущСствляСтся Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² Linux-ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅ ipchains. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΊΡ€ΠΎΠΌΠ΅ СдинствСнного Π½ΠΎΠΌΠ΅Ρ€Π° ΠΏΠΎΡ€Ρ‚Π° ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΏΠΎΡ€Ρ‚ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 6000:6010 — ΠΏΠΎΡ€Ρ‚Ρ‹ с 6000 ΠΏΠΎ 6010 Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, :1024 — ΠΏΠΎΡ€Ρ‚Ρ‹ с 1 ΠΏΠΎ 1024, 1024: — ΠΏΠΎΡ€Ρ‚Ρ‹ с 1024 ΠΏΠΎ 65 536. Как ΠΈ Π² ΡΠ»ΡƒΡ‡Π°Π΅ IP-адрСсов, символ ! ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ условиС, Π° ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово any ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ всС ΠΏΠΎΡ€Ρ‚Ρ‹.

1.3.5 DIRECTION

Π­Ρ‚ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ позволяСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ двиТСния ΠΏΠ°ΠΊΠ΅Ρ‚Π°:

-> (одностороннСС) — ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌ, ΠΈΠ΄ΡƒΡ‰ΠΈΠΌ с IP_ADDR1 Π½Π° IP_ADDR2;

<> (двустороннСС) — Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ двиТСния ΠΏΠ°ΠΊΠ΅Ρ‚Π° Ρ€ΠΎΠ»ΠΈ Π½Π΅ ΠΈΠ³Ρ€Π°Π΅Ρ‚.

1.3.6 OPTIONS

Π—Π°ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Π΅ Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΏΡ€Π°Π²ΠΈΠ»Π° — ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ самой Π²Π°ΠΆΠ½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ систСмы обнаруТСния вторТСния. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ 3ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ тСкст ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»ΡΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ± ΡƒΠ³Ρ€ΠΎΠ·Π΅ сообщСния, Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ дСйствия ΠΏΡ€ΠΈ срабатывании ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ условия Π½Π° ΡΠΎΠΎΡ‚вСтствиС Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π΄Π°Π½Π½ΠΎΠΌΡƒ ΠΏΡ€Π°Π²ΠΈΠ»Ρƒ.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΎΡ‚Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ с Π·Π°ΠΏΡΡ‚ΠΎΠΉ, Π° ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° отдСляСтся ΠΎΡ‚ Π΅Π³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ΠΌ. Π’ Π½Π°ΡΡ‚оящСС врСмя сущСствуСт 24 ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, Π½ΠΎ ΠΈΡ… ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ постоянно увСличиваСтся ΠΎΡ‚ Π²Π΅Ρ€ΡΠΈΠΈ ΠΊ Π²Π΅Ρ€ΡΠΈΠΈ.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, Π·Π°Π΄Π°ΡŽΡ‰ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ условия Π½Π° ΡΠΎΠΎΡ‚вСтствиС ΠΏΡ€Π°Π²ΠΈΠ»Ρƒ:

ttl — Π·Π°Π΄Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля TTL Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ IP-ΠΏΠ°ΠΊΠ΅Ρ‚Π°;

tos — Π·Π°Π΄Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля TOS Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ IP-ΠΏΠ°ΠΊΠ΅Ρ‚Π°;

id — Π·Π°Π΄Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля Π½ΠΎΠΌΠ΅Ρ€Π° Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ IP-ΠΏΠ°ΠΊΠ΅Ρ‚Π°;

ipopts — Π·Π°Π΄Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² IP-ΠΏΠ°ΠΊΠ΅Ρ‚Π°;

fragbits — Π·Π°Π΄Π°Π΅Ρ‚ Π±ΠΈΡ‚Ρ‹ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ IP-ΠΏΠ°ΠΊΠ΅Ρ‚Π°;

dsize — Π·Π°Π΄Π°Π΅Ρ‚ условия Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ IP-ΠΏΠ°ΠΊΠ΅Ρ‚Π°;

flags — Π·Π°Π΄Π°Π΅Ρ‚ условия Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΈΠ»ΠΈ отсутствиС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… TCP-Ρ„Π»Π°Π³ΠΎΠ²;

seq — Π·Π°Π΄Π°Π΅Ρ‚ Π½ΠΎΠΌΠ΅Ρ€ сСгмСнта TCP-ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ;

ack — Π·Π°Π΄Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля подтвСрТдСния Π² TCP-ΠΏΠ°ΠΊΠ΅Ρ‚Π΅;

itype — Π·Π°Π΄Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля Ρ‚ΠΈΠΏΠ° ICMP-ΠΏΠ°ΠΊΠ΅Ρ‚Π°;

icode — Π·Π°Π΄Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля ΠΊΠΎΠ΄Π° ICMP-ΠΏΠ°ΠΊΠ΅Ρ‚Π°;

icmp_id — Π·Π°Π΄Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля ICMP ECHO ID Π² ICMP-ΠΏΠ°ΠΊΠ΅Ρ‚Π΅;

icmp_seq — Π·Π°Π΄Π°Π΅Ρ‚ Π½ΠΎΠΌΠ΅Ρ€ ICMP ECHO ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ;

content — Π·Π°Π΄Π°Π΅Ρ‚ искомый шаблон Π² ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚Π°, Π° Π½Π΅ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ (шаблон ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π² Ρ‚Скстовом Π²ΠΈΠ΄Π΅, Ρ‚Π°ΠΊ ΠΈ Π² ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠΌ);

content-list — этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π΅Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρƒ content Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ список искомых шаблонов бСрСтся ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°;

offset — Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ совмСстно с ΠΎΠΏΡ†ΠΈΠ΅ΠΉ content для опрСдСлСния смСщСния Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π°Π½Π°Π»ΠΈΠ· содСрТимого;

depth — Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π΅Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρƒ offset ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅, Π΄ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π°Π½Π°Π»ΠΈΠ· содСрТимого;

nocase — ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Ρƒ ΠΏΡ€ΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ содСрТимого ΠΏΠ°ΠΊΠ΅Ρ‚Π°;

rpc — этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ позволяСт Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ характСристики ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹Ρ… Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² RPC-сСрвисов.

Как ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, пСрСчислСнныС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»Π° для ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Π° практичСски Π»ΡŽΠ±Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠ°ΠΊ-Ρ‚ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΠ³Ρ€ΠΎΠΆΠ°Ρ‚ΡŒ бСзопасности. А Π΅ΡΠ»ΠΈ ΡƒΡ‡Π΅ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ snort ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π½Π° ΠΊΠ°Π½Π°Π»ΡŒΠ½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅, Ρ‚ΠΎ Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ особСнно интСрСсно Π½Π° Ρ…остах, Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΡ€Π²ΠΎΠ»ΠΎΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ отбрасываСмыС Ρ„Π°ΠΉΡ€Π²ΠΎΠ»ΠΎΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ всС Ρ€Π°Π²Π½ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² ΠΏΠΎΠ»Π΅ зрСния Snort.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, значСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠΌΠ΅ΡŽΡ‚ смысл ΠΏΡ€ΠΈ соотвСтствии Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π° всСм условиям:

msg — содСрТит тСкст сообщСния;

logto — Π·Π°Π΄Π°Π΅Ρ‚ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» для записи Π² Π½Π΅Π³ΠΎ содСрТимого ΠΏΠ°ΠΊΠ΅Ρ‚Π°;

session — этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ позволяСт Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠ½ΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Snort — ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· TCP-сСссии, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Π²ΠΎΠ΄ΠΈΠ» ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²ΠΎ Π²Ρ€Π΅ΠΌΡ telnet-сСссии;

4resp — Ссли ΠΏΠ°ΠΊΠ΅Ρ‚ соотвСтствуСт ΠΏΡ€Π°Π²ΠΈΠ»Ρƒ, Ρ‚ΠΎ Snort Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… дСйствий — Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π°ΠΊΡ€ΠΎΠ΅Ρ‚ соСдинСниС, ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ² TCP-RST-ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ· Ρ…остов.

react — Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΏΡ€Π°Π²ΠΈΠ»Π΅ web-сайты, закрывая соСдинСниС с Π½ΠΈΠΌΠΈ ΠΈ/ΠΈΠ»ΠΈ отправляя Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ сообщСниС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρƒ, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±Ρ‹Π»Π° прСдпринята ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π·Π°ΠΉΡ‚ΠΈ Π½Π° ΡΠ°ΠΉΡ‚.

1.4 ВозмоТности

Π°Ρ‚Π°ΠΊΠ° ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ snort ΠΌΠΎΠ΄ΡƒΠ»ΡŒ

БОА Snort ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°, ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰ΠΈΠΉ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ возмоТностями ΠΏΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². НапримСр, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» с ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ дСйствия Ρ‚ΠΈΠΏΠ° log. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΈΠ· Π²Ρ…одящСго ΠΏΠΎΡ‚ΠΎΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π½Ρ‹ ΠΈ ΡΠΎΡ…Ρ€Π°Π½Π΅Π½Ρ‹ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΆΡƒΡ€Π½Π°Π» вСдСтся Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ tcpdump, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ ΠΏΠΎΡ‡Ρ‚ΠΈ всСми спСциализированными ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ Π°Π½Π°Π»ΠΈΠ·Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ эти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ наглядно ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ содСрТимоС ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², Π½ΠΎ Π½Π΅ ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ Ρ‚Π°ΠΊΠΈΠΌΠΈ возмоТностями ΠΏΠΎ ΠΈΡ… Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠ°ΠΊ Snort.

Π’ Π‘ОА Snort встроСн ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Π²Ρ‹ΡΠ²Π»ΡΡ‚ΡŒ сканированиС ΠΏΠΎΡ€Ρ‚ΠΎΠ² Π·Π°Ρ‰ΠΈΡ‰Π°Π΅ΠΌΠΎΠΉ систСмы:

preprocessor flow: stats_interval 0 hash 2

preprocessor sfportscan: proto { <οΏ½ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»> } scan_type { <οΏ½Ρ‚ΠΈΠΏ_сканирования> } sense_level { <οΏ½Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ> } logfile { <οΏ½Ρ„Π°ΠΉΠ»_с_ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠΌ> }

Алгоритм, ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ сканированиС, основан Π½Π° Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ сканировании ΠΏΠΎΡ€Ρ‚ΠΎΠ² сущСствСнно увСличиваСтся количСство исходящих TCP-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² с ΡƒΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΌ Ρ„Π»Π°Π³ΠΎΠΌ RST. Установка этого Ρ„Π»Π°Π³Π° Π½Π° ΠΎΡ‚правляСмом Π² ΠΎΡ‚Π²Π΅Ρ‚ ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ€Ρ‚, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅, Π·Π°ΠΊΡ€Ρ‹Ρ‚. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, анализируя количСство ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² с ΡƒΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΌ Ρ„Π»Π°Π³ΠΎΠΌ RST, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ Ρ„Π°ΠΊΡ‚ сканирования ΠΏΠΎΡ€Ρ‚ΠΎΠ² систСмы.

ΠŸΠΎΠ΄ΡΠΈΡΡ‚Π΅ΠΌΠ° оповСщСния ΠΈ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΡΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π°Π½Π°Π»ΠΈΠ·Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π² ΠΆΡƒΡ€Π½Π°Π»Ρ‹ рСгистрации самой систСмы Snort, Π»ΠΈΠ±ΠΎ Π²Ρ‹Π²ΠΎΠ΄ этой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Ρ‡Π΅Ρ€Π΅Π· систСмныС слуТбы рСгистрации событий ΠžΠ‘. НапримСр, Π² UNIX-ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠžΠ‘ это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ сСрвис рСгистрации событий syslog. БистСма Snort Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄ мноТСство UNIX ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ.

Π’ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ… вСрсиях Snort появился Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π», Π΄Π΅Π»Π°ΡŽΡ‰ΠΈΠΉ Π΅Ρ‘ ΡΠΈΡΡ‚Π΅ΠΌΠΎΠΉ прСдотвращСния Π°Ρ‚Π°ΠΊ (БПА).

1.5 Snort_inline — систСма прСдотвращСния Π°Ρ‚Π°ΠΊ (IPS) Π½Π° Π±Π°Π·Π΅ Snort

Snort_inline это встроСнный ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡŒ опасного содСрТимого Π±Π΅Π·Π²Ρ€Π΅Π΄Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ; Ρ€Π°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒ систСмы прСдотвращСния Π²Ρ‚ΠΎΡ€ΠΆΠ΅Π½ΠΈΠΉ (IPS). Π­Ρ‚Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° основана Π½Π° ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ вСрсии популярного срСдства обнаруТСния Π²Ρ‚ΠΎΡ€ΠΆΠ΅Π½ΠΈΠΉ (IDS) Snort, с Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹ΠΌΠΈ нСсколькими Π½ΠΎΠ²Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ ΠΏΡ€Π°Π²ΠΈΠ» (drop, sdrop ΠΈ reject), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ с iptables (linux) ΠΈΠ»ΠΈ IPFW (freebsd), указывая ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π½ΡƒΠΆΠ½ΠΎ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΎΡ‚ΠΊΠ»ΠΎΠ½ΡΡ‚ΡŒ, ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ, Π° ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° Snort.

ΠŸΡ€ΠΈ использовании Snort с snort_inline Π² Π²Π°ΡˆΠ΅ΠΌ распоряТСнии Π±ΡƒΠ΄ΡƒΡ‚ Ρ‚Ρ€ΠΈ дСйствия: drop, reject ΠΈ sdrop.

drop — ΠžΡ‚Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ брандмэуСр, ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ систСмС Турналирования.

sdrop — ΠžΡ‚Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ брандмэуСра ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ систСму Турналирования.

reject — Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ брандмэуСр, ΠΎΡ‚Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ Π² Ρ‚ΠΎΠΌ случаС, Ссли ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» TCP, ΠΈΠ»ΠΈ ΠΆΠ΅ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Ρ„Π°ΠΉΠ» ΠΆΡƒΡ€Π½Π°Π»Π° сообщСниС: ICMP ΠΏΠΎΡ€Ρ‚ нСдоступСн, Ссли ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ UDP.

Рис. 2 — Ρ€Π°Π±ΠΎΡ‚Π° Snort_inline

1.6 Iptables

Iptables — ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, являСтся стандартным интСрфСйсом управлСния Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ мСТсСтСвого экрана (брандмауэра) netfilter для ядСр Linux вСрсий 2.4 ΠΈ 2.6. Для использования ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ iptables Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ ΡΡƒΠΏΠ΅Ρ€ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (root).

1.6.1 ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ понятия iptables

ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ — состоит ΠΈΠ· ΠΊΡ€ΠΈΡ‚Срия, дСйствия ΠΈ ΡΡ‡Π΅Ρ‚Ρ‡ΠΈΠΊΠ°. Если ΠΏΠ°ΠΊΠ΅Ρ‚ соотвСтствуСт ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΡŽ, ΠΊ Π½Π΅ΠΌΡƒ примСняСтся дСйствиС, ΠΈ ΠΎΠ½ ΡƒΡ‡ΠΈΡ‚ываСтся счСтчиком. ΠšΡ€ΠΈΡ‚Π΅Ρ€ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈ Π½Π΅ Π±Ρ‹Ρ‚ΡŒ — Ρ‚ΠΎΠ³Π΄Π° нСявно прСдполагаСтся ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ «Π²ΡΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹». Π£ΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ дСйствиС Ρ‚ΠΎΠΆΠ΅ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ — Π² ΠΎΡ‚сутствиС дСйствия ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ°ΠΊ счСтчик.

ΠšΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ — логичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ свойства ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΈ/ΠΈΠ»ΠΈ соСдинСния ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅Π΅, ΠΏΠΎΠ΄ΠΏΠ°Π΄Π°Π΅Ρ‚ Π»ΠΈ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΏΠΎΠ΄ дСйствиС Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°.

ДСйствиС — описаниС дСйствия, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Ρ‚ΡŒ с ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ ΠΈ/ΠΈΠ»ΠΈ соСдинСниСм Π² Ρ‚ΠΎΠΌ случаС, Ссли ΠΎΠ½ΠΈ ΠΏΠΎΠ΄ΠΏΠ°Π΄Π°ΡŽΡ‚ ΠΏΠΎΠ΄ дСйствиС этого ΠΏΡ€Π°Π²ΠΈΠ»Π°. О Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡΡ… Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ рассказано Π½ΠΈΠΆΠ΅.

Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ — ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π°, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ ΡƒΡ‡Π΅Ρ‚ количСства ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΏΠ°Π»ΠΈ ΠΏΠΎΠ΄ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°. Π’Π°ΠΊΠΆΠ΅ счСтчик ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ суммарный объСм Ρ‚Π°ΠΊΠΈΡ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² Π±Π°ΠΉΡ‚Π°Ρ….

Π¦Π΅ΠΏΠΎΡ‡ΠΊΠ° — упорядочСнная ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ». Π¦Π΅ΠΏΠΎΡ‡ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΈ Π±Π°Π·ΠΎΠ²Ρ‹Π΅.

Базовая Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° — Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ°, создаваСмая ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Π»ΠΈ ΠΎΠ½ ΡΠ°ΠΌΠΎΠΌΡƒ хосту, сгСнСрирован ΠΈΠΌ ΠΈΠ»ΠΈ являСтся Ρ‚Ρ€Π°Π½Π·ΠΈΡ‚Π½Ρ‹ΠΌ, Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ Π΅ΠΌΡƒ Π½Π°Π±ΠΎΡ€ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Ρ†Π΅ΠΏΠΎΡ‡Π΅ΠΊ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ†. Π‘Ρ…Π΅ΠΌΠ° слСдования ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, базовая Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° отличаСтся ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ΠΌ «Π΄Π΅ΠΉΡΡ‚вия ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ» (default policy). Π­Ρ‚ΠΎ дСйствиС примСняСтся ΠΊ Ρ‚Π΅ΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π±Ρ‹Π»ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ этой Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ ΠΈ Π²Ρ‹Π·Π²Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Π½Π΅Π΅ Ρ†Π΅ΠΏΠΎΡ‡Π΅ΠΊ (см. ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹). ИмСна Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Ρ†Π΅ΠΏΠΎΡ‡Π΅ΠΊ всСгда Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ рСгистрС (PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING).

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠ°Ρ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° — Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ°, созданная ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. ΠœΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… своСй Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. РСкомСндуСтся Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Ρ‚Π°ΠΊΠΈΡ… Ρ†Π΅ΠΏΠΎΡ‡Π΅ΠΊ ΠΈΠΌΠ΅Π½Π° Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ рСгистрС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Ρ‹ с Π±Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ°ΠΌΠΈ ΠΈ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½Ρ‹ΠΌΠΈ дСйствиями.

Π’Π°Π±Π»ΠΈΡ†Π° — ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Ρ†Π΅ΠΏΠΎΡ‡Π΅ΠΊ, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹Ρ… ΠΎΠ±Ρ‰ΠΈΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ. ИмСна Ρ‚Π°Π±Π»ΠΈΡ† (ΠΊΠ°ΠΊ ΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π²) Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² Π½ΠΈΠΆΠ½Π΅ΠΌ рСгистрС, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ²Π°Ρ‚ΡŒ с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Ρ†Π΅ΠΏΠΎΡ‡Π΅ΠΊ. ΠŸΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ iptables Ρ‚Π°Π±Π»ΠΈΡ†Π° указываСтся Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅t имя_Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. ΠŸΡ€ΠΈ отсутствии явного указания, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚Π°Π±Π»ΠΈΡ†Π° filter. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ рассмотрСны Π½ΠΈΠΆΠ΅.

1.6.2 ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹

ВсС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ для Π½ΠΈΡ… ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ†Π΅ΠΏΠΎΡ‡Π΅ΠΊ (см. Ρ€ΠΈΡ.). ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ, ΠΊ Π½Π΅ΠΌΡƒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ всС ΠΏΡ€Π°Π²ΠΈΠ»Π° этой Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ Π² ΠΏΠΎΡ€ΡΠ΄ΠΊΠ΅ ΠΈΡ… ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ. Под ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π° понимаСтся: Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π½Π° ΡΠΎΠΎΡ‚вСтствиС ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΡŽ, ΠΈ Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Ссли ΠΏΠ°ΠΊΠ΅Ρ‚ этому ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΡŽ соотвСтствуСт, ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊ Π½Π΅ΠΌΡƒ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ дСйствия. Под дСйствиСм ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ элСмСнтарная опСрация (встроСнноС дСйствиС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ACCEPT, MARK), Ρ‚Π°ΠΊ ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π² ΠΎΠ΄Π½Ρƒ ΠΈΠ· ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Ρ†Π΅ΠΏΠΎΡ‡Π΅ΠΊ. Π’ ΡΠ²ΠΎΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, дСйствия ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠΌΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Π΄Π°Π½Π½ΠΎΠΉ Π±Π°Π·ΠΎΠ²ΠΎΠΉ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ACCEPT, REJECT), Ρ‚Π°ΠΊ ΠΈ Π½Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π½Π΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌΠΈ процСсса ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π° (MARK, TOS). Если ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΏΡ€ΠΎΡˆΠ΅Π» Ρ‡Π΅Ρ€Π΅Π· всю Π±Π°Π·ΠΎΠ²ΡƒΡŽ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ ΠΈ ΠΊ Π½Π΅ΠΌΡƒ Ρ‚Π°ΠΊ ΠΈ Π½Π΅ Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΎ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ дСйствия, ΠΊ Π½Π΅ΠΌΡƒ примСняСтся дСйствиС ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для Π΄Π°Π½Π½ΠΎΠΉ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ (ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ΅).

1.6.3 ВстроСнныС дСйствия

Как ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΎ сказано Π²Ρ‹ΡˆΠ΅, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ встроСнноС дСйствиС Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΊΠ°ΠΊΡƒΡŽ-Π»ΠΈΠ±ΠΎ ΠΎΠ΄Π½Ρƒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ACCEPT пропускаСт ΠΏΠ°ΠΊΠ΅Ρ‚, MARK мСняСт Π΅Π³ΠΎ ΠΌΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ, MASQUERADE обСспСчиват маскарадинг соСдинСния. НаиболСС ΠΎΠ±Ρ‰ΠΈΠΌΠΈ дСйствиями ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

ACCEPT, DROP ΠΈ REJECT — Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΎΠ½ΠΈ рассмотрСны Π½ΠΈΠΆΠ΅, ΠΏΡ€ΠΈ описании Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ filter.

RETURN — обСспСчиваСт Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΈΠ· Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ. Π’ Ρ‡Π°ΡΡ‚ности, Ссли ΠΈΠ· Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ A ΠΏΡ€Π°Π²ΠΈΠ»ΠΎΠΌ Π½ΠΎΠΌΠ΅Ρ€ 3 ΠΏΠ°ΠΊΠ΅Ρ‚ Π±Ρ‹Π» Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ Π² Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ B, Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊ Π½Π΅ΠΌΡƒ Π² Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅ B Π΄Π΅ΠΉΡΡ‚вия RETURN ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρƒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ A, ΠΈ ΠΎΠ½ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ Π΅Π΅ ΠΏΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π° (Π½ΠΎΠΌΠ΅Ρ€ 4).

LOG — позволяСт Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π°Ρ… Π² ΠΆΡƒΡ€Π½Π°Π» ядра.

ULOG — позволяСт ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚Π°Ρ… ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π΄Π΅ΠΌΠΎΠ½Π°ΠΌ, Ρ‚Π°ΠΊΠΈΠΌ, ΠΊΠ°ΠΊ ulogd. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ позволяСт эффСктивно ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ΅, Π² Ρ‡Π°ΡΡ‚ности, Π·Π°Π½ΠΎΡΠΈΡ‚ΡŒ Π΅Π΅ Π² Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ MySQL, PostgreSQL ΠΈΠ»ΠΈ SQLite. ВпослСдствии эти Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π°ΠΊΠΈΡ… срСдств, ΠΊΠ°ΠΊ NuLog.

NFLOG — Π±ΠΎΠ»Π΅Π΅ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ULOG, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ Π½Π΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π² netlink-сокСт (ΠΊΠ°ΠΊ это Π΄Π΅Π»Π°Π΅Ρ‚ ULOG), Π° ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ подсистСмС — logging backend. НапримСр, бэкСнд nfnetlink_log обСспСчиваСт ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… Π² netlink-сокСт, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ с Π½ΠΈΠΌ NFLOG Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ULOG.

NFQUEUE — Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° ULOG, Π½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ Π΄Π΅ΠΌΠΎΠ½Ρƒ Π½Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π΅, Π° ΡΠ°ΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ. ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ΡΡ, Π² Ρ‡Π°ΡΡ‚ности, для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ l7-filter-userspace.

QUEUE — ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ°Ρ вСрсия NFQUEUE. НС ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒΡŽ Π½ΠΎΠΌΠ΅Ρ€ 0.

1.6.4 Π’Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ Π½Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ дСйствия

Π’Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ дСйствия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°ΡŽΡ‚ ΠΏΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Ρ‡Π΅Ρ€Π΅Π· Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π±Π°Π·ΠΎΠ²ΡƒΡŽ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ. Π’ΠΎ Π΅ΡΡ‚ΡŒ Ссли ΠΊ ΠΏΠ°ΠΊΠ΅Ρ‚Ρƒ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ дСйствиС, ΠΎΠ½ ΡƒΠΆΠ΅ Π½Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ся Π½Π° ΡΠΎΠΎΡ‚вСтствиС всСм ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ Π² ΡΡ‚ΠΎΠΉ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅ (ΠΈ Π² Ρ‚Π΅Ρ… Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ°Ρ…, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ½Π° Π±Ρ‹Π»Π° Π²Ρ‹Π·Π²Π°Π½Π°, Ссли это ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠ°Ρ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ°). Π’Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ всС дСйствия, спСцифичныС для Ρ‚Π°Π±Π»ΠΈΡ† filter ΠΈ nat. Из ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π²Ρ‹ΡˆΠ΅ Π² ΡΡ‚ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ — ACCEPT, DROP, REJECT, NFQUEUE, QUEUE.

ΠΠ΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ, соотвСтствСнно, ΡΠ²Π»ΡΡŽΡ‚ΡΡ дСйствия, Π½Π΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ процСсс прохоТдСния ΠΏΠ°ΠΊΠ΅Ρ‚Π° Ρ‡Π΅Ρ€Π΅Π· Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ. ΠΠ΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ дСйствия, спСцифичныС для Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ mangle, Π° ΠΈΠ· ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Ρ… Π²Ρ‹ΡˆΠ΅ — LOG, ULOG ΠΈ NFLOG.

1.6.5 Π’Π°Π±Π»ΠΈΡ†Π° mangle

Данная Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΏΠΎ ΠΊΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ ΠΌΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²ΠΊΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² (поля TTL ΠΈ TOS).

Π’Π°Π±Π»ΠΈΡ†Π° mangle содСрТит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ (Рис. 3):

PREROUTING — позволяСт ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ Π΄ΠΎ ΠΏΡ€ΠΈΠ½ΡΡ‚ия Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ.

INPUT — позволяСт ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ самому хосту.

FORWARD — Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Ρ€Π°Π½Π·ΠΈΡ‚Π½Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹.

OUTPUT — позволяСт ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, исходящиС ΠΎΡ‚ ΡΠ°ΠΌΠΎΠ³ΠΎ хоста.

POSTROUTING — Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС исходящиС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, ΠΊΠ°ΠΊ сгСнСрированныС самим хостом, Ρ‚Π°ΠΊ ΠΈ Ρ‚Ρ€Π°Π½Π·ΠΈΡ‚Π½Ρ‹Π΅.

Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ всС Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ mangle ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ проходят Ρ€Π°Π½ΡŒΡˆΠ΅, Ρ‡Π΅ΠΌ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ Ρ‚Π°Π±Π»ΠΈΡ† nat ΠΈ filter. Π­Ρ‚ΠΎ позволяСт ΠΊΠ»Π°ΡΡΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΌΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π² Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ°Ρ… этой Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. ВпослСдствии эти ΠΌΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ Π² Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ°Ρ… Π΄Π²ΡƒΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ† ΠΏΡ€ΠΈ принятии Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΈ Ρ‚рансляции адрСсов.

Рис. 3 — Π¦Π΅ΠΏΠΎΡ‡ΠΊΠΈ

1.6.6 Π’Π°Π±Π»ΠΈΡ†Π° filter

ΠŸΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ.

Π’Π°Π±Π»ΠΈΡ†Π° filter содСрТит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ:

INPUT — эта Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ, ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰ΠΈΠΉ нСпосрСдствСнно самому хосту.

FORWARD — позволяСт Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Ρ€Π°Π½Π·ΠΈΡ‚Π½Ρ‹ΠΉ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ.

OUTPUT — эта Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° позволяСт Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ, исходящий ΠΎΡ‚ ΡΠ°ΠΌΠΎΠ³ΠΎ хоста.

Допустимыми дСйствиями Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ filter ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

ACCEPT — пропуск ΠΏΠ°ΠΊΠ΅Ρ‚Π°. ΠŸΠ°ΠΊΠ΅Ρ‚ ΠΏΠΎΠΊΠΈΠ΄Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π±Π°Π·ΠΎΠ²ΡƒΡŽ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ ΠΈ ΡΠ»Π΅Π΄ΡƒΠ΅Ρ‚ дальшС ΠΏΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ (см. Ρ€ΠΈΡ.).

REJECT — Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΈ ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ Π΅Π³ΠΎ источнику ΠΎΠ± ΠΎΡ‚ΠΊΠ°Π·Π΅. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΠ± ΠΎΡ‚ΠΊΠ°Π·Π΅ сообщаСтся ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ ΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎΠ³ΠΎ ICMP-ΠΏΠ°ΠΊΠ΅Ρ‚Π° «icmp-port-unreachable». Однако, это дСйствиС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΎΠΏΡ†ΠΈΡŽ —reject-with, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΡƒΡŽ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΡƒ сообщСния ΠΎΠ± ΠΎΡ‚ΠΊΠ°Π·Π΅ (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния: icmp-net-unreachable, icmp-host-unreachable, icmp-proto-unreachable, icmp-net-prohibited, icmp-host-prohibited). Для ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° TCP поддСрТиваСтся ΠΎΡ‚ΠΊΠ°Π· Π² Ρ„ΠΎΡ€ΠΌΠ΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ RST-ΠΏΠ°ΠΊΠ΅Ρ‚Π° (—reject-with tcp-reset).

DROP — Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚, Π½Π΅ ΡΠΎΠΎΠ±Ρ‰Π°Ρ источнику ΠΎΠ± ΠΎΡ‚ΠΊΠ°Π·Π΅. Π‘ΠΎΠ»Π΅Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π° ΠΏΡ€ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π½Π° ΠΈΠ½Ρ‚СрфСйсах, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Ρƒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎΠ½ΠΈΠΆΠ°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ сканирования ΠΏΠΎΡ€Ρ‚ΠΎΠ² хоста Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠ°ΠΌΠΈ.

Π’Π°ΠΊΠΆΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ интСрСс ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ дСйствия, прСдоставляСмыС модулями xtables-addons (Π² Π½Π°ΡΡ‚оящСС врСмя этот ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΡƒΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² Debian testing). НСкоторыС ΠΈΠ· Π½ΠΈΡ…:

STEAL — Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ DROP, Π½ΠΎ Π² ΡΠ»ΡƒΡ‡Π°Π΅ использования Π² Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅ OUTPUT ΠΏΡ€ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ исходящСго ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π½Π΅ ΡΠΎΠΎΠ±Ρ‰Π°Π΅Ρ‚ ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ, ΠΏΡ‹Ρ‚Π°Π²ΡˆΠ΅ΠΌΡƒΡΡ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ этот ΠΏΠ°ΠΊΠ΅Ρ‚.

TARPIT — «ΠΏΠΎΠ΄Π²Π΅ΡΠΈΡ‚ΡŒ» TCP-соСдинСниС. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ лишь Π² ΡΠ°ΠΌΡ‹Ρ… ΠΊΡ€Π°ΠΉΠ½ΠΈΡ… случаях, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ Π±ΠΎΡ€ΡŒΠ±Π΅ с DoS-Π°Ρ‚Π°ΠΊΠ°ΠΌΠΈ. ΠžΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π½Π° Π²Ρ…одящСС соСдинСниС, послС Ρ‡Π΅Π³ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ„Ρ€Π΅ΠΉΠΌΠ° Π΄ΠΎ Π½ΡƒΠ»Ρ, блокируя Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ «Π²ΠΈΡΠ΅Ρ‚ΡŒ» Π² Ρ‚Π°ΠΊΠΎΠΌ состоянии ΠΏΠΎΠΊΠ° Π½Π΅ ΠΈΡΡ‚Π΅Ρ‡Π΅Ρ‚ Ρ‚Π°ΠΉΠΌ-Π°ΡƒΡ‚ Π½Π° Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰Π΅ΠΉ сторонС (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ 20—30 ΠΌΠΈΠ½ΡƒΡ‚). ΠŸΡ€ΠΈ этом Π½Π° Ρ‚Π°ΠΊΠΎΠ΅ соСдинСниС Ρ€Π°ΡΡ…ΠΎΠ΄ΡƒΡŽΡ‚ΡΡ систСмныС рСсурсы Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰Π΅ΠΉ стороны (процСссорноС врСмя ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ивная ΠΏΠ°ΠΌΡΡ‚ΡŒ), Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ вСсьма ΠΎΡ‰ΡƒΡ‚ΠΈΠΌΠΎ ΠΏΡ€ΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ количСствС соСдинСний. Π’ ΡΠ»ΡƒΡ‡Π°Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ использования дСйствия TARPIT рСсурсы Π°Ρ‚Π°ΠΊΡƒΠ΅ΠΌΠΎΠΉ стороны практичСски Π½Π΅ Ρ€Π°ΡΡ…ΠΎΠ΄ΡƒΡŽΡ‚ΡΡ.

Под ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ понимаСтся ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ‚Π°ΠΊΠΈΡ… соСдинСний подсистСмой conntrack, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°ΡΡ…ΠΎΠ΄ΠΎΠ²Π°Ρ‚ΡŒΡΡ систСмныС рСсурсы самого Π°Ρ‚Π°ΠΊΡƒΠ΅ΠΌΠΎΠ³ΠΎ хоста. НапримСр, ΠΏΠ΅Ρ€Π΅Π΄ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π° блокирования ΠΏΠΎΡ€Ρ‚Π°

DELUDE — ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ TCP-ΠΏΠΎΡ€Ρ‚Π°. На SYN-ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ SYN/ACK, Π½Π° Π²ΡΠ΅ ΠΏΡ€ΠΎΡ‡ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ RST. ΠžΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для ввСдСния Π² Π·Π°Π±Π»ΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠ°, ΡΠΊΠ°Π½ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΏΠΎΡ€Ρ‚Ρ‹ вашСго хоста.

CHAOS — для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ TCP-соСдинСния случайно Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π΄Π²ΡƒΡ… дСйствий. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ ΠΈΠ· Π½ΠΈΡ… — REJECT, Π²Ρ‚ΠΎΡ€ΠΎΠ΅, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ ΠΎΠΏΡ†ΠΈΠΈ, Π»ΠΈΠ±ΠΎ TARPIT (—tarpit), Π»ΠΈΠ±ΠΎ DELUDE (—delude). Π’ Ρ‡Π°ΡΡ‚ности, ΠΏΡ€ΠΈ использовании дСйствия CHAOS —delude для всСх Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΠΎΡ€Ρ‚ΠΎΠ², ΡΠΊΠ°Π½ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ ваши ΠΏΠΎΡ€Ρ‚Ρ‹ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½Π΅Π²Π΅Ρ€Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΡΠΎΡΡ‚оянии Π²Π°ΡˆΠΈΡ… ΠΏΠΎΡ€Ρ‚ΠΎΠ². Π’ ΡΠ»ΡƒΡ‡Π°Π΅ с CHAOS —tarpit ситуация усугубится Π΅Ρ‰Π΅ ΠΈ «ΠΏΠΎΠ΄Π²ΠΈΡΠ°ΡŽΡ‰ΠΈΠΌΠΈ» соСдинСниями.

Особо Π·Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ всС дСйствия, пСрСчислСнныС Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ допустимых Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ filter, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π² Π»ΡŽΠ±ΠΎΠΉ ΠΈΠ· Ρ†Π΅ΠΏΠΎΡ‡Π΅ΠΊ любой ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ† (ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, с Ρ€Π°Π·ΡƒΠΌΠ½Ρ‹ΠΌΠΈ ограничСниями — Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π΅ ΡΡ‚ΠΎΠΈΡ‚ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ дСйствия TARPIT, CHAOS ΠΈ DELUDE для собствСнных исходящих ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²). Однако эти дСйствия ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ ΠΈΠΌΠ΅Π½Π½ΠΎ для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ, ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΡ… Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ filter являСтся Π΄ΡƒΡ€Π½Ρ‹ΠΌ Ρ‚ΠΎΠ½ΠΎΠΌ. Как ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ дСйствий, спСцифичных для Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ mangle, Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… filter ΠΈ nat.

2. БистСма прСдотвращСния Π°Ρ‚Π°ΠΊ

Snort с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ Snort_inline Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС Kali-linux-1.0.9. Для Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ snort Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹:

pcre-8.12.zip

libpcap-1.1.1.tar.gz

libdnet-1.11.tar.gz

libnfnetlink-1.0.0.tar

libnetfilter_queue-1.0.0.tar

daq-0.5.tar.gz

Для configure скриптов ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°Π΄Π°Π΅ΠΌ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ для установки:

./configure —libdir=/usr/lib —includedir=/usr/include && make && make install

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ этапом являСтся сборка snort:

./configure —libdir=/usr/lib —includedir=/usr/include —enable-ipv6 —enable-gre —enable-targetbased —enable-decoder-preprocessor-rules —enable-active-response —enable-normalizer —enable-reload —enable-react —enable-zlib —enable-inline && make && make install

Π³Π΄Π΅:

—enable-ipv6 — ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° IP v6 (Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ ΠΊΠ°ΠΏΠΈΡ‚Π°Π½!).

—enable-gre — ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° GRE инкапсуляции.

—enable-targetbased — ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сбора Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ².

—enable-decoder-preprocessor-rules — ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΡ€Π°Π²ΠΈΠ» для Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ Π½Π° Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ выявлСнныС Π² Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ΅ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ прСпроцСссоров ΠΈ Π΄Π΅ΠΊΠΎΠ΄Π΅Ρ€ΠΎΠ².

—enable-active-response — ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° внСдрСния Π² ΡΠ΅Π°Π½Ρ ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΏΡ€ΠΈ срабатывании ΠΏΡ€Π°Π²ΠΈΠ»Π°.

—enable-normalizer — ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ².

—enable-reload — Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ/Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΡ€Π°Π²ΠΈΠ» Π±Π΅Π· ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ SNORT.

—enable-react — ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±Ρ€Ρ‹Π²Π° сСанса (RST) ΠΏΡ€ΠΈ срабатывании ΠΏΡ€Π°Π²ΠΈΠ»Π°.

—enable-zlibΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сТатого Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°;

—enable-inline — ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ интСрфСйс libipq для snort inline.

ПослС Ρ‡Π΅Π³ΠΎ настраиваСм ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ snort, ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ:

/etc/snort/snort.conf .

var HOME_NET 1.2.3.4 # ip-адрСс нашСго сСрвСра

var EXTERNAL_NET any

var HTTP_SERVERS $HOME_NET

portvar HTTP_PORTS [80,8080]

# ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΠ°ΠΏΠΊΠ°ΠΌ с ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ

var RULE_PATH /etc/snort/rules

var PREPROC_RULE_PATH /etc/snort/preproc_rules

# Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅ΠΌ ошибки ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²

config disable_decode_alerts

config disable_tcpopt_experimental_alerts

config disable_tcpopt_obsolete_alerts

config disable_tcpopt_ttcp_alerts

config disable_tcpopt_alerts

config disable_ipopt_alerts

# настраиваСм Ρ€Π΅ΠΆΠΈΠΌ inline

config daq: iptables

config daq_mode: inline

config policy_mode: inline

# ΠΏΠ°ΠΏΠΊΠΈ с ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Π°ΠΌΠΈ

dynamicpreprocessor directory /usr/local/lib/snort_dynamicpreprocessor/

dynamicengine /usr/local/lib/snort_dynamicengine/libsf_engine.so

# фрагмСнтация ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²

preprocessor frag3_global: max_frags 65 536

preprocessor frag3_engine: policy linux

# tcp ΠΈ udp процСссор

preprocessor stream5_global: max_tcp 8192, track_tcp yes, track_udp no

preprocessor stream5_tcp: policy linux

#preprocessor stream5_udp: ignore_any_rules

preprocessor http_inspect: global iis_unicode_map unicode. map 1251

preprocessor http_inspect_server: server default profile apache no_alerts ports { 80 8080 8180 } oversize_dir_length 500

output alert_syslog: LOG_ALERT

# ΠΈΠ½ΠΊΠ»ΡƒΠ΄ΠΈΠΌ классификаторы Ρ‚Ρ€Π°Ρ„Ρ„ΠΈΠΊΠ°

include classification. config

include reference. config

# ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»

include $RULE_PATH/local.rules

И ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π° для snort, ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ — /etc/snort/rules:

# ΡƒΠ±ΠΈΠ²Π°Π΅ΠΌ UNION SQL injection

drop tcp any any -> $HOME_NET $HTTP_PORTS (msg:" UNION SQL Injection" ;uricontent:" union" ;nocase;uricontent:" select" ;nocase;sid:1;gid:666;)

# ΡƒΠ±ΠΈΠ²Π°Π΅ΠΌ blind SQL injection

drop tcp any any -> $HOME_NET $HTTP_PORTS (msg:" Blind SQL Injection" ;uricontent:" ascii" ;nocase;uricontent:" substr" ;nocase;uricontent:" select" ;nocase;sid:2;gid:666;)

# ΡƒΠ±ΠΈΠ²Π°Π΅ΠΌ XSS/CSS

drop tcp any any -> $HOME_NET $HTTP_PORTS (msg:" XSS/CSS attack" ;uricontent:" «;nocase;sid:4;gid:666;)

# ΡƒΠ±ΠΈΠ²Π°Π΅ΠΌ Ρ…ΠΈΡ‚Ρ€Ρ‹ΠΉ XSS/CSS

drop tcp any any -> $HOME_NET $HTTP_PORTS (msg:" XSS/CSS attack" ;pcre:" /GET /.*?.*=(javascript:|onclick=|onmouseover=|onmouseout=|onload=).*n/i" ;sid:5;gid:666;)

# ΡƒΠ±ΠΈΠ²Π°Π΅ΠΌ ./././etc/passwd

drop tcp any any -> $HOME_NET $HTTP_PORTS (msg:" PHP include attack" ;uricontent:" =./." ;sid:6;gid:666;)

Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ всС настройки Π²Π²Π΅Π΄Π΅Π½Ρ‹ приступаСм ΠΊ Π·Π°ΠΏΡƒΡΠΊΡƒ snort.

snortQ —daq nfq —daq-var queue=2 -c /etc/snort/snort.conf

— Q — Ρ€Π°Π±ΠΎΡ‚Π° Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ IPS

—daq — источник ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²

—daq-var — ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ источника ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²

— Ρ — ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΊΠΎΠ½Ρ„ΠΈΠ³Ρƒ ПослС запуска snort настраиваСм iptables:

iptablest natA PREROUTINGj NFQUEUE —queue-num 2

ПослС Ρ‡Π΅Π³ΠΎ настройка ΠΈ Π·Π°ΠΏΡƒΡΠΊ snort являСтся Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ‹ΠΌ.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Ρ‹Π»Π° ΠΈΠ·ΡƒΡ‡Π΅Π½Π° бСсплатная систСма прСдотвращСния Π°Ρ‚Π°ΠΊ Snort_inline Π½Π° Π±Π°Π·Π΅ Snort. Π‘Ρ‹Π»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Ρ‹ знания ΠΎ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π΅ Π΄Π°Π½Π½ΠΎΠΉ систСмы ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°Ρ… Π΅Ρ‘ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Научился ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»Π° для прСдотвращСния Π°Ρ‚Π°ΠΊ Π½Π° ΡΠ΅Ρ€Π²Π΅Ρ€.

Бписок ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… источников

1. Π₯Π°Π±Ρ€Π°Ρ…Π°Π±Ρ€. ИспользованиС snort для блокирования Π°Ρ‚Π°ΠΊ скрипт-киддисов — [Π­Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½Ρ‹ΠΉ рСсурс] - Π Π΅ΠΆΠΈΠΌ доступа: http://habrahabr.ru/post/69 854/

2. Русская Π³Ρ€ΡƒΠΏΠΏΠ° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Snort. Snort_inline — систСма прСдотвращСния Π°Ρ‚Π°ΠΊ (IPS) Π½Π° Π±Π°Π·Π΅ Snort — [Π­Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½Ρ‹ΠΉ рСсурс] - Π Π΅ΠΆΠΈΠΌ доступа: http://www.snortgroup.ru/node/137

3. Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ Π ΠΎΠΆΠΊΠΎΠ². Snort — [Π­Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½Ρ‹ΠΉ рСсурс] - Π Π΅ΠΆΠΈΠΌ доступа: http://snortgroup.ru/sites/default/files/Snort_linuxcenter.pdf

4. Prezi. БистСма обнаруТСния Π°Ρ‚Π°ΠΊ Snort — [Π­Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½Ρ‹ΠΉ рСсурс] - Π Π΅ΠΆΠΈΠΌ доступа: https://prezi.com/ihemgx4iejeu/snort/

5. Unixzen. FreeBSD IPS со Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½Ρ‹ΠΌ Snort — [Π­Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½Ρ‹ΠΉ рСсурс] - Π Π΅ΠΆΠΈΠΌ доступа: http://unixzen.ru/freebsd-ips-%D1%81%D0%BE-%D0%B2%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%BD%D1%8B%D0%BC-snort/

6. Π’ΠΈΠΊΠΈΡƒΡ‡Π΅Π±Π½ΠΈΠΊ. Iptables — [Π­Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½Ρ‹ΠΉ рСсурс] - Π Π΅ΠΆΠΈΠΌ доступа: http://ru.wikibooks.org/wiki/Iptables#.D0.A2.D0.B0.D0.B1.D0.BB.D0.B8.D1.86.D0.B0_filter

7. OpenNET. БистСма обнаруТСния Π²Ρ‚ΠΎΡ€ΠΆΠ΅Π½ΠΈΠΉ Π½Π° Π±Π°Π·Π΅ IDS Snort (snort ids) — [Π­Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½Ρ‹ΠΉ рСсурс] - http://www.opennet.ru/base/sec/snort_ids.txt.html

8. Habrahabr. SNORT ΠΊΠ°ΠΊ сСрвисная IPS — [Π­Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½Ρ‹ΠΉ рСсурс] - http://habrahabr.ru/post/123 474/

9. Hacktracking. Snort IPS: afpacket and nfq — [Π­Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½Ρ‹ΠΉ рСсурс] - http://hacktracking.blogspot.ru/2013/10/snort-ips-inline-mode-installation.html

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ