Snort yoki Suricata. 3-qism: Ofis tarmog'ini himoya qilish

В oldingi maqola Biz sizga Suricata-ning barqaror versiyasini Ubuntu 18.04 LTS da qanday ishlatishni ko'rsatdik. IDS-ni bitta tugunga o'rnatish va bepul qoidalar to'plamini ulash juda oddiy. Bugun biz virtual serverda o'rnatilgan Suricata yordamida korporativ tarmoqni eng keng tarqalgan hujum turlaridan qanday himoya qilishni aniqlaymiz. Buning uchun bizga ikkita hisoblash yadroli Linuxda VDS kerak. Operativ xotira miqdori yukga bog'liq: ba'zilari uchun 2 GB etarli, ammo jiddiyroq vazifalar uchun 4 yoki hatto 6 talab qilinishi mumkin.Virtual mashinaning afzalligi - tajriba qilish qobiliyati: siz minimal konfiguratsiyadan boshlashingiz mumkin. va kerak bo'lganda resurslarni ko'paytirish.

Snort yoki Suricata. 3-qism: Ofis tarmog'ini himoya qilishfotosurat: Reuters

Tarmoqlarni ulash

IDSni virtual mashinaga ko'chirish birinchi navbatda sinov uchun zarur bo'lishi mumkin. Agar siz hech qachon bunday echimlar bilan shug'ullanmagan bo'lsangiz, jismoniy uskunaga buyurtma berishga va tarmoq arxitekturasini o'zgartirishga shoshilmasligingiz kerak. Hisoblash resurslariga bo'lgan ehtiyojlaringizni aniqlash uchun tizimni xavfsiz va qo'shimcha xarajatlarsiz sinab ko'rish yaxshiroqdir. Barcha korporativ trafikni bitta tashqi tugun orqali o'tkazish kerakligini tushunish muhimdir: mahalliy tarmoqni (yoki bir nechta tarmoqlarni) IDS Suricata o'rnatilgan VDS ga ulash uchun siz foydalanishingiz mumkin. SoftEther — kuchli shifrlashni ta'minlovchi oson sozlanadigan o'zaro platformali VPN serveri. Ofis Internet aloqasi haqiqiy IP-ga ega bo'lmasligi mumkin, shuning uchun uni VPS-ga yangilash yaxshiroqdir. Ubuntu omborida tayyor paketlar yo'q, dasturiy ta'minotni shu yerdan yuklab olish kerak bo'ladi loyiha veb-sayti, yoki xizmatdagi tashqi ombordan Launchpad (agar siz unga ishonsangiz):

sudo add-apt-repository ppa:paskal-07/softethervpn
sudo apt-get update

Quyidagi buyruq yordamida mavjud paketlar ro'yxatini ko'rishingiz mumkin:

apt-cache search softether

Snort yoki Suricata. 3-qism: Ofis tarmog'ini himoya qilish

Uni sozlash uchun bizga softether-vpnserver (sinov konfiguratsiyasidagi server VDS da ishlaydi), shuningdek softether-vpncmd - buyruq qatori yordamchi dasturlari kerak bo'ladi.

sudo apt-get install softether-vpnserver softether-vpncmd

Serverni sozlash uchun maxsus buyruq qatori yordam dasturidan foydalaning:

sudo vpncmd

Snort yoki Suricata. 3-qism: Ofis tarmog'ini himoya qilish

O'rnatish haqida biz batafsil gapirmaymiz: protsedura juda oddiy, u ko'plab nashrlarda yaxshi tasvirlangan va maqola mavzusiga bevosita bog'liq emas. Qisqasi, vpncmd-ni ishga tushirgandan so'ng, server boshqaruv konsoliga o'tish uchun 1-bandni tanlashingiz kerak. Buning uchun siz localhost nomini kiritishingiz va markaz nomini kiritish o'rniga enter tugmasini bosishingiz kerak. Konsolda serverpasswordset buyrug'i bilan administrator parolini o'rnating, DEFAULT virtual markazni o'chiring (hubdelete buyrug'i) va Suricata_VPN nomi bilan yangisini yarating, shuningdek uning parolini o'rnating (hubcreate buyrug'i). Keyinchalik, groupcreate va usercreate buyruqlari yordamida guruh va foydalanuvchi yaratish uchun hub Suricata_VPN buyrug'i yordamida yangi markazning boshqaruv konsoliga o'tishingiz kerak. Foydalanuvchi paroli userpasswordset yordamida o'rnatiladi.

SoftEther ikkita trafik uzatish rejimini qo'llab-quvvatlaydi: SecureNAT va Local Bridge. Birinchisi, o'zining NAT va DHCP bilan virtual xususiy tarmoqni qurish uchun xususiy texnologiya. SecureNAT TUN/TAPni talab qilmaydi, shuningdek, Netfilter yoki boshqa xavfsizlik devori sozlamalarini ham talab qilmaydi. Marshrutlash tizim yadrosiga ta'sir qilmaydi va barcha jarayonlar virtuallashtiriladi va ishlatiladigan gipervisordan qat'i nazar, istalgan VPS/VDS da ishlaydi. Bu SoftEther virtual markazini jismoniy tarmoq adapteri yoki TAP qurilmasiga ulaydigan Mahalliy ko'prik rejimiga nisbatan protsessor yukini oshiradi va tezlikni pasaytiradi.

Bu holda konfiguratsiya yanada murakkablashadi, chunki marshrutlash Netfilter yordamida yadro darajasida amalga oshiriladi. Bizning VDS Hyper-V-da qurilgan, shuning uchun oxirgi bosqichda biz mahalliy ko'prik yaratamiz va bridgecreate Suricate_VPN -device:suricate_vpn -tap:yes buyrug'i bilan TAP qurilmasini faollashtiramiz. Hub boshqaruv konsolidan chiqqandan so'ng, tizimda hali IP tayinlanmagan yangi tarmoq interfeysini ko'ramiz:

ifconfig

Snort yoki Suricata. 3-qism: Ofis tarmog'ini himoya qilish

Keyinchalik, agar u nofaol bo'lsa, interfeyslar o'rtasida paketli marshrutlashni yoqishingiz kerak bo'ladi (ip forward):

sudo nano /etc/sysctl.conf

Quyidagi qatorni izohlang:

net.ipv4.ip_forward = 1

Biz faylga kiritilgan o'zgarishlarni saqlaymiz, muharrirdan chiqamiz va ularni quyidagi buyruq yordamida qo'llaymiz:

sudo sysctl -p

Keyinchalik, virtual tarmoq uchun (masalan, 10.0.10.0/24) soxta IP-ga ega bo'lgan pastki tarmoqni aniqlashimiz va interfeysga manzil belgilashimiz kerak:

sudo ifconfig tap_suricata_vp 10.0.10.1/24

Keyin Netfilter qoidalarini o'rnatishingiz kerak bo'ladi.

1. Agar kerak bo'lsa, tinglash portlarida kiruvchi paketlarga ruxsat bering (SoftEther xususiy protokoli HTTPS va 443 portdan foydalanadi)

sudo iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 992 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 1194 -j ACCEPT
sudo iptables -A INPUT -p udp -m udp --dport 1194 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 5555 -j ACCEPT

2. NAT-ni 10.0.10.0/24 quyi tarmog'idan asosiy server IP-ga sozlang

sudo iptables -t nat -A POSTROUTING -s 10.0.10.0/24 -j SNAT --to-source 45.132.17.140

3. 10.0.10.0/24 quyi tarmog'idan paketlarni o'tkazishga ruxsat bering

sudo iptables -A FORWARD -s 10.0.10.0/24 -j ACCEPT

4. O'rnatilgan ulanishlar uchun paketlarni o'tkazishga ruxsat bering

sudo iptables -A FORWARD -p all -m state --state ESTABLISHED,RELATED -j ACCEPT

O'quvchilar uchun uy vazifasi sifatida ishga tushirish skriptlaridan foydalangan holda tizimni qayta ishga tushirishda jarayonni avtomatlashtirishni qoldiramiz.

Agar siz mijozlarga IP-ni avtomatik ravishda berishni istasangiz, mahalliy ko'prik uchun qandaydir DHCP xizmatini o'rnatishingiz kerak bo'ladi. Shu nuqtada, serverni sozlash tugallandi va siz mijozlarga o'tishingiz mumkin. SoftEther ko'plab protokollarni qo'llab-quvvatlaydi, ulardan foydalanish mahalliy tarmoq uskunasining imkoniyatlariga bog'liq.

netstat -ap |grep vpnserver

Snort yoki Suricata. 3-qism: Ofis tarmog'ini himoya qilish

