Suricata - alat deteksi, pencegahan, dan keamanan intrusi

Suricata - alat deteksi, pencegahan, dan keamanan intrusi

Suricata adalah mesin deteksi ancaman sumber yang kuat, serbaguna, dan open-source yang menyediakan fungsionalitas untuk deteksi intrusi (IDS), pencegahan intrusi (IPS), dan pemantauan keamanan jaringan. Ini melakukan inspeksi paket mendalam bersama dengan pola yang cocok dengan campuran yang sangat kuat dalam deteksi ancaman.

Pada saat menulis panduan ini, versi terbaru Suricata adalah 6.0.5.

Fitur Suricata

  • ID/IPS - Suricata berbasis aturan Deteksi gangguan Dan Pencegahan Mesin yang memanfaatkan aturan -aturan yang dikembangkan secara eksternal seperti aturan talos dan ancaman yang muncul suricata aturan untuk memantau lalu lintas jaringan untuk setiap aktivitas jahat, pelanggaran kebijakan, dan ancaman.
  • Deteksi Protokol Otomatis - Mesin Suricata secara otomatis mendeteksi protokol seperti HTTP dan HTTPS. FTP dan SMB pada port apa pun dan terapkan logika deteksi dan logika yang tepat. Ini berguna dalam mendeteksi malware dan saluran CNC.
  • Lua Scripting - Suricata dapat memohon Lua skrip yang menyediakan deteksi malware canggih untuk mendeteksi dan mendekode lalu lintas malware yang sulit dideteksi.
  • Multi-threading - Suricata memberikan kecepatan dan pentingnya dalam penentuan lalu lintas jaringan. Mesin dikembangkan untuk menerapkan peningkatan daya pemrosesan yang ditawarkan oleh chipset perangkat keras multi-core modern.

Memasang alat deteksi intrusi suricata di Linux

Di bagian ini, kami akan mendemonstrasikan cara menginstal Suricata tentang distribusi berbasis RHEL dan RHEL.

Instal Suricata di Debian/Ubuntu & Mint

Suricata disediakan oleh Debian / Ubuntu Repositori dan dapat dengan mudah diinstal menggunakan APT Package Manager. Namun, perlu dicatat bahwa ini tidak menginstal Suricata versi terbaru. Untuk menginstal versi terbaru, Anda perlu menginstalnya dari sumber yang akan kami bahas nanti di panduan ini.

Untuk memasang Suricata menggunakan tepat Manajer Paket, Jalankan Perintah:

$ sudo apt instal suricata -y 
Instal Suricata di Ubuntu

Suricata dimulai secara otomatis setelah terpasang. Anda dapat mengonfirmasi ini sebagai berikut.

$ sudo Systemctl Status Suricata 
Periksa Suricata di Ubuntu

Pasang Suricata di Rhel, Rocky, Almalinux & Fedora

Untuk memasang Suricata pada RHEL Distribusi seperti Centos Stream, Rocky Linux, Almalinux, Fedora, dan RHEL, Anda perlu mengaktifkan repositori EPEL terlebih dahulu.

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

Sekali Epel diaktifkan, instal paket yang diperlukan berikut dan tambahkan OSF Repositori ke sistem Anda.

----------- Pada sistem fedora ----------- $ sudo dnf menginstal dnf-plugins-core $ sudo dnf copr mengaktifkan @oisf/suricata-6.0 ----------- Pada sistem rhel ----------- $ sudo dnf menginstal yum-plugin-copr $ sudo dnf copr mengaktifkan @oisf/suricata-6.0 

Selanjutnya, instal Suricata Menggunakan DNF Package Manager atau Yum Package Manager seperti yang ditunjukkan.

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

Sekali Suricata diinstal, mulai dan verifikasi statusnya.

$ sudo systemctl mulai suricata $ sudo systemctl status suricata 
Periksa Suricata di RHEL

Instal Suricata dari Sumber di Linux

Repositori OS default tidak memberikan versi terbaru dari Suricata. Jika tujuan Anda adalah menginstal versi terbaru Suricata, maka Anda perlu menginstalnya dari sumbernya.

Pada saat penulisan panduan ini, versi terbaru Suricata adalah 6.0.5. Untuk memasang Suricata dari sumbernya Ubuntu/Debian Dan RHEL distribusi, instal perpustakaan berikut, alat kompilasi, dan dependensi.

----------- Tentang Sistem Debian ----------- $ sudo apt install rustc build-esensial kargo libpcre3 libpcre3-dbg libpcre3-dev membuat autoconf libtool libcap-ng0 membuat libmagic-dev libbyaml-dev libbyaml-0-2-libpcap-dev libnet1-dev libyaml-0-0 -ng-dev pkg-config libnetfilter-queue1 libnfnetlink0 libnetfilter-queue-dev libnfnetlink-dev -y ----------- Pada sistem rhel ----------- $ sudo yum install gcc libpcap-devel pcre-devel libyaml-devel file-devel zlib-devel jansson-devel nss-devel libcap-ng-devel libnet-devel tar make libnetfilter_queue-devel lua-devel PyYAML libmaxminddb-devel rustc cargo lz4- Devel -y 

Selanjutnya, instal alat pembaruan suricata untuk memperbarui aturan suricata.

$ sudo apt menginstal python3-pip [on Debian] $ sudo yum menginstal python3-pip [on RHEL] $ PIP3 Instal-peningkatan suricata-update 

Kemudian buat tautan simbolis ke /USR/bin/suricata-update.

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

Sekarang pergilah ke halaman unduhan Suricata resmi dan unduh file tarball terbaru untuk Linux menggunakan perintah wget.

$ wget https: // www.OpenInfosecfoundation.org/download/suricata-6.0.6.ter.GZ 

Setelah diunduh, ekstrak file tarball dan instal.

$ sudo tar -xvf suricata -6.0.6.ter.GZ $ CD Suricata-6.0.6 $ ./configure --enable-nfqueue --prefix =/usr --sysconfdir =/etc ---localstatedir =/var $ make make install-full 

Mengkonfigurasi Suricata di Linux

Untuk mulai mengkonfigurasi Suricata, kita perlu menentukan IP internal dan jaringan eksternal. Untuk melakukan ini, akses file konfigurasi.

$ sudo vim/etc/suricata/suricata.yaml 

Untuk Home_net Petunjuk, Tentukan Alamat IP Sistem Linux Anda.

Home_net: "[173.82.235.7] " 

Selanjutnya, atur External_net Petunjuk ke “!$ Home_net“.

External_net: "!$ Home_net " 
Konfigurasikan Suricata di Linux

Selanjutnya, tentukan antarmuka jaringan yang mana Suricata akan memeriksa lalu lintas jaringan. Dalam kasus kami, ini adalah eth0 antarmuka.

Anda dapat memverifikasi antarmuka jaringan aktif Anda menggunakan perintah IP:

$ ip a 

Di file konfigurasi, perbarui Arahan Antarmuka dengan nama antarmuka jaringan.

- Antarmuka: eth0 
Konfigurasikan Antarmuka Jaringan Suricata

Selanjutnya, pastikan bahwa jalur aturan default Atribut diatur ke /etc/suricata/aturan.

Konfigurasikan aturan Suricata

Kemudian simpan perubahan dan tutup file konfigurasi. Lalu restart Suricata Agar perubahan berlaku.

$ sudo Systemctl Status Suricata 

Memperbarui aturan Suricata di Linux

Secara default, Suricata Kapal dengan serangkaian aturan deteksi terbatas yang terletak di /etc/suricata/aturan direktori. Namun, ini dianggap lemah dan tidak efektif dalam mendeteksi intrusi. Anda perlu memuat Ancaman yang muncul (Et) Aturan yang dianggap sebagai set aturan paling komprehensif untuk Suricata.

Suricata menyediakan alat yang dikenal sebagai pembaruan suricata yang mengambil aturan dari penyedia eksternal. Untuk mendapatkan aturan terkini untuk server Anda, jalankan perintah berikut.

$ sudo suricata -update -o/etc/suricata/aturan 
Memperbarui aturan Suricata Unduh aturan ancaman yang muncul Suricata

Dari output, Anda dapat melihat pembaruan suricata Mengambil yang gratis Ancaman yang muncul dan aturan terbuka dan menyelamatkan mereka dari Suricata /etc/suricata/aturan/suricata aturan file. Selain itu, ini menunjukkan jumlah aturan yang diproses. Dalam contoh ini, total 35941 ditambahkan. Dari mereka, 28221 diaktifkan, 18 dihapus, dan 1249 dimodifikasi.

Menambahkan aturan Suricata di Linux

Itu pembaruan suricata Alat memungkinkan Anda mengambil aturan dari penyedia aturan. Beberapa bebas seperti ET terbuka set, sementara yang lain membutuhkan langganan berbayar.

Untuk mencantumkan set default penyedia aturan, jalankan pembaruan suricata perintah seperti yang ditunjukkan.

$ SUDO SURICATA-PEMBANGUN Sumber Daftar 
Daftar penyedia peraturan suricata

Untuk menambahkan aturan, misalnya, aturan tgreen/berburu, Jalankan perintah berikut.

$ sudo suricata-update Enable-source tgreen/berburu 
Tambahkan Suricata Rule Set

Setelah Anda menambahkan aturan, Jalankan pembaruan suricata Perintah sekali lagi dengan -o/etc/suricata/aturan bendera.

$ sudo suricata -update -o/etc/suricata/aturan 
Perbarui set peraturan Suricata

Menguji aturan suricata di linux

Sebelum Anda mulai menguji Suricata, disarankan untuk menguji apakah konfigurasinya baik -baik saja. Untuk melakukannya, jalankan perintah berikut:

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

Pastikan bahwa tidak ada kesalahan yang dilaporkan. Jika Anda menjalankan Rhel, Centos Stream, Fedora, dan Rocky Linux mulai dan memungkinkan Suricata.

$ sudo systemctl mulai suricata $ sudo systemctl memungkinkan suricata 

Sejauh ini, kami telah berhasil menginstal, dan dikonfigurasi Suricata dan memperbarui aturan. Set aturan terbuka ET berisi lebih dari 30.000 aturan untuk mendeteksi lalu lintas berbahaya. Di bagian ini, kami akan menguji Suricata dan memeriksa apakah dapat mendeteksi lalu lintas jaringan yang mencurigakan.

Kami akan menguji ET terbuka aturan dengan mensimulasikan intrusi seperti yang direkomendasikan oleh panduan QuickStart Suricata.

Fungsionalitas IDS akan diuji dengan ID tanda tangan tahun 2100498 dengan mengirimkan permintaan HTTP ke testmynids.org situs web yang merupakan nids (Sistem intrusi dan deteksi jaringan) kerangka.

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

Anda harus mendapatkan output berikut.

uid = 0 (root) gid = 0 (root) grup = 0 (root) 

Itu Http Permintaan yang dikirim dirancang untuk memicu peringatan dengan meniru output pengenal perintah yang mungkin berjalan pada sistem jarak jauh yang dikompromikan melalui shell.

Sekarang mari kita menyaring log Suricata untuk peringatan yang sesuai. Suricata mengirim dengan dua file log yang diaktifkan secara default.

/var/log/suricata/fast.log/var/log/suricata/eve.catatan 

Kami akan memeriksa entri log di /var/log/suricata/fast.catatan file log yang sesuai dengan permintaan curl menggunakan perintah grep. Kami akan mencari entri log menggunakan 2100498 Pengidentifikasi aturan dari dokumentasi QuickStart.

$ grep 2100948/var/log/suricata/fast.catatan 

Anda akan mendapatkan output berikut yang menandakan intrusi. Di Sini, 173.82.235.7 adalah alamat IP publik server.

09/09/2022-22: 17: 06.796434 [**] [1: 2100498: 7] GPL Attack_Response ID Periksa Root yang dikembalikan [**] [Klasifikasi: Potensi lalu lintas yang buruk] [Prioritas: 2] TCP 13.226.210.123: 80 -> 173.82.235.7: 33822 
Periksa log suricata

Atau, Anda dapat memeriksa /var/log/suricata/eve.catatan File log untuk ID tanda tangan 2100498 seperti yang ditunjukkan.

$ jq 'pilih (.peringatan .Signature_id == 2100498) '/var/log/suricata/eve.json 
Periksa log suricata untuk ID tanda tangan

Ini adalah panduan komprehensif tentang cara menginstal dan mengonfigurasi Suricata di Linux. Kami telah melihat berbagai metode instalasi, cara mengkonfigurasi Suricata dan perbarui Suricata Aturan serta bagaimana mengelola layanan Suricata SystemD dan melakukan tes intrusi jaringan.

Ini adalah harapan kami sekarang dapat menginstal dan menggunakannya dengan nyaman Suricata untuk melindungi sistem Anda dari intrusi jaringan atau lalu lintas jahat.