Snort atau Suricata. Bahagian 3: Melindungi Rangkaian Pejabat

Π’ artikel sebelumnya kami telah membincangkan cara menjalankan versi stabil Suricata pada Ubuntu 18.04 LTS. Menyediakan IDS pada satu nod dan mendayakan set peraturan percuma adalah agak mudah. Hari ini kita akan memikirkan cara untuk melindungi rangkaian korporat menggunakan jenis serangan yang paling biasa menggunakan Suricata yang dipasang pada pelayan maya. Untuk melakukan ini, kami memerlukan VDS pada Linux dengan dua teras pengkomputeran. Jumlah RAM bergantung pada beban: 2 GB sudah cukup untuk seseorang, dan 4 atau bahkan 6 mungkin diperlukan untuk tugas yang lebih serius. Kelebihan mesin maya ialah keupayaan untuk bereksperimen: anda boleh mulakan dengan konfigurasi minimum dan peningkatan sumber mengikut keperluan.

Snort atau Suricata. Bahagian 3: Melindungi Rangkaian Pejabatfoto: Reuters

Menyambung rangkaian

Mengalih keluar IDS ke mesin maya di tempat pertama mungkin diperlukan untuk ujian. Jika anda tidak pernah berurusan dengan penyelesaian sedemikian, anda tidak perlu tergesa-gesa untuk memesan perkakasan fizikal dan menukar seni bina rangkaian. Adalah lebih baik untuk menjalankan sistem dengan selamat dan kos efektif untuk menentukan keperluan pengiraan anda. Adalah penting untuk memahami bahawa semua trafik korporat perlu melalui satu nod luaran: untuk menyambungkan rangkaian tempatan (atau beberapa rangkaian) ke VDS dengan IDS Suricata dipasang, anda boleh menggunakan LembutEther - Pelayan VPN merentas platform yang mudah dikonfigurasikan yang menyediakan penyulitan yang kuat. Sambungan Internet pejabat mungkin tidak mempunyai IP sebenar, jadi lebih baik untuk menyediakannya pada VPS. Tiada pakej siap sedia dalam repositori Ubuntu, anda perlu memuat turun perisian sama ada dari tapak projek, atau daripada repositori luaran pada perkhidmatan Launchpad (jika anda mempercayainya):

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

Anda boleh melihat senarai pakej yang tersedia dengan arahan berikut:

apt-cache search softether

Snort atau Suricata. Bahagian 3: Melindungi Rangkaian Pejabat

Kami memerlukan softether-vpnserver (pelayan dalam konfigurasi ujian berjalan pada VDS), serta softether-vpncmd - utiliti baris arahan untuk mengkonfigurasinya.

sudo apt-get install softether-vpnserver softether-vpncmd

Utiliti baris arahan khas digunakan untuk mengkonfigurasi pelayan:

sudo vpncmd

Snort atau Suricata. Bahagian 3: Melindungi Rangkaian Pejabat

Kami tidak akan bercakap secara terperinci tentang tetapan: prosedurnya agak mudah, ia diterangkan dengan baik dalam banyak penerbitan dan tidak secara langsung berkaitan dengan topik artikel. Pendek kata, selepas memulakan vpncmd, anda perlu memilih item 1 untuk pergi ke konsol pengurusan pelayan. Untuk melakukan ini, anda mesti memasukkan nama localhost dan tekan enter dan bukannya memasukkan nama hab. Kata laluan pentadbir ditetapkan dalam konsol dengan arahan serverpasswordset, hab maya DEFAULT dipadamkan (arahan hubdelete) dan yang baharu dicipta dengan nama Suricata_VPN, dan kata laluannya juga ditetapkan (arahan hubcreate). Seterusnya, anda perlu pergi ke konsol pengurusan hab baharu menggunakan arahan hab Suricata_VPN untuk mencipta kumpulan dan pengguna menggunakan arahan groupcreate dan usercreate. Kata laluan pengguna ditetapkan menggunakan set kata laluan pengguna.

SoftEther menyokong dua mod pemindahan trafik: SecureNAT dan Local Bridge. Yang pertama ialah teknologi proprietari untuk membina rangkaian peribadi maya dengan NAT dan DHCP sendiri. SecureNAT tidak memerlukan TUN/TAP atau Netfilter atau tetapan firewall lain. Penghalaan tidak menjejaskan teras sistem, dan semua proses dimayakan dan berfungsi pada mana-mana VPS / VDS, tanpa mengira hipervisor yang digunakan. Ini mengakibatkan beban CPU meningkat dan kelajuan lebih perlahan berbanding mod Jambatan Setempat, yang menghubungkan hab maya SoftEther kepada penyesuai rangkaian fizikal atau peranti TAP.

