GNU/Linux >> Belajar Linux >  >> Linux

Mengamankan Server Web Apache Anda dengan Keamanan Mod

ModSecurity, juga dikenal sebagai Modsec, adalah firewall aplikasi web sumber terbuka dan gratis untuk server web Apache. ModSecurity adalah modul Apache yang membantu Anda melindungi server web Anda dari berbagai jenis serangan termasuk injeksi SQL, XSS, trojan, bot, penangkapan/pembajakan sesi, dan banyak lagi. ModSecurity menyediakan kumpulan aturan yang kuat dengan pemantauan web waktu nyata, pencatatan log, dan kontrol akses.

Dalam tutorial ini, kami akan menunjukkan cara menginstal dan mengkonfigurasi Mod Security dengan Apache di Ubuntu 18.04.

Prasyarat

  • VPS Ubuntu 18.04 baru di Platform Cloud Atlantic.Net.
  • Alamat IP statis yang dikonfigurasi di server Anda.

Langkah 1 – Buat Server Cloud Atlantic.Net

Pertama, masuk ke Server Cloud Atlantic.Net Anda. Buat server baru, pilih Ubuntu 18.04 sebagai sistem operasi dengan setidaknya 2GB RAM. Hubungkan ke Server Cloud Anda melalui SSH dan masuk menggunakan kredensial yang disorot di bagian atas halaman.

Setelah Anda masuk ke server Ubuntu 18.04 Anda, jalankan perintah berikut untuk memperbarui sistem dasar Anda dengan paket terbaru yang tersedia.

apt-get update -y

Langkah 2 – Instal LAMP Stack

Pertama, Anda perlu menginstal LAMP Stack di server Anda. Anda dapat menginstalnya dengan menjalankan perintah berikut:

apt-get install apache2 mariadb-server php7.2-mysql php7.2 libapache2-mod-php7.2 unzip git -y

Setelah menginstal LAMP, mulai layanan Apache dan aktifkan untuk memulai setelah sistem reboot dengan perintah berikut:

systemctl start apache2
systemctl enable apache2

Pada titik ini, server web Apache diinstal dan berjalan di server Anda.

Langkah 3 – Instal ModSecurity

apt-get install libapache2-mod-security2 -y

Setelah penginstalan selesai, mulai ulang layanan Apache untuk menerapkan perubahan.

systemctl restart apache2

Selanjutnya, Anda juga dapat memeriksa apakah modul telah dimuat atau belum dengan menjalankan perintah berikut:

apachectl -M | grep security

Anda akan mendapatkan output berikut:

security2_module (shared)

Langkah 4 – Konfigurasi ModSecurity

Tidak ada aturan keamanan yang dikonfigurasi secara default, jadi Anda harus mengaktifkannya terlebih dahulu. Untuk melakukannya, ganti nama file konfigurasi default ModSecurity /etc/modsecurity/modsecurity.conf-recommended menjadi /etc/modsecurity/modsecurity.conf.

cp /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf

Selanjutnya, edit file menggunakan editor teks pilihan Anda:

nano /etc/modsecurity/modsecurity.conf

Temukan baris berikut:

SecRuleEngine DetectionOnly

Ganti dengan yang berikut ini:

SecRuleEngine On

Simpan dan tutup file setelah Anda selesai. Kemudian, mulai ulang layanan Apache agar perubahan diterapkan.

systemctl restart apache2

Langkah 5 – Unduh dan Konfigurasi Aturan Inti ModSecurity

Kumpulan aturan default ModSecurity tersedia di dalam direktori /usr/share/modsecurity-crs, tetapi disarankan untuk mengunduh kumpulan aturan baru dari GitHub.

Pertama, hapus aturan lama dengan perintah berikut:

rm -rf /usr/share/modsecurity-crs

Selanjutnya, unduh kumpulan aturan terbaru dengan perintah berikut:

git clone https://github.com/SpiderLabs/owasp-modsecurity-crs.git /usr/share/modsecurity-crs

Selanjutnya, Anda harus mengaktifkan set aturan ini dalam konfigurasi Apache. Anda dapat mengaktifkannya dengan mengedit file /etc/apache2/mods-enabled/security2.conf:

nano /etc/apache2/mods-enabled/security2.conf

Tambahkan baris berikut di atas baris “”

     IncludeOptional "/usr/share/modsecurity-crs/*.conf
     IncludeOptional "/usr/share/modsecurity-crs/rules/*.conf

Simpan dan tutup file. Kemudian, restart layanan Apache dan aktifkan modul header Apache untuk mengimplementasikan perubahan.

a2enmod headers
systemctl restart apache2

Pada titik ini, ModSecurity dikonfigurasi untuk bekerja dengan server web Apache.

Langkah 6 – Uji ModSecurity

Setelah mengonfigurasi ModSecurity, Anda dapat mencoba menjalankan skrip berbahaya di browser web dan memeriksa apakah aturan ModSecurity akan dipicu.

Buka browser web Anda dan ketik URL http://your-server-ip/index.html?exec=/bin/bash . Anda akan mendapatkan pesan kesalahan terlarang di halaman berikut:

Untuk menguji aturan ModSecurity untuk melindungi dari serangan XSS yang disimulasikan, akses URL http://your-server-ip/?q=”> dari peramban web Anda. Anda akan melihat layar berikut:

Untuk menguji aturan ModSecurity terhadap pemindaian Nessus, gunakan perintah curl dengan pemindai Nessus untuk mengirim permintaan HTTP ke server Apache seperti yang ditunjukkan di bawah ini:

curl -i http://your-server-ip -A Nessus

Anda harus mendapatkan respons 403 Forbidden karena ModSecurity telah mengidentifikasi Agen Pengguna sebagai pemindaian Nessus:

HTTP/1.1 403 Forbidden
Date: Sat, 21 Dec 2019 04:17:24 GMT
Server: Apache/2.4.29 (Ubuntu)
Content-Length: 278
Content-Type: text/html; charset=iso-8859-1

Langkah 7 – Kecualikan Domain Tertentu dari ModSecurity

Dalam beberapa kasus, Anda perlu mengecualikan domain tertentu dari perlindungan ModSecurity. Untuk menonaktifkan ModSecurity untuk domain tertentu, buka file konfigurasi host virtual Apache untuk domain tertentu:

nano /etc/apache2/site-enabled/your-domain.conf

Tambahkan baris berikut di dalam blok :

<IfModule security2_module>
    SecRuleEngine Off
</IfModule>

Simpan dan tutup file. Kemudian, restart layanan Apache untuk menerapkan perubahan.

systemctl restart apache2

Kesimpulan

Kami telah meninjau cara menginstal dan mengkonfigurasi ModSecurity untuk melindungi server web Apache Anda dari serangan berbahaya. Untuk informasi lebih lanjut, kunjungi dokumentasi ModSecurity di ModSecurity.


Linux
  1. Cara mengkonfigurasi server web Apache

  2. Pindai keamanan Linux Anda dengan Lynis

  3. 7 langkah untuk mengamankan server Linux Anda

  1. Cara mengkonfigurasi beberapa situs web dengan server web Apache

  2. Temukan 10 Alamat IP Teratas Mengakses Server Web Apache Anda

  3. LAMP vs. LEMP – tips memilih Apache atau nginx untuk server web Anda

  1. Menyetel Apache Web Server Keepalive

  2. Bagaimana cara menginstal keamanan mod di Centos 7.x dengan apache?

  3. Mengamankan server Debian Apache PHP