Cấu hình HSTS cho website WordPress bằng plugin WPCB Secure Shield, file.htaccess hoặc file nginx.conf.

HSTS – viết tắt của HTTP Strict Transport Security – là một tính năng bảo mật cho phép 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 lá cờ (flag) vào phần header mà 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ệ.
Theo một báo cáo được hãng bảo mật Netcraft công bố cách đây không lâu thì chỉ có khoảng 5% máy chủ web được cài đặt HSTS, đồng nghĩa với việc 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, kể cả khi chúng đã được cài đặt SSL.
Tham khảo thêm:
- Cài SSL cho WordPress trong nháy mắt với plugin Really Simple SSL
- Sửa lỗi SSL trong WordPress một cách đơn giản
Vậy làm thế nào để cài đặt HSTS cho website của bạn nhằm khắc phục tình trạng trên? Bài viết hôm nay sẽ hướng dẫn bạn cách làm điều đó.
Cấu hình HSTS bằng plugin
Nếu website WordPress của bạn đã được chúng tôi cài đặt sẵn plugin WPCB Secure Shield, hãy kiểm tra xem nó đã được cập nhật lên phiên bản mới nhất chưa?
Nếu chưa, hãy click vào nút Check for updates tương ứng với plugin WPCB Secure Shield trong trang danh sách plugin để kiểm tra và cập nhật phiên bản mới.
Nếu rồi, hãy truy cập Cài đặt => Secure Shield => Cài đặt chung => kéo xuống phần HTTP Security Headers và tick vào mục Strict Transport Security (HSTS) => Click vào nút Lưu cài đặt.

Xóa cache website (nếu có) và kiểm tra kết quả.
Nếu bạn đang sử dụng shared host chạy trên nền tảng web server Apache hoặc LiteSpeed, bạn hoàn toàn có thể cấu hình HSTS cho website của mình (đã cài đặt sẵn SSL và hoạt động với giao thức HTTPS) bằng cách thêm đoạn code sau vào trong file .htaccess của thư mục gốc:
Header set Strict-Transport-Security "max-age=31536000" env=HTTPS
Nếu bạn sử dụng SSL cho cả subdomain, hãy sử dụng đoạn code sau:
Header set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" env=HTTPS
Và đừng quên thiết lập tự động redirect từ HTTP về HTTPS nhé. Nếu bạn chưa biết cách làm thế nào thì vui lòng tham khảo code trong bài viết “Hướng dẫn chuyển từ HTTP sang HTTPS không bị mất thứ hạng“.
Cấu hình HSTS cho server hoặc VPS
Tùy thuộc vào web server mà bạn đang sử dụng để lựa chọn cho phù hợp.
Server sử dụng nền tảng Apache
Thêm đoạn 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=31536000; includeSubdomains; preload"
Nhớ thay x.x.x.x bằng IP server hoặc VPS của bạn.
Cũng đừng quên thiết lập redirect 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.
Server sử dụng nền tảng NginX
Bổ sung đoạn code sau vào file cấu hình của NginX (ví dụ /etc/nginx/nginx.conf):
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains; preload";
Khởi động lại NginX.
Kiểm tra HSTS
Để kiểm tra xem liệu website của bạn đã được cài đặt HSTS thành công hay chưa, bạn có thể truy cập Qualys SSL Labs, nhập địa chỉ website vào mục Hostname và click vào nút Submit. Đợi một lát cho quá trình kiểm tra hoàn tất. Nếu bạn nhận được thông báo như hình bên dưới thì có nghĩa là HSTS đã được thiết lập thành công.

Đơn giản vậy thôi. Bạn còn chần chừ gì nữa mà không thiết lập HSTS cho website của mình ngay lập tức để đảm bảo an toàn?
Mọi thắc mắc liên quan đến việc cấu hình HSTS cho website WordPress nói riêng và website nói chung, xin vui lòng gửi vào khung bình luận bên dưới để được hỗ trợ và giải đáp.
Nếu bạn thích bài viết này, hãy theo dõi blog của tôi để thường xuyên cập nhật những bài viết hay nhất, mới nhất nhé. Cảm ơn rất nhiều. :)





