Mục lục
JWT Secret
Bạn nên có một JWT secret tốt để bảo vệ chống lại việc giả mạo token cũng như tránh các cuộc tấn công brute force.
Một khóa bí mật mạnh mẽ nên được tạo ngẫu nhiên, dài và phức tạp, đồng thời được lưu trữ an toàn và luân chuyển định kỳ.
JWT Algorithm
Không trích xuất thuật toán từ header, hãy sử dụng backend.
Việc trích xuất thuật toán từ header của một JWT có thể gây rủi ro bảo mật, vì kẻ tấn công có thể sửa đổi thuật toán và có khả năng truy cập trái phép. Do đó, khuyến nghị nên xác thực thuật toán trên backend thay vì trích xuất từ header. Điều này có thể giúp đảm bảo rằng thuật toán được sử dụng để ký và xác thực token là an toàn và không bị giả mạo.
Token Expiry
Thời hạn (hiệu lực) của token nên được đặt ở mức hợp lý để giảm thiểu phạm vi dễ bị tấn công, hạn chế tác động của việc đánh cắp token, và cải thiện bảo mật tổng thể.
Tuy nhiên, thời hạn hết hạn nên được cân bằng với khả năng sử dụng, vì đặt thời hạn quá ngắn có thể gây bất tiện cho người dùng và giảm năng suất.
Jwt Payload
Tránh lưu trữ dữ liệu nhạy cảm trong tải trọng JWT.
Lưu trữ dữ liệu nhạy cảm trong tải trọng JWT có thể làm tăng nguy cơ vi phạm dữ liệu và các sự cố bảo mật khác. Nếu kẻ tấn công có thể lấy hoặc giả mạo token, chúng có thể truy cập dữ liệu nhạy cảm được lưu trữ trong payload.
JWT Payload Size
Tránh lưu trữ payload lớn trong JWT
Payload nhỏ hơn có thể giảm chi phí mạng, cải thiện tốc độ xử lý và giảm nguy cơ tấn công nhằm quá tải hệ thống.