Snort ΠΈΠ»ΠΈ Suricata. Π§Π°ΡΡ‚ΡŒ 2: установка ΠΈ пСрвичная настройка Suricata

Если Π²Π΅Ρ€ΠΈΡ‚ΡŒ статистикС, объСм сСтСвого Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° увСличиваСтся ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π½Π° 50% ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π³ΠΎΠ΄. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ росту Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ, Π² частности, ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ трСбования ΠΊ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ IDS/IPS. МоТно ΠΏΠΎΠΊΡƒΠΏΠ°Ρ‚ΡŒ дорогостоящСС спСциализированноС ΠΆΠ΅Π»Π΅Π·ΠΎ, Π½ΠΎ Π΅ΡΡ‚ΡŒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ подСшСвлС β€” Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· систСм с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ. МногиС Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ администраторы ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚, Π±ΡƒΠ΄Ρ‚ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈ ΡΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±Π΅ΡΠΏΠ»Π°Ρ‚Π½ΡƒΡŽ IPS довольно слоТно. Π’ случаС с Suricata это Π½Π΅ совсСм Π²Π΅Ρ€Π½ΠΎ β€” ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΈ Π΅Π΅ ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΎΡ‚Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Π΅ Π°Ρ‚Π°ΠΊΠΈ с Π½Π°Π±ΠΎΡ€ΠΎΠΌ бСсплатных ΠΏΡ€Π°Π²ΠΈΠ» ΠΌΠΎΠΆΠ½ΠΎ Π·Π° нСсколько ΠΌΠΈΠ½ΡƒΡ‚.

Snort ΠΈΠ»ΠΈ Suricata. Π§Π°ΡΡ‚ΡŒ 2: установка ΠΈ пСрвичная настройка Suricata
Snort ΠΈΠ»ΠΈ Suricata. Π§Π°ΡΡ‚ΡŒ 1: Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π±Π΅ΡΠΏΠ»Π°Ρ‚Π½ΡƒΡŽ IDS/IPS для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ сСти

Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½Π° Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π° открытая IPS?

Π”ΠΎΠ»Π³ΠΎΠ΅ врСмя ΡΡ‡ΠΈΡ‚Π°Π²ΡˆΠ°ΡΡΡ стандартом систСма Snort разрабатываСтся с ΠΊΠΎΠ½Ρ†Π° дСвяностых, поэтому ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΎΠ½Π° Π±Ρ‹Π»Π° ΠΎΠ΄Π½ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠΉ. Π—Π° Π΄ΠΎΠ»Π³ΠΈΠ΅ Π³ΠΎΠ΄Ρ‹ Π² Π½Π΅ΠΉ появились всС соврСмСнныС Ρ„ΠΈΡˆΠΊΠΈ, Π²Ρ€ΠΎΠ΄Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ IPv6, возмоТности Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ уровня ΠΈΠ»ΠΈ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ.

Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ Snort 2.X научился Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с нСсколькими ядрами, Π½ΠΎ Ρ‚Π°ΠΊ ΠΈ остался ΠΎΠ΄Π½ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹ΠΌ ΠΈ ΠΏΠΎΡ‚ΠΎΠΌΡƒ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ прСимущСства соврСмСнных Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π±Ρ‹Π»Π° Ρ€Π΅ΡˆΠ΅Π½Π° Π² Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ вСрсии систСмы, Π½ΠΎ Π΅Π΅ Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ»ΠΈ Ρ‚Π°ΠΊ Π΄ΠΎΠ»Π³ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅ успСла ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ написанная с нуля Suricata. Π’ 2009 Π³ΠΎΠ΄Ρƒ Π΅Π΅ Π½Π°Ρ‡Π°Π»ΠΈ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΡƒΡŽ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρƒ Snort, ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰ΡƒΡŽ ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ функциями IPS. Код распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ GPLv2, Π½ΠΎ финансовыС ΠΏΠ°Ρ€Ρ‚Π½Π΅Ρ€Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈΠΌΠ΅ΡŽΡ‚ доступ ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ вСрсии Π΄Π²ΠΈΠΆΠΊΠ°. НСкоторыС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒΡŽ Π² ΠΏΠ΅Ρ€Π²Ρ‹Ρ… вСрсиях систСмы Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»ΠΈ, Π½ΠΎ ΠΎΠ½ΠΈ довольно быстро Π±Ρ‹Π»ΠΈ Ρ€Π΅ΡˆΠ΅Π½Ρ‹.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Suricata?

Π’ Suricata Π΅ΡΡ‚ΡŒ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ (ΠΊΠ°ΠΊ ΠΈ Π² Snort): Π·Π°Ρ…Π²Π°Ρ‚Π°, сбора, дСкодирования, обнаруТСния ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π°. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π·Π°Ρ…Π²Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΈΠ΄Π΅Ρ‚ Π΄ΠΎ дСкодирования ΠΎΠ΄Π½ΠΈΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ, хотя это большС Π½Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ систСму. ΠŸΡ€ΠΈ нСобходимости ΠΏΠΎΡ‚ΠΎΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π² настройках ΠΈ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠΎ процСссорам β€” Suricata ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ оптимизируСтся ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ ΠΆΠ΅Π»Π΅Π·ΠΎ, хотя это ΡƒΠΆΠ΅ Π½Π΅ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ HOWTO для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. Π‘Ρ‚ΠΎΠΈΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π² Suricata основанных Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ HTP ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Ρ… срСдств инспСктирования HTTP. Они ΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ для ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π±Π΅Π· дСтСктирования. БистСма Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ IPv6, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ‚ΡƒΠ½Π½Π΅Π»ΠΈ IPv4-in-IPv6, IPv6-in-IPv6 ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.

Для ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ€Π°Π·Π½Ρ‹Π΅ интСрфСйсы (NFQueue, IPFRing, LibPcap, IPFW, AF_PACKET, PF_RING), Π° Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Unix Socket ΠΌΠΎΠΆΠ½ΠΎ автоматичСски Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Ρ…Π²Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠΌ сниффСром Ρ„Π°ΠΉΠ»Ρ‹ PCAP. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Π°Ρ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Suricata ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… элСмСнтов для Π·Π°Ρ…Π²Π°Ρ‚Π°, дСкодирования, Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сСтСвых ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Π’Π°ΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² Suricata Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° осущСствляСтся срСдствами ΡˆΡ‚Π°Ρ‚Π½ΠΎΠ³ΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. Π’ GNU/Linux доступно Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ IPS: Ρ‡Π΅Ρ€Π΅Π· ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ NFQUEUE (Ρ€Π΅ΠΆΠΈΠΌ NFQ) ΠΈ Ρ‡Π΅Ρ€Π΅Π· zero copy (Ρ€Π΅ΠΆΠΈΠΌ AF_PACKET). Π’ случаС ΠΏΠ΅Ρ€Π²ΠΎΠΌ случаС ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ Π² iptables ΠΏΠ°ΠΊΠ΅Ρ‚ направляСтся Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ NFQUEUE, Π³Π΄Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅. Suricata прогоняСт Π΅Π³ΠΎ ΠΏΠΎ своим ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ ΠΈ выносит ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… Π²Π΅Ρ€Π΄ΠΈΠΊΡ‚ΠΎΠ²: NF_ACCEPT, NF_DROP ΠΈ NF_REPEAT. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π²Π° пояснСний Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚, Π° послСдний позволяСт ΠΏΡ€ΠΎΠΌΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΈΡ… Π² Π½Π°Ρ‡Π°Π»ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ iptables. Π Π΅ΠΆΠΈΠΌ AF_PACKET отличаСтся Π±ΠΎΠ»Π΅Π΅ высоким быстродСйствиСм, Π½ΠΎ Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ Π½Π° систСму ряд ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ: ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π²Π° сСтСвых интСрфСйса ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² качСствС шлюза. Π—Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ просто Π½Π΅ пСрСсылаСтся Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ интСрфСйс.

