GNU/Linux >> Belajar Linux >  >> Ubuntu

Terapkan Modsecurity dengan Nginx di Ubuntu 20.04 LTS

ModSecurity adalah Firewall Aplikasi Web sumber terbuka gratis yang didukung oleh berbagai server web seperti Apache, IIS, dan Nginx. Ini digunakan sebagai lapisan keamanan eksternal untuk melindungi server web.

Di sini, di LinuxAPT, kita akan melihat cara menginstal firewall ModSecurity dengan Nginx yang sudah diinstal sebelumnya di server Ubuntu 20.04.


Langkah-Langkah Menerapkan Modsecurity dengan Nginx di Ubuntu 20

1. Instal Nginx di sistem

Jika Anda belum menginstal Nginx di server Anda, ikuti panduan ini untuk memenuhi persyaratan instalasi Modsecurity:https://linuxapt.com/blog/1276-install-nginx-on-ubuntu-20-04-lts-using- kode sumber


2. Instal libmodsecurity3

Sekarang, instal git pada mesin Anda sehingga Anda dapat mengkloning repositori git ModSecurity. Kita dapat melakukannya dengan menjalankan perintah ini:

$ sudo apt install git -y

Sekarang setelah git terinstal, klon repositori dengan menjalankan perintah ini:

$ git clone --depth 1 -b v3/master --single-branch https://github.com/SpiderLabs/ModSecurity /usr/local/src/ModSecurity/


3. Masuk ke direktori Modsecurity

Sekarang setelah Anda mengkloning repositori git modsecurity, buka direktori modsecurity dengan mengikuti jalur di bawah ini:

$ cd /usr/local/src/ModSecurity/


4. Instal dependensi libmodsecurity3

Sekarang kita berada di dalam direktori Modsecurity, kita akan menginstal dependensi libmodsecurity3 pada langkah ini. Jalankan perintah ini:

$ sudo apt install gcc make build-essential autoconf automake libtool libcurl4-openssl-dev liblua5.3-dev libfuzzy-dev ssdeep gettext pkg-config libpcre3 libpcre3-dev libxml2 libxml2-dev libcurl4 libgeoip-dev libyajl-dev doxygen -y


5. Instal modul Git

Sekarang, instal submodul git dengan bantuan perintah ini:

$ git submodule init

Selanjutnya, kami akan memperbarui submodul:

$ git submodule update


6. Bangun lingkungan modsecurity

Saatnya untuk membangun lingkungan modsecurity. Untuk melakukannya, jalankan perintah berikut:

$ ./build.sh

Sekarang konfigurasikan menggunakan perintah ini:

$ ./configure

Setelah ini, Anda akan mendapatkan kesalahan ini:

fatal: No names found, cannot describe anything.


7. Kompilasi kode sumber modsecurity

Sekarang kita akan mengkompilasi lingkungan untuk libmodsecurity3 dengan perintah ini:

$ make

Jika Anda ingin meningkatkan kecepatan kompilasi, Anda dapat menentukan -j . Saya memiliki 4 CPU dan saya akan menggunakan keempatnya untuk mengkompilasi seperti yang ditunjukkan di bawah ini:

$ make -j 4

Selanjutnya kita akan menjalankan perintah install:

$ sudo make install

Instalasi dilakukan di /usr/local/modsecurity/.


8. Pasang konektor modsecurity-nginx

Di sini, kita akan menginstal konektor Modsecurity-nginx. Ini adalah titik koneksi dan komunikasi antara Nginx dan ModSecurity.

Pertama-tama, kita perlu mengkloning repositori konektor. Lakukan dengan menjalankan perintah ini:

$ sudo git clone --depth 1 https://github.com/SpiderLabs/ModSecurity-nginx.git /usr/local/src/ModSecurity-nginx/


9. Instal dependensi modsecurity-nginx

Pertama, buka direktori sumber Nginx seperti ini:

$ cd /usr/local/src/nginx/nginx-1.21.1

Pastikan untuk mengganti versi Nginx di perintah dengan versi Nginx Anda saat ini jika tidak, Anda akan mendapatkan kesalahan.

Untuk menginstal dependensi yang diperlukan, jalankan perintah ini:

$ sudo apt build-dep nginx && sudo apt install uuid-dev -y

