Cách ẩn phiên bản PHP trong Tiêu đề phản hồi HTTP hay còn gọi là [xóa phiên bản X-Powered-By php]. Để không cho những người khác biết rằng chúng tôi đang sử dụng php hoặc có thể là phiên bản cũ của php, chúng tôi có thể ẩn thông tin này khỏi các tiêu đề phản hồi. Đối với quan điểm bảo mật, đây là một việc rất nên làm vì chúng tôi không muốn hiển thị thông tin dễ bị tấn công trong tiêu đề phản hồi. Bằng cách ẩn thông tin này, chúng tôi không khuyến khích tin tặc cố gắng khai thác các lỗ hổng này
Thêm cài đặt bảo mật
Tôi cũng có các hướng dẫn khác sẽ giúp bạn ẩn số phiên bản nginx của mình hoặc đổi tên hoàn toàn thuộc tính máy chủ. Tôi khuyên bạn nên kiểm tra chúng nếu bạn quan tâm đến việc bảo mật máy chủ web của mình
Xóa X-Powered-By PHP
Xác định vị trí tệp php.ini
của bạn. Nếu bạn đã cài đặt phiên bản mặc định bằng lệnh apt-get của linux thì bạn có thể tìm thấy tệp như sau
sudo nano /etc/php5/fpm/php.ini
Tìm thuộc tính
expose_php = Off
0 trên tệp cấu hình mặc định, thuộc tính này nằm ở đâu đó tại dòng 366. Để tắt phiên bản php trong Tiêu đề phản hồi HTTP, hãy đặt Expose_php thành Tắt. Thao tác này sẽ loại bỏ php X-Powered-By được gửi từ Tiêu đề phản hồi HTTPexpose_php = Off
Khởi động lại php
sudo service php5-fpm restart
Kiểm tra đầu ra
Để kiểm tra Tiêu đề phản hồi HTTP của bạn, tôi sử dụng curl -I. Tùy chọn -I sẽ trả lại cho chúng tôi các tiêu đề phản hồi
Đôi khi, bạn có thể cần ẩn x-powered-by trong máy chủ Apache/PHP để bảo vệ danh tính của máy chủ web của bạn và ngăn chặn những kẻ tấn công độc hại khai thác các lỗ hổng bảo mật của nó. Trong bài viết này, chúng ta sẽ xem xét cách loại bỏ x-powered-by trong Apache/PHP
Cách xóa x-powered-by trong Apache/PHP
Có nhiều cách để loại bỏ x-powered-by trong Apache/PHP. Chúng ta sẽ xem xét từng cái một
Cũng đọc. Cách vô hiệu hóa các phương thức HTTP OPTIONS trong Apache
sử dụng php. ban đầu
Nếu bạn có quyền truy cập vào php. ini [cấu hình PHP], thường được tìm thấy tại /etc/php. ini hoặc /etc/php5/apache2/php. ini tùy thuộc vào bản phân phối Linux của bạn, sau đó mở terminal và chạy lệnh sau để xem php. ini trong trình soạn thảo văn bản
$ sudo vi /etc/php.ini
Tìm dòng sau
expose_php =
o
n
Thay đổi nó thành như sau, để ẩn tiêu đề x-powered-by
expose_php = off
lưu và đóng tập tin
Khởi động lại máy chủ Apache để áp dụng các thay đổi
$ sudo service apache2 restart
cũng đọc. Cách đặt Bộ ký tự mặc định thành mã hóa UTF8 trong Apache
Sử dụng mã PHP
Nếu bạn không có quyền truy cập vào php. ini, chỉ cần thêm phần sau vào phản hồi PHP của bạn, để xóa hoặc ghi đè tiêu đề x-powered-by trước khi gửi nó tới máy khách
Hàm sau sẽ thay thế giá trị tiêu đề x-powered-by 'ABC'. Bạn có thể thay đổi nó theo yêu cầu của bạn
Tiêu đề X-Powered-By có thể cung cấp cho các tác nhân độc hại manh mối về ngăn xếp phần mềm đang sử dụng, thông báo cho họ về các thuật toán tấn công có khả năng thành công. Mô-đun con Hide Powered-By cho Mũ bảo hiểm chỉ cần xóa tiêu đề đó
Express có thể tự tắt tính năng này
app.disable['x-powered-by']
Hoặc bạn có thể sử dụng Mũ bảo hiểm để làm như vậy
________số 8Mục đích của bài đăng trên blog này là để thảo luận về cách xóa các tiêu đề phản hồi HTTP không mong muốn khỏi phản hồi. Thông thường, chúng tôi có 3 tiêu đề phản hồi mà nhiều người muốn xóa vì lý do bảo mật
- Máy chủ - Chỉ định phiên bản máy chủ web
- X-Powered-By - Cho biết rằng trang web "được cung cấp bởi ASP. BỌC LƯỚI. "
- X-AspNet-Version - Chỉ định phiên bản của ASP. NET được sử dụng
Trước khi tiếp tục, bạn nên đánh giá xem mình có cần xóa các tiêu đề này hay không. Nếu bạn muốn tiếp tục và xóa các tiêu đề, hãy làm theo các tùy chọn sau
Tiêu đề máy chủ
Có ba cách để xóa tiêu đề Máy chủ khỏi phản hồi. Cách tốt nhất là sử dụng tùy chọn thứ ba
1. Sử dụng khóa Registry
Tạo một mục DWORD có tên là DisableServerHeader trong khóa Registry sau và đặt giá trị thành 1
HKLM\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
Sau khi thêm khóa Registry, hãy khởi động lại dịch vụ HTTP bằng lệnh net stop http và lệnh net start http. Nếu dịch vụ HTTP không khởi động thì hãy sử dụng lệnh iisreset. Nếu điều đó cũng không hoạt động thì bạn có thể khởi động lại máy chủ
Xin lưu ý rằng phương pháp này chỉ được sử dụng khi tiêu đề Máy chủ xuất hiện dưới dạng “Microsoft-HTTPAPI/2. 0”
Khi yêu cầu đến IIS, trước tiên nó sẽ chuyển đến http. trình điều khiển hệ thống. HTTP. Trình điều khiển SYS tự xử lý yêu cầu hoặc gửi nó đến chế độ Người dùng để xử lý thêm. Khi yêu cầu chuyển sang Chế độ người dùng, đó là lúc nó trả về tiêu đề máy chủ là “Microsoft-IIS/7. 5. ”
Tuy nhiên, khi yêu cầu trả về từ HTTP. SYS thì tiêu đề máy chủ là “Microsoft-HTTPAPI/2. 0”. Bằng cách đặt khóa đăng ký ở trên, nó sẽ xóa tiêu đề cụ thể này
Nếu bạn muốn xóa tiêu đề Máy chủ là “Microsoft-IIS/7. 5. ”, sau đó làm theo các phương pháp sau
2. Sử dụng công cụ URLScan
Cài đặt URLScan trong máy của bạn. Vui lòng theo liên kết sau cho điều đó
http. //www. là. mạng/tải xuống/microsoft/urlscan
Sau khi cài đặt URLScan, hãy mở URLScan. ini thường nằm trong thư mục %WINDIR%\System32\Inetsrv\URLscan. Sau khi mở lên tìm key RemoveServerHeader. Theo mặc định, nó được đặt thành 0, nhưng để xóa tiêu đề Máy chủ, hãy thay đổi giá trị thành 1. Làm như vậy sẽ xóa tiêu đề Máy chủ Máy chủ. Microsoft-IIS/7. 5 từ phản hồi Chế độ người dùng
Xin lưu ý rằng những thay đổi do URLScan thực hiện ở cấp độ toàn cầu sẽ áp dụng cho tất cả các trang web của bạn. Nếu bạn muốn thiết lập điều này cho trang web cụ thể thì hãy xem bài viết sau [phần bộ lọc trang web]
http. //www. là. net/learning/extensions/working-with-urlscan/urlscan-setup
3. Sử dụng URLRewrite
Nếu bạn không muốn sử dụng URLScan, bạn có thể sử dụng mô-đun URLRewrite để xóa giá trị của tiêu đề Máy chủ. Xin lưu ý rằng nó sẽ không xóa tất cả các tiêu đề cùng nhau nhưng nó sẽ xóa giá trị của nó
Bước 1. Cài đặt Viết lại URL. Để cài đặt URLRewrite, vui lòng truy cập liên kết sau
http. //www. là. net/tải xuống/microsoft/viết lại url
Bước 2. Mở trang web mà bạn muốn xóa tiêu đề Máy chủ và nhấp vào phần Viết lại URL
Bước 3. Nhấp vào “Xem biến máy chủ” trong ngăn Hành động ở phía bên tay phải
Bước 4. Nhấp vào nút Thêm rồi nhập “RESPONSE_SERVER” vào hộp văn bản được cung cấp
Bước 5. Bây giờ chúng ta cần tạo một quy tắc gửi đi. Để biết cách tạo quy tắc gửi đi, hãy xem liên kết sau
http. //www. là. net/learning/extensions/url-rewrite-module/tạo-outbound-rules-for-url-rewrite-module
Bước 6. Tạo quy tắc Outbound như sau
Xin lưu ý rằng đây là quy tắc dành riêng cho trang web. Nếu bạn muốn tạo quy tắc cho tất cả các ứng dụng của mình, hãy tạo quy tắc ở cấp độ máy chủ. Ngoài ra, một số ứng dụng, đặc biệt là ứng dụng của bên thứ ba, có thể yêu cầu tiêu đề phiên bản x-aspnet, vì vậy bạn có thể cần xóa quy tắc này đối với các ứng dụng đó