Sinov routerimiz Ubuntu-da ham ishlayotganligi sababli, xususiy protokoldan foydalanish uchun unga tashqi ombordan softether-vpnclient va softether-vpncmd paketlarini o'rnatamiz. Siz mijozni ishga tushirishingiz kerak:

sudo vpnclient start

Sozlash uchun vpncmd yordam dasturidan foydalaning, vpnclient ishlayotgan mashina sifatida localhost-ni tanlang. Barcha buyruqlar konsolda amalga oshiriladi: siz virtual interfeys (NicCreate) va hisob (AccountCreate) yaratishingiz kerak bo'ladi.

Ba'zi hollarda AccountAnonymousSet, AccountPasswordSet, AccountCertSet va AccountSecureCertSet buyruqlari yordamida autentifikatsiya usulini o'rnatishingiz kerak bo'ladi. Biz DHCP dan foydalanmayotganimiz uchun virtual adapter manzili qo'lda o'rnatiladi.

Bundan tashqari, biz ip forward (/etc/sysctl.conf faylida net.ipv4.ip_forward=1 parametr) va statik marshrutlarni sozlashimiz kerak bo'ladi. Agar kerak bo'lsa, mahalliy tarmoqda o'rnatilgan xizmatlardan foydalanish uchun Suricata bilan VDS da portni yo'naltirishni sozlashingiz mumkin. Shu nuqtada, tarmoqlarni birlashtirish tugallangan deb hisoblash mumkin.

Bizning taklif qilgan konfiguratsiyamiz quyidagicha ko'rinadi:

Snort yoki Suricata. 3-qism: Ofis tarmog'ini himoya qilish

Suricata o'rnatilmoqda

В oldingi maqola biz IDS ishining ikkita rejimi haqida gapirdik: NFQUEUE navbati orqali (NFQ rejimi) va nol nusxasi orqali (AF_PACKET rejimi). Ikkinchisi ikkita interfeysni talab qiladi, lekin tezroq - biz undan foydalanamiz. Variant sukut bo'yicha /etc/default/suricata-da o'rnatiladi. Biz, shuningdek, /etc/suricata/suricata.yaml-dagi vars bo'limini tahrirlashimiz kerak, u erda virtual pastki tarmoqni uy sifatida ro'yxatdan o'tkazamiz.

Snort yoki Suricata. 3-qism: Ofis tarmog'ini himoya qilish

IDSni qayta ishga tushirish uchun quyidagi buyruqdan foydalaning:

systemctl restart suricata

Yechim tayyor, endi siz uni tajovuzkorlarga qarshilik ko'rsatish uchun sinab ko'rishingiz kerak bo'lishi mumkin.

Hujumlarni simulyatsiya qilish

Tashqi IDS xizmatidan jangovar foydalanish uchun bir nechta stsenariylar bo'lishi mumkin:

DDoS hujumlaridan himoya qilish (asosiy maqsad)

Ushbu parametrni korporativ tarmoq ichida amalga oshirish qiyin, chunki tahlil paketlari tizimning Internetga qaragan interfeysiga etib borishi kerak. IDS ularni bloklasa ham, soxta trafik ma'lumotlar havolasini yopishi mumkin. Bunga yo'l qo'ymaslik uchun barcha mahalliy tarmoq trafigidan va barcha tashqi trafikdan o'tishi mumkin bo'lgan etarli darajada kuchli Internet aloqasi bo'lgan VPS-ga buyurtma berishingiz kerak. Bu ko'pincha ofis kanalini kengaytirishdan ko'ra osonroq va arzonroqdir. Shu bilan bir qatorda, DDoS himoyasi bo'yicha ixtisoslashgan xizmatlarni eslatib o'tish kerak. Ularning xizmatlari narxi virtual server narxi bilan taqqoslanadi va ko'p mehnat talab qiladigan konfiguratsiya talab qilinmaydi, ammo kamchiliklari ham bor - ularning pullari uchun mijoz faqat DDoS himoyasini oladi, shu bilan birga o'zlarining IDSlarini xohlagancha sozlash mumkin.

Boshqa turdagi tashqi hujumlardan himoya qilish

Suricata Internetdan foydalanish mumkin bo'lgan korporativ tarmoq xizmatlarining (pochta serveri, veb-server va veb-ilovalar va boshqalar) turli zaifliklaridan foydalanishga urinishlarga dosh bera oladi. Odatda, bu maqsadda IDS chekka qurilmalardan keyin mahalliy hudud ichida o'rnatiladi, lekin uni tashqariga ko'chirish ham mavjud bo'lish huquqiga ega.

Ichki hujumchilardan himoya

Tizim ma'murining barcha sa'y-harakatlariga qaramay, korporativ tarmoqdagi kompyuterlar zararli dastur bilan zararlanishi mumkin. Qolaversa, ba’zida bezorilar mahalliy hududda paydo bo‘lib, ayrim noqonuniy operatsiyalarni amalga oshirishga urinadi. Suricata bunday urinishlarni blokirovka qilishga yordam beradi, garchi ichki tarmoqni himoya qilish uchun uni perimetr ichiga o'rnatish va uni bitta portga trafikni aks ettira oladigan boshqariladigan kalit bilan birgalikda ishlatish yaxshiroqdir. Bu holda tashqi IDS ham foydasiz emas - hech bo'lmaganda u LANda yashovchi zararli dasturlarning tashqi server bilan bog'lanish urinishlarini ushlay oladi.

Boshlash uchun biz VPS-ga hujum qiluvchi yana bir sinov yaratamiz va mahalliy tarmoq routerda standart konfiguratsiya bilan Apache-ni o'rnatamiz va keyin IDS serveridan 80-portni unga yo'naltiramiz. Keyinchalik biz hujum tugunidan DDoS hujumini simulyatsiya qilamiz. Buning uchun GitHub-dan yuklab oling, hujum qiluvchi tugunga kichik xerxes dasturini kompilyatsiya qiling va ishga tushiring (siz gcc paketini o'rnatishingiz kerak bo'lishi mumkin):

git clone https://github.com/Soldie/xerxes-DDos-zanyarjamal-C.git
cd xerxes-DDos-zanyarjamal-C/
gcc xerxes.c -o xerxes 
./xerxes 45.132.17.140 80

Uning ishining natijasi quyidagicha edi:

Snort yoki Suricata. 3-qism: Ofis tarmog'ini himoya qilish

Surikata yovuz odamni kesib tashlaydi va Apache sahifasi bizning kutilmagan hujumimizga va "ofis" (aslida uy) tarmog'ining o'lik kanaliga qaramay, sukut bo'yicha ochiladi. Keyinchalik jiddiy vazifalar uchun undan foydalanishga arziydi Metasploit Framework. U kirish testi uchun mo'ljallangan va sizga turli xil hujumlarni taqlid qilish imkonini beradi. O'rnatish bo'yicha ko'rsatmalar mavjud loyiha veb-saytida. O'rnatishdan so'ng yangilanish talab qilinadi:

sudo msfupdate

Sinov uchun msfconsole-ni ishga tushiring.

Snort yoki Suricata. 3-qism: Ofis tarmog'ini himoya qilish

Afsuski, ramkaning so'nggi versiyalarida avtomatik ravishda buzish imkoniyati yo'q, shuning uchun ekspluatatsiyalarni qo'lda saralash va use buyrug'i yordamida ishga tushirish kerak bo'ladi. Birinchidan, siz hujum qilingan mashinada ochilgan portlarni aniqlashingiz kerak, masalan, nmap yordamida (bizning holatda, u hujum qilingan xostda to'liq netstat bilan almashtiriladi) va keyin tegishlilarini tanlang va foydalaning. Metasploit modullari

IDS ning hujumlarga chidamliligini tekshirishning boshqa usullari, jumladan, onlayn xizmatlar ham mavjud. Qiziqish uchun siz sinov versiyasidan foydalanib stress testini tashkil qilishingiz mumkin IP Stresser. Ichki tajovuzkorlarning harakatlariga reaktsiyani tekshirish uchun mahalliy tarmoqdagi mashinalardan biriga maxsus vositalarni o'rnatishga arziydi. Variantlar juda ko'p va ular vaqti-vaqti bilan nafaqat eksperimental saytga, balki ishchi tizimlarga ham qo'llanilishi kerak, ammo bu butunlay boshqacha hikoya

Snort yoki Suricata. 3-qism: Ofis tarmog'ini himoya qilish

Snort yoki Suricata. 3-qism: Ofis tarmog'ini himoya qilish

Manba: www.habr.com

a Izoh qo'shish