Xin chào bạn
Mình đang bị tấn công rất nhiều nhưng không biết làm sao :(
Liên hệ người mua themer họ bảo lỗi do vps
? vps thì bảo vps toàn quyền của bạn chúng tôi cam thiệp bất kỳ điều j cả. bạn vui lòng tìm hiểu thêm về vps
Thật sư: Bơ Vơ a :(
Mình thêm cái này vào .htaccess lỗi 500 . Đã khởi động lại vps không được
add_header Strict-Transport-Security “max-age=31536000; includeSubdomains; preload”;
Mong bạn chỉ giáo
Web của bạn là web bạn để link trong phần bình luận à? Mình check thấy nó được bật HSTS rồi mà:
strict-transport-security: max-age=31536000Bạn nói bị tấn công là tấn công gì vậy? DDoS, Brute Force Attack… hay gì?
Đọc không hiểu đoạn “Thêm đoạn sau vào cấu hình trong Virtual Host trên port 443:”
Hiếu có thể giải thích giùm?
Trang sunviewtown.org.vn sao cái 301 redirect to https set: .htaccess redirect. không được tick xanh nhỉ?
Bạn truy cập vào host rồi kiểm tra file .htaccess (trong thư mục gốc của tên miền sunviewtown.org.vn) xem đã thấy code của plugin Really Simple SSL chưa? Nếu rồi thì không cần quan tâm nữa. Nếu chưa thì quay lại trang thiết lập của Really Simple SSL, kích hoạt mục “Enable 301 .htaccess redirect” rồi Save vài lần cho đến khi xuất hiện code trong file .htaccess là được.
Mình dùng cách Cấu hình HSTS cho shared host
Mình cho code vào cuối file .htaccess
và kiểm tra = cả Security Headers và Qualys SSL Labs
Nhưng vẫn không ra kết quả A và A+
Mình có dùng plugin jetpack và Sucuri
Mong bạn có thể giúp đỡ
Site của bạn đang chạy CloudFlare thì phải bật tính năng HSTS trong tab Crypto của CloudFlare ấy.
Mình không biết cấu hình mục HSTS (Strict-Transport-Security) sao cho hợp lý. mong bạn giúp đỡ
Mình cấu hình theo bài viết
Cài đặt CloudFlare SSL miễn phí cho website WordPress
của bạn rồi. Chúc bạn 1 ngày vui vẻ. Cảm ơn nha
Cho mình hỏi đoạn code: includeSubDomains; preload” env=HTTPS
Chỉ dùng nó cho web subdomain hay là cho cả domain chính ??
domain chính và subdomain có đoạn code .htaccess này giống hay khác nhau ??
Xin cảm ơn.
Bạn chỉ cần chèn vào domain chính là nó sẽ có hiệu lực cho cả domain chính lẫn subdomain nhé. :P
Yêu cạ thương :)))) Cảm ơn bác Hiếu nhiều nhé
Thảo nào, trước cứ thấy vào subdomain bị chầm chậm lần đầu
Đã lên A+ chỉ sau 3 phút, Cám ơn Hiếu nha.
Bị -A dù cái và có cái trên. Giúp với. Lỗi thông báo như sau:
The server does not support Forward Secrecy with the reference browsers. Grade reduced to A-.
https://community.qualys.com/blogs/securitylabs/2013/06/25/ssl-labs-deploying-forward-secrecy
Link web của bạn là gì? :P
chuyenlacothat.org
Site này chạy trên hosting hay VPS? Lúc cài SSL bạn có tạo Private Key không? Hay tạo thẳng CSR luôn? :P
Đã lên A+ chỉ sau 3 phút, Cám ơn Hiếu nha. Mong là Website sẽ không bị tấn công nữa!
Tự nhiên hôm nay mình kt lại thì ko thấy A+ nữa, vô .htaccess xem thì mất dòng code đã chèn. Cài lại thì ok :D
Hình như phải mua phải k bạn
Bạn comment mà hình như không thèm đọc qua bài viết thì phải? Có chữ nào trong bài viết bảo HSTS phải mua không bạn? :P
È hèm, anh Hiếu đẹp troai hay đăng lên Facebook đây rồi !