Với thiết lập mặc định, người dùng có thể kiểm tra thông tin về phiên bản PHP, Webserver của website sử dụng header response. Khi đó, nếu bạn quên cập nhật PHP, các hacker có thể lợi dụng thông tin này để tấn công cũng như tìm lỗ hổng trong phiên bản PHP của bạn.

Vì vậy, hãy cùng HocVPS thực hiện ẩn phiển bản PHP trên hệ thống của bạn.

1. Cách kiểm tra phiên bản PHP

Từ góc độ người dùng, để kiểm ta phiên bản PHP một website bất kì:

# curl -IL http://domain.com
# curl -IL https://domain.com

Kết quả trả về tương tự như sau:

HTTP/1.1 200 OK
Server: nginx
Date: Fri, 08 Dec 2017 08:01:44 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding
X-Powered-By: PHP/7.1.6

Như vậy, website sử dụng PHP 7.1.6

2. Ẩn thông tin phiên bản PHP

HocVPS Script đã ẩn sẵn phiên bản PHP, các bạn không cần phải thực hiện

– Để ẩn phiên bản PHP, bạn cần chỉnh cấu hình sau trong PHP expose_php = Off.

Bạn nên tạo/chỉnh sửa một file cấu hình riêng custom.ini (tùy thuộc phiển bản Linux/Unix), không nên chỉnh sửa cấu hình chung php.ini do file này có thể thay đổi khi bạn cập nhật PHP. Thư mục thiết lập cấu hình riêng của PHP tìm bằng lệnh # php -i | more

  • RHEL/Fedora/CentOS Linux: /etc/php.d/
  • Debian/Ubuntu Linux and PHP v7.xx: /etc/php/7.0/fpm/conf.d/
  • Alpine Linux and PHP v5.6.xx: /etc/php5/conf.d/
  • Alpine Linux and PHP v7.xx: /etc/php7/conf.d/

Khi đó, sử dụng Nano Editor để tạo/chỉnh sửa custom.ini trong thư mục cấu hình riêng. Thêm dòng sau vào nội dung file:

expose_php = Off

– Khởi động lại PHP

Cuối cùng để thay đổi có tác dụng, bạn hãy khởi động lại PHP, câu lệnh khác nhau tùy thuộc vào hệ điều hành

RHEL/CentOS 5.x/6.x
# service php-fpm restart

RHEL/CentOS 7x
# systemctl restart php-fpm

Debian/Ubuntu Linux
# service php7.0-fpm restart

Alpine Linux
# /etc/init.d/php-fpm restart

FreeBSD
# service php-fpm restart

Kiểm tra lại header, bạn sẽ thấy thông tin phiên bản PHP đã được ẩn.

Cuối cùng, việc ẩn phiên bản PHP chỉ là 1 mẹo nhỏ giúp bạn né hacker. Họ vẫn có thể đoán hay tìm ra phiên bản PHP của bạn bằng nhiều phương pháp khác nhau, như kỹ thuật xác định danh tính (PHP Fingerprinting). Vì vậy, cách tốt nhất là các bạn hãy cập nhật thường xuyên, kịp thời các phiên bản mới nhất của PHP/Nginx.

Lưu ý: Đối với HocVPS Script, các bạn cập nhật thông qua menu 15)Nang Cap Server.

Comment của bạn

Lưu ý: tất cả comment đều được kiểm duyệt cẩn thận! Nếu có code bạn hãy up lên pastebin.com rồi để lại link trong comment.

17 Comments

  1. Son Khieu 33 comment

    Mình muốn ẩn các thông tin như Webserver, OS, PHP … và các thông tin nhạy cảm khác của sever trả về trong Header thì làm cách nào. Đã có tut nào hướng dẫn chưa admin.

    Thanks rất nhiều hocvps.

  2. Hùng 13 comment

    PHP có phiên bản 7.2 rồi. Làm thế nào để nâng cấp từ 7.1 lên 7.2 ạ?

    1. Việt Phương Moderator

      Về cơ bản là gỡ toàn bộ PHP7.1 cùng các package liên quan xong install PHP7.2 và cài các package cần thiết

        1. Việt Phương Moderator

          Thì không được. Bạn phải hiểu PHP7.2 không phải là bản nâng cấp trực tiếp từ 7.1
          Sau 7.1.11 là 7.1.12 chứ không phải 7.2.0

          1. Việt Phương Moderator

            The upgrade can fail (by design) when some installed extensions are not yet compatible with PHP 7
            If these extensions are not mandatory, you can remove them before the upgrade, else, you will have to be patient.
            Warning: some extensions are still under development (xdebug…), but it seems useful to provide them to allow upgrade to more people, and to allow user to give feedback to the author
            Đây chính là vấn đề đó. Các package của 7.1 có thể không tương thích với 7.2

          2. Thành 43 comment

            Cái ghi ở dòng tiếng anh bạn copy patse đó là 1 số module không tương thích với php 7 ( 7.0,7.1,7.2) cần check ở trang https://blog.remirepo.net/pages/PECL-extensions-RPM-status

            Nếu đang dùng php 5.x + module chỉ tương thích với 5.x thì cần gỡ bỏ . Nên nếu như đang dùng php 7, 7.1 thì cứ thoải mái update lên 7.2 . Nếu đang ở PHP 5.x thì cần check đống module đang cài trên php 5.x xem cái nào chưa hỗ trợ php 7 thì xóa đi trước khi update lên php 7 .

          3. Thành 43 comment

            Update lên php 7.2 thì không dùng được phpmyadmin 4.7.0 được cài mặc định trong hocvps script nữa mà cần update lên ver 4.7.6 nhé

          4. Dương 8 comment

            Sao mình upgrade bình thường nhỉ? Ko thông báo lỗi gì cả?

          5. Việt Phương Moderator

            À, PHPMyAdmin thì hiện HocVPs đã dùng 4.8.0.1 rồi, không còn lo xung đột PHP7.2