Apache adalah salah satu daripada pelayan web yang paling popular tetapi konfigurasi lalainya mengandungi pilihan yang boleh dipersoalkan pada banyak pengedaran Linux. Apache cenderung untuk mengiklankan versi khususnya dan platform yang dijalankannya, maklumat yang mungkin bernilai kepada penyerang.
Artikel pantas ini akan menunjukkan kepada anda cara untuk melumpuhkan output ini untuk membantu melindungi pelayan anda. Biasanya tiada sebab untuk ia aktif dan mematikannya hanya perlu mengambil masa seminit.
Apa masalahnya?
Berikut ialah pemasangan Apache 2.4 baharu yang memaparkan indeks direktori:
Pengaki halaman mendedahkan kod versi Apache, nama sistem pengendalian dan alamat IP dalaman serta nombor port pelayan anda.
Ini adalah butiran yang berpotensi sensitif. Kerentanan sifar hari dalam Apache mungkin menjejaskan hanya sebilangan kecil versi. Dengan membiarkan output ini dihidupkan, anda memaparkan kepada dunia sama ada mesin anda berisiko. Ini menjadikannya lebih mudah untuk penyerang mengenal pasti hos anda sebagai sasaran yang berpotensi.
Apache merujuk kepada data ini sebagai "tandatangan pelayan"nya. Ia tidak terhad kepada halaman indeks direktori: kod versi disertakan dalam setiap respons HTTP dalam Server
kepala:
Ia akan hadir tanpa mengira kod status respons. Penyerang boleh mencari versi Apache tepat anda dengan hanya ping permintaan ke pelayan anda, tanpa mengira sama ada mereka mengetahui URL yang sah.
Melumpuhkan Tandatangan Pelayan
Terdapat dua bahagian untuk melumpuhkan output yang tidak diingini ini. Pertama ialah ServerSignature
nilai dalam fail konfigurasi Apache anda. Lokasi fail ini berbeza-beza; /etc/apache2/apache2.conf
and /usr/local/apache2/conf/httpd.conf
adalah dua kemungkinan biasa. The ServerSignature
arahan juga disokong di dalam .htaccess
fail dalam akar web anda.
Tetapkan arahan kepada Off
untuk melumpuhkan tandatangan yang muncul pada halaman web yang dijana pelayan:
Tandatangan Pelayan Dimatikan
Mulakan semula Apache untuk menggunakan perubahan:
$ sudo service apache2 mulakan semula
Ini menjejaskan penyenaraian direktori, halaman ralat lalai Apache dan output HTML lain yang dihasilkan oleh pelayan. Off
mengalih keluar baris tandatangan sepenuhnya. Tetapan secara pilihan menyokong nilai ketiga, EMail
, yang menyediakan pautan untuk menghantar e-mel ke alamat yang ditentukan oleh ServerAdmin
:
ServerAdmin [e-mel dilindungi] E-mel Tandatangan Pelayan
Ini menggantikan maklumat versi Apache dengan pautan e-mel.
Menguruskan Token Pelayan
Kandungan dari Server
pengepala respons dikawal oleh tetapan yang berbeza, ServerTokens
. Ini hanya boleh ditetapkan oleh fail konfigurasi global pelayan anda. Ia tidak disokong di dalam .htaccess
fail.
Nilai lalai adalah Full
yang membentangkan rentetan versi yang tepat dan nama sistem pengendalian yang diperhatikan dalam contoh di atas. Ini juga boleh termasuk nombor versi modul yang dimuatkan dan enjin kandungan CGI seperti PHP.
Nilai alternatif berikut disokong:
Full
-Apache/2.4.2 (Ubuntu)
Prod
-Apache
Major
-Apache/2
Minor
-Apache/2.4
Min
-Apache/2.4.2
OS
- Sama sepertiFull
tetapi tanpa maklumat tentang modul yang dimuatkan
. Prod
pilihan adalah nilai yang paling selamat. Anda boleh menganggapnya sebagai Production
, walaupun ia sebenarnya singkatan untuk ProductOnly
. Token pelayan ini bermaksud Server
pengepala hanya akan mendedahkan anda menggunakan Apache, tanpa sebarang maklumat tambahan tentang keluaran. Penyerang perlu melakukan lebih banyak penyiasatan percubaan dan kesilapan untuk mencari kelemahan yang boleh dieksploitasi dalam pemasangan anda.
Malangnya tiada cara untuk mengalih keluar Server
pengepala sama sekali. Apache sebenarnya mengekalkan itu melumpuhkannya "tidak melakukan apa-apa untuk menjadikan pelayan anda lebih selamat" dan mencadangkan penggunaan Min
untuk menjadikannya lebih mudah untuk menyahpepijat masalah antara operasi.
Walau bagaimanapun kebanyakan orang tidak pernah mengambil Server
header dan sentiasa paling selamat untuk mengiklankan maklumat yang paling sedikit tentang sistem anda. Walaupun ia tidak akan menghalang eksploitasi kelemahan, ServerTokens Prod
boleh menghalang penyerang daripada membuat percubaan spekulatif. Ia juga akan menyukarkan orang yang lalu-lalang untuk mengumpulkan butiran kerja dalaman tindanan teknologi anda. Ia hanya pengerasan kecil tetapi satu hari ia boleh menjadi perbezaan yang anda perlukan.
Bagaimana dengan PHP?
Apache sering digunakan di hadapan laman web dan aplikasi yang dikuasakan oleh PHP. Malangnya PHP mempunyai tabiat sendiri menyediakan nombor versinya kepada internet. Ia akan muncul dalam X-Powered-By
pengepala respons yang dihantar oleh kod PHP anda.
Anda boleh mematikan ini dengan mengubah suai fail konfigurasi PHP anda dengan baris berikut:
expose_php = Mati
Fail konfigurasi biasanya boleh didapati di /etc/php/8.1/apache2/php.ini
. Ganti 8.1
dengan versi PHP yang anda gunakan. Anda perlu memulakan semula pelayan web anda untuk menggunakan perubahan.
Ringkasan
Konfigurasi lalai Apache mendedahkan nombor versi tepat pelayan anda, serta sistem pengendalian dan alamat IPnya. Maklumat yang kelihatan tidak berbahaya ini boleh memberi bantuan kepada penyerang yang mencari pelayan yang terdedah.
Mematikan tandatangan pelayan ialah cara cepat untuk mengeraskan persekitaran anda. Ia juga merupakan idea yang baik untuk menangani pendedahan maklumat serupa daripada perisian lain dalam timbunan anda pada masa yang sama. PHP dan beberapa rangka kerja web datang dengan kelemahan yang sama.