Konfigurasi dalam kes ini menjadi lebih rumit, kerana penghalaan berlaku pada peringkat kernel menggunakan Netfilter. VDS kami dibina pada Hyper-V, jadi pada langkah terakhir kami mencipta jambatan tempatan dan mengaktifkan peranti TAP dengan arahan bridgecreate Suricate_VPN -device:suricate_vpn -tap:yes. Selepas keluar dari konsol pengurusan hab, kami akan melihat antara muka rangkaian baharu dalam sistem yang belum diberikan IP:

ifconfig

Snort atau Suricata. Bahagian 3: Melindungi Rangkaian Pejabat

Seterusnya, anda perlu mendayakan penghalaan paket antara antara muka (ip ke hadapan), jika ia tidak aktif:

sudo nano /etc/sysctl.conf

Nyahkomen baris berikut:

net.ipv4.ip_forward = 1

Simpan perubahan pada fail, keluar dari editor dan gunakannya dengan arahan berikut:

sudo sysctl -p

Seterusnya, kita perlu menentukan subnet untuk rangkaian maya dengan IP rekaan (contohnya, 10.0.10.0/24) dan memberikan alamat kepada antara muka:

sudo ifconfig tap_suricata_vp 10.0.10.1/24

Kemudian anda perlu menulis peraturan Netfilter.

1. Jika perlu, benarkan paket masuk pada port mendengar (protokol proprietari SoftEther menggunakan HTTPS dan port 443)

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. Sediakan NAT daripada subnet 10.0.10.0/24 kepada IP pelayan utama

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

3. Benarkan menghantar paket dari subnet 10.0.10.0/24

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

4. Benarkan menghantar paket untuk sambungan yang telah ditetapkan

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

Kami akan meninggalkan automasi proses apabila sistem dimulakan semula menggunakan skrip permulaan kepada pembaca sebagai kerja rumah.

Jika anda ingin memberikan IP kepada pelanggan secara automatik, anda juga perlu memasang beberapa jenis perkhidmatan DHCP untuk jambatan tempatan. Ini melengkapkan persediaan pelayan dan anda boleh pergi ke pelanggan. SoftEther menyokong banyak protokol, penggunaannya bergantung pada keupayaan peralatan LAN.

netstat -ap |grep vpnserver

Snort atau Suricata. Bahagian 3: Melindungi Rangkaian Pejabat

Memandangkan penghala ujian kami juga berjalan di bawah Ubuntu, mari pasang pakej softether-vpnclient dan softether-vpncmd daripada repositori luaran padanya untuk menggunakan protokol proprietari. Anda perlu menjalankan klien:

sudo vpnclient start

Untuk mengkonfigurasi, gunakan utiliti vpncmd, memilih localhost sebagai mesin yang vpnclient sedang berjalan. Semua arahan dibuat dalam konsol: anda perlu mencipta antara muka maya (NicCreate) dan akaun (AccountCreate).

Dalam sesetengah kes, anda mesti menentukan kaedah pengesahan menggunakan arahan AccountAnonymousSet, AccountPasswordSet, AccountCertSet dan AccountSecureCertSet. Oleh kerana kami tidak menggunakan DHCP, alamat untuk penyesuai maya ditetapkan secara manual.

Selain itu, kita perlu mendayakan ip forward (parameter net.ipv4.ip_forward=1 dalam fail /etc/sysctl.conf) dan konfigurasikan laluan statik. Jika perlu, pada VDS dengan Suricata, anda boleh mengkonfigurasi pemajuan port untuk menggunakan perkhidmatan yang dipasang pada rangkaian tempatan. Mengenai ini, penggabungan rangkaian boleh dianggap lengkap.

Konfigurasi yang dicadangkan kami akan kelihatan seperti ini:

Snort atau Suricata. Bahagian 3: Melindungi Rangkaian Pejabat

Menubuhkan Suricata

Π’ artikel sebelumnya kami bercakap tentang dua mod operasi IDS: melalui baris gilir NFQUEUE (mod NFQ) dan melalui salinan sifar (mod AF_PACKET). Yang kedua memerlukan dua antara muka, tetapi lebih pantas - kami akan menggunakannya. Parameter ditetapkan secara lalai dalam /etc/default/suricata. Kita juga perlu mengedit bahagian vars dalam /etc/suricata/suricata.yaml, menetapkan subnet maya di sana sebagai rumah.

Snort atau Suricata. Bahagian 3: Melindungi Rangkaian Pejabat

Untuk memulakan semula IDS, gunakan arahan:

systemctl restart suricata

Penyelesaiannya sudah sedia, kini anda mungkin perlu mengujinya untuk menentang tindakan berniat jahat.

Simulasi serangan

Terdapat beberapa senario untuk penggunaan pertempuran perkhidmatan IDS luaran:

Perlindungan terhadap serangan DDoS (tujuan utama)

Sukar untuk melaksanakan pilihan sedemikian di dalam rangkaian korporat, kerana paket untuk analisis mesti sampai ke antara muka sistem yang melihat Internet. Walaupun IDS menyekatnya, trafik palsu boleh menurunkan pautan data. Untuk mengelakkan ini, anda perlu memesan VPS dengan sambungan Internet yang cukup produktif yang boleh melepasi semua trafik rangkaian tempatan dan semua trafik luaran. Selalunya lebih mudah dan lebih murah untuk melakukan ini daripada mengembangkan saluran pejabat. Sebagai alternatif, adalah wajar menyebut perkhidmatan khusus untuk perlindungan terhadap DDoS. Kos perkhidmatan mereka adalah setanding dengan kos pelayan maya, dan ia tidak memerlukan konfigurasi yang memakan masa, tetapi terdapat juga kelemahan - pelanggan hanya menerima perlindungan DDoS untuk wangnya, manakala IDSnya sendiri boleh dikonfigurasikan sebagai anda. suka.

Perlindungan terhadap serangan luar jenis lain

Suricata mampu menghadapi percubaan untuk mengeksploitasi pelbagai kelemahan dalam perkhidmatan rangkaian korporat yang boleh diakses daripada Internet (pelayan mel, pelayan web dan aplikasi web, dsb.). Biasanya, untuk ini, IDS dipasang di dalam LAN selepas peranti sempadan, tetapi membawanya ke luar mempunyai hak untuk wujud.

Perlindungan daripada orang dalam

Walaupun usaha terbaik pentadbir sistem, komputer di rangkaian korporat boleh dijangkiti perisian hasad. Di samping itu, samseng kadang-kadang muncul di kawasan tempatan, yang cuba melakukan beberapa operasi haram. Suricata boleh membantu menyekat percubaan sedemikian, walaupun untuk melindungi rangkaian dalaman adalah lebih baik untuk memasangnya di dalam perimeter dan menggunakannya seiring dengan suis terurus yang boleh mencerminkan trafik ke satu port. IDS luaran juga tidak berguna dalam kes ini - sekurang-kurangnya ia akan dapat menangkap percubaan perisian hasad yang hidup di LAN untuk menghubungi pelayan luaran.

Sebagai permulaan, kami akan membuat satu lagi ujian menyerang VPS, dan pada penghala rangkaian tempatan kami akan menaikkan Apache dengan konfigurasi lalai, selepas itu kami akan memajukan port ke-80 kepadanya dari pelayan IDS. Seterusnya, kami akan mensimulasikan serangan DDoS daripada hos yang menyerang. Untuk melakukan ini, muat turun dari GitHub, susun dan jalankan program xerxes kecil pada nod penyerang (anda mungkin perlu memasang pakej gcc):

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

Hasil kerja beliau adalah seperti berikut:

Snort atau Suricata. Bahagian 3: Melindungi Rangkaian Pejabat

Suricata memotong penjahat, dan halaman Apache dibuka secara lalai, walaupun serangan tiba-tiba kami dan saluran rangkaian "pejabat" (sebenarnya rumah) yang agak mati. Untuk tugas yang lebih serius, anda harus menggunakan Rangka Metasploit. Ia direka untuk ujian penembusan dan membolehkan anda mensimulasikan pelbagai serangan. Arahan pemasangan boleh didapati di laman web projek. Selepas pemasangan, kemas kini diperlukan:

sudo msfupdate

Untuk ujian, jalankan msfconsole.

Snort atau Suricata. Bahagian 3: Melindungi Rangkaian Pejabat

Malangnya, versi terkini rangka kerja tidak mempunyai keupayaan untuk retak secara automatik, jadi eksploitasi perlu diisih secara manual dan dijalankan menggunakan arahan penggunaan. Sebagai permulaan, adalah bernilai menentukan port yang dibuka pada mesin yang diserang, contohnya, menggunakan nmap (dalam kes kami, ia akan digantikan sepenuhnya oleh netstat pada hos yang diserang), dan kemudian pilih dan gunakan yang sesuai Modul Metasploit

Terdapat cara lain untuk menguji daya tahan IDS terhadap serangan, termasuk perkhidmatan dalam talian. Demi rasa ingin tahu, anda boleh mengatur ujian tekanan menggunakan versi percubaan Penekan IP. Untuk menyemak tindak balas terhadap tindakan penceroboh dalaman, ia patut memasang alat khas pada salah satu mesin di rangkaian tempatan. Terdapat banyak pilihan dan dari semasa ke semasa ia harus digunakan bukan sahaja untuk tapak percubaan, tetapi juga untuk sistem kerja, hanya ini adalah cerita yang sama sekali berbeza.

Snort atau Suricata. Bahagian 3: Melindungi Rangkaian Pejabat

Snort atau Suricata. Bahagian 3: Melindungi Rangkaian Pejabat

Sumber: www.habr.com

Tambah komen