Jika Anda baru saja melakukan pemindaian keamanan kepatuhan, hasilnya mungkin terlihat seperti contoh berikut:
Apache HTTP Server Zero-Length Directory Name in LD_LIBRARY_PATH Vulnerability, CVE-2012-0883
Apache HTTP Server mod_rewrite Terminal Escape Sequence Vulnerability, CVE-2013-1862
Apache HTTP Server XSS Vulnerabilities via Hostnames, CVE-2012-3499 CVE-2012-4558
Tergantung pada basis kode, Server HTTP Apache® mungkin telah mengurangi masalah keamanan ini. Pemindaian memeriksa versi Apache server untuk menentukan apakah versi yang diinstal menyelesaikan masalah keamanan. Namun, beberapa pemindaian keamanan kepatuhan hanya menggunakan versi Apache untuk menentukan apakah server rentan terhadap Common Vulnerabilities and Exposures (CVE) daripada mendeteksi kerentanan secara langsung.
Pemindaian semacam itu hampir selalu menghasilkan positif palsu. Jika Anda mengaktifkan pembaruan otomatis, versinya mungkin tetap sama, bahkan jika rilis lain menambal kerentanan. Dengan demikian, pemindaian mungkin menandai kerentanan sebagai positif. Hasil ini mungkin juga terjadi jika pemindaian penyedia Anda menunjukkan bahwa server Anda tidak lagi rentan, meskipun pemindaian sebelumnya telah mengidentifikasi kerentanan.
Gunakan langkah-langkah berikut jika audit keamanan Anda mengungkapkan bahwa pemindaian keamanan kepatuhan Anda hanya menggunakan versi Apache untuk mengidentifikasi kerentanan pada server Apache2 Anda.Edit file konfigurasi untuk daemon Hypertext Transfer Protocol (HTTPd).
-
Buka /etc/apache2/conf.d/httpd.conf dalam editor.
-
Tambahkan baris berikut dan hapus informasi versi:
ServerSignature Off ServerTokens Prod
Catatan :Server Anda tidak boleh memberikan tanda tangan versi, dan perusahaan pengujian penetrasi Anda harus menyarankan Anda menonaktifkan versi.
Perbarui dari Apache 2.2 ke Apache 2.4
Gunakan langkah-langkah berikut untuk memperbarui Apache 2.2 ke Apache 2.4.
-
Jalankan perintah berikut untuk menghentikan
HTTPd
dan proses pemantauan sepertiNimbus
untuk menghindari peringatan:service httpd stop
-
Jalankan perintah berikut untuk mencadangkan konfigurasi host virtual Anda, pastikan Anda menyertakan direktori tambahan yang Anda tambahkan, seperti
vhost
:cd /etc/httpd tar -cvf /tmp/apache_vhostconfig.tar conf conf.d vhosts
-
Jalankan perintah berikut untuk menginstal
yum-plugin-replace
package, yang menyelesaikan konflik paket selama penggantian paket:yum install yum-plugin-replace
-
Sebelum melanjutkan, jalankan perintah berikut untuk memeriksa versi yang terinstal dan versi yang ingin Anda instal:
apachectl -V yum search httpd yum info httpd
Output Anda akan tampak seperti contoh berikut, yang menggunakan perintah
yum info httpd24u.x86_64
:Loaded plugins: replace, rhnplugin, security This system is receiving updates from RHN Classic or RHN Satellite. Available Packages Name : httpd24u Arch : x86_64 Version : 2.4.23 Release : 4.ius.el6 Size : 1.2 M Repo : rackspace-rhel-x86_64-server-6-ius Summary : Apache HTTP Server License : ASL 2.0 Description : The Apache HTTP Server is a powerful, efficient, and extensible : web server.
-
Instal HTTPd 2.4 dengan menjalankan perintah berikut:
yum replace httpd --replace-with=httpd24u
-
Anda juga harus menginstal Lightweight Directory Access Protocol (LDAP) dengan menjalankan perintah berikut:
yum install mod_ldap
-
Di Apache 2.4, Anda harus menggunakan
Require
arahan untuk pembatasan akses Protokol Internet (IP) alih-alihOrder
,Deny
, danAllow
. Akibatnya, Anda perlu mengubahOrder
,Deny
, danAllow
pernyataan di /etc/httpd/conf.d/server-status.conf . Anda fileuntuk menggunakanRequire
pernyataan. Karena Anda mungkin memilikinya di.htaccess file untuk situs web lain, pastikan Anda memeriksa akar dokumen Anda dengan hati-hati untuk menghindari kerusakan situs web Anda karena kehilanganRequire
arahan./etc/httpd/conf.d/server-status.conf Anda yang sudah ada file akan muncul seperti contoh berikut.
<Location /server-status> SetHandler server-status Order deny,allow Deny from all Allow from 127.0.0.1 </Location>
Ganti
Order
,Deny
, danAllow
pernyataan dengan konfigurasi dalam contoh berikut.<Location /server-status> SetHandler server-status Require all granted Require host 127.0.0.1 </Location>
Catatan :Perubahan sintaks ini juga berlaku untuk host virtual diconf.d dan httpd.conf konfigurasi vhost.
-
Ubah
Order
,Deny
, danAllow
pernyataan di conf.d untukRequire
pernyataan.# Order deny,allow # Deny from all Require all denied # Order deny,allow # Allow from all Require all granted
-
Di file yang sama, ubah
Options -Indexes FollowSymLinks
keOptions -Indexes +FollowSymLinks
. -
Di /etc/httpd/conf/httpd.conf , ubah
Order
,Deny
, danAllow
pernyataan keRequire
pernyataan, seperti yang ditunjukkan pada langkah 8. -
Di /etc/httpd/conf/httpd.conf , tetapkan sebagai komentar
LoadModule
arahan untuk modul yang tidak lagi digunakan.#2.4 upgrade LoadModule authn_alias_module modules/mod_authn_alias.so #2.4 upgrade LoadModule authn_default_module modules/mod_authn_default.so #2.4 upgrade LoadModule authz_default_module modules/mod_authz_default.so #2.4 upgrade LoadModule disk_cache_module modules/mod_disk_cache.so
-
Edit /etc/httpd/conf/httpd.conf untuk menambahkan baris berikut dengan
authz
lainnya modul.LoadModule authz_core_module modules/mod_authz_core.so
-
Tambahkan baris berikut ke bagian bawah blok
LoadModule
pernyataan.LoadModule mpm_prefork_module modules/mod_mpm_prefork.so LoadModule unixd_module modules/mod_unixd.so LoadModule slotmem_shm_module modules/mod_slotmem_shm.so LoadModule ssl_module modules/mod_ssl.so LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
(Opsional) Unduh versi modul Dispatcher Adobe Experience Manager (AEM) yang kompatibel
Jika penginstalan HTTPd menggunakan modul Adobe® Experience Manager (AEM) Dispatcher, Anda harus menggunakan langkah-langkah berikut untuk mengunduh file yang kompatibel untuk Apache HTTP Server 2.4.
-
Jalankan perintah berikut untuk mengekstrakdispatcher-apache2.4-4.1.11.so dari file Tape Archive (TAR) ke dalam/etc/httpd/modules/ . Gunakan hanya file ini untuk tujuan ini.
cd /etc/httpd/modules rm mod_dispatcher.so ln -s /etc/httpd/modules/dispatcher-apache2.4-4.1.11.so mod_dispatcher.so
-
Karena SSL Mutex tidak digunakan lagi, Anda perlu mengedit/etc/httpd/conf.d/ssl.conf untuk mengubah
SSLMutex default
keMutex default
.
Untuk detail selengkapnya, lihat dokumentasi Apache tentang MutexDirective.
Kritis: Mulai ulang HTTPd
Setelah Anda menyelesaikan langkah-langkah dalam artikel ini, Anda harus memulai ulang HTTPd dan memverifikasi bahwa itu diaktifkan dan berjalan dengan menggunakan langkah-langkah berikut:
-
Jalankan perintah berikut untuk memulai ulang HTTPd:
service httpd start
-
Pastikan layanan diaktifkan dan berjalan dan aktifkan kembali semua pemantauan yang diaktifkan sebelumnya:
-
Pada CentOS® 7 atau Red Hat® Enterprise Linux® (RHEL) 7, jalankan perintah berikut:
systemctl enable httpd systemctl status httpd
-
Gunakan tab Umpan Balik untuk memberikan komentar atau mengajukan pertanyaan. Anda juga dapat memulai percakapan dengan kami.