HTTP Security Header là gì? Cách dùng HTTP Security Header

Thứ ba - 07/02/2023 23:15

Làm thế nào tăng bảo mật cho webSecurity 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.

HTTP Security Header

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) là gì?

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.

Cách dùng HSTS

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> 

Dành cho người dùng Cloudflare

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à gì?

X-Frame-Options

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.

Vị trí và cách dùng X-Frame-Options

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:

  • Deny: Ngăn chặn hoàn toàn trang bị gọi trong iframe bất kỳ.
  • SAMEORIGIN: Chặn mọi domain ngoài domain của bạn gọi trong iframe.
  • ALLOW-FROM url: Chấp nhận các cuộc gọi iframe của URL được cung cấp dưới dạng tham số. Chặn những cái khác.

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.

X-XSS-Protection là gì?

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ách dùng 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

Tổng số điểm của bài viết là: 0 trong 0 đánh giá

  Ý kiến bạn đọc

THỐNG KÊ TRUY CẬP
  • Đang truy cập24
  • Máy chủ tìm kiếm2
  • Khách viếng thăm22
  • Hôm nay14,252
  • Tháng hiện tại156,886
  • Tổng lượt truy cập9,862,738
QUẢNG CÁO
Phan Thanh Phú
Quảng cáo 2
Liên kết site
Đăng nhập Thành viên
Hãy đăng nhập thành viên để trải nghiệm đầy đủ các tiện ích trên site
Thăm dò ý kiến

Bạn thấy Website cần cải tiến những gì?

Lịch Âm dương
Máy tính
Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây