API và tích hợp
Quản lý thông tin xác thực API trong toàn bộ vòng đời
Thông tin xác thực API cần người phụ trách, mục đích và cách thu hồi. Hãy thiết kế cấp phát, lưu trữ, thay thế, giám sát và thu hồi cùng nhau để quyền truy cập không trở thành phụ thuộc vô chủ.
Tích hợp đang chạy có thể phụ thuộc vào thông tin xác thực không ai chịu trách nhiệm. Việc thay thế trở nên rủi ro, còn khi phát hiện lộ thì không biết phải dừng hệ thống nào. Quản lý phải bao trùm toàn bộ vòng đời, không kết thúc khi lập trình viên sao chép khóa vào màn hình cấu hình.
Cấp quyền cho mục đích xác định
Nên tách thông tin xác thực theo tích hợp và môi trường khi nhà cung cấp hỗ trợ. Ghi người phụ trách, mục đích nghiệp vụ, tài khoản nhà cung cấp, phạm vi quyền và nơi sử dụng. Giữ danh mục tách khỏi giá trị bí mật. Tránh gắn truy cập tự động phục vụ nghiệp vụ với tài khoản cá nhân của nhân viên.
OWASP yêu cầu kiểm soát truy cập tại endpoint REST không công khai và cảnh báo không chỉ dựa vào khóa API cho tài nguyên nhạy cảm, quan trọng hoặc giá trị cao.[7] Chọn cơ chế xác thực phù hợp mà nhà cung cấp hỗ trợ. Sau đó giới hạn quyền theo thao tác và tài nguyên tích hợp cần, thay vì coi có khóa là có toàn quyền.
Bảo vệ khi sử dụng và quan sát
OWASP khuyên không để mật khẩu, token và khóa API trong URL vì URL có thể xuất hiện trong nhật ký máy chủ.[7] Tuân thủ cách truyền thông tin xác thực của nhà cung cấp, thường qua header ủy quyền phù hợp hoặc cơ chế được hỗ trợ. Không tự tạo cách khác mà phía cung cấp không chấp nhận.
Nên dùng kho bí mật có kiểm soát và cấp quyền theo danh tính khối công việc nếu có. Ngăn giá trị bí mật đi vào mã nguồn, đầu ra dựng phần mềm, phiếu hỗ trợ hoặc nhật ký thường. Cho người vận hành thấy siêu dữ liệu an toàn như mã thông tin xác thực và lần dùng thành công cuối. Kiểm thử việc che bí mật trên đường lỗi, vì bản chụp yêu cầu và báo cáo ngoại lệ có thể vượt qua quy tắc ghi nhật ký thông thường.
Biến thay thế và thu hồi thành việc thường lệ
Lập kế hoạch thay trước khi cần thay khẩn cấp. Nếu nhà cung cấp cho phép hai khóa cùng hiệu lực, đưa khóa mới vào, kiểm tra nơi dùng rồi thu hồi khóa cũ. Nếu không cho phép chồng lấn, chuẩn bị chuyển đổi phối hợp và phương án gián đoạn rõ ràng. Đừng cho rằng xóa bản sao nội bộ sẽ thu hồi quyền từ xa.
- Chỉ định người phụ trách hiện tại và rà soát phạm vi quyền cần thiết.
- Liệt kê mọi khối công việc dùng thông tin xác thực mà không lưu giá trị bí mật trong danh mục.
- Kiểm thử thay thế, thu hồi và cảnh báo xác thực phát sinh.
- Quy định cô lập khẩn cấp và giữ bằng chứng khi nghi ngờ lộ.
Ví dụ giả định: dịch vụ kiểm tra địa chỉ
Ví dụ giả định: ứng dụng hoàn tất đơn hàng dùng nhà cung cấp kiểm tra địa chỉ. Thông tin xác thực riêng chỉ được kiểm tra địa chỉ, không được quản trị tài khoản. Khóa thay thế được đưa vào ứng dụng, thử bằng yêu cầu được phép và theo dõi trước khi thu hồi khóa cũ.
Sau đó nhóm xác nhận khóa đã thu hồi không còn dùng được. Việc này cần nhà cung cấp hỗ trợ và xử lý bằng chứng cẩn thận để báo cáo không chứa bí mật. Bước tiếp theo là chọn một tích hợp đang dùng, xác định người phụ trách thông tin xác thực và diễn tập thay thế mà không chờ sự cố.