Penyembunyian identitas server
Salah satu teknik yang sering membantu memperlambat dan membingungkan penyerang adalah perubahan identitas server web. Server web biasanya mengirimkan identitas mereka dengan setiap respons HTTP di header Server. Apache sangat membantu di sini, tidak hanya mengirim nama dan versi lengkap secara default, tetapi juga memungkinkan modul server untuk menambahkan versi mereka juga.
Untuk mengubah identitas server web Apache Anda harus masuk ke kode sumber, cari di mana nama "Apache" diberi kode keras, ubah, dan kompilasi ulang server. Efek yang sama dapat dicapai dengan menggunakan
Direktif SecServerSignature:
SecServerSignature "Microsoft-IIS/5.0"
Perlu dicatat bahwa meskipun ini bekerja dengan cukup baik, penyerang yang terampil (dan alat) dapat menggunakan teknik lain untuk "sidik jari" server web. Misalnya, file default, pesan kesalahan, pemesanan header keluar, cara server merespons permintaan tertentu dan sejenisnya - semuanya dapat memberikan identitas yang sebenarnya. Saya akan melihat lebih jauh meningkatkan dukungan untuk penyembunyian identitas dalam rilis mod_security di masa depan.
Jika Anda mengubah tanda tangan Apache tetapi Anda terganggu oleh pesan aneh di log kesalahan (beberapa modul masih terlihat - ini hanya mempengaruhi log kesalahan, dari luar itu masih berfungsi seperti yang diharapkan):
[Fri Jun 11 04:02:28 2004] [notice]
Microsoft-IIS/5.0 mod_ssl/2.8.12
OpenSSL/0.9.6b \ configured --
resuming normal operations
Maka Anda harus mengatur ulang urutan pemuatan modul agar mod_security dapat berjalan terakhir, persis seperti yang dijelaskan untuk chroot.
Catatan
Agar arahan ini berfungsi, Anda harus membiarkan / mengatur ServerTokens menjadi Penuh.
Ketika direktif SecServerSignature digunakan untuk mengubah tanda tangan server publik, ModSecurity akan mulai menulis tanda tangan nyata ke log kesalahan, untuk memungkinkan Anda mengidentifikasi server web dan modul yang digunakan.
Jika Anda mengatur
ServerTokens
ke "Prod
", Anda dapat mengurangi tajuk menjadi "Server: Apache
". Lihat dokumentasi untuk daftar opsi lengkap:Dokumentasi untuk Apache 2.2
Dokumentasi untuk Apache 2.4
Catatan: Pengaturannya sama di kedua versi namun dokumentasi 2.4 menambahkan catatan ini:
Jika Anda ingin menghapus kata "Apache" seluruhnya, Anda harus memodifikasi sumbernya.
sumber