Chỉ cho phép DNS đi qua trình phân giải VPN của bạn: hướng dẫn từng bước
Theo dõi một truy vấn tên từ trình duyệt đến câu trả lời. Xem nơi trình phân giải được chọn, nơi tường lửa thực thi nó và điều mà quy tắc cổng 53 không bao giờ bao phủ.
Theo dõi một truy vấn tên kể từ lúc bạn gõ nó. Trình duyệt hỏi hệ điều hành, hệ điều hành hỏi trình phân giải mà chính sách của nó chọn, và truy vấn rời thiết bị qua một giao diện nào đó với một phương thức vận chuyển nào đó. Thiết kế VPN của bạn nói rằng câu trả lời phải đến từ một trình phân giải cụ thể theo một đường đi cụ thể. Khoảng cách giữa hai câu nói đó chính là thứ bạn cấu hình và sau đó thực thi.
Bước 1: đặt tên cho trình phân giải và đường đi
Viết ra ba điều trước khi chạm vào tường lửa: địa chỉ của trình phân giải, giao thức và cổng mà bạn mong đợi, và giao diện mà truy vấn phải đi ra. Không có danh sách đó, một quy tắc chỉ là phỏng đoán về lưu lượng chứ không phải thực thi một quyết định. VPN có thể mang dữ liệu ứng dụng trong khi DNS theo một cách sắp xếp riêng, và điều đó tự nó không phải là lỗi. Đó là điều xảy ra khi không ai nói với máy khách điều gì khác.
Việc đặt tên đường đi một cách rõ ràng là khác biệt giữa một thiết kế và một tai nạn. Nó cũng cho bạn thứ để kiểm tra sau này, vì mọi quan sát đều có thể so với một kỳ vọng bằng văn bản. Giữ danh sách đó trong phiếu thay đổi chứ không phải trong đầu ai đó.
Bước 2: đặt chính sách ở nơi nó thực sự sống
Việc chọn trình phân giải thuộc về máy khách: cấu hình mạng của hệ điều hành, cài đặt riêng của máy khách VPN, hoặc chính sách trình duyệt được quản lý. Hãy đặt nó ở đó trước, bằng cơ chế mà nền tảng hỗ trợ, vì tường lửa không thể buộc máy khách chọn một trình phân giải mà nó chưa từng nghe đến. Trên máy khách có đường hầm chia tách, hãy nói rõ miền nào đi đến trình phân giải nội bộ. Trong một đội máy được quản lý, chính sách trình duyệt thường là đòn bẩy duy nhất cho DoH, vì trình duyệt có thể chọn trình phân giải mã hóa của riêng nó độc lập với cài đặt hệ thống.
Bỏ qua điều này và đi thẳng đến tường lửa, bạn sẽ có một quy tắc cho phép đúng trình phân giải cùng với một máy khách không bao giờ dùng nó. Quy tắc trông đúng và nhật ký trình phân giải vẫn trống, một cặp gây bối rối khi gỡ lỗi. Hãy cấu hình lựa chọn trước, rồi mới thực thi.
Bước 3: thực thi đường đi một cách hẹp
Bây giờ thêm quyền mạng cho đường đi được phép: địa chỉ trình phân giải, giao thức và cổng, và giao diện mà nó phải đi ra. Giữ quy tắc giới hạn ở trình phân giải đó thay vì cho phép toàn bộ DNS đi ra. Ba đường đi dưới đây là những gì một máy khách hiện đại có thể chọn, và chỉ đường đầu tiên được quy tắc cổng 53 bao phủ.
| Path | Port | Who controls it |
|---|---|---|
| Classic DNS | UDP and TCP 53 | System resolver settings |
| DNS over TLS | TCP 853 | Resolver or stub configuration |
| DNS over HTTPS | TCP 443 | Browser or application policy |
Chặn DoH và DoT là hợp lý; giả định rằng một quy tắc cổng 53 đã chặn chúng thì không. Một trình duyệt dùng DoH phân giải tên qua một đường đi mà quy tắc của bạn chưa bao giờ mô tả, và một ứng dụng mang trình phân giải riêng cũng làm vậy. Viết ra từng đường đi bạn định cho phép và từng đường bạn định từ chối. Một quy tắc không nêu tên đường đi thì chưa quyết định gì về nó.
Bước 4: theo dõi tên riêng và tên công cộng
DNS chia tách cố ý chỉ gửi không gian tên riêng đến một trình phân giải nội bộ trong khi tên công cộng đi nơi khác, nên có nhiều hơn một trình phân giải trong thiết kế không phải là rò rỉ. Rò rỉ là một truy vấn lẽ ra phải đi đến trình phân giải của bạn mà lại đến nơi khác, hoặc một đường đi dự định không thể đến được khiến máy khách lặng lẽ quay lại. Hai trường hợp đó là thứ cần tìm. Theo dõi một tên nội bộ và một tên công cộng theo chính sách dự định và ghi lại trình phân giải nào đã trả lời mỗi tên.
Một trang kiểm tra báo cáo trình phân giải của bạn là một gợi ý, không phải bằng chứng, vì nó chỉ thấy những truy vấn đã đến nó. Hãy bắt truy vấn ở phía máy khách khi bạn cần biết nó thực sự đi theo đường nào, rồi so sánh hai quan sát. Khi chúng không khớp, bạn đã tìm thấy một sự quay lại mà không ai ghi lại.
Nếu địa chỉ trình phân giải đúng nhưng không thể đến được, vấn đề nằm ở định tuyến hoặc lọc chứ không phải chính sách. Truy vết truy vấn đến địa chỉ đó và xác nhận câu trả lời quay về trên giao diện mong đợi trước khi thay đổi bất kỳ cài đặt trình phân giải nào.
Bước 5: giữ một đường về
Trước khi siết chặt quyền truy cập DNS trên cổng, hãy xác nhận một phương thức khôi phục không phụ thuộc vào việc phân giải tên. Một trình phân giải hỏng khiến mọi công cụ sửa chữa khó tiếp cận hơn, kể cả những thứ bạn sẽ dùng để hoàn tác thay đổi. Giữ một bảng điều khiển cục bộ hoặc một đường ngoài băng mở cho đến khi chính sách mới được chứng minh. Chỉ gỡ nó sau khi chính sách đã sống sót qua một lần kết nối lại.
Sau khi kết nối lại hoặc cập nhật chính sách trình duyệt, hãy kiểm tra lại trạng thái hiệu lực, vì cả hai đều có thể thay đổi trình phân giải mà không thay đổi quy tắc của bạn. Yêu cầu là một người nhận đã biết và một đường đi được bảo vệ cho các truy vấn, không phải một nhãn trình phân giải trấn an trên một ảnh chụp màn hình. Đặc tả RFC 8484 cho DNS over HTTPS là tài liệu tham chiếu cho đường đi mã hóa mà quy tắc cổng của bạn không thấy.