Thông tin liên hệ
- 036.686.3943
- admin@nguoicodonvn2008.info
Làm thế nào tăng bảo mật cho web? Security header là một cách đơn giản và tuyệt vời để bảo vệ khách truy cập của bạn an toàn trước hacker.
Khi muốn ghé thăm một trang web, trình duyệt Internet bạn dùng nhận một số dữ liệu từ trang đó. Kết quả, một hội thoại diễn ra giữa thiết bị của bạn và web đó. Điều này xảy ra với giao thức HTTP. Bạn có thể tăng thêm bảo mật bằng cách can thiệp vào hoạt động này.
Nếu đang chạy một web hay muốn trở thành lập trình viên website, HTTP security header là vô giá với bạn bởi chúng đóng vai trò tích cực trong bảo mật cho cả phía người dùng và website.
HTTP Strict-Transport-Security (HSTS) buộc người dùng sử dụng HTTPS cho mọi truy vấn họ thực hiện trong trình duyệt. Đây là một cách chắc chắn để chống lại các cuộc tấn công mạng, đồng thời đảm bảo an toàn cho mọi truy cập.
Kích hoạt HSTS khá dễ. Hãy xem xét cuộc đối thoại giữa máy chủ và server. Khi cố gắng truy cập một trang qua trình duyệt, bạn là client. Trang bạn muốn mở phụ thuộc vào server. Mục tiêu của bạn là cho server biết rằng bạn muốn mở trang này. Đây là một hoạt động truy vấn. Mặt khác, máy chủ dẫn bạn tới trang đó nếu bạn đáp ứng những điều kiện cần thiết.
Nhớ rằng điều này liên quan tới flag HTTP Header mẫu:
Strict-Transport-Security: max-age=16070200;
Khi thêm flag này vào thông tin header của phản hồi HTTP, toàn bộ truy vấn người dùng tạo sẽ trở thành HTTPS. Bất kỳ nội dung người dùng viết ra ở đây, trình duyệt sẽ tự động đánh giá giao thức là HTTPS và thiết lập kết nối bảo mật.
Thay vì thêm tất cả thông tin header HTTP trong layer code, bạn có thể làm việc này trên Apache, IIS, Nginx, Tomcat và các ứng dụng web server khác.
Để kích hoạt HSTS trong Apache:
LoadModule headers_module modules/mod_headers.so
<VirtualHost *:443>
Header always set Strict-Transport-Security "max-age=2592000; includeSubDomains"
</VirtualHost>
Để bật HSTS trong Nginx:
add_header Strict-Transport-Security max-age=2592000; includeSubdomains
Để kích hoạt HSTS với IIS web.config:
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Strict-Transport-Security" value="max-age=63072000"/>
</customHeaders>
</httpProtocol>
</system.webServer>
Cloudflare cung cấp dịch vụ HTTPS miễn phí cho mọi người bằng dịch vụ Keyless SSL của nó; trước khi đăng ký tải trước HSTS, bạn cần biết chứng chỉ không thuộc về bạn. Hiện nhiều trang dùng chứng chỉ SSL bởi chúng là cách đơn giản để bảo mật dữ liệu.
Tuy nhiên, Cloudflare giờ hỗ trợ tính năng HSTS. Bạn có thể kích hoạt tất cả tính năng HSTS bao gồm tải trước, qua giao diện web Cloudflare mà không gặp khó khăn trong việc cấu hình trên web server.
X-Frame-Options là một security header được hỗ trợ bởi tất cả trình duyệt hiện đại. X-Frame-Options chống lại các click giả mạo như Clickjacking. Đúng như tên gọi, nó là hoạt động của một khung nội tuyến dễ bị tấn công, hay còn gọi là iframe. Đây là các phần tử trên một trang web được nhúng vào trang HTML khác trong trang web “mẹ”, vì thế, bạn có thể dùng nội dung từ các nguồn khác trên trang. Thế nhưng những kẻ tấn công dùng iframe dưới quyền kiểm soát của họ để khiến người dùng thực hiện những hoạt động không mong muốn.
Vì lí do này, bạn cần ngăn kẻ tấn công tìm thấy iframe trên trang.
Một số nhà phát triển đang cố gắng thực hiện những việc X-Frame-Options làm qua JavaScript. Điều đó không sai nhưng vẫn có rủi ro bởi còn tồn tại lỗ hổng trong code. Do đó, cách tốt nhất là nên để nhiệm vụ này cho trình duyệt Internet bạn dùng.
Tuy nhiên, lập trình viên cần biết 3 tham số sau về X-Frame-Options:
Dưới đây là ví dụ về cách dùng SAMEORIGIN và X-Frame-Options với NGINX, Apache, IIS:
Dùng X-Frame-Options SAMEORIGIN cho Nginx:
add_header X-Frame-Options SAMEORIGIN;
Dùng X-Frame-Options SAMEORIGIN cho Apache:
Header always append X-Frame-Options SAMEORIGIN
Dùng X-Frame-Options SAMEORIGIN cho IIS:
<httpProtocol>
<customHeaders>
<add name="X-Frame-Options" value="SAMEORIGIN" />
</customHeaders>
</httpProtocol>
Chỉ cần thêm header SAMEORIGIN sẽ giúp bạn bảo vệ khách truy cập tốt hơn.
Dùng thông tin X-XSS-Protection có thể bảo vệ người dùng khỏi các cuộc tấn công XSS. Đầu tiên, bạn cần loại bỏ các lỗ hổng XSS trên ứng dụng. Sau đó cung cấp bảo mật dựa trên code, các biện pháp chuyên sâu hơn như header X-XSS-Protection.
Các trình duyệt hiện đại có thể phát hiện payload XSS bằng cách lọc nội dung do ứng dụng tạo. Bạn có thể kích hoạt tính năng này bằng thông tin header X-XSS-Protection.
Để kích hoạt header X-XSS-Protection trong Nginx:
add_header X-Frame-X-XSS-Protection 1;
Để kích hoạt header X-XSS-Protection trong Apache:
Header always append X-XSS-Protection 1
Để kích hoạt header X-XSS-Protection trong IIS:
<httpProtocol>
<customHeaders>
<add name="X-XSS-Protection" value="1" />
</customHeaders>
</httpProtocol>
Để chặn khối code bị tấn công XSS chạy, bạn có thể dùng:
X-XSS-Protection: 1; mode=block
Trên đây là những điều bạn cần biết về HTTP Security Header. Hi vọng bài viết hữu ích với các bạn.
Nguồn tin: Quantrimang.com
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn