Một cảnh báo VPN kích hoạt cho một quốc gia mới có vẻ dứt khoát, và thường thì không phải. Xác thực nói rằng một nỗ lực đã được chấp nhận; phiên nói rằng kết nối nào đã mang nó; bản ghi tài nguyên nói rằng điều gì đã xảy ra bên trong kết nối đó. Mỗi thứ trả lời một câu hỏi khác nhau. Một quy tắc gộp cả ba tạo ra ba mươi phiếu vào thứ Hai và bỏ lỡ vụ việc thật vào thứ Sáu.

Một địa chỉ nước ngoài là câu hỏi, không phải câu trả lời

Du lịch, các nhà mạng di động phát ra ở quốc gia khác, một proxy web doanh nghiệp và một nhóm NAT cấp nhà mạng được cấp lại đều dịch chuyển nguồn hiển nhiên mà không dịch chuyển kẻ tấn công. Bản ghi đăng nhập phản ánh kết nối đã vào mạng từ đâu, không phải ai đang giữ thiết bị.

Thất bại ngược lại tệ hơn vì nó im lặng. Một mật khẩu bị đánh cắp dùng từ chính thành phố của người dùng tạo ra một lần đăng nhập khớp với mọi lần đăng nhập trước đó trong kiểm tra địa lý.

Coi địa lý là bản án có một chi phí đo được. Máy tính xách tay di chuyển tạo ra dòng xem xét đều đặn, người xem xét học cách đóng chúng mà không đọc, và thói quen tồn tại cho đến khi một vụ thật rơi vào cùng hàng đợi.

Ba loại bản ghi trả lời ba câu hỏi khác nhau

Hãy bắt đầu từ những gì sản phẩm đã triển khai thực sự phát ra, không phải từ những gì một tờ rơi gợi ý rằng chúng có thể phát ra. Quyết định xác thực nêu rõ danh tính được khẳng định, phương thức và kết quả. Vòng đời phiên nêu rõ kết nối, cổng và địa chỉ được cấp, từ bắt đầu đến dừng.

RecordQuestion it answersWhat it cannot prove
Authentication decisionWhich identity was accepted or rejected, by which method, at what timeThat the person operating the device was the account owner
Session lifecycleWhich connection, gateway and assigned address were active, and for how longWhat the session did with that access
Resource eventWhich read, write or denied operation a service observedWhich human behind the session triggered it
Policy changeWhether an administrator altered the rule that governs the accessWhether the change was reviewed or intended

Một ô trống là lỗ hổng trong thu thập, không phải sự minh oan. Nếu các sự kiện tài nguyên không bao giờ đến, việc không có một lần đọc đáng ngờ nghĩa là đường ống không có gì để báo cáo, và một bảng điều khiển im lặng mô tả đường ống chứ không phải mạng. Hãy ghi lại việc triển khai thực sự tạo ra những bản ghi nào trước khi hứa một quy tắc phụ thuộc vào chúng, và nêu tên chủ sở hữu của từng nguồn cấp bị thiếu.

Chi tiết kế toán là nơi các phiên trở nên kiểm tra được. Kế toán RADIUS như được mô tả trong RFC 2866 mang các cập nhật bắt đầu, dừng và trung gian gắn với một định danh phiên, vì vậy một phiên có bắt đầu mà không có dừng là một lỗ hổng có thể gọi tên thay vì một điều bí ẩn.

Ghép theo phiên, không theo tên người dùng

Một tài khoản hợp pháp giữ nhiều phiên cùng lúc: một máy tính xách tay, một điện thoại, một máy phòng thí nghiệm được để kết nối qua đêm. Việc ghép mọi sự kiện cho tên người dùng đó sẽ nung chảy ba thiết bị thành một câu chuyện rồi đọc tổ hợp như một sự xâm phạm. Địa chỉ được cấp cũng bị tái sử dụng, nên một phép ghép tiếp tục khớp với một địa chỉ sau khi phiên kết thúc sẽ kéo thiết bị của tháng trước vào sự cố hôm nay. Hãy giữ khóa phiên bên cạnh địa chỉ và giới hạn việc khớp trong cửa sổ thời gian mà phiên thực sự bao phủ.

Ở nơi bản dịch loại bỏ nguồn gốc trước khi một dịch vụ nhìn thấy nó, hãy dùng danh tính còn tồn tại ở ranh giới đó, như chủ thể TLS tương hỗ hoặc một khẳng định đăng nhập một lần. Việc bịa ra một ánh xạ một-một giữa một địa chỉ và một người là cùng một sai lầm với thêm các bước.

Một cảnh báo không có chủ sở hữu là bảng điều khiển

Mỗi quy tắc cần một điều kiện, những lời giải thích vô hại tạo ra nó, bằng chứng cần thu thập và người hành động. Một thao tác quản trị bị từ chối lặp lại, một đợt mật khẩu thất bại và một bộ thu thập im lặng là ba sự cố khác nhau với ba đồng hồ khác nhau.

Thông báo không phải ngăn chặn, và một danh sách phân phối không hạn chế gì cả. Thay đổi một phiên đang sống đòi hỏi thành phần có thể làm việc đó, dù là cổng ngắt kết nối hay nhà cung cấp danh tính thu hồi phiên. Các nguồn cấp cũ và bản ghi dừng bị thiếu cũng thuộc về văn bản quy tắc, vì một bộ thu thập không gửi gì trong một ngày trông giống hệt một mạng im lặng từ bảng điều khiển. Sự khác biệt chỉ hiện ra trong chính đường ống.

Kiểm tra đường thu thập trước khi tin vào một tuần im lặng

Hãy chứng minh đường ống từ đầu đến cuối trước khi tinh chỉnh dù chỉ một quy tắc. Các lệnh dưới đây xác nhận rằng bộ lắng nghe xác thực và kế toán đang hoạt động, rằng một thông tin xác thực thử nghiệm bị từ chối vì lý do đúng và rằng các sự kiện phiên vẫn đang đến:

ss -uanp | grep -E ':(1812|1813)\b'
radtest alice 'not-the-password' 127.0.0.1 0 testing123
journalctl -u openvpn-server@server --since '-30 min' | grep -c 'Peer Connection Initiated'
timedatectl | grep -E 'System clock|synchronized'

Một Access-Reject từ bài kiểm tra chứng minh rằng yêu cầu đã đến máy chủ và bí mật chia sẻ khớp, và đó là phần mà người ta bỏ qua. Thay vào đó, một lần hết thời gian chờ chỉ vào bí mật, bộ lắng nghe hoặc một bộ lọc phía trước nó, và mọi cảnh báo ở hạ nguồn đều không thể xác minh cho đến khi điều đó được sửa.

Trạng thái đồng hồ quan trọng vì các cửa sổ tương quan giả định sự đồng thuận. Một cổng lệch vài phút khiến một phép ghép phiên vốn sạch trông bất khả thi, và người xem xét bù đắp bằng cách mở rộng cửa sổ cho đến khi phép ghép không còn phân biệt được. Hãy kiểm tra độ lệch trước khi sửa quy tắc.

Sau đó đưa một quy tắc qua một bài kiểm tra vô hại: tạo một lần đăng nhập từ một địa chỉ không mong đợi, xác nhận cảnh báo kích hoạt, xác nhận người phản hồi có thể lấy phiên và các sự kiện tài nguyên của nó, và xác nhận phiếu mang định danh phiên. Một quy tắc tạo ra câu chuyện mạch lạc thì đạt. Một quy tắc tạo ra một đống dòng nhật ký vẫn là bảng điều khiển. Hãy ghi kết quả bên cạnh quy tắc để lần xem xét tiếp theo bắt đầu từ bằng chứng chứ không phải từ trực giác.

Bài viết liên quan