ModSecurity dan OWASP pada CentOS 6 dan Apache 2

ModSecurity adalah firewall lapisan aplikasi web yang dirancang untuk berfungsi dengan IIS, Apache2 dan Nginx. Ia adalah perisian sumber terbuka percuma yang dikeluarkan di bawah lesen Apache 2.0. ModSecurity membantu melindungi pelayan web anda dengan memantau dan menganalisis lalu lintas laman web anda. Ia melakukan ini dalam masa nyata untuk mengesan dan menyekat serangan dari eksploitasi paling terkenal dengan menggunakan ungkapan biasa. Dengan sendiri, ModSecurity memberikan perlindungan terhad dan bergantung pada aturan untuk memaksimumkan perlindungan.

Open Rule Set Projek Keselamatan Projek (OWASP) Core Rule Set (CRS) adalah satu set peraturan pengesanan serangan generik yang memberikan tahap perlindungan asas untuk mana-mana aplikasi web. Kumpulan peraturan ini percuma, sumber terbuka, dan kini ditaja oleh Spider Labs.

OWASP CRS menyediakan:

  • Perlindungan HTTP - mengesan pelanggaran protokol HTTP dan dasar penggunaan yang ditentukan secara tempatan.
  • Pencarian Senarai Hitam masa nyata - menggunakan reputasi IP Pihak Ketiga.
  • HTTP Denial of Service Protection - pertahanan terhadap banjir HTTP dan serangan HTTP DoS yang perlahan.
  • Perlindungan Serangan Web Biasa - mengesan serangan keselamatan aplikasi web biasa.
  • Pengesanan Automasi - Mengesan bot, perayap, pengimbas dan aktiviti berbahaya permukaan lain.
  • Integrasi dengan Pengimbasan AV untuk Muat Naik Fail - mengesan fail berniat jahat yang dimuat naik melalui aplikasi web.
  • Mengesan Data Sensitif - Mengesan penggunaan kad kredit dan menyekat kebocoran.
  • Perlindungan Trojan - Mengesan kuda trojan.
  • Pengenalpastian Kecacatan Aplikasi - amaran mengenai salah konfigurasi aplikasi.
  • Ralat Pengesanan dan Penyembunyian - Menyamarkan mesej ralat yang dihantar oleh pelayan.

Pemasangan

Panduan ini menunjukkan cara memasang ModSecurity dan OWASP Ruleset di CentOS 6 yang menjalankan Apache 2.

Pertama, anda perlu memastikan bahawa sistem anda terkini.

 yum -y update

Sekiranya anda belum memasang Apache 2, pasang sekarang.

 yum -y install httpd

Anda kini perlu memasang beberapa pergantungan agar ModSecurity berfungsi. Bergantung pada konfigurasi pelayan anda, beberapa atau semua pakej ini mungkin sudah dipasang. Yum akan memasang pakej yang tidak anda miliki dan memberitahu anda jika ada pakej yang sudah dipasang.

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

Tukar direktori dan muat turun kod sumber dari laman web ModSecuity. Versi stabil semasa ialah 2.8.

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

Ekstrak pakej dan ubah ke direktori.

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

Konfigurasikan dan susun kod sumber.

 ./configure
 make
 make install

Salin konfigurasi ModSecurity lalai dan fail 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. Terdapat 2 cara yang boleh anda lakukan.

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

... atau gunakan penyunting teks seperti nano:

 nano /etc/httpd/conf/httpd.conf

Di bahagian bawah fail itu, tambahkan ini:

 LoadModule security2_module modules/mod_security2.so

Anda kini boleh memulakan Apache dan mengkonfigurasinya untuk dimulakan semasa boot.

 service httpd start
 chkconfig httpd on

Sekiranya anda memasang Apache sebelum menggunakan panduan ini, anda hanya perlu memulakannya semula.

 service httpd restart

Anda kini boleh memuat turun set peraturan teras OWASP.

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

Sekarang konfigurasikan set peraturan OWASP.

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

Seterusnya, anda perlu menambahkan set peraturan 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 penyunting teks:

 nano /etc/httpd/conf/httpd.conf

Di bahagian bawah fail pada baris berasingan tambahkan ini:

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

Sekarang mulakan semula Apache.

 service httpd restart

Akhirnya, padamkan fail pemasangan.

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

Menggunakan ModSecurity

Secara lalai, ModSecurity berjalan dalam mod pengesanan sahaja, yang bermaksud ia akan mencatat semua pelanggaran peraturan tetapi tidak akan mengambil tindakan. Ini disyorkan untuk pemasangan baru supaya anda dapat menyaksikan peristiwa yang dihasilkan dalam log ralat Apache. Setelah memeriksa log, anda dapat memutuskan apakah ada pengubahsuaian pada set peraturan atau menonaktifkan aturan (lihat di bawah) harus dilakukan sebelum beralih ke mod perlindungan.

Untuk melihat log ralat Apache:

 cat /var/log/httpd/error_log

Garis ModSecurity dalam log ralat Apache dipecah menjadi sembilan elemen. Setiap elemen memberikan maklumat mengenai mengapa peristiwa itu dipicu.

  • Bahagian pertama memberitahu fail peraturan apa yang mencetuskan peristiwa ini.
  • Bahagian kedua memberitahu baris mana dalam fail peraturan yang bermula peraturan.
  • Elemen ketiga memberitahu anda peraturan apa yang dicetuskan.
  • Elemen keempat memberitahu anda penyemakan peraturan.
  • Elemen kelima mengandungi data khas untuk tujuan penyahpepijatan.
  • Unsur keenam mentakrifkan keparahan penebangan keparahan peristiwa ini.
  • Bahagian ketujuh menerangkan tindakan apa yang berlaku dan fasa apa yang berlaku.

Perhatikan bahawa beberapa elemen mungkin tidak ada bergantung pada konfigurasi pelayan anda.

Untuk menukar ModSecurity ke mod perlindungan, buka fail konfigurasi dalam penyunting teks:

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

... dan ubah:

 SecRuleEngine DetectionOnly

untuk:

 SecRuleEngine On

Sekiranya anda menemui blok ketika ModSecurity berjalan, anda perlu mengenal pasti peraturan dalam log ralat HTTP. Perintah "ekor" membolehkan anda melihat log dalam masa nyata:

 tail -f /var/log/httpd/error_log

Ulangi tindakan yang menyebabkan blok sambil menonton log.

Mengubah Aturan Peraturan / Melumpuhkan ID Peraturan

Mengubah set peraturan adalah di luar ruang lingkup tutorial ini.

Untuk mematikan peraturan tertentu, anda mengenal pasti id peraturan yang ada di elemen ketiga (misalnya [id = 200000]) dan kemudian melumpuhkannya dalam fail konfigurasi Apache:

 nano /etc/httpd/conf/httpd.conf

... dengan menambahkan yang berikut ke bahagian bawah fail dengan id peraturan:

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

Sekiranya anda mendapati ModSecurity menyekat semua tindakan di laman web anda, maka "Set Peraturan Teras" mungkin berada dalam mod "Diri Sendiri". Anda perlu mengubahnya menjadi "Collaborative Detection", yang mengesan dan menyekat anomali sahaja. Pada masa yang sama, anda dapat melihat pilihan "Diri Sendiri" dan mengubahnya jika anda mahu melakukannya.

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

Tukar "pengesanan" kepada "Diri Sendiri".

Anda juga boleh mengkonfigurasi ModSecurity untuk membolehkan IP anda melalui firewall aplikasi web (WAF) tanpa log:

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

... atau dengan pembalakan:

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


Leave a Comment

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut