GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal Snort di Ubuntu 20.04

Snort adalah Sistem Pencegahan Intrusi jaringan open-source ringan untuk menjalankan sistem deteksi intrusi jaringan (NIDS). Snort digunakan untuk memantau paket data yang dikirim/diterima melalui antarmuka jaringan tertentu. Sistem deteksi intrusi jaringan dapat menangkap ancaman yang menargetkan kelemahan dan kerentanan sistem Anda menggunakan deteksi berbasis tanda tangan dan teknologi analisis protokol.

Ketika perangkat lunak NIDS diinstal dan dikonfigurasi dengan benar, dapat mengidentifikasi berbagai jenis serangan dan kecurigaan seperti serangan CGI, pelanggaran kebijakan jaringan, penyelidikan SMB, infeksi malware, sistem yang disusupi, pemindaian port tersembunyi, dll.

Dalam tutorial ini, kita belajar cara menginstal Snort 3 di Ubuntu 20.04 .

Beberapa fitur baru Snort 3:

  • Mendukung beberapa utas pemrosesan paket
  • Memungkinkan pemrosesan beberapa paket
  • Buat dokumentasi referensi secara otomatis
  • Gunakan konfigurasi skrip sederhana
  • Buat komponen utama dapat dipasang
  • Memungkinkan pengguna untuk menulis plugin mereka sendiri
  • Konfigurasi bersama dan tabel atribut
  • Memungkinkan aturan berjalan lebih cepat

Langkah 1:Perbarui sistem

Pertama, perbarui dan tingkatkan sistem Ubuntu Anda

sudo apt update
sudo apt upgrade

Langkah 2:Instal Dependensi yang Diperlukan

Repositori default Ubuntu memiliki paket snort. Paket snort yang tersedia di sana adalah versi lama. Untuk menginstal Snort 3, kita harus membangun dari sumbernya. Sebelum menginstal Snort 3, kita perlu menginstal library yang diperlukan dan prasyarat.

Instal paket dependensi Snort 3 dengan perintah berikut:

sudo apt install build-essential libpcap-dev libpcre3-dev libnet1-dev zlib1g-dev luajit hwloc libdnet-dev libdumbnet-dev bison flex liblzma-dev openssl libssl-dev pkg-config libhwloc-dev cmake cpputest libsqlite3-dev uuid-dev libcmocka-dev libnetfilter-queue-dev libmnl-dev autotools-dev libluajit-5.1-dev libunwind-dev

Setelah dependensi terinstal, buat direktori tempat Anda mengkompilasi dan menyimpan file sumber untuk Snort dengan perintah berikut:

mkdir snort-source-files
cd snort-source-files

Kemudian, unduh dan instal versi terbaru perpustakaan Akuisisi Data Snort (LibDAQ). Untuk memasang LibDAQ kita perlu membangun dan menginstalnya dari sumber dengan perintah berikut.

git clone https://github.com/snort3/libdaq.git
cd libdaq
./bootstrap
./configure
make
make install

Dependensi berikutnya adalah Tcmalloc, yang akan mengoptimalkan alokasi memori dan memberikan penggunaan memori yang lebih baik.

Instal Tcmalloc dengan perintah berikut.

cd ../
wget https://github.com/gperftools/gperftools/releases/download/gperftools-2.9/gperftools-2.9.tar.gz
tar xzf gperftools-2.9.tar.gz 
cd gperftools-2.9/
./configure
make 
make install

Langkah 3:Instal Snort 3 di Ubuntu 20.04

Setelah dependensi diatur, kita akan mengunduh dan menginstal Snort 3 di Ubuntu 20.04.

01. Repositori GitHub resmi Clone Snort 3.

cd ../
git clone git://github.com/snortadmin/snort3.git

02. Ubah direktori menjadi Snort3

cd snort3/

03. Dari sana konfigurasikan dan aktifkan tcmalloc dengan perintah berikut.

./configure_cmake.sh --prefix=/usr/local --enable-tcmalloc

04. Arahkan ke direktori build dan compile dan install Snort 3 menggunakan make and make install dengan perintah berikut.

cd build
make 
make install

05. Setelah penginstalan selesai, perbarui pustaka bersama.

sudo ldconfig

Snort secara default diinstal ke direktori /usr/local/bin/snort, praktik yang baik adalah membuat tautan simbolik untuk /usr/sbin/snort

sudo ln -s /usr/local/bin/snort /usr/sbin/snort

06. Verifikasi instalasi Snort 3

snort -V

Keluaran:

,,_     -> Snort++ <-
   o"  )~   Version 3.1.10.0
    ''''    By Martin Roesch & The Snort Team
            http://snort.org/contact#team
            Copyright (C) 2014-2021 Cisco and/or its affiliates. All rights reserved.
            Copyright (C) 1998-2013 Sourcefire, Inc., et al.
            Using DAQ version 3.0.4
            Using LuaJIT version 2.1.0-beta3
            Using OpenSSL 1.1.1f  31 Mar 2020
            Using libpcap version 1.9.1 (with TPACKET_V3)
            Using PCRE version 8.39 2016-06-14
            Using ZLIB version 1.2.11
            Using LZMA version 5.2.4

Jika Anda melihat output yang serupa, maka Snort 3 berhasil diinstal.

Konfigurasikan Kartu Antarmuka Jaringan

Temukan antarmuka tempat Snort mendengarkan lalu lintas jaringan dan aktifkan promiscuous mode untuk dapat melihat semua lalu lintas jaringan yang dikirim ke sana.

ip link set dev eh0 promisc on

Verifikasi dengan perintah berikut.

ip add sh eth0

Keluaran:

2: eth0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER UP> mtu 1500 qdisc mq state UP group default qlen 1000
     link/ether f2:3c:92:ed:7e:d8 brd ff:ff:ff:ff:ff:ff
     inet 74.207.230.186/24 brd 74.207.230.255 scope global dynamic eth0
        valid_lft 72073sec preferred_lft 72073sec
     inet6 2600:3c02::f03c:92ff:feed:7ed8/64 scope global dynamic mngtmpaddr noprefixroute 
        valid_lft 60sec preferred_lft 20sec
     inet6 fe80::f03c:92ff:feed:7ed8/64 scope link 
        valid_lft forever preferred_lft forever

Selanjutnya, nonaktifkan antarmuka Offloading untuk mencegah Snort 3 memotong paket besar, maks hingga 1518 byte. Periksa apakah fitur ini diaktifkan dengan perintah berikut.

ethtool -k eth0 | grep receive-offload

Jika melihat output ini, GRO diaktifkan saat LRO diperbaiki atau LRO diaktifkan.

Keluaran.

generic-receive-offload: on
large-receive-offload: on

Nonaktifkan dengan perintah berikut.

ethtool -K eth0 gro off lro off

Dua memastikan perubahan tetap ada di seluruh reboot sistem, kita harus membuat dan mengaktifkan unit layanan systemd untuk mengimplementasikan perubahan.

sudo nano /etc/systemd/system/snort3-nic.service

Tempelkan konfigurasi berikut yang mengarah ke antarmuka jaringan Anda.

[Unit]
Description=Set Snort 3 NIC in promiscuous mode and Disable GRO, LRO on boot
After=network.target

[Service]
Type=oneshot
ExecStart=/usr/sbin/ip link set dev eth0 promisc on
ExecStart=/usr/sbin/ethtool -K eth0 gro off lro off 
TimeoutStartSec=0 
RemainAfterExit=yes

[Install]
WantedBy=default.target

Muat ulang pengaturan konfigurasi systemd:

sudo systemctl daemon-reload

Mulai dan aktifkan layanan saat boot dengan perintah berikut:

sudo systemctl enable --now snort3-nic.service

Keluaran.

Created symlink /etc/systemd/system/default.target.wants/snort3-nic.service → /etc/systemd/system/snort3-nic.service.

Verifikasi snort3-nic.service dengan:

sudo systemctl status snort3-nic.service

Keluaran.

● snort3-nic.service - Set Snort 3 NIC in promiscuous mode and Disable GRO, LRO on boot
      Loaded: loaded (/etc/systemd/system/snort3-nic.service; enabled; vendor preset: enabled)
      Active: active (exited) since Sat 2021-09-18 12:35:17 UTC; 4min 59s ago
     Process: 182782 ExecStart=/usr/sbin/ip link set dev eth0 promisc on (code=exited, status=0>
     Process: 182783 ExecStart=/usr/sbin/ethtool -K eth0 gro off lro off (code=exited, status=0>
    Main PID: 182783 (code=exited, status=0/SUCCESS)
 Sep 18 12:35:17 li72-186 systemd[1]: Starting Set Snort 3 NIC in promiscuous mode and Disable >
 Sep 18 12:35:17 li72-186 systemd[1]: Finished Set Snort 3 NIC in promiscuous mode and Disable >

Instal Snort 3 Aturan Komunitas

Di Snort, aturan adalah keuntungan utama untuk mesin pendeteksi intrusi. Ada tiga jenis Aturan Snort:Aturan Komunitas, Aturan Terdaftar, Aturan Pelanggan. Aturan komunitas dikirimkan oleh komunitas open-source atau snort integrator.

Kami akan menunjukkan cara memasang Aturan Komunitas.

Pertama, buat direktori untuk Aturan di /usr/local/etc/snort

mkdir /usr/local/etc/rules

Unduh aturan komunitas Snort 3. Anda dapat menemukannya di halaman unduhan resmi Snort3.

wget https://www.snort.org/downloads/community/snort3-community-rules.tar.gz

Ekstrak aturan yang diunduh dan letakkan di direktori yang sebelumnya kita buat /usr/local/etc/rules/

tar xzf snort3-community-rules.tar.gz -C /usr/local/etc/rules/

Snort 3 menyertakan dua file konfigurasi utama, snort_defaults.lua dan snort.lua .

snort.lua file berisi konfigurasi utama Snort, memungkinkan implementasi dan konfigurasi praprosesor Snort, penyertaan file aturan, logging, filter event, output, dll.

snort_defaults.lua file berisi nilai default seperti jalur ke aturan, AppID, daftar intelijen, dan variabel jaringan.

Ketika file aturan diekstraksi dan ditempatkan, kita akan mengonfigurasi salah satu file konfigurasi ini yang disebut snort.lua. Buka file dengan editor favorit Anda dan akan melihat konfigurasi serupa.

... -- HOME_NET and EXTERNAL_NET must be set now -- setup the network addresses you are protecting
HOME_NET = 'server_public_IP/32'

-- set up the external network addresses.
-- (leave as "any" in most situations)
EXTERNAL_NET = 'any' EXTERNAL_NET = '!$HOME_NET' ... 

Tetapkan jaringan yang ingin Anda lindungi dari serangan sebagai nilai untuk HOME_NET variabel, dan titik EXTERNAL_NET variabel ke HOME_NET variabel.

Simpan dan keluar.

Anda juga dapat mengedit default Snort di /usr/local/etc/snort/snort_defaults.lua dan di bawah bagian IPS Anda dapat menentukan lokasi sesuai aturan Anda.

ips = 
{     
-- use this to enable decoder and inspector alerts     
--enable_builtin_rules = true,     

-- use include for rules files; be sure to set your path     
-- note that rules files can include other rules files     
include = '/usr/local/etc/rules/snort3-community-rules/snort3-community.rules' 
}
 ...

Simpan dan keluar.

Menjalankan Snort sebagai Layanan

Jika Anda akan menjalankan Snort sebagai daemon layanan di latar belakang, Anda juga dapat membuat unit layanan systemd untuk Snort. Adalah bijaksana untuk menjalankannya sebagai pengguna sistem yang tidak memiliki hak istimewa

Buat akun pengguna sistem non-login.

sudo useradd -r -s /usr/sbin/nologin -M -c SNORT_IDS snort

Kemudian, buat unit layanan systemd untuk Snort untuk dijalankan sebagai pengguna snort. Sesuaikan dan cocokkan dengan antarmuka jaringan Anda.

sudo nano /etc/systemd/system/snort3.service

Tempelkan konfigurasi berikut.

[Unit]
Description=Snort 3 NIDS Daemon
After=syslog.target network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/snort -c /usr/local/etc/snort/snort.lua -s 65535 -k none -l /var/log/snort -D -i eht0 -m 0x1b -u snort -g snort

[Install]
WantedBy=multi-user.target

Muat ulang konfigurasi systemd.

sudo systemctl daemon-reload

Setel kepemilikan dan izin pada file log.

sudo chmod -R 5775 /var/log/snort
sudo chown -R snort:snort /var/log/snort

Mulai dan aktifkan Snort untuk berjalan pada boot sistem:

sudo systemctl enable --now snort3

Periksa status layanan untuk mengonfirmasi apakah itu berjalan.

sudo systemctl status snort3

Keluaran.

● snort3.service - Snort 3 NIDS Daemon
      Loaded: loaded (/etc/systemd/system/snort3.service; enabled; vendor preset: enabled)
      Active: active (running) since Sat 2021-09-18 12:44:32 UTC; 6s ago
    Main PID: 182886 (snort)
       Tasks: 2 (limit: 1071)
      Memory: 62.6M
      CGroup: /system.slice/snort3.service
              └─182886 /usr/local/bin/snort -c /usr/local/etc/snort/snort.lua -s 65535 -k none >
 Sep 18 12:44:32 li72-186 systemd[1]: Started Snort 3 NIDS Daemon.

Kesimpulan

Dalam tutorial ini cara menginstal sistem deteksi intrusi jaringan Snort 3 di Ubuntu 20.04.

Linux tidak 100% kebal terhadap Virus dan hal-hal yang mencurigakan, selalu lebih baik untuk menginstal beberapa alat dan memastikan tidak ada yang mencoba sesuatu yang mencurigakan di perangkat dan jaringan Anda. Alternatif lain untuk Snort yang dapat Anda selidiki:Ossec, Palo Alto Networks Next-Generation Firewall, Next-Generation Intrusion Prevention System (NGIPS).

Terima kasih telah membaca, berikan tanggapan dan saran Anda di bagian komentar.


Ubuntu
  1. Cara Menginstal Odoo di Ubuntu

  2. Cara menginstal R di Ubuntu 16.04

  3. Cara Menginstal Go di Ubuntu 18.04

  1. Cara Menginstal Maven di Ubuntu

  2. Cara Menginstal Anggur di Ubuntu

  3. Cara Menginstal Ruby di Ubuntu 20.04

  1. Cara Menginstal Putty di Ubuntu

  2. Cara Menginstal Ruby di Ubuntu 18.04

  3. Cara Menginstal Pip di Ubuntu 18.04