Suricata - Pengesanan, Pencegahan, dan Alat Keselamatan Pencerobohan

Suricata - Pengesanan, Pencegahan, dan Alat Keselamatan Pencerobohan

Suricata adalah enjin pengesanan ancaman yang kuat, serba boleh, dan terbuka yang menyediakan fungsi untuk pengesanan pencerobohan (IDS), pencegahan pencerobohan (IPS), dan pemantauan keselamatan rangkaian. Ia melakukan pemeriksaan paket yang mendalam bersama -sama dengan corak yang sepadan dengan campuran yang sangat kuat dalam pengesanan ancaman.

Pada masa menulis panduan ini, versi terbaru dari Suricata adalah 6.0.5.

Ciri -ciri Suricata

  • ID/IPS - Suricata adalah berasaskan peraturan Pengesanan pencerobohan dan Pencegahan enjin yang memanfaatkan peraturan luaran yang dibangunkan seperti peraturan talos dan ancaman yang muncul suricata peraturan untuk memantau lalu lintas rangkaian untuk sebarang aktiviti jahat, pelanggaran dasar, dan ancaman.
  • Pengesanan protokol automatik - Enjin Suricata secara automatik mengesan protokol seperti HTTP dan HTTPS. FTP dan SMB di mana -mana pelabuhan dan gunakan logik pengesanan dan logik yang betul. Ini berguna dalam mengesan saluran perisian hasad dan CNC.
  • Skrip lua - Suricata boleh memohon Lua skrip yang memberikan pengesanan malware lanjutan untuk mengesan dan menyahkod lalu lintas malware yang sebaliknya sukar untuk mengesan.
  • Multi-threading - Suricata memberikan kelajuan dan kepentingan dalam penentuan lalu lintas rangkaian. Enjin dibangunkan untuk memohon peningkatan kuasa pemprosesan yang ditawarkan oleh chipset perkakasan berbilang teras moden.

Memasang alat pengesanan pencerobohan Suricata di Linux

Dalam bahagian ini, kami akan menunjukkan cara memasang Suricata Mengenai pengagihan berasaskan Debian dan RHEL.

Pasang Suricata di Debian/Ubuntu & Mint

Suricata disediakan oleh Debian / Ubuntu repositori dan mudah dipasang menggunakan Pengurus Pakej APT. Walau bagaimanapun, perlu diperhatikan bahawa ini tidak memasang versi terkini Suricata. Untuk memasang versi terkini, anda perlu memasangnya dari sumber yang akan kami sampaikan kemudian dalam panduan ini.

Untuk memasang Suricata menggunakan Apt Pengurus Pakej, jalankan arahan:

$ sudo apt memasang suricata -y 
Pasang Suricata di Ubuntu

Suricata bermula secara automatik sekali dipasang. Anda boleh mengesahkan ini seperti berikut.

$ sudo systemctl status suricata 
Periksa Suricata di Ubuntu

Pasang Suricata di Rhel, Rocky, Almalinux & Fedora

Untuk memasang Suricata pada RHEL Pengagihan seperti CentOS Stream, Rocky Linux, Almalinux, Fedora, dan RHEL, anda perlu membolehkan repositori Epel terlebih dahulu.

$ DNF Pasang https: // dl.Fedoraproject.org/pub/epel/epel-release-latest-9.Noarch.rpm [RHEL 9] $ DNF Pasang https: // dl.Fedoraproject.org/pub/epel/epel-release-latest-8.Noarch.rpm [RHEL 8] $ yum Pasang https: // dl.Fedoraproject.org/pub/epel/epel-release-latest-8.Noarch.rpm [RHEL 7] 

Sekali Epel diaktifkan, pasang pakej yang diperlukan dan tambahkan Oisf repositori ke sistem anda.

----------- Pada Sistem Fedora ----------- $ sudo DNF Pasang DNF-PLUGINS-CORE $ SUDO DNF COPR Enable @OISF/Suricata-6.0 ----------- Pada sistem RHEL ----------- $ sudo dnf memasang yum-plugin-copr $ sudo dnf copr enable @oisf/suricata-6.0 

Seterusnya, pasang Suricata Menggunakan Pengurus Pakej DNF atau Pengurus Pakej Yum seperti yang ditunjukkan.

$ sudo dnf memasang suricata -y atau $ sudo yum memasang suricata -y 
Pasang Suricata di RHEL

Sekali Suricata dipasang, mulakan dan sahkan statusnya.

$ sudo Systemctl Mula Suricata $ Sudo Systemctl Status Suricata 
Periksa Suricata di RHEL

Pasang suricata dari sumber di linux

Repositori OS lalai tidak memberikan versi terkini Suricata. Sekiranya matlamat anda adalah memasang versi terkini Suricata, Kemudian anda perlu memasangnya dari sumber.

Pada masa menulis panduan ini, versi terkini Suricata adalah 6.0.5. Untuk memasang Suricata dari sumber Ubuntu/Debian dan RHEL Pengagihan, pasang perpustakaan berikut, alat kompilasi, dan kebergantungan.

----------- Pada sistem Debian ----------- $ sudo apt pemasangan Rustc cargo-essential cargo libpcre3 libpcre3-dbg libpcre3-dev membuat autoconf automake libtool libcap-ng0 membuat libmagic-dev libjansson-dev libjansson4 libbby-dev libbnet1-dev-dev-dev-dev-dev-dev-dev-dev-dev-dev-dev-dev-dev-dev-dev-dev-dev-del-dev-dev-del-dev -ng-dev pkg-config libnetfilter-queue1 libnfnetlink0 libnetfilter-queue-dev libnfnetlink-dev -y ----------- Pada sistem RHEL ----------- $ sudo yum pemasangan gcc libpcap-devel pcre-devel libyaml-devel-devel-devel zlib-devel jansson-devel nss-devel libcap-ng-devel libnet-devel tar membuat libnetfilter_queue-devel lua-devel pyyaml ​​pyyaml ​​pyyaml ​​pyyaml ​​pyyaml ​​pyyaml ​​pyyaml ​​pyyaml ​​pyyaml ​​pyyaml ​​pyyaml ​​pyyaml ​​pyyaml ​​pyyaml ​​pyyaml ​​pyyaml ​​pyyaml ​​pyyaml ​​pyyaml ​​pyyaml ​​pyyaml ​​pyyaml ​​pyyaml ​​pyyaml ​​pyyaml ​​pyyaml DEVEL -Y 

Seterusnya, pasang alat Suricata-Update untuk mengemas kini Peraturan Suricata.

$ sudo apt pasang python3-pip [on Debian] $ sudo yum pasang python3-pip [on RHEL] $ pip3 install --upgrade Suricata-update 

Kemudian buat pautan simbolik ke /usr/bin/suricata-update.

$ sudo ln -s/usr/local/bin/suricata-update/usr/bin/suricata-update 

Sekarang pergi ke halaman muat turun Suricata rasmi dan muat turun fail tarball terkini untuk linux menggunakan perintah wget.

$ wget https: // www.OpenInfosecfoundation.org/muat turun/suricata-6.0.6.tar.Gz 

Setelah dimuat turun, ekstrak fail tarball dan pasangkannya.

$ sudo tar -xvf suricata -6.0.6.tar.GZ $ CD Suricata-6.0.6 $ ./Konfigurasi-Nfqueue-Nfqueue --Prefix =/usr --sysconfdir =/etc--localstatedir =/var $ membuat $ membuat pemasangan-penuh 

Mengkonfigurasi Suricata di Linux

Untuk mula mengkonfigurasi Suricata, kita perlu menentukan IP dalaman dan rangkaian luaran. Untuk melakukan ini, akses fail konfigurasi.

$ sudo vim/etc/suricata/suricata.yaml 

Untuk Home_net Arahan, tentukan alamat IP sistem linux anda.

Home_net: "[173.82.235.7] " 

Seterusnya, tetapkan External_net Arahan ke "!$ Home_net".

External_net: "!$ Home_net " 
Konfigurasikan Suricata di Linux

Seterusnya, tentukan antara muka rangkaian yang mana Suricata akan memeriksa trafik rangkaian. Dalam kes kita, ini adalah ETH0 antara muka.

Anda boleh mengesahkan antara muka rangkaian aktif anda menggunakan arahan IP:

$ ip a 

Dalam fail konfigurasi, kemas kini arahan antara muka dengan nama antara muka rangkaian.

- Antara muka: ETH0 
Konfigurasikan Antara Muka Rangkaian Suricata

Seterusnya, pastikan bahawa Laluan Peraturan Lalai atribut ditetapkan ke /etc/suricata/peraturan.

Konfigurasikan peraturan Suricata

Kemudian simpan perubahan dan tutup fail konfigurasi. Kemudian mulakan semula Suricata Untuk perubahan yang berlaku.

$ sudo systemctl status suricata 

Mengemas kini peraturan suricata di linux

Secara lalai, Suricata Kapal dengan set peraturan pengesanan terhad yang terletak di /etc/suricata/peraturan direktori. Walau bagaimanapun, ini dianggap lemah dan tidak berkesan dalam mengesan pencerobohan. Anda perlu memuatkan Ancaman yang muncul (Et) Peraturan yang dianggap set peraturan yang paling komprehensif untuk suricata.

Suricata menyediakan alat yang dikenali sebagai Suricata-update yang mengambil peraturan dari penyedia luaran. Untuk mendapatkan peraturan yang terkini untuk pelayan anda, jalankan arahan berikut.

$ sudo suricata -update -o/etc/suricata/peraturan 
Mengemas kini peraturan Suricata Muat turun Peraturan Ancaman Suricata Muncul

