Chấp nhận truy cập từ xa qua VPC cần các bài kiểm tra từ chối
Một lần đăng nhập VPN thành công là dòng đầu tiên của bảng chấp nhận, không phải dòng cuối. Hãy ghi các từ chối mong đợi cho từng vai trò và kiểm tra những kiểm soát quyết định chúng.
Chấp nhận truy cập từ xa là một bảng các kết quả mong đợi, không phải ảnh chụp màn hình của một trang đang hoạt động. Với mỗi nhóm, hãy ghi điều gì phải thành công và điều gì phải thất bại, rồi chạy cả hai với các danh tính kiểm thử chuyên dụng trong một khung thời gian được kiểm soát. Các từ chối là phần chứng minh ranh giới; một lần đăng nhập thành công chỉ chứng minh rằng đường hầm tồn tại. Tất cả điều này hoạt động với sản phẩm VPN đã được chọn.
Dùng tài khoản riêng cho các bài kiểm thử và gắn nhãn để không ai nhầm một danh tính kiểm thử với một ngoại lệ thật.
Viết ranh giới dưới dạng kết quả mong đợi
Bắt đầu từ các vai trò chứ không phải từ các thành phần: ai cần dịch vụ nào, từ đâu và với danh tính nào. Lấy một VPC làm ví dụ: một nhóm cần môi trường thử nghiệm qua HTTPS, nhóm khác cần cơ sở dữ liệu sản xuất, và nhóm thứ ba nhỏ hơn quản trị chính cổng kết nối. Mỗi dòng có một quyền được mong đợi và một từ chối được mong đợi, bao gồm dịch vụ lân cận và tài khoản lân cận không được hoạt động. Bảng đó là tiêu chí chấp nhận, và những người không chạy bài kiểm thử vẫn có thể rà soát nó.
Kiểm tra đăng nhập cơ sở dữ liệu tách biệt khỏi đường đi mạng. Một cổng TCP tiếp cận được không nên làm cho một tài khoản cơ sở dữ liệu chưa được phê duyệt thành công, và tư cách thành viên VPN không nên tạo vai trò IAM trên đám mây hay cấp quyền truy cập quản trị vào API. Đó là ba kiểm soát độc lập, và chúng thất bại một cách độc lập.
Tuyến đường không phải là sự cho phép
Một tuyến đường làm cho lối đi trở nên khả thi; nó không cấp quyền. Giữ lại một tuyến đường là một thay thế yếu cho một hạn chế được áp tại đích, vì máy khách luôn có thể tự thêm tuyến đường của mình. Nhóm bảo mật, quyền trên cơ sở dữ liệu và sự cho phép của chính ứng dụng vẫn là những kiểm soát quyết định. Khi một bài kiểm thử thành công ngoài dự kiến, hãy xem chính sách của đích trước thay vì bảng định tuyến mà bạn định cho máy khách.
Đó cũng là lý do các bài kiểm tra từ chối nhắm vào phía máy chủ: những kết quả đó không thể thay đổi bằng cách sửa máy khách.
Kiểm soát thực sự nhìn thấy nguồn nào?
Địa chỉ nguồn mà một kiểm soát đánh giá phụ thuộc vào kiến trúc của cổng kết nối. Một cổng kết nối lưu trữ trên EC2 có thể chuyển tiếp một nhóm địa chỉ đã định tuyến, dịch sang địa chỉ của chính nó hoặc sau NAT trình bày một địa chỉ khác; Client VPN được quản lý liên kết với một mạng con và theo mô hình riêng. Các nhóm bảo mật và ACL mạng nhìn thấy những gì đến sau quá trình xử lý đó. Kiểm tra một quy tắc dựa trên giả định sai về nguồn là cách phổ biến để dựng nên một ranh giới trông có vẻ đúng và lại cho lưu lượng sai đi qua.
Tương quan mỗi kết quả với sự kiện hữu ích nhỏ nhất: danh tính và phiên, tài nguyên, thao tác, thời gian và quyết định. Một lời gọi API trong CloudTrail, một bản ghi luồng VPC và một nhật ký phiên VPN trả lời những câu hỏi khác nhau, và không cái nào tự nó là một cuộc kiểm toán ứng dụng.
Thu hồi một danh tính và kiểm tra lại
Đưa việc thu hồi vào cùng bảng đó. Xóa một danh tính kiểm thử, xác nhận rằng một phiên mới bị từ chối, rồi xác nhận riêng cách các phiên hiện có được xử lý, vì đó là những hành vi khác nhau với những người sở hữu khác nhau. Kiểm tra điều gì xảy ra sau khi khởi động lại hoặc thay thế cổng kết nối, để một ngoại lệ được thêm bằng tay không biến mất âm thầm hay quay lại rộng hơn. Một ranh giới chỉ tồn tại đến lần triển khai tiếp theo không phải là ranh giới.
Không điều nào ở trên thay thế công việc vá lỗi, phục hồi hay vòng đời thông tin xác thực. Nó làm cho một lời hứa hẹp hơn trở nên đo đếm được: đúng người đến đúng dịch vụ, trong khi các tuyến đường, tài khoản và bề mặt quản trị lân cận vẫn nằm ngoài quyền được cấp.
Giữ bảng cùng với lần triển khai và chạy lại khi cổng kết nối thay đổi. Các bài kiểm thử rẻ; những giả định phía sau chúng thì không.