Chuyển tiếp mọi thứ tới máy chủ VPN của bạn có thể mô tả hai quy tắc rất khác nhau. Một quy tắc đổi địa chỉ đích và giữ nguyên cổng vào; quy tắc kia còn viết lại cổng về một trình lắng nghe duy nhất. Mức phơi bày không giống nhau, và quyết định phụ thuộc vào ba điều kiện chứ không phải nhãn mà giao diện của bộ định tuyến dùng.

Điều kiện một: quy tắc thay đổi những trường nào?

Dịch địa chỉ đích và dịch cổng đích là hai thao tác riêng. Một quy tắc có thể chỉ thực hiện thao tác đầu hoặc cả hai cùng lúc, và sự khác biệt quyết định những dịch vụ nào trên máy chủ đích có thể truy cập. Phần lớn giao diện của nhà sản xuất giấu lựa chọn đó sau một nhãn duy nhất. Đọc quy tắc nền là cách duy nhất để biết bạn nhận được loại nào.

Hãy đọc quy tắc thật, không phải nhãn menu. Màn hình ghi DMZ hoặc tất cả các cổng mô tả ý định, không phải đường đi của gói tin. Tài liệu Netfilter NAT tách hai phép dịch, và đó là mô hình tư duy đúng ngay cả khi bộ định tuyến trước mặt bạn là thiết bị tiêu dùng.

Hai trường, hai câu hỏi khác nhau.

Điều kiện hai: cái gì đang lắng nghe trên các cổng được giữ lại?

Nếu quy tắc giữ cổng vào, mỗi cổng đến được giao tới cùng số đó trên máy chủ VPN, theo chính sách đầu vào của máy chủ ấy. Điều này bao gồm những dịch vụ mà bạn có thể đã quên là đang lắng nghe. Quy tắc không tạo ra các dịch vụ đó, và giờ nó là đường dẫn tới chúng.

Nếu quy tắc viết lại cổng, điều ngược lại xảy ra: nhiều cổng bên ngoài sụp về một trình lắng nghe duy nhất, và không gì khác trên máy chủ có thể truy cập qua quy tắc đó. Việc viết lại về một cổng cố định không trở thành quyền truy cập mọi dịch vụ cục bộ chỉ vì một dải cổng ngoài rộng đã khớp với nó. Hai thiết kế thất bại theo các hướng khác nhau, và chế độ thất bại chính là thứ bạn chọn. Hãy chọn cái mà bạn có thể sống chung với thất bại của nó.

Kiểm kê trình lắng nghe trước khi chọn.

Điều kiện ba: lối vào bên ngoài rộng đến đâu?

Công bố một cổng được chọn thì hẹp hơn công bố một dải, và cả hai đều hẹp hơn việc chấp nhận mọi thứ. Độ rộng bên ngoài và phép dịch bên trong là những lựa chọn độc lập, và phần lớn sự nhầm lẫn đến từ việc đổi cái này trong khi mô tả cái kia.

Với một lối vào VPN thông thường, hãy công bố giao thức truyền tải và trình lắng nghe mà thiết kế thực sự cần. Sau đó xem xét thêm ba điều: ánh xạ hiệu lực của bộ định tuyến, các quy tắc đầu vào của chính máy chủ đích, và liệu một trình lắng nghe IPv6 có công bố cùng dịch vụ đó không. Một quy tắc trông hẹp trong họ địa chỉ này có thể rộng trong họ kia.

Viết đầy đủ điểm cuối đã dịch: giao thức, cổng ngoài, địa chỉ trong, cổng trong.

Điều mà không quy tắc nào mang lại cho bạn

Không thiết kế nào chứng minh dịch vụ không có lỗ hổng, và không thiết kế nào bảo vệ tính sẵn sàng. Xác thực, cập nhật và khôi phục vẫn nằm trong phạm vi bất kể ánh xạ cổng hẹp đến đâu. Ánh xạ hẹp làm giảm bề mặt có thể truy cập; nó không làm trình lắng nghe an toàn.

Một quy tắc rộng đã hỗ trợ một dịch vụ hợp pháp khác là sự phụ thuộc, không chỉ là sai sót. Hãy kiểm kê nó và thay thế qua chủ sở hữu trước khi gỡ bỏ, nếu không thay đổi sẽ trông như sự cố do một bản vá bảo mật gây ra. Sự thận trọng tương tự áp dụng cho việc viết lại về một cổng cố định mà thứ khác âm thầm dựa vào.

Phân tích phơi bày là về cái gì có thể tới được cái gì, không phải về nhãn trên màn hình.

Hãy quyết định khi đã cầm điểm cuối đã dịch trong tay

Viết kết quả của quy tắc thành một câu: cổng UDP công khai X tới địa chỉ Y cổng Z. Sau đó hỏi những dịch vụ nào trên Y có thể trả lời trên Z và ai sở hữu chúng.

nft list ruleset

Nếu câu trả lời là đúng một trình lắng nghe bạn dự định, quy tắc đang làm đúng việc của nó.

Nếu câu trả lời là vài cái, bạn đã chọn chuyển tiếp toàn máy chủ, dù giao diện có gọi như vậy hay không.

Bài viết liên quan