ModSecurity dan OWASP pada CentOS 6 dan Apache 2

ModSecurity adalah firewall lapisan aplikasi web yang dirancang untuk bekerja dengan IIS, Apache2 dan Nginx. Ini gratis, perangkat lunak sumber terbuka dirilis di bawah lisensi Apache 2.0. ModSecurity membantu mengamankan server web Anda dengan memantau dan menganalisis lalu lintas situs web Anda. Ini dilakukan secara real-time untuk mendeteksi dan memblokir serangan dari eksploitasi yang paling dikenal menggunakan ekspresi reguler. Sendiri, ModSecurity memberikan perlindungan terbatas dan mengandalkan aturan untuk memaksimalkan perlindungan.

Proyek Rule Core (RW) Proyek Keamanan Aplikasi Web Terbuka (ATS) adalah seperangkat aturan deteksi serangan generik yang memberikan tingkat perlindungan dasar untuk aplikasi web apa pun. Aturan ini gratis, open-source, dan saat ini disponsori oleh Spider Labs.

OWASP CRS menyediakan:

  • Perlindungan HTTP - mendeteksi pelanggaran protokol HTTP dan kebijakan penggunaan yang ditentukan secara lokal.
  • Pencarian Blacklist Real-time - memanfaatkan reputasi IP Pihak Ketiga.
  • HTTP Denial of Service Protection - pertahanan terhadap flooding HTTP dan memperlambat serangan DoS HTTP.
  • Common Web Attacks Protection - mendeteksi serangan keamanan aplikasi web umum.
  • Deteksi Otomatis - Mendeteksi bot, perayap, pemindai, dan aktivitas jahat permukaan lainnya.
  • Integrasi dengan AV Scanning for File Uploads - mendeteksi file berbahaya yang diunggah melalui aplikasi web.
  • Melacak Data Sensitif - Melacak penggunaan kartu kredit dan memblokir kebocoran.
  • Perlindungan Trojan - Mendeteksi kuda trojan.
  • Identifikasi Cacat Aplikasi - peringatan tentang kesalahan konfigurasi aplikasi.
  • Deteksi dan Sembunyi Kesalahan - Menyamarkan pesan kesalahan yang dikirim oleh server.

Instalasi

Panduan ini menunjukkan kepada Anda bagaimana menginstal ModSecurity dan OWASP aturan pada CentOS 6 menjalankan Apache 2.

Pertama, Anda perlu memastikan bahwa sistem Anda mutakhir.

 yum -y update

Jika Anda belum menginstal Apache 2, maka instal sekarang.

 yum -y install httpd

Anda sekarang perlu menginstal beberapa dependensi agar ModSecurity berfungsi. Tergantung pada konfigurasi server Anda, beberapa atau semua paket ini mungkin sudah diinstal. Yum akan menginstal paket yang tidak Anda miliki dan memberi tahu Anda jika ada paket yang sudah diinstal.

 yum -y install httpd-devel git gcc make libxml2 pcre-devel libxml2-devel curl-devel

Ubah direktori dan unduh kode sumber dari situs web ModSecuity. Versi stabil saat ini adalah 2.8.

 cd /opt/
 wget https://www.modsecurity.org/tarball/2.8.0/modsecurity-2.8.0.tar.gz

Ekstrak paket dan ubah ke direktori.

 tar xzfv modsecurity-2.8.0.tar.gz 
 cd modsecurity-2.8.0

Konfigurasikan dan kompilasi kode sumber.

 ./configure
 make
 make install

Salin konfigurasi ModSecurity default dan file pemetaan unicode ke direktori Apache.

 cp modsecurity.conf-recommended /etc/httpd/conf.d/modsecurity.conf
 cp unicode.mapping /etc/httpd/conf.d/

Konfigurasikan Apache untuk menggunakan ModSecurity. Ada 2 cara yang bisa Anda lakukan ini.

 echo LoadModule security2_module modules/mod_security2.so >> /etc/httpd/conf/httpd.conf

... atau gunakan editor teks seperti nano:

 nano /etc/httpd/conf/httpd.conf

Di bagian bawah file itu, pada baris terpisah tambahkan ini:

 LoadModule security2_module modules/mod_security2.so

Anda sekarang dapat memulai Apache dan mengkonfigurasinya untuk mulai saat boot.

 service httpd start
 chkconfig httpd on

Jika Anda telah menginstal Apache sebelum menggunakan panduan ini, maka Anda hanya perlu me-restart itu.

 service httpd restart

Anda sekarang dapat mengunduh set aturan inti OWASP.

 cd /etc/httpd
 git clone https://github.com/SpiderLabs/owasp-modsecurity-crs.git

Sekarang konfigurasikan OWASP ruleset.

 cd modsecurity-crs
 cp modsecurity_crs_10_setup.conf.example modsecurity_crs_10_config.conf

Selanjutnya, Anda perlu menambahkan aturan ke konfigurasi Apache. Sekali lagi kita dapat melakukan ini dengan dua cara.

 echo Include modsecurity-crs/modsecurity_crs_10_config.conf >> /etc/httpd/conf/httpd.conf
 echo Include modsecurity-crs/base_rules/*.conf >> /etc/httpd/conf/httpd.conf

... atau dengan editor teks:

 nano /etc/httpd/conf/httpd.conf

Di bagian bawah file pada baris terpisah, tambahkan ini:

 Include modsecurity-crs/modsecurity_crs_10_config.conf
 Include modsecurity-crs/base_rules/*.conf

Sekarang restart Apache.

 service httpd restart

Akhirnya, hapus file instalasi.

 yum erase /opt/modsecurity-2.8.0
 yum erase /opt/modsecurity-2.8.0.tar.gz

Menggunakan ModSecurity

Secara default, ModSecurity berjalan dalam mode deteksi saja, yang berarti akan mencatat semua pemutusan aturan tetapi tidak akan mengambil tindakan. Ini direkomendasikan untuk instalasi baru sehingga Anda dapat menonton acara yang dihasilkan di log kesalahan Apache. Setelah meninjau log, Anda dapat memutuskan apakah ada modifikasi pada set aturan atau menonaktifkan aturan (lihat di bawah) harus dilakukan sebelum pindah ke mode proteksi.

Untuk melihat log kesalahan Apache:

 cat /var/log/httpd/error_log

Garis ModSecurity di log kesalahan Apache dipecah menjadi sembilan elemen. Setiap elemen memberikan informasi tentang mengapa acara itu dipicu.

  • Bagian pertama memberi tahu file aturan apa yang memicu acara ini.
  • Bagian kedua memberi tahu baris apa dalam file aturan yang aturannya dimulai.
  • Elemen ketiga memberi tahu Anda aturan apa yang dipicu.
  • Elemen keempat memberi tahu Anda revisi aturan.
  • Elemen kelima berisi data khusus untuk keperluan debugging.
  • Elemen keenam mendefinisikan keparahan logging dari keparahan acara ini.
  • Bagian ketujuh menjelaskan tindakan apa yang terjadi dan pada fase apa itu terjadi.

Perhatikan bahwa beberapa elemen mungkin tidak ada bergantung pada konfigurasi server Anda.

Untuk mengubah ModSecurity ke mode proteksi, buka file conf di editor teks:

 nano /etc/httpd/conf.d/modsecurity.conf

... dan ubah:

 SecRuleEngine DetectionOnly

untuk:

 SecRuleEngine On

Jika Anda menemukan blok saat ModSecurity sedang berjalan, maka Anda perlu mengidentifikasi aturan di log kesalahan HTTP. Perintah "tail" memungkinkan Anda untuk menonton log secara real-time:

 tail -f /var/log/httpd/error_log

Ulangi tindakan yang menyebabkan blok saat menonton log.

Mengubah Aturan / Menonaktifkan ID Aturan

Memodifikasi suatu aturan berada di luar cakupan tutorial ini.

Untuk menonaktifkan aturan tertentu, Anda mengidentifikasi id aturan yang ada di elemen ketiga (misalnya [id = 200000]) dan kemudian menonaktifkannya di file konfigurasi Apache:

 nano /etc/httpd/conf/httpd.conf

... dengan menambahkan berikut ini ke bagian bawah file dengan id aturan:

<IfModule mod_security2.c>
SecRuleRemoveById 200000
</IfModule>

Jika Anda menemukan ModSecurity memblokir semua tindakan di situs web Anda, maka "Core Rule Set" mungkin dalam mode "Self-Contained". Anda perlu mengubahnya ke "Deteksi Kolaboratif", yang mendeteksi dan memblokir anomali saja. Pada saat yang sama, Anda dapat melihat opsi "Cukup" dan mengubahnya jika Anda ingin melakukannya.

 nano /etc/httpd/modsecurity-crs/modsecurity_crs_10_config.conf

Ubah "deteksi" menjadi "Mandiri".

Anda juga dapat mengonfigurasi ModSecurity untuk memungkinkan IP Anda melalui firewall aplikasi web (WAF) tanpa masuk:

 SecRule REMOTE_ADDR "@ipMatch xxx.xxx.xxx.xxx" phase:1,nolog,allow,ctl:ruleEngine=Off

... atau dengan pencatatan:

 SecRule REMOTE_ADDR "@ipMatch xxx.xxx.xxx.xxx" phase:1,nolog,allow,ctl:ruleEngine=DetectionOnly


Leave a Comment

Cara Memasang Graylog Server pada CentOS 7

Cara Memasang Graylog Server pada CentOS 7

Menggunakan Sistem yang Berbeda? Graylog server adalah perangkat lunak manajemen log sumber terbuka siap pakai perusahaan. Ia mengumpulkan log dari berbagai sumber dan menganalisis

Atur Akun Pengguna khusus SFTP di CentOS 7

Atur Akun Pengguna khusus SFTP di CentOS 7

Pada kesempatan tertentu, Administrator Sistem mungkin perlu membuat akun pengguna dan membatasi akses mereka untuk hanya mengelola file mereka sendiri melalui sFTP, tetapi tidak

Cara Memasang Chamilo 1.11.8 pada CentOS 7

Cara Memasang Chamilo 1.11.8 pada CentOS 7

Menggunakan Sistem yang Berbeda? Chamilo adalah sistem manajemen pembelajaran (LMS) gratis dan open source yang banyak digunakan untuk pendidikan online dan kolaborasi tim

Menginstal Komunitas Odoo 9 di CentOS 7

Menginstal Komunitas Odoo 9 di CentOS 7

Odoo, sebelumnya dikenal sebagai OpenERP, adalah platform bisnis ERP open source yang terkenal. Perusahaan dengan ukuran berapa pun dapat mengambil manfaat dari Odoo, berkat lisnya yang berlimpah

Cara Memasang CMS CMS 2.0 pada CentOS 7 LAMP VPS

Cara Memasang CMS CMS 2.0 pada CentOS 7 LAMP VPS

Menggunakan Sistem yang Berbeda? Couch CMS adalah Content Management System (CMS) sederhana dan fleksibel, gratis dan open source yang memungkinkan desainer web untuk mendesain

Cara Memasang NextCloud 9 pada CentOS 7

Cara Memasang NextCloud 9 pada CentOS 7

NextCloud, seperti namanya, adalah alternatif yang menjanjikan dari solusi hosting file sumber terbuka lainnya OwnCloud. Dalam artikel ini, saya akan menunjukkan kepada Anda ho

Menginstal Netdata di CentOS 7

Menginstal Netdata di CentOS 7

Menggunakan Sistem yang Berbeda? Netdata adalah bintang yang naik di bidang pemantauan metrik sistem waktu-nyata. Dibandingkan dengan alat lain dengan jenis yang sama, Netdata:

Cara Menginstal ERPNext Open Source ERP pada CentOS 7

Cara Menginstal ERPNext Open Source ERP pada CentOS 7

Menggunakan Sistem yang Berbeda? ERP atau Enterprise Resource Planning adalah rangkaian aplikasi perusahaan yang digunakan untuk mengelola proses bisnis inti. ERPNext adalah gratis

Menyiapkan SA-MP San Andreas Multiplayer Server pada CentOS 6

Menyiapkan SA-MP San Andreas Multiplayer Server pada CentOS 6

Selamat datang di tutorial Vultr lainnya. Di sini, Anda akan belajar cara menginstal dan menjalankan server SAMP. Panduan ini ditulis untuk CentOS 6. Prasyarat Anda akan tahu

Instal Elgg pada CentOS 7

Instal Elgg pada CentOS 7

Menggunakan Sistem yang Berbeda? Elgg adalah mesin jejaring sosial open source yang memungkinkan penciptaan lingkungan sosial seperti jejaring sosial kampus

Menginstal Bolt CMS pada CentOS 7

Menginstal Bolt CMS pada CentOS 7

Bolt adalah CMS open source yang ditulis dalam PHP. Kode sumber baut di-host di GitHub. Panduan ini akan menunjukkan kepada Anda cara menginstal Bolt CMS pada CentOS 7 Vult yang baru

Cara Memasang Bugzilla 5.0.x di CentOS 7

Cara Memasang Bugzilla 5.0.x di CentOS 7

Bugzilla adalah sistem pelacakan bug sumber bebas dan terbuka yang banyak digunakan oleh berbagai vendor untuk terus meningkatkan softwar mereka

Menyebarkan Kubernet Dengan Kubeadm di CentOS 7

Menyebarkan Kubernet Dengan Kubeadm di CentOS 7

Ikhtisar Artikel ini dimaksudkan untuk membantu Anda mendapatkan kluster Kubernet dan menjalankan dengan kubeadm dalam waktu singkat. Panduan ini akan menggunakan dua server, pada

Setup Sails.js untuk Pengembangan pada CentOS 7

Setup Sails.js untuk Pengembangan pada CentOS 7

Menggunakan Sistem yang Berbeda? Pendahuluan Sails.js adalah kerangka kerja MVC untuk Node.js, mirip dengan Ruby on Rails. Itu membuat untuk mengembangkan aplikasi modern ver

Menyiapkan Server Half Life 2 Pada CentOS 6

Menyiapkan Server Half Life 2 Pada CentOS 6

Tutorial ini akan membahas proses pemasangan server game Half Life 2 pada Sistem CentOS 6. Langkah 1: Menginstal prasyarat Untuk mengatur ou

Alat Pemantauan Yang Lebih Baik Untuk Ubuntu Dan CentOS

Alat Pemantauan Yang Lebih Baik Untuk Ubuntu Dan CentOS

Pendahuluan Sistem Linux dilengkapi dengan alat pemantauan secara default seperti top, df, dan du yang membantu memonitor proses dan ruang disk. Namun sering kali, mereka ar

Cara Memasang Kolab Groupware di CentOS 7

Cara Memasang Kolab Groupware di CentOS 7

Menggunakan Sistem yang Berbeda? Kolab Groupware adalah aplikasi groupware berbasis web gratis dan open source. Fitur-fiturnya terdiri dari komunikasi email, acara

Cara Memasang Koel di CentOS 7

Cara Memasang Koel di CentOS 7

Menggunakan Sistem yang Berbeda? Koel adalah aplikasi streaming audio pribadi sederhana berbasis web yang ditulis dalam Vue di sisi klien dan Laravel di sisi server. Koe

Cara Memasang GDB pada CentOS 6

Cara Memasang GDB pada CentOS 6

GDB adalah debugger untuk C, C ++, Objective-C, Pascal, Fortran, Go, D, OpenCL C, Ada, dan Modula-2. CentOS didasarkan pada RHEL (Red Hat Enterprise Linux). Salah satu th

Menginstal Akaunting di CentOS 7

Menginstal Akaunting di CentOS 7

Menggunakan Sistem yang Berbeda? Akaunting adalah perangkat lunak akuntansi sumber terbuka dan gratis yang dirancang untuk usaha kecil dan freelancer. Itu dibangun kecerdasan

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

6 Hal yang Sangat Menggila dari Nintendo Switch

6 Hal yang Sangat Menggila dari Nintendo Switch

Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.

Janji Teknologi Yang Masih Belum Ditepati

Janji Teknologi Yang Masih Belum Ditepati

Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.

Pembaruan Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Masalah Daripada Menyelesaikan

Pembaruan Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Masalah Daripada Menyelesaikan

Baru-baru ini Apple merilis macOS Catalina 10.15.4 pembaruan suplemen untuk memperbaiki masalah tetapi tampaknya pembaruan menyebabkan lebih banyak masalah yang mengarah ke bricking mesin mac. Baca artikel ini untuk mempelajari lebih lanjut