ВаТная Ρ„ΠΈΡˆΠΊΠ° Suricata β€” Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ для Snort. Администратору доступны, Π² частности, Π½Π°Π±ΠΎΡ€Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ» Sourcefire VRT ΠΈ OpenSource Emerging Threats, Π° Ρ‚Π°ΠΊΠΆΠ΅ коммСрчСскиС Emerging Threats Pro. Π£Π½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ популярных бэкСндов, Ρ‚Π°ΠΊΠΆΠ΅ поддСрТиваСтся Π²Ρ‹Π²ΠΎΠ΄ Π² PCAP ΠΈ Syslog. Настройки систСмы ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° хранятся Π² Ρ„Π°ΠΉΠ»Π°Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° YAML, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π»Π΅Π³ΠΊΠΎ читаСтся ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ автоматичСски. Π”Π²ΠΈΠΆΠΎΠΊ Suricata распознаСт мноТСство ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ², поэтому Π² ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ… Π½Π΅Ρ‚ нСобходимости ΠΏΡ€ΠΈΠ²ΡΠ·Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΊ Π½ΠΎΠΌΠ΅Ρ€Ρƒ ΠΏΠΎΡ€Ρ‚Π°. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ Π² ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ… Suricata Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ практикуСтся концСпция flowbits. Для отслСТивания срабатывания ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ сСссии, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ счСтчики ΠΈ Ρ„Π»Π°Π³ΠΈ. МногиС IDS Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ TCP-соСдинСния ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ сущности ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ связи ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ, ΡΠ²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΎ Π½Π°Ρ‡Π°Π»Π΅ Π°Ρ‚Π°ΠΊΠΈ. Suricata стараСтся Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρƒ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ ΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… случаях распознаСт распрСдСлСнный ΠΏΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌ соСдинСниям врСдоносный Ρ‚Ρ€Π°Ρ„ΠΈΠΊ. О Π΅Π΅ прСимущСствах ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΡƒΠΆΠ΄Π°Ρ‚ΡŒ Π΄ΠΎΠ»Π³ΠΎ, ΠΌΡ‹ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ установкС ΠΈ настройкС.

Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ?

ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Suricata Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ сСрвСр, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Ubuntu 18.04 LTS. ВсС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ ΡΡƒΠΏΠ΅Ρ€ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (root). НаиболСС бСзопасный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ β€” ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ сСрвСру ΠΏΠΎ SSH с ΠΏΡ€Π°Π²Π°ΠΌΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ sudo для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ. Для Π½Π°Ρ‡Π°Π»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°ΠΌ понадобятся:

sudo apt -y install libpcre3 libpcre3-dev build-essential autoconf automake libtool libpcap-dev libnet1-dev libyaml-0-2 libyaml-dev zlib1g zlib1g-dev libmagic-dev libcap-ng-dev libjansson-dev pkg-config libnetfilter-queue-dev geoip-bin geoip-database geoipupdate apt-transport-https

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ внСшний Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ:

sudo add-apt-repository ppa:oisf/suricata-stable
sudo apt-get update

УстанавливаСм послСднюю ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Suricata:

sudo apt-get install suricata

ΠŸΡ€ΠΈ нСобходимости ΠΏΡ€Π°Π²ΠΈΠΌ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ имя, Π·Π°ΠΌΠ΅Π½ΠΈΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉΡΡ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ eth0 Π½Π° фактичСскоС имя внСшнСго интСрфСйса сСрвСра. Настройки ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ хранятся Π² Ρ„Π°ΠΉΠ»Π΅ /etc/default/suricata, Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ β€” Π² /etc/suricata/suricata.yaml. Настройка IDS ΠΏΠΎ большСй части ограничиваСтся ΠΏΡ€Π°Π²ΠΊΠΎΠΉ этого ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. Π’ Π½Π΅ΠΌ мноТСство ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎ названию ΠΈ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ с Π°Π½Π°Π»ΠΎΠ³Π°ΠΌΠΈ ΠΈΠ· Snort. Бинтаксис Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ, Π½ΠΎ Ρ„Π°ΠΉΠ» Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ Ρ‡Π΅ΠΌ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΠΈ Snort, ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ ΠΎΠ½ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΡ€ΠΎΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½.

