Ba người yêu cầu cùng một việc bằng cùng những từ ngữ: chặn truy cập đến một tên dịch vụ. Một người muốn trình duyệt không mở trang, một người khác muốn ứng dụng thoại trên máy tính không kết nối được máy chủ của nó, và người thứ ba muốn một nhóm nhà thầu không dùng một ứng dụng nội bộ cụ thể. Câu nói giống hệt nhau, còn cơ chế thực thi gần như không có điểm chung.

Chọn lớp theo định danh mà lớp đó thực sự nhìn thấy, rồi theo những máy khách mà lớp đó bao phủ. Bắt đầu từ một lệnh tường lửa bạn đã biết chính là cách các quy tắc cuối cùng không chặn gì cả, hoặc chặn quá nhiều.

Tên không phải là danh tính mà mọi lớp đều kiểm tra được

Netfilter và các bộ lọc gói tương tự nhìn thấy địa chỉ, giao thức và cổng. Chúng không nhìn thấy tên máy chủ, và khi gói tin đến chúng thì tên đã được phân giải. Một quy tắc viết theo địa chỉ là quy tắc về địa chỉ đó, bất kể người dùng đã gõ tên nào để đến được nó.

Chính sách DNS nằm sớm hơn trên đường đi và nhìn thấy truy vấn, vốn là đối tượng khác với kết nối theo sau. Nó quản lý các câu trả lời mà một trình phân giải được kiểm soát trả về, không phải những kết nối đã mở, và không phải những máy khách được cấu hình để bỏ qua trình phân giải đó. Địa chỉ đã phân giải cũng có thể thay đổi giữa lần xem xét chính sách và yêu cầu tiếp theo, vì thế câu trả lời DNS không phải là tuyên bố ủy quyền lâu dài.

Các lớp cao hơn nhìn thấy nhiều ngữ cảnh hơn và bao phủ ít máy khách hơn. Sự đánh đổi đó chính là toàn bộ chủ đề, và nó giải thích vì sao không hàng nào của bảng là câu trả lời đúng. Chọn hàng nhìn thấy định danh mà chính sách của bạn thực sự nói về. Sau đó chấp nhận phạm vi mà hàng đó ngụ ý.

Mỗi lớp có thể nhận diện điều gì

Đọc bảng từ cột giữa ra ngoài: định danh mà một lớp có thể thấy quyết định chính sách mà lớp đó có thể thực thi một cách trung thực.

LayerIdentifier it seesWhat it cannot see
Packet filteraddress, protocol, portthe name, or which other services share that address
DNS policythe queried name and the answer handed backconnections made by clients that ignore the resolver
Managed browsersupported URL patterns on managed profilesnon-browser clients, or unmanaged devices
CONNECT proxyhost and port for tunnelled requeststhe path inside an encrypted request

Một lớp chỉ thuộc về chính sách khi định danh mà nó thấy khớp với định danh mà bạn quản lý. Bảng cũng giải thích vì sao một quy tắc viết ở lớp này hiếm khi chuyển sang lớp khác mà không quyết định lại nó bảo vệ điều gì.

Nơi quy tắc hiển nhiên thất bại

Quy tắc địa chỉ hoàn toàn đúng cho một dịch vụ có địa chỉ chuyên dụng do bạn kiểm soát, và quyền sở hữu đó nên được ghi vào chính sách. Nó hoàn toàn sai cho bất cứ thứ gì nằm sau một địa chỉ phân phối nội dung dùng chung, nơi cùng quy tắc đó chạm vào các dịch vụ không liên quan và một câu trả lời DNS được làm mới không biến quy tắc thành ủy quyền theo tên máy chủ.

Chính sách trình duyệt được quản lý thể hiện hạn chế web trực tiếp hơn danh sách địa chỉ sao chép, nhưng chỉ áp dụng cho các trình duyệt và hồ sơ mà hệ thống quản lý kiểm soát.

Quy tắc trình duyệt đó không làm gì với một máy khách thoại gửi UDP đến máy chủ khác, và các mẫu của nó do sản phẩm đó định nghĩa, không phải những quy ước ký tự đại diện vay mượn từ nơi khác. Một proxy CONNECT cũng nhận máy chủ và cổng cho một yêu cầu được đường hầm hóa, và không thể đọc đường dẫn bên trong phiên đã mã hóa. Hãy thiết kế quy tắc quanh những gì giao thức bộc lộ. Sau đó ghi lại những gì nó để không được bao phủ, vì chính khoảng trống đó là nguồn của yêu cầu tiếp theo.

Chọn theo máy khách, không theo lệnh

Hãy hỏi chính sách phải bao phủ những máy khách nào và có thể bỏ sót những máy khách nào. Chính sách trình duyệt được quản lý bao phủ những gì hệ thống quản lý với tới và dừng ở ranh giới trình duyệt. Chính sách trình phân giải bao phủ mọi thứ dùng trình phân giải của bạn, một tập rộng hơn, và nó thất bại theo hướng mở cho bất kỳ ai không làm như vậy.

Đối với một dịch vụ bạn vận hành, ủy quyền trong ứng dụng mạnh hơn mọi ranh giới mạng, vì nó theo tài khoản chứ không theo đường dẫn. Một tuyến VPN là khả năng tiếp cận và không hơn thế: có thể gửi gói tin đến một dịch vụ không phải là quyền sử dụng nó. Ở đâu định danh quan trọng là người dùng hoặc quyền kênh, hãy thực thi ở đó và coi quy tắc mạng là lớp thứ hai.

Viết quy tắc theo tài nguyên

Một chính sách có thể bảo vệ nêu tên tài nguyên, các danh tính, các ứng dụng trong phạm vi và đường dẫn mang chúng, bao gồm cả hai họ địa chỉ đang dùng. Nó cũng nêu điều gì xảy ra với hạ tầng dùng chung mà quy tắc sẽ vô tình ảnh hưởng.

Cách diễn đạt đó tạo ra một quyết định mà người khác có thể kiểm toán sau này. Một quy tắc được biện minh bằng địa chỉ đã phân giải hôm nay tạo ra sự cố ngay lần đầu địa chỉ thay đổi, và không ai có thể giải thích vì sao việc chặn từng đúng.

Bài viết liên quan