Dari output, anda dapat melihat Suricata-update mengambil percuma Ancaman yang muncul dan Peraturan Terbuka dan menyelamatkan mereka ke Suricata /etc/suricata/peraturan/suricata Peraturan fail. Di samping itu, ia menunjukkan bilangan peraturan yang diproses. Dalam contoh ini, sejumlah 35941 telah ditambah. Daripada mereka, 28221 telah diaktifkan, 18 telah dikeluarkan, dan 1249 telah diubahsuai.

Menambah peraturan suricata di linux

The Suricata-update Alat membolehkan anda mengambil peraturan dari penyedia peraturan. Ada yang percuma seperti ET terbuka Tetapkan, sementara yang lain memerlukan langganan yang dibayar.

Untuk menyenaraikan set lalai penyedia peraturan, jalankan Suricata-update arahan seperti yang ditunjukkan.

$ sudo suricata-update-sources 
Senaraikan Penyedia Peraturan Suricata

Untuk menambah peraturan, sebagai contoh, peraturan tgreen/memburu, Jalankan arahan berikut.

$ sudo suricata-update enable-source tgreen/hunting 
Tambahkan set peraturan Suricata

Sebaik sahaja anda menambah peraturan, Jalankan Suricata-update perintah sekali lagi dengan -o/etc/suricata/peraturan bendera.

$ sudo suricata -update -o/etc/suricata/peraturan 
Kemas kini set peraturan Suricata

Menguji peraturan suricata di linux

Sebelum anda mula menguji Suricata, disarankan untuk menguji jika konfigurasi itu baik -baik saja. Untuk berbuat demikian, jalankan arahan berikut:

$ sudo suricata -t -c/etc/suricata/suricata.yaml -v 

Memastikan bahawa tiada kesalahan dilaporkan. Jika anda menjalankan Rhel, Centos Stream, Fedora, dan Rocky Linux Mula dan membolehkan Suricata.

$ sudo Systemctl Mula Suricata $ Sudo Systemctl Dayakan Suricata 

Setakat ini, kami telah berjaya memasang, dan dikonfigurasikan Suricata dan mengemas kini peraturan. Set Peraturan Terbuka ET mengandungi lebih daripada 30,000 peraturan untuk mengesan lalu lintas yang berniat jahat. Dalam bahagian ini, kami akan meletakkan Suricata pada ujian dan periksa sama ada ia dapat mengesan trafik rangkaian yang mencurigakan.

Kami akan menguji ET terbuka peraturan dengan mensimulasikan pencerobohan seperti yang disyorkan oleh Panduan QuickStart Suricata.

Fungsi IDS akan diuji dengan ID tandatangan 2100498 dengan menghantar permintaan HTTP ke testmynids.org laman web yang merupakan NIDS (Sistem pencerobohan dan pengesanan rangkaian) rangka kerja.

$ curl http: // testmynids.org/uid/indeks.html 

Anda harus mendapatkan output berikut.

uid = 0 (root) gid = 0 (root) kumpulan = 0 (root) 

The Http permintaan dihantar direka untuk mencetuskan amaran dengan meniru output ID Perintah yang mungkin berjalan pada sistem jauh yang dikompromi melalui cangkang.

Sekarang mari kita menapis log Suricata untuk berjaga -jaga. Suricata kapal dengan dua fail log yang diaktifkan secara lalai.

/var/log/suricata/cepat.log/var/log/suricata/eve.log 

Kami akan memeriksa entri log di /var/log/suricata/cepat.log fail log yang sepadan dengan permintaan curl menggunakan arahan grep. Kami akan mencari entri log menggunakan 2100498 Pengenal peraturan dari dokumentasi QuickStart.

$ grep 2100948/var/log/suricata/cepat.log 

Anda akan mendapat output berikut yang menandakan pencerobohan. Di sini, 173.82.235.7 Adakah alamat IP awam pelayan.

09/09/2022-22: 17: 06.796434 [**] [1: 2100498: 7] GPL Attack_response ID Cek kembali root [**] [klasifikasi: trafik yang berpotensi buruk] [keutamaan: 2] tcp 13.226.210.123: 80 -> 173.82.235.7: 33822 
Semak log Suricata

Sebagai alternatif, anda boleh menyemak /var/log/suricata/Eve.log fail log untuk ID tandatangan 2100498 seperti yang ditunjukkan.

$ jq 'pilih (.amaran .signature_id == 2100498) '/var/log/suricata/eve.json 
Semak log Suricata untuk ID Tandatangan

Ini adalah panduan yang komprehensif mengenai cara memasang dan mengkonfigurasi Suricata Pada Linux. Kami telah melihat pelbagai kaedah pemasangan, cara mengkonfigurasi Suricata dan kemas kini Suricata Peraturan serta cara menguruskan perkhidmatan Suricata Systemd dan melakukan ujian pencerobohan rangkaian.

Adalah harapan kami bahawa anda kini dapat memasang dan menggunakan dengan selesa Suricata untuk melindungi sistem anda dari pencerobohan rangkaian atau lalu lintas yang jahat.