Hai luồng gói tin đi qua một cổng Shorewall kết thúc OpenVPN, và chỉ một trong hai được mã hóa. Luồng thứ nhất là vận chuyển của máy khách tới bộ lắng nghe VPN trên giao diện hướng ra internet. Luồng thứ hai là yêu cầu đã giải mã rời khỏi giao diện đường hầm tới một máy chủ văn phòng hoặc một dịch vụ trên cổng. Hãy vẽ cả hai trước khi sửa chính sách, vì một quy tắc thỏa mãn luồng thứ nhất không làm gì cho luồng thứ hai.

Hãy vẽ hai luồng trước khi sửa chính sách

Viết các luồng thành các hàng với nguồn, đích, giao thức và cổng. Trên đường ngoài, nguồn là địa chỉ công cộng của máy khách và đích là cổng lắng nghe của cổng vào; Shorewall coi đó là lưu lượng từ internet tới tường lửa. Trên đường trong, nguồn là dải địa chỉ của đường hầm và đích là dịch vụ đã được phê duyệt. Hai hàng có chủ sở hữu khác nhau ngay cả khi một quản trị viên duy trì cả hai.

FlowZone relationshipWhat to constrain
Encrypted OpenVPN transportInternet to the firewall hostThe listener's actual protocol and port
Decrypted request to a LAN serviceVPN clients to the LAN zoneOne approved server and service
Decrypted request to the gatewayVPN clients to the firewall hostOnly the local services required
Request to another VPN clientVPN clients to VPN clientsDenied unless deliberately required

Chỉ thêm một hàng khi yêu cầu kết thúc ngay trên cổng, chẳng hạn truy cập bộ phân giải hoặc phần quản trị. Một dịch vụ trên máy chủ tuân theo chính sách đầu vào của máy chủ, không phải đường được chuyển tiếp. Chính việc trộn hai thứ này khiến một quy tắc đường hầm hẹp cuối cùng lại để lộ giao diện quản trị.

Gán vùng đường hầm và phạm vi giao diện

Vùng của người dùng di động được khai báo trong /etc/shorewall/zones, giao diện đường hầm được gắn trong /etc/shorewall/interfaces, và kết nối bên ngoài được mô tả trong /etc/shorewall/tunnels. Hãy thích ứng với cú pháp của bản phát hành đã cài, vì thứ tự cột và tên tùy chọn đã thay đổi giữa các phiên bản chính. Cổng ví dụ trong hướng dẫn không phải lý do để cho phép một cổng khác với cổng mà daemon thực sự lắng nghe. TCP và UDP không thể hoán đổi chỉ vì các con số trùng nhau.

Hướng dẫn nhóm các giao diện bằng tun+. Trên một máy chủ có nhiều hơn một đường hầm, ký tự đại diện đó có thể đặt một VPN thứ hai với mức tin cậy khác vào cùng vùng. Hãy xem lại phạm vi so với các giao diện thực sự tồn tại, và giữ việc đặt tên trong vòng đời của trình quản lý kết nối thay vì sửa tên giao diện bằng tay.

Hướng dẫn lịch sử chứa các mẫu cấu hình OpenVPN cũ hơn nhiều, và lời khuyên mật mã của nó không nên được sao chép vào một triển khai hiện tại. Thay vào đó hãy mượn mô hình vùng và luồng. Lấy nền tảng mật mã từ chính sách OpenVPN được duy trì của cổng.

Chỉ cho phép đường đi mà bạn đã phân loại

Việc chấp nhận rộng từ vùng VPN tới LAN là bản phác thảo ban đầu, không phải chính sách hoàn chỉnh. Viết nguồn máy khách được phép, địa chỉ thực của dịch vụ, giao thức và cổng. Sau đó đọc các quy tắc bên trên và giá trị mặc định của vùng, vì một bổ sung hẹp không hủy bỏ một quyền rộng đã khớp. Lưu lượng tới máy chủ của cổng là một quan hệ riêng so với lưu lượng được chuyển tiếp qua nó.

Lưu lượng giữa các máy khách cần quyết định riêng. client-to-client của OpenVPN và routeback của Shorewall đều ảnh hưởng việc các máy khách có thể tới nhau hay không, và không nên bật cái nào chỉ để một ứng dụng LAN hoạt động. Hãy quyết định nơi cách ly được áp dụng trước khi kiểm tra.

Giữ đường phản hồi trong cùng một kế hoạch. Dịch vụ hoặc bộ định tuyến của nó phải biết cách trả lưu lượng về dải đường hầm, hoặc thiết kế phải dịch nguồn một cách có chủ đích và trong phạm vi dự kiến.

Kiểm chứng, rồi chứng minh cả hai đường

Kiểm chứng cấu hình trước khi khởi động lại bất cứ thứ gì, và giữ một phiên quản trị độc lập mở sẵn phòng khi chính sách mới sai.

shorewall check

Sau một lần kiểm tra sạch, hãy áp dụng cấu hình và đọc lại những gì Shorewall đã nạp. Những lần đọc này mô tả chính sách đang chạy chứ không phải điều mà một tệp có vẻ nói.

shorewall show zones
ip route get 192.168.10.20

Thử một yêu cầu mới được phép và một yêu cầu bị từ chối có chủ đích từ cùng một máy khách. Một cái bắt tay OpenVPN thành công chỉ chứng minh trao đổi bên ngoài; dịch vụ được phép và tài nguyên bị từ chối chứng minh chính sách bên trong mà bạn dự định. Sau đó kết nối lại máy khách và lặp lại, vì tên và địa chỉ của giao diện đường hầm có thể thay đổi giữa các phiên. Nếu kết quả khác, hãy sửa phạm vi của vùng thay vì mở rộng quy tắc.

Bài viết liên quan