I.Website học viện1.Trình trạng hiện tại 2.Các vấn đề mắc phải 2.1.Content Security Policy CSP 2.1.1.Định nghĩa Content Security Policy CSPConfiguration là quá trình cấu hình các chính
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN
THÔNG (PTIT)
BÁO CÁO THỰC HÀNH
TÌM HIỂU VỀ WEB SECURITY VÀ GIẢI PHÁP
KHẮC PHỤC
Môn học: Lập trình Web
Họ và tên: Lê Quang Minh
Mã sinh viên: B21DCVT291
Lớp: E21CQCN03-B
Ngày thực hành: 26/4/2024
Trang 2MỤC LỤC
I.Website học viện 4
1.Trình trạng hiện tại 4
2.Các vấn đề mắc phải 4
2.1.Content Security Policy (CSP) 4
2.1.1.Định nghĩa 4
2.1.2.Giải pháp 5
2.2 HTTP Secure Headers 5
2.2.1.Định nghĩa 5
2.2.2.Giải pháp 5
II.Website https://code.ptit.edu.vn 6
1.Trình trạng hiện tại 6
2.Các vấn đề mắc phải 7
2.1.Content Security Policy (CSP) 7
2.1.1.Định nghĩa 7
2.1.2.Giải pháp 7
2.2 HTTP Secure Headers 8
2.2.1.Định nghĩa 8
2.2.2.Giải pháp 8
2.3 HttpOnly Flag cookie 8
2.3.1.Định nghĩa 8
2.3.2.Giải pháp 9
Trang 32.4 HttpOnly Flag cookie 9
2.4.1.Định nghĩa 9
2.4.2.Giải pháp 9
III.Trang thi trắc nghiệm 10
1.Trình trạng hiện tại 10
2.Các vấn đề mắc phải 11
2.1.Content Security Policy (CSP) 11
2.1.1.Định nghĩa 11
2.1.2.Giải pháp 11
2.2 HTTP Secure Headers 12
2.2.1.Định nghĩa 12
2.2.2.Giải pháp 12
Trang 4I.Website học viện
1.Trình trạng hiện tại
2.Các vấn đề mắc phải
2.1.Content Security Policy (CSP)
2.1.1.Định nghĩa
Content Security Policy (CSP)Configuration là quá trình cấu hình các chính sách an toàn nội dung cho ứng dụng web thông qua việc sử dụng tiêu đề HTTP Content-Security-Policy hoặc meta tag <meta> trong mã HTML của trang web
Trang 5 Mục đích chính của CSP là ngăn chặn và giảm thiểu các loại tấn công như XSS (Cross-Site Scripting) bằng cách xác định rõ các nguồn tài nguyên
mà trang web được phép tải, như script script, hình ảnh, phông chữ, v.v
2.1.2.Giải pháp
Xác định nguồn (nguồn) của các loại tài nguyên: CSP cho phép bạn chỉ định các nguồn mà trình duyệt được phép tải tài nguyên từ, chẳng hạn như script-src, style-src, font-src, img-src, và nhiều loại khác Ví dụ: script-src 'self' chỉ cho phép tải các lệnh JavaScript từ trang web chính đó
Áp dụng các phần bổ sung chỉ: CSP cũng cho phép bạn áp dụng các phần
bổ sung chỉ như default-src, connect-src, frame-src, sandbox và report-uri
để tùy chỉnh hành động của chính sách toàn nội dung phân
Xử lý các cảnh báo và báo cáo: Bằng cách sử dụng chỉ thị báo cáo-uri hoặc báo cáo tới, bạn có thể định cấu hình trình duyệt gửi báo cáo về các
sự kiện vi phạm CSP tới một URL hoặc một báo cáo nhóm
Cấu hình CSP cần được cân nhắc kỹ thuật và kiểm tra kỹ năng để chắc chắn rằng nó không ảnh hưởng đến toàn bộ tính năng hoặc chức năng của trang web
2.2 HTTP Secure Headers
2.2.1.Định nghĩa
HTTP Secure Headers là các tiêu đề HTTP được sử dụng để cung cấp bảo mật cho ứng dụng web bằng cách giúp ngăn chặn các loại tấn công như XSS (Cross-Site Scripting), Clickjacking, sniffing, CSRF (Cross-(Cross-Site Yêu cầu giả mạo) , và các cuộc tấn công khác
2.2.2.Giải pháp
Dưới đây là một số Tiêu đề bảo mật HTTP phổ biến và giải pháp cho chúng:
Strict-Transport-Security (HSTS): Đảm bảo rằng trình duyệt chỉ kết nối với máy chủ thông qua HTTPS, không phải qua HTTP Giải pháp: Thêm tiêu đề Strict-Transport-Security vào phản hồi của máy chủ và thiết lập hiệu lực thời gian của chính sách
X-Content-Type-Options: chặn trình duyệt loại nội dung mở rộng được yêu cầu (loại MIME) Giải pháp: Sử dụng tiêu đề X-Content-Type-Options: nosniff để yêu cầu trình duyệt yêu cầu không đoán được loại MIME của tài nguyên
X-Frame-Options: chặn việc nhúng một trang web vào iframe từ một trang web khác Giải pháp: Sử dụng tiêu đề X-Frame-Options: DENY để
từ chối tất cả các yêu cầu nhúng trong iframe từ các trang web khác
Trang 6 Content-Security-Policy (CSP): Xác định từng nguồn tài nguyên mà trình duyệt được phép tải xuống Giải pháp: Thiết lập CSP để chỉ cho phép tải tài nguyên từ các nguồn đáng tin cậy và giảm thiểu rủi ro XSS
Chính sách giới thiệu: Xác định cách trình duyệt gửi thông tin về trang web gốc khi người dùng chuyển hướng từ trang web này đến một trang web khác Giải pháp: Sử dụng tiêu đề Chính sách giới thiệu để kiểm soát thông tin được gửi trong tiêu đề Người giới thiệu
Triển khai đúng cách các Tiêu đề bảo mật HTTP này có thể cải thiện khả năng bảo mật của web ứng dụng và bảo vệ người dùng khỏi các cuộc tấn công trực tuyến
II.Website https://code.ptit.edu.vn
1.Trình trạng hiện tại
Trang 72.Các vấn đề mắc phải
2.1.Content Security Policy (CSP)
2.1.1.Định nghĩa
Content Security Policy (CSP)Configuration là quá trình cấu hình các chính sách an toàn nội dung cho ứng dụng web thông qua việc sử dụng tiêu đề HTTP Content-Security-Policy hoặc meta tag <meta> trong mã HTML của trang web
Mục đích chính của CSP là ngăn chặn và giảm thiểu các loại tấn công như XSS (Cross-Site Scripting) bằng cách xác định rõ các nguồn tài nguyên
mà trang web được phép tải, như script script, hình ảnh, phông chữ, v.v
2.1.2.Giải pháp
Xác định nguồn (nguồn) của các loại tài nguyên: CSP cho phép bạn chỉ định các nguồn mà trình duyệt được phép tải tài nguyên từ, chẳng hạn như script-src, style-src, font-src, img-src, và nhiều loại khác Ví dụ: script-src 'self' chỉ cho phép tải các lệnh JavaScript từ trang web chính đó
Áp dụng các phần bổ sung chỉ: CSP cũng cho phép bạn áp dụng các phần
bổ sung chỉ như default-src, connect-src, frame-src, sandbox và report-uri
để tùy chỉnh hành động của chính sách toàn nội dung phân
Xử lý các cảnh báo và báo cáo: Bằng cách sử dụng chỉ thị báo cáo-uri hoặc báo cáo tới, bạn có thể định cấu hình trình duyệt gửi báo cáo về các
sự kiện vi phạm CSP tới một URL hoặc một báo cáo nhóm
Trang 8Cấu hình CSP cần được cân nhắc kỹ thuật và kiểm tra kỹ năng để chắc chắn rằng nó không ảnh hưởng đến toàn bộ tính năng hoặc chức năng của trang web
2.2 HTTP Secure Headers
2.2.1.Định nghĩa
HTTP Secure Headers là các tiêu đề HTTP được sử dụng để cung cấp bảo mật cho ứng dụng web bằng cách giúp ngăn chặn các loại tấn công như XSS (Cross-Site Scripting), Clickjacking, sniffing, CSRF (Cross-(Cross-Site Yêu cầu giả mạo) , và các cuộc tấn công khác
2.2.2.Giải pháp
Dưới đây là một số Tiêu đề bảo mật HTTP phổ biến và giải pháp cho chúng:
Strict-Transport-Security (HSTS): Đảm bảo rằng trình duyệt chỉ kết nối với máy chủ thông qua HTTPS, không phải qua HTTP Giải pháp: Thêm tiêu đề Strict-Transport-Security vào phản hồi của máy chủ và thiết lập hiệu lực thời gian của chính sách
X-Content-Type-Options: chặn trình duyệt loại nội dung mở rộng được yêu cầu (loại MIME) Giải pháp: Sử dụng tiêu đề X-Content-Type-Options: nosniff để yêu cầu trình duyệt yêu cầu không đoán được loại MIME của tài nguyên
X-Frame-Options: chặn việc nhúng một trang web vào iframe từ một trang web khác Giải pháp: Sử dụng tiêu đề X-Frame-Options: DENY để
từ chối tất cả các yêu cầu nhúng trong iframe từ các trang web khác
Content-Security-Policy (CSP): Xác định từng nguồn tài nguyên mà trình duyệt được phép tải xuống Giải pháp: Thiết lập CSP để chỉ cho phép tải tài nguyên từ các nguồn đáng tin cậy và giảm thiểu rủi ro XSS
Chính sách giới thiệu: Xác định cách trình duyệt gửi thông tin về trang web gốc khi người dùng chuyển hướng từ trang web này đến một trang web khác Giải pháp: Sử dụng tiêu đề Chính sách giới thiệu để kiểm soát thông tin được gửi trong tiêu đề Người giới thiệu
Triển khai đúng cách các Tiêu đề bảo mật HTTP này có thể cải thiện khả năng bảo mật của web ứng dụng và bảo vệ người dùng khỏi các cuộc tấn công trực tuyến
2.3 HttpOnly Flag cookie
2.3.1.Định nghĩa
HTTPOnly là một cờ (cờ) được sử dụng trong cookie của trình duyệt web để xác định rằng cookie chỉ có thể truy cập bằng cách sử dụng HTTP hoặc HTTPS và không thể truy cập thông tin qua JavaScript Mục đích chính của việc sử dụng HTTPOnly là ngăn chặn các cuộc tấn công XSS (Cross-Site Scripting) bằng
Trang 9cách giảm khả năng tấn công đọc cookie thông qua mã JavaScript độc hại được chèn vào trang web
2.3.2.Giải pháp
Sử dụng cờ HTTPOnly cho cookie quan trọng: Đối với các cookie chứa thông tin nhạy cảm như mã thông báo xác thực, ID phiên hoặc thông tin người dùng khác, hãy đảm bảo rằng chúng được đánh dấu bằng cờ HTTPOnly Điều này sẽ ngăn chặn bất kỳ mã JavaScript nào được chèn vào trang web từ truy cập cookie này
Kiểm tra cấu hình cookie mỗi khi tạo mới: Khi tạo mới cookie, hãy đảm bảo rằng bạn đánh dấu chúng bằng cờ HTTPOnly nếu cần
Kiểm tra hiện có cookie cấu hình: Đảm bảo rằng tất cả các quan trọng của cookie đã được cấu hình với HTTPOnly cờ bằng cách kiểm tra hiện tại cấu hình cookie và cập nhật org nếu cần
Kiểm tra trình duyệt hỗ trợ: Đảm bảo rằng trình duyệt chỉ sử dụng HTTPOnly cờ được hỗ trợ Hầu hết các trình duyệt hiện tại đều hỗ trợ cờ này, nhưng kiểm tra vẫn là một phần quan trọng của khai báo quá trình phát triển
Bằng cách sử dụng HTTPOnly cờ cho các cookie nhạy cảm, bạn có thể cải thiện khả năng bảo mật của web ứng dụng bằng cách giảm thiểu rủi ro đối với XSS và bảo vệ thông tin người dùng
2.4 HttpOnly Flag cookie
2.4.1.Định nghĩa
Flag Secure trong cookie là một cờ (cờ) được sử dụng để chỉ định rằng một cookie chỉ được gửi qua kênh an toàn, tức thời được gửi chỉ qua kết nối HTTPS Khi một cookie được đánh dấu bằng cờ Secure, trình duyệt sẽ chỉ gửi cookie đến máy chủ khi truy cập được thực thi thông qua kết nối bảo mật HTTPS Nếu có bất kỳ yêu cầu HTTP nào (không bảo mật), thì cookie được đánh dấu bằng cờ Bảo mật sẽ không được gửi đi
Mục đích chính của việc sử dụng cờ Bảo mật là bảo vệ thông tin người dùng, đặc biệt là các thông tin nhạy cảm như mã xác thực, ID phiên và thông tin đăng nhập, tránh việc truyền dữ liệu qua mạng không an toàn
2.4.2.Giải pháp
Sử dụng cờ Bảo mật cho các cookie nhạy cảm: Đối với các cookie chứa thông tin nhạy cảm, chẳng hạn như thông tin đăng nhập, mã thông báo xác thực, ID phiên, hãy đảm bảo rằng chúng được đánh dấu bằng cờ Bảo mật
Định cấu hình máy chủ và ứng dụng web để sử dụng HTTPS: Đảm bảo rằng trang web của bạn được cấu hình để sử dụng HTTPS bằng cách cài
Trang 10đặt SSL/TLS chứng chỉ và chuyển đổi tất cả các yêu cầu từ HTTP sang HTTPS
Kiểm tra hiện có cookie cấu hình: Đảm bảo rằng tất cả các quan trọng của cookie đã được cấu hình với cờ Bảo mật bằng cách kiểm tra hiện tại cấu hình cookie và cập nhật org nếu cần
Bằng cách sử dụng cờ Bảo mật cho các cookie nhạy cảm và đảm bảo rằng trang web của bạn chỉ hoạt động qua HTTPS, bạn có thể cải thiện khả năng bảo mật của web ứng dụng và bảo vệ thông tin người dùng
III.Trang thi trắc nghiệm
1.Trình trạng hiện tại
Trang 112.Các vấn đề mắc phải
2.1.Content Security Policy (CSP)
2.1.1.Định nghĩa
Content Security Policy (CSP)Configuration là quá trình cấu hình các chính sách an toàn nội dung cho ứng dụng web thông qua việc sử dụng tiêu đề HTTP Content-Security-Policy hoặc meta tag <meta> trong mã HTML của trang web
Mục đích chính của CSP là ngăn chặn và giảm thiểu các loại tấn công như XSS (Cross-Site Scripting) bằng cách xác định rõ các nguồn tài nguyên
mà trang web được phép tải, như script script, hình ảnh, phông chữ, v.v
2.1.2.Giải pháp
Xác định nguồn (nguồn) của các loại tài nguyên: CSP cho phép bạn chỉ định các nguồn mà trình duyệt được phép tải tài nguyên từ, chẳng hạn như script-src, style-src, font-src, img-src, và nhiều loại khác Ví dụ: script-src 'self' chỉ cho phép tải các lệnh JavaScript từ trang web chính đó
Áp dụng các phần bổ sung chỉ: CSP cũng cho phép bạn áp dụng các phần
bổ sung chỉ như default-src, connect-src, frame-src, sandbox và report-uri
để tùy chỉnh hành động của chính sách toàn nội dung phân
Xử lý các cảnh báo và báo cáo: Bằng cách sử dụng chỉ thị báo cáo-uri hoặc báo cáo tới, bạn có thể định cấu hình trình duyệt gửi báo cáo về các
sự kiện vi phạm CSP tới một URL hoặc một báo cáo nhóm
Cấu hình CSP cần được cân nhắc kỹ thuật và kiểm tra kỹ năng để chắc chắn rằng nó không ảnh hưởng đến toàn bộ tính năng hoặc chức năng của trang web
2.2 HTTP Secure Headers
2.2.1.Định nghĩa
HTTP Secure Headers là các tiêu đề HTTP được sử dụng để cung cấp bảo mật cho ứng dụng web bằng cách giúp ngăn chặn các loại tấn công như XSS (Cross-Site Scripting), Clickjacking, sniffing, CSRF (Cross-(Cross-Site Yêu cầu giả mạo) , và các cuộc tấn công khác
2.2.2.Giải pháp
Dưới đây là một số Tiêu đề bảo mật HTTP phổ biến và giải pháp cho chúng:
Strict-Transport-Security (HSTS): Đảm bảo rằng trình duyệt chỉ kết nối với máy chủ thông qua HTTPS, không phải qua HTTP Giải pháp: Thêm
Trang 12tiêu đề Strict-Transport-Security vào phản hồi của máy chủ và thiết lập hiệu lực thời gian của chính sách
X-Content-Type-Options: chặn trình duyệt loại nội dung mở rộng được yêu cầu (loại MIME) Giải pháp: Sử dụng tiêu đề X-Content-Type-Options: nosniff để yêu cầu trình duyệt yêu cầu không đoán được loại MIME của tài nguyên
X-Frame-Options: chặn việc nhúng một trang web vào iframe từ một trang web khác Giải pháp: Sử dụng tiêu đề X-Frame-Options: DENY để
từ chối tất cả các yêu cầu nhúng trong iframe từ các trang web khác
Content-Security-Policy (CSP): Xác định từng nguồn tài nguyên mà trình duyệt được phép tải xuống Giải pháp: Thiết lập CSP để chỉ cho phép tải tài nguyên từ các nguồn đáng tin cậy và giảm thiểu rủi ro XSS
Chính sách giới thiệu: Xác định cách trình duyệt gửi thông tin về trang web gốc khi người dùng chuyển hướng từ trang web này đến một trang web khác Giải pháp: Sử dụng tiêu đề Chính sách giới thiệu để kiểm soát thông tin được gửi trong tiêu đề Người giới thiệu
Triển khai đúng cách các Tiêu đề bảo mật HTTP này có thể cải thiện khả năng bảo mật của web ứng dụng và bảo vệ người dùng khỏi các cuộc tấn công trực tuyến