Selanjutnya, kita akan mengkompilasi modul konektor Modsecurity-nginx dengan flag –with-compat dengan menjalankan perintah ini:

$ sudo ./configure --with-compat --add-dynamic-module=/usr/local/src/ModSecurity-nginx

Sekarang jalankan perintah ini untuk membuat modul dinamis:

$ sudo make modules

Sekarang, salin modul dinamis yang baru saja Anda buat di objs/ngx_http_modsecurity_module.so ke /usr/share/nginx/modules dengan bantuan perintah ini:

$ sudo cp objs/ngx_http_modsecurity_module.so /usr/share/nginx/modules/


10. Aktifkan Modsecurity di file konfigurasi Nginx

Untuk mengaktifkan Modsecurity di Nginx, Anda harus terlebih dahulu menentukan load-module dan path ke modul modsecurity Anda di konfigurasi.

Buka file konfigurasi Nginx dengan editor nano seperti ini:

$ sudo nano /etc/nginx/nginx.conf

Dalam file, tambahkan baris ini di atas:

load_module modules/ngx_http_modsecurity_module.so;

Di bawah bagian {} HTTP, tambahkan baris kode berikut:

modsecurity on;
modsecurity_rules_file /etc/nginx/modsec/modsec-config.conf;


11. Konfigurasi direktori dan file untuk modsecurity

Buat direktori dengan nama modsec. Jalur direktori disebutkan dalam perintah:

$ sudo mkdir /etc/nginx/modsec/

Anda akan memerlukan direktori ini di masa mendatang untuk menyimpan file dan aturan konfigurasi.

Sekarang, salin contoh file konfigurasi Modsecurity dari direktori git kloning dengan perintah ini:

$ sudo cp /usr/local/src/ModSecurity/modsecurity.conf-recommended /etc/nginx/modsec/modsecurity.conf

Sekarang buka file konfigurasi modsecurity:

$ sudo nano /etc/nginx/modsec/modsecurity.conf

Temukan direktif SecRuleEngine di file pada baris 7 dan ubah ke DetectionOnly seperti ini:

secruleEngine DetectionOnly

Untuk mengaktifkan Modsecurity, cari ubah arahan berikut menjadi On seperti ini:

secRuleEngine on

Sekarang cari arahan berikut pada baris 224:

secAuditLogParts ABIJDEFHZ

Ubah ke:

secAuditLogParts ABCDEFHJKZ

Sekarang buat file modsec-config.conf. Di sini Anda akan menambahkan modsecurity.conf dan aturan lain untuk modsecurity:

$ sudo nano /etc/nginx/modsec/modsec-config.conf

Di dalam file yang baru saja Anda buat, tambahkan baris ini:

Include /etc/nginx/modsec/modsecurity.conf

Simpan file dan keluar.


12. Salin file unicode.mapping

Terakhir, salin file unicode.mapping Modsecurity seperti ini:

$ sudo cp /usr/local/src/ModSecurity/unicode.mapping /etc/nginx/modsec/


13. Periksa konfigurasi Nginx

Sebelum memulai ulang Nginx, periksa apakah konfigurasinya baik-baik saja dengan menjalankan perintah ini:

$ sudo nginx -t


14. Muat ulang Nginx

Sekarang restart Nginx dengan perintah ini:

$ sudo systemctl restart nginx



Ubuntu
  1. Cara Menginstal Nextcloud dengan Nginx di Ubuntu 18.04 LTS

  2. Cara Menginstal Seafile dengan Nginx di Ubuntu 20.04 LTS

  3. Cara Menyebarkan Modsecurity dengan Nginx di Ubuntu 20.04 LTS

  1. Cara Memasang Varnish Reverse Proxy dengan Nginx di Ubuntu 16.04 LTS

  2. Cara Menginstal Seafile dengan Nginx di Ubuntu 18.04 LTS

  3. Cara Menginstal OroCRM dengan Nginx di Ubuntu 16.04 LTS

  1. Cara menggunakan Ghost Blog dengan Nginx di Ubuntu 18.04 LTS

  2. Cara Menginstal Nginx dengan Kompresi Brotli di Ubuntu 18.04 LTS

  3. Cara Menginstal GitBucket dengan Nginx di Ubuntu 18.04 LTS