Snort atau Suricata. Bahagian 2: Pemasangan dan persediaan awal Suricata

Menurut statistik, jumlah trafik rangkaian meningkat kira-kira 50% setiap tahun. Ini membawa kepada peningkatan beban pada peralatan dan, khususnya, meningkatkan keperluan prestasi IDS/IPS. Anda boleh membeli perkakasan khusus yang mahal, tetapi terdapat pilihan yang lebih murah - melaksanakan salah satu sistem sumber terbuka. Ramai pentadbir pemula berpendapat bahawa memasang dan mengkonfigurasi IPS percuma agak sukar. Dalam kes Suricata, ini tidak sepenuhnya benar - anda boleh memasangnya dan mula menangkis serangan standard dengan satu set peraturan percuma dalam beberapa minit.

Snort atau Suricata. Bahagian 2: Pemasangan dan persediaan awal Suricata
Snort atau Suricata. Bahagian 1: Memilih IDS/IPS Percuma untuk Melindungi Rangkaian Korporat Anda

Mengapa kita memerlukan IPS terbuka yang lain?

Sudah lama dianggap sebagai standard, Snort telah dibangunkan sejak akhir tahun sembilan puluhan, jadi ia pada asalnya berbenang tunggal. Selama bertahun-tahun, ia telah memperoleh semua ciri moden, seperti sokongan IPv6, keupayaan untuk menganalisis protokol peringkat aplikasi, atau modul akses data universal.

Enjin asas Snort 2.X belajar untuk berfungsi dengan berbilang teras, tetapi kekal berbenang tunggal dan oleh itu tidak dapat memanfaatkan platform perkakasan moden secara optimum.

Masalahnya telah diselesaikan dalam versi ketiga sistem, tetapi ia mengambil masa yang lama untuk menyediakan sehingga Suricata, yang ditulis dari awal, berjaya muncul di pasaran. Pada tahun 2009, ia mula dibangunkan dengan tepat sebagai alternatif berbilang benang kepada Snort, yang mempunyai fungsi IPS di luar kotak. Kod itu diedarkan di bawah lesen GPLv2, tetapi rakan kongsi kewangan projek mempunyai akses kepada versi tertutup enjin. Beberapa masalah dengan kebolehskalaan timbul dalam versi pertama sistem, tetapi ia telah diselesaikan dengan agak cepat.

Kenapa Suricata?

Suricata mempunyai beberapa modul (seperti Snort): tangkap, pemerolehan, penyahkodan, pengesanan dan output. Secara lalai, trafik yang ditangkap pergi sebelum penyahkodan dalam satu urutan, walaupun ini memuatkan lebih banyak sistem. Jika perlu, benang boleh dibahagikan dalam tetapan dan diedarkan di kalangan pemproses - Suricata sangat dioptimumkan untuk perkakasan tertentu, walaupun ini bukan lagi tahap HOWTO untuk pemula. Perlu diingat juga bahawa Suricata mempunyai alat pemeriksaan HTTP lanjutan berdasarkan perpustakaan HTP. Mereka juga boleh digunakan untuk log lalu lintas tanpa pengesanan. Sistem ini juga menyokong penyahkodan IPv6, termasuk terowong IPv4-dalam-IPv6, IPv6-dalam-IPv6 dan lain-lain.

Antara muka yang berbeza boleh digunakan untuk memintas trafik (NFQueue, IPFRing, LibPcap, IPFW, AF_PACKET, PF_RING), dan dalam mod Unix Socket anda boleh menganalisis fail PCAP secara automatik yang ditangkap oleh penghidu lain. Selain itu, seni bina modular Suricata memudahkan untuk menyambungkan elemen baharu untuk menangkap, menyahkod, menganalisis dan memproses paket rangkaian. Ia juga penting untuk ambil perhatian bahawa di Suricata, trafik disekat menggunakan penapis sistem pengendalian standard. Dalam GNU/Linux, dua pilihan untuk operasi IPS tersedia: melalui baris gilir NFQUEUE (mod NFQ) dan melalui salinan sifar (mod AF_PACKET). Dalam kes pertama, paket yang memasuki iptables dihantar ke baris gilir NFQUEUE, di mana ia boleh diproses pada peringkat pengguna. Suricata menjalankannya mengikut peraturannya sendiri dan mengeluarkan satu daripada tiga keputusan: NF_ACCEPT, NF_DROP dan NF_REPEAT. Dua yang pertama adalah jelas, tetapi yang terakhir membolehkan anda menandakan paket dan menghantarnya ke permulaan jadual iptables semasa. Mod AF_PACKET adalah lebih pantas, tetapi mengenakan beberapa sekatan pada sistem: ia mesti mempunyai dua antara muka rangkaian dan berfungsi sebagai pintu masuk. Paket yang disekat tidak dimajukan ke antara muka kedua.

Ciri penting Suricata ialah keupayaan untuk menggunakan perkembangan untuk Snort. Pentadbir mempunyai akses kepada, khususnya, set peraturan Sourcefire VRT dan OpenSource Emerging Threats, serta komersial Emerging Threats Pro. Output bersatu boleh dianalisis menggunakan backend popular, dan output ke PCAP dan Syslog juga disokong. Tetapan dan peraturan sistem disimpan dalam fail YAML, yang mudah dibaca dan boleh diproses secara automatik. Enjin Suricata mengenali banyak protokol, jadi peraturan tidak perlu terikat pada nombor port. Selain itu, konsep flowbits diamalkan secara aktif dalam peraturan Suricata. Untuk menjejaki pencetus, pembolehubah sesi digunakan, yang membolehkan anda membuat dan menggunakan pelbagai pembilang dan bendera. Banyak IDS menganggap sambungan TCP yang berbeza sebagai entiti yang berasingan dan mungkin tidak melihat sambungan antara mereka untuk menunjukkan permulaan serangan. Suricata cuba melihat keseluruhan gambar dan dalam banyak kes mengenali trafik berniat jahat yang diedarkan merentasi sambungan yang berbeza. Kita boleh bercakap tentang kelebihannya untuk masa yang lama; lebih baik kita beralih kepada pemasangan dan konfigurasi.

Bagaimana untuk memasang?

Kami akan memasang Suricata pada pelayan maya yang menjalankan Ubuntu 18.04 LTS. Semua arahan mesti dilaksanakan sebagai superuser (root). Pilihan yang paling selamat adalah untuk menyambung ke pelayan melalui SSH sebagai pengguna standard, dan kemudian menggunakan utiliti sudo untuk meningkatkan keistimewaan. Mula-mula kita perlu memasang pakej yang kita perlukan:

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

Menyambungkan repositori luaran:

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

Pasang versi stabil terkini Suricata:

sudo apt-get install suricata

Jika perlu, edit nama fail konfigurasi, menggantikan eth0 lalai dengan nama sebenar antara muka luaran pelayan. Tetapan lalai disimpan dalam fail /etc/default/suricata dan tetapan tersuai disimpan dalam /etc/suricata/suricata.yaml. Konfigurasi IDS kebanyakannya terhad kepada mengedit fail konfigurasi ini. Ia mempunyai banyak parameter yang, dalam nama dan tujuan, bertepatan dengan analog mereka dari Snort. Sintaksnya bagaimanapun berbeza sama sekali, tetapi fail itu lebih mudah dibaca daripada konfigurasi Snort, dan ia juga diulas dengan baik.

sudo nano /etc/default/suricata

Snort atau Suricata. Bahagian 2: Pemasangan dan persediaan awal Suricata

ΠΈ

sudo nano /etc/suricata/suricata.yaml

Snort atau Suricata. Bahagian 2: Pemasangan dan persediaan awal Suricata

Perhatian! Sebelum memulakan, anda harus menyemak nilai pembolehubah dari bahagian vars.

Untuk melengkapkan persediaan, anda perlu memasang suricata-update untuk mengemas kini dan memuat turun peraturan. Ia agak mudah untuk melakukan ini:

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

Seterusnya kita perlu menjalankan perintah kemas kini suricata untuk memasang set peraturan Terbuka Ancaman Muncul:

sudo suricata-update

Snort atau Suricata. Bahagian 2: Pemasangan dan persediaan awal Suricata

Untuk melihat senarai sumber peraturan, jalankan arahan berikut:

sudo suricata-update list-sources

Snort atau Suricata. Bahagian 2: Pemasangan dan persediaan awal Suricata

Kemas kini sumber peraturan:

sudo suricata-update update-sources

Snort atau Suricata. Bahagian 2: Pemasangan dan persediaan awal Suricata

Kami melihat semula sumber yang dikemas kini:

sudo suricata-update list-sources

Jika perlu, anda boleh memasukkan sumber percuma yang tersedia:

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

Selepas ini, anda perlu mengemas kini peraturan sekali lagi:

sudo suricata-update

Pada ketika ini, pemasangan dan konfigurasi awal Suricata dalam Ubuntu 18.04 LTS boleh dianggap lengkap. Kemudian keseronokan bermula: dalam artikel seterusnya kami akan menyambungkan pelayan maya ke rangkaian pejabat melalui VPN dan mula menganalisis semua lalu lintas masuk dan keluar. Kami akan memberi perhatian khusus untuk menyekat serangan DDoS, aktiviti perisian hasad dan percubaan untuk mengeksploitasi kelemahan dalam perkhidmatan yang boleh diakses daripada rangkaian awam. Untuk kejelasan, serangan daripada jenis yang paling biasa akan disimulasikan.

Snort atau Suricata. Bahagian 2: Pemasangan dan persediaan awal Suricata

Snort atau Suricata. Bahagian 2: Pemasangan dan persediaan awal Suricata

Sumber: www.habr.com

Tambah komen