Cara Menyembunyikan Nombor Versi PHP di Header HTTP
- 2103
- 465
- Noah Torp
Konfigurasi PHP, secara lalai membolehkan pengepala respons http pelayan 'X-berkuasa-oleh'Untuk memaparkan versi PHP yang dipasang pada pelayan.
Atas sebab keselamatan pelayan (walaupun bukan ancaman utama yang perlu dibimbangkan), disarankan agar anda melumpuhkan atau menyembunyikan maklumat ini dari penyerang yang mungkin menyasarkan pelayan anda dengan ingin mengetahui sama ada anda menjalankan PHP atau tidak.
Dengan mengandaikan versi tertentu PHP yang dipasang di pelayan anda mempunyai lubang keselamatan, dan di sisi lain, penyerang dapat mengetahui ini, akan menjadi lebih mudah bagi mereka untuk mengeksploitasi kelemahan dan mendapatkan akses ke dalam skrip.
Dalam artikel saya yang terdahulu, saya telah menunjukkan cara menyembunyikan nombor versi Apache, di mana anda telah melihat bagaimana untuk mematikan versi dipasang Apache. Tetapi jika anda menjalankan PHP di pelayan web Apache anda, anda perlu menyembunyikan versi dipasang PHP juga, dan inilah yang akan kami tunjukkan dalam artikel ini.
Oleh itu, dalam siaran ini, kami akan menerangkan bagaimana untuk menyembunyikan atau mematikan menunjukkan nombor versi PHP dalam header respons HTTP Server.
Tetapan ini boleh dikonfigurasikan dalam fail konfigurasi PHP yang dimuatkan. Sekiranya anda tidak mengetahui lokasi fail konfigurasi ini pada pelayan anda, jalankan arahan di bawah untuk mencarinya:
$ php -i | GREP "Fail Konfigurasi yang Dimuatkan"Lokasi fail konfigurasi PHP
---------------- Pada Centos/RHEL/FEDORA ---------------- Fail konfigurasi dimuatkan => /etc /php.Ini ---------------- Pada Debian/Ubuntu/Linux Mint ---------------- Fail konfigurasi dimuatkan =>/etc/php/7.0/CLI/PHP.Ini
Sebelum membuat sebarang perubahan pada fail konfigurasi PHP, saya cadangkan anda terlebih dahulu membuat sandaran fail konfigurasi PHP anda seperti:
---------------- Pada Centos/RHEL/FEDORA ---------------- $ sudo cp /etc /php.ini /etc /php.Ini.Orig ---------------- Pada Debian/Ubuntu/Linux Mint ---------------- $ sudo cp/etc/php/7.0/CLI/PHP.ini/etc/php/7.0/CLI/PHP.Ini.Orig
Kemudian buka fail menggunakan editor kegemaran anda dengan keistimewaan pengguna super seperti SO:
---------------- Pada Centos/RHEL/FEDORA ---------------- $ sudo vi /etc /php.Ini ---------------- Pada Debian/Ubuntu/Linux Mint ---------------- $ sudo vi/etc/php/7.0/CLI/PHP.Ini
Cari kata kunci Expose_php
dan menetapkan nilainya Mati:
Expose_php = OFF
Simpan fail dan keluar. Selepas itu, mulakan semula pelayan web seperti berikut:
---------------- Pada sistem ---------------- $ sudo Systemctl Restart Httpd $ Sudo Systemctl Restart Apache2 ---------------- Pada sysvinit ---------------- $ sudo perkhidmatan httpd restart $ sudo perkhidmatan apache2 mulakan semula
Akhir sekali, periksa sama ada pengepala respons HTTP Server masih menunjukkan nombor versi PHP anda menggunakan arahan di bawah.
$ lynx -head -mime_header http: // localhost atau $ lynx -head -mime_header http: // server -address
di mana bendera:
-kepala
- Menghantar Permintaan Ketua untuk Tajuk Mime.-mime_header
- Mencetak tajuk mime dokumen yang diambil bersama dengan sumbernya.
Catatan: Pastikan anda mempunyai lynx - pelayar web baris arahan dipasang pada sistem anda.
Itu sahaja! Dalam artikel ini, kami menerangkan cara menyembunyikan nombor versi PHP dalam header respons HTTP Server untuk mendapatkan pelayan web dari kemungkinan serangan. Anda boleh menambah pendapat ke jawatan ini atau mungkin mengemukakan soalan yang berkaitan melalui borang komen di bawah.
- « Lumpuhkan Penyenaraian Direktori Web Apache Menggunakan .fail htaccess
- Cara memanipulasi nama fail yang mempunyai ruang dan watak khas di Linux »