sudo nano /etc/default/suricata

Snort ΠΈΠ»ΠΈ Suricata. Π§Π°ΡΡ‚ΡŒ 2: установка ΠΈ пСрвичная настройка Suricata

ΠΈ

sudo nano /etc/suricata/suricata.yaml

Snort ΠΈΠ»ΠΈ Suricata. Π§Π°ΡΡ‚ΡŒ 2: установка ΠΈ пСрвичная настройка Suricata

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅! ΠŸΠ΅Ρ€Π΅Π΄ запуском стоит ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ€Π°Π·Π΄Π΅Π»Π° vars.

Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ настройку потрСбуСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ suricata-update для обновлСния ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΡ€Π°Π²ΠΈΠ». Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ это довольно просто:

sudo apt install python-pip
sudo pip install pyyaml
sudo pip install <a href="https://github.com/OISF/suricata-update/archive/master.zip">https://github.com/OISF/suricata-update/archive/master.zip</a>
sudo pip install --pre --upgrade suricata-update

Π”Π°Π»ΡŒΡˆΠ΅ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ suricata-update для установки Π½Π°Π±ΠΎΡ€Π° ΠΏΡ€Π°Π²ΠΈΠ» Emerging Threats Open:

sudo suricata-update

Snort ΠΈΠ»ΠΈ Suricata. Π§Π°ΡΡ‚ΡŒ 2: установка ΠΈ пСрвичная настройка Suricata

Для просмотра списка источников ΠΏΡ€Π°Π²ΠΈΠ» выполняСм ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

sudo suricata-update list-sources

Snort ΠΈΠ»ΠΈ Suricata. Π§Π°ΡΡ‚ΡŒ 2: установка ΠΈ пСрвичная настройка Suricata

ОбновляСм источники ΠΏΡ€Π°Π²ΠΈΠ»:

sudo suricata-update update-sources

Snort ΠΈΠ»ΠΈ Suricata. Π§Π°ΡΡ‚ΡŒ 2: установка ΠΈ пСрвичная настройка Suricata

ΠŸΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ просматриваСм ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½Ρ‹Π΅ источники:

sudo suricata-update list-sources

ΠŸΡ€ΠΈ нСобходимости ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ доступныС бСсплатныС источники:

sudo suricata-update enable-source ptresearch/attackdetection
sudo suricata-update enable-source oisf/trafficid
sudo suricata-update enable-source sslbl/ssl-fp-blacklist

ПослС этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΅Ρ‰Π΅ Ρ€Π°Π· ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»Π°:

sudo suricata-update

На этом установку ΠΈ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΡƒΡŽ настройку Suricata Π² Ubuntu 18.04 LTS ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½ΠΎΠΉ. Π”Π°Π»ΡŒΡˆΠ΅ начинаСтся самоС интСрСсноС: Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠΌ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ сСрвСр ΠΊ офисной сСти Ρ‡Π΅Ρ€Π΅Π· VPN ΠΈ Π½Π°Ρ‡Π½Π΅ΠΌ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ вСсь входящий ΠΈ исходящий Ρ‚Ρ€Π°Ρ„ΠΈΠΊ. ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»ΠΈΠΌ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π°Ρ‚Π°ΠΊ DDoS, активности врСдоносного ПО ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ°ΠΌ эксплуатации уязвимостСй Π² доступных ΠΈΠ· сСтСй ΠΎΠ±Ρ‰Π΅Π³ΠΎ пользования сСрвисов. Для наглядности Π±ΡƒΠ΄ΡƒΡ‚ смодСлированы Π°Ρ‚Π°ΠΊΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнных Ρ‚ΠΈΠΏΠΎΠ².

Snort ΠΈΠ»ΠΈ Suricata. Π§Π°ΡΡ‚ΡŒ 2: установка ΠΈ пСрвичная настройка Suricata

Snort ΠΈΠ»ΠΈ Suricata. Π§Π°ΡΡ‚ΡŒ 2: установка ΠΈ пСрвичная настройка Suricata

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com