GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menyebarkan 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.

Dalam tutorial ini, Anda akan belajar cara menginstal firewall ModSecurity dengan Nginx yang sudah diinstal sebelumnya. Kami telah menggunakan server Ubuntu 20.04 untuk mendemonstrasikan prosesnya.

Prasyarat

Server Ubuntu 20.04 LTS

Nginx diinstal di server Ubuntu

Panduan Pemasangan

Jika Anda belum menginstal Nginx di server Anda, ikuti panduan ini untuk memenuhi persyaratan instalasi Modsecurity:

https://linuxways.net/ubuntu/how-to-install-nginx-on-ubuntu-20-04-lts-using-source-code/

Sekarang setelah Anda menginstal Nginx, mari kita mulai menginstal ModSecurity.

Langkah 1:Instal libmodsecurity3

Pertama-tama, 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/

Langkah 2:Buka direktori Modsecurity

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

cd /usr/local/src/ModSecurity/

Langkah 3: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

Langkah 4:Instal modul Git

Sekarang, instal submodul git dengan bantuan perintah ini:

git submodule init

Selanjutnya, kami akan memperbarui submodul:

git submodule update

Langkah 5: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:

Tidak apa-apa untuk mengabaikan ini dan melanjutkan.

Langkah 6: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

Penginstalan dilakukan di /usr/local/modsecurity/ .

Step 7: Install modsecurity-nginx connector

Pada langkah ini, 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/

Langkah 8: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/

Langkah 9: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;

Langkah 10:Konfigurasikan 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.

Langkah 11:Salin file unicode.mapping

Terakhir, salin file unicode.mapping Modsecurity seperti ini:

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

Langkah 12:Periksa konfigurasi Nginx

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

sudo nginx -t

Jika Anda mendapatkan output berikut, Anda siap melakukannya:

Langkah 13:Muat Ulang Nginx

Sekarang restart Nginx dengan perintah ini:

sudo systemctl restart nginx

Dalam panduan ini, kami melihat bagaimana kami dapat menginstal Modsecurity di server ubuntu yang sudah memiliki Nginx yang sudah diinstal sebelumnya. Kami juga melihat cara mengonfigurasi ModSecurity dan Nginx untuk menghubungkannya dengan bantuan beberapa perintah yang mudah diikuti.


Ubuntu
  1. Cara Menginstal Seafile dengan Nginx di Ubuntu 20.04 LTS

  2. Cara Menginstal MediaWiki dengan Nginx di Ubuntu 16.04

  3. Terapkan Modsecurity dengan Nginx di Ubuntu 20.04 LTS

  1. Cara Menginstal Seafile dengan Nginx di Ubuntu 18.04 LTS

  2. Cara Menginstal Magento dengan Nginx di Ubuntu 15.10

  3. Cara Menginstal Mailpile dengan Nginx di Ubuntu 15.10

  1. Cara Instal Redmine 3 dengan Nginx di Ubuntu 15.10

  2. Cara Menginstal Piwik dengan Nginx di Ubuntu 15.10

  3. Cara Menginstal Redmine 3.2 dengan Nginx di Ubuntu 16.04