95% MÁY CHỦ HTTPS CÓ KHẢ NĂNG BỊ TẤN CÔNG
Theo báo cáo bảo mật của hãng Netcrafchỉ có 5% máy chủ hiện nay được cài đặt HSTS (HTTP Strict Transport Security), đồng nghĩa với 95% còn lại sẽ đứng trước nguy cơ bị tấn công trong quá trình kết nối giữa server và client. Giới hacker hẳn sẽ rất vui khi biết được thông tin này, vì những phương thức phishing, pharming và man-in-the-middle (MiTM) sẽ giúp họ dễ dàng tấn công người dùng khi họ vô tình truy cập một trang web an toàn qua HTTP.
95% MÁY CHỦ HTTPS CÓ KHẢ NĂNG BỊ TẤN CÔNG
HSTS là một tính năng bảo mật cho phép một website thông báo cho các trình duyệt chỉ nên giao tiếp bằng giao thức HTTPS an toàn thay vì HTTP. Bằng cách thêm một cờ (flag) vào phần header mà một trình duyệt web nhận được khi gửi yêu cầu tới máy chủ, HSTS đảm bảo rằng tất cả kết nối sau đó tới một website được mã hóa bằng giao thức HTTPS và ngăn chặn hacker sử dụng chứng chỉ số không hợp lệ.
Như vậy, 95% website hiện tại không cài đặt HSTS có thể bị tấn công khi người dùng kết nối qua HTTP thay vì HTTPS hoặc website đó hỗ trợ cả hai giao thức. Ngoài ra, những website sử dụng dịch vụ HTTP để chuyển hướng người dùng đến địa chỉ HTTPS tương ứng cũng đứng trước nguy cơ bị khai thác qua phương thức man-in-the-middle.
Đơn giản vì khi người dùng nhập URL không chứa https://, trình duyệt sẽ thực hiện kết nối HTTP không được mã hóa trước khi chuyển tiếp - hacker sẽ khai thác lỗ hổng trong quá trình này.
Máy chủ |
Với những website đã được cài đặt HSTS, trình duyệt sẽ chỉ kết nối qua HTTPS - ngay cả khi người dùng không gõ HTTPS khi truy cập URL. Việc cấu hình HSTS cũng khá đơn giản đối với Apache2, Nginx và Lighttpd. Dưới đây là hướng dẫn cài đặt đối với nginx 1.1.19, Lighthttpd 1.4.28, Apache 2.2.22 trên Ubuntu 12.04, Debian 6 & 7 và CentOS 6
Khắc phục lỗi này |
Apache
Thêm đoạn mã sau vào cấu hình trong Virtual Host trên port 443
# Optionally load the headers module:
LoadModule headers_module modules/mod_headers.so
Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"
Cấu hình việc tự chuyển từ HTTP sang HTTPS trong cấu hình Virtual Host trên port 80
[...]
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Khởi động lại Apache
Thêm đoạn mã sau vào cấu hình của Lightup
server.modules += ( "mod_setenv" )
$HTTP["scheme"] == "https" {
setenv.add-response-header = ( "Strict-Transport-Security" => "max-age=63072000; includeSubdomains; preload")
}
Thêm đoạn mã sau vào cấu hình của Nginx(ví dụ /etc/nginx/nginx.conf)
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";