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
– Để ẩ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
.
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.
Hide Webserver bạn tham khảo bài viết này nhé https://tecadmin.net/hide-nginx-version-from-http-header/
server_tokens off;
hocvps đã ẩn rồi phải không Mod nhỉ. Mình kiểm tra thì thấy loại server, nhưng ko thấy phiên bản
uhm HocVPS đã ẩn phiên bản PHP rồi
Thanks mod nhiều.
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 ạ?
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
Không gỡ thì có sao không ạ?
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
Được đó bác. Em vừa nâng cấp lên rồi, không cần gỡ đâu. Làm theo hướng dẫn ở đây này: https://blog.remirepo.net/post/2017/12/04/Install-PHP-7.2-on-CentOS-RHEL-or-Fedora
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
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 .
OK. Mình hiểu rồi. Cám ơn bạn
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é
Ok bạn. Well noted with many thanks
Sao mình upgrade bình thường nhỉ? Ko thông báo lỗi gì cả?
À, PHPMyAdmin thì hiện HocVPs đã dùng 4.8.0.1 rồi, không còn lo xung đột PHP7.2