Lindungi jaringan Anda dari penyusup dan serangan yang tidak diinginkan dengan memasang dan menyiapkan Snort IDS.
Jika Anda serius tentang keamanan jaringan, memasang solusi IPS atau IDS adalah suatu keharusan untuk memperkuat perimeter jaringan dan membelokkan lalu lintas jaringan yang mungkin tidak diinginkan.
Snort adalah salah satu solusi IPS/IDS sumber terbuka dan gratis untuk penggunaan pribadi yang terkenal. Mari pelajari bagaimana Anda dapat menginstal dan mengatur Snort di Linux untuk mempertahankan jaringan Anda dari serangan dunia maya.
Apa itu mendengus?
Snort adalah sumber terbuka Sistem Deteksi dan Pencegahan Intrusi Jaringan (NIDS/IPS) perangkat lunak yang, seperti namanya, membantu mengamankan perimeter jaringan Anda dengan menerapkan aturan dan filter yang mendeteksi dan melepaskan paket yang berpotensi berbahaya yang disuntikkan ke jaringan Anda.
Dengan Snort, Anda akan dapat melakukan pendataan lalu lintas jaringan tingkat lanjut, mengendus dan menganalisis paket, dan mengatur membangun Sistem Pencegahan Intrusi yang kuat yang mempertahankan jaringan Anda dari yang tidak diinginkan dan berpotensi berbahaya lalu lintas.
Prasyarat untuk Menginstal Snort
Sebelum Anda menginstal Snort, ada beberapa pengaturan awal yang harus dilakukan. Ini sebagian besar termasuk memperbarui dan meningkatkan sistem Anda dan menginstal dependensi yang diperlukan oleh Snort agar berfungsi dengan baik.
Mulailah dengan memperbarui dan meningkatkan sistem Anda.
Di Ubuntu- dan Distro Linux berbasis Debian:
sudo apt update && apt upgrade -y
Di Arch Linux dan turunannya:
sudo pacman -Syu
Di RHEL dan Fedora:
peningkatan sudo dnf
Dengan sistem Anda ditingkatkan, lanjutkan menginstal dependensi yang diperlukan oleh Snort. Berikut adalah perintah yang perlu Anda jalankan:
Di Ubuntu dan Debian, jalankan:
sudo apt install -y build-essential autotools-dev libdumbnet-dev libluajit-5.1-dev libpcap-dev zlib1g-dev pkg-config libhwloc-dev cmake liblzma-dev openssl libssl-dev cpputest libsqlite3-dev libtool uuid-dev git autoconf bison flex libcmocka-dev libnetfilter-queue-dev libunwind-dev libmnl-dev ethtool libjemalloc-dev libpcre++-dev
Di Arch Linux, jalankan:
sudo pacman -S gperftools hwloc hyperscan ibdaqlibdnet libmnl libpcap libunwind luajit lz4 openssl pcre pullporkxz zlib cmake pkgconf
Untuk RHEL dan Fedora, berikan perintah berikut:
sudo dnf instal gcc gcc-c++ libnetfilter_queue-devel git flex bison zlib zlib-devel pcre pcredevel libdnet tcpdump libnghttp2 wget xz-devel -y
Selain itu, Anda juga perlu menginstal Perpustakaan Akuisisi Data secara manual, LibDAQ agar Snort berfungsi dengan baik dan juga gperftools untuk menghasilkan file build.
Pertama, unduh file sumber LibDAQ dari situs web resmi menggunakan perintah wget. Kemudian, ekstrak arsip dan pindahkan ke direktori menggunakan cd. Di dalam direktori, jalankan bootstrap Dan mengkonfigurasi skrip kemudian lanjutkan untuk menyiapkan file dengan membuat dan menginstalnya dengan buat instal memerintah.
wget https://www.snort.org/downloads/snortplus/libdaq-3.0.11.tar.gz
tar -xzvf lib*
cd lib*
./bootstrap
./konfigurasi
membuat
sudo buat instal
Dengan LibDAQ terinstal, Anda perlu menginstal satu dependensi terakhir: gperftools. Mulailah dengan mengambil file sumber dari repo GitHub. Ekstrak file, pindah ke direktori, dan jalankan skrip konfigurasi. Terakhir, instal paket menggunakan perintah make dan make install.
wget https://github.com/gperftools/gperftools/releases/download/gperftools-2.10/gperftools-2.10.tar.gz
tar -xvzf gper* && cd gper
./konfigurasi
membuat
sudo buat instal
Setelah dependensi ini diinstal, Anda dapat melanjutkan ke langkah selanjutnya untuk menginstal Snort.
Instal Snort Dari Sumber di Linux
Dengan penyiapan awal, Anda sekarang dapat fokus pada penginstalan perangkat lunak yang sebenarnya. Anda akan membuatnya dari sumbernya, jadi ambil file build yang diperlukan terlebih dahulu.
Gunakan perintah wget atau unduh file secara manual dari halaman unduhan resmi:
wget https://www.snort.org/downloads/snortplus/snort3-3.1.58.0.tar.gz
Unduh:Mendengus
Setelah arsip yang berisi file build selesai diunduh, ekstrak menggunakan perintah tar:
tar -xzvf mendengus*
Pindah ke folder yang diekstraksi, jalankan skrip konfigurasi, gunakan perintah make untuk menyiapkan file, dan terakhir instal dengan buat instal:
cd mendengus*
./configure_cmake.sh --prefix=/usr/local --enable-tcmalloc
membangun cd
membuat
sudo buat instal
Snort sekarang akan berhasil diinstal di sistem Anda. Namun, hanya ada satu langkah lagi yang perlu Anda selesaikan. Saat perangkat lunak baru diinstal secara manual, direktori instalasi dan pustaka yang diperlukan mungkin tidak disertakan secara otomatis dalam jalur default sistem. Jadi Anda mungkin mengalami kesalahan saat memulai aplikasi.
Untuk menghindari masalah ini, Anda perlu menjalankan perintah ldconfig. Ini akan menyinkronkan cache pustaka bersama sistem dengan pustaka dan binari yang baru dipasang. Jalankan perintah ldconfig dari shell root atau gunakan awalan sudo:
sudo ldconfig
Sekarang Anda telah membahas semua langkah penting yang diperlukan untuk menginstal Snort. Untuk memverifikasi instalasi, jalankan perintah Snort dengan -V flag, dan Anda akan melihat keluaran yang mengembalikan nama versi dan data lainnya.
mendengus -V
Setelah Anda memverifikasi instalasi Snort, lanjutkan ke langkah berikutnya untuk mengaturnya sebagai IDS/IPS full-blown.
Konfigurasi Awal Snort di Linux
Efisiensi Snort hampir sepenuhnya bergantung pada kualitas kumpulan aturan yang disertakan.
Namun, sebelum Anda mengatur aturan, Anda perlu mengkonfigurasi kartu jaringan untuk bekerja dengan Snort dan Anda juga perlu menguji bagaimana konfigurasi default ditangani oleh Snort. Mulailah dengan mengkonfigurasi kartu jaringan.
Setel antarmuka jaringan ke mode promiscuous:
sudo ip link atur dev interface_name promisc aktif
Menggunakan ethtool, nonaktifkan Generic Receive Offload (GRO) dan Large Receive Offload (LRO) untuk mencegah paket jaringan yang lebih besar terpotong:
sudo ethtool -K interface_name gro off lro off
Uji kinerja Snort dengan konfigurasi default:
snort -c /usr/local/etc/snort/snort.lua
Ini akan mengembalikan sinyal keluaran yang sukses yang telah Anda instal dan atur Snort dengan benar di sistem Anda. Sekarang Anda dapat mengotak-atik fitur-fiturnya dan bereksperimen dengan berbagai konfigurasi untuk menemukan kumpulan aturan terbaik untuk mengamankan jaringan Anda.
Tetapkan Aturan dan Tegakkan Dengan Snort
Dengan pengaturan dasar, Snort sekarang siap untuk mempertahankan perimeter Anda. Seperti yang Anda ketahui, Snort membutuhkan set aturan untuk menentukan validitas lalu lintas, mari siapkan beberapa set aturan gratis buatan komunitas untuk Snort.
Snort membaca set aturan dan konfigurasi dari direktori tertentu. Jadi pertama-tama, gunakan perintah mkdir dan touch, buat beberapa direktori penting untuk menyimpan aturan dan data lain yang relevan untuk Snort:
sudo mkdir -p /usr/local/etc/{daftar, so_rules, aturan}
sudo touch /usr/local/etc/rules/local.rules
sudo touch /usr/local/etc/lists/default.blocklist
Dengan direktori ini dibuat, Anda dapat mengunduh kumpulan aturan komunitas dari situs web resmi menggunakan perintah wget:
wget https://www.snort.org/downloads/community/snort3-community-rules.tar.gz
Setelah set aturan selesai diunduh, ekstrak dan salin ke /usr/local/etc/rules/ direktori.
tar -xvzf snort3-com*
cd snort3-com*
cp * /usr/local/etc/rules/
Untuk menjalankan Snort dengan set aturan, jalankan perintah ini:
sudo snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -i interface_name -s 65535 -k tidak ada
Perincian perintah:
- -C menetapkan jalur ke file konfigurasi default
- -R menetapkan jalur ke aturan yang ditetapkan untuk ditegakkan
- -Saya mengatur antarmuka
- -S membuang batas snaplen
- -k mengabaikan checksum
Ini harus memvalidasi konfigurasi dan menegakkan semua kumpulan aturan di Snort. Segera setelah mendeteksi gangguan jaringan apa pun, itu akan memberi tahu Anda dengan pesan konsol.
Jika Anda ingin membuat dan menerapkan kumpulan aturan Anda sendiri, Anda dapat mempelajarinya lebih lanjut dari halaman dokumentasi resmi.
Siapkan Logging Dengan Snort
Secara default, Snort tidak menampilkan log apa pun. Anda perlu menentukan dengan -L tandai untuk memulai Snort dalam mode logging, tentukan jenis file log, dan -l bendera untuk mengatur direktori logging untuk Snort untuk membuang log.
Inilah perintah untuk memulai Snort dengan logging diaktifkan:
sudo snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -i interface_name -s 65535 -k none -L file_type -l /var/log /mendengus
Perincian perintah:
- -C menetapkan jalur ke file konfigurasi default
- -R menetapkan jalur ke aturan yang ditetapkan untuk ditegakkan
- -Saya mengatur antarmuka
- -S membuang batas snaplen
- -k mengabaikan checksum
- -L mengaktifkan mode logging dan menentukan jenis file log
- -l menentukan jalur untuk menyimpan log
Perhatikan bahwa dalam perintah contoh, direktori logging diatur ke /var/log/snort. Meskipun ini adalah praktik yang disarankan, Anda bebas menyimpan log di tempat lain.
Anda dapat membaca file log dari Snort dari direktori yang Anda tentukan atau meneruskannya ke perangkat lunak SIEM seperti Splunk untuk analisis lebih lanjut.
Tambahkan Snort sebagai Daemon Startup Sistem
Meskipun Anda telah menginstal dan mengatur Snort, Anda perlu memastikan Snort mulai dijalankan saat startup dan berjalan sebagai daemon latar belakang. Menambahkannya sebagai layanan sistem mulai otomatis akan memastikan Snort aktif dan mempertahankan sistem Anda setiap saat online.
Berikut cara menambahkan daemon startup Snort di Linux:
- Mulailah dengan membuat file layanan systemd baru:
sentuh /lib/systemd/system/snort.service
- Buka file dalam editor teks pilihan Anda dan isi dengan data berikut. Anda dapat memodifikasi flag agar sesuai dengan kebutuhan Anda:
[Satuan]
Description=Snort Daemon
After=syslog.target network.target
[Melayani]
Jenis = sederhana
ExecStart=/usr/local/bin/snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -s 65535 -k none -l /var /log/snort -D -L pcap -i ens33
[Install]
WantedBy=multi-pengguna.target - Simpan dan keluar dari file. Kemudian, menggunakan layanan dan perintah systemctl, aktifkan dan mulai skrip:
sudo systemctl aktifkan snort.service
sudo mulai mendengus
Daemon latar belakang Snort seharusnya sudah aktif dan berjalan. Anda dapat memverifikasi status skrip menggunakan systemctl status mendengus memerintah. Itu harus mengembalikan output positif.
Sekarang Anda Tahu Cara Melindungi Jaringan Anda Dengan Snort IDS
Meskipun menerapkan IDS adalah praktik yang baik, ini merupakan tindakan pasif daripada tindakan aktif. Cara terbaik untuk meningkatkan dan menjamin keamanan jaringan Anda adalah dengan terus mengujinya, dan mencari kelemahan untuk diperbaiki.
Pengujian penetrasi adalah cara yang bagus untuk menemukan kerentanan yang dapat dieksploitasi dan menambalnya.