Cổng VPN gộp hay tách: chọn theo miền thất bại
Đếm thiết bị không dạy được gì. Hãy ghi lại cái gì hỏng cùng lúc, chính sách được thực thi ở đâu và cách bạn đến cổng khi nó hỏng.
Hai thiết bị trông kiên cố hơn một cho đến khi bạn nhận ra chúng dùng chung ổ điện, cùng hypervisor và cùng đường truyền lên. Đếm hộp trả lời một câu hỏi không ai đặt ra; câu hỏi hữu ích là cái gì hỏng cùng lúc. Hãy viết hợp đồng thất bại trước, rồi để nó chọn cấu trúc. Runbook dưới đây tạo ra bản ghi đó.
Cái gì dừng trong một lần khởi động lại
Với cổng gộp, hãy liệt kê cái gì biến mất trong một lần khởi động lại, một bản cập nhật thất bại hoặc một lỗi phần cứng. Nếu truy cập internet và kết nối riêng cùng dừng, gián đoạn chung đó nay là một phần yêu cầu về tính sẵn sàng của bạn, dù có ai viết ra hay không. Bài tập tương tự áp dụng cho một thiết bị kết thúc nhiều vai trò: danh sách dịch vụ mà nó hạ xuống chính là đặc tả thực sự.
Với cổng tách, hãy liệt kê cái gì vẫn dùng chung: điện, máy chủ ảo hóa, đường truyền lên, nhà cung cấp danh tính, mạng quản trị. Hai thiết bị sau một switch hỏng là một miền thất bại với hai tên máy chủ. Sự tách rời bỏ qua những phụ thuộc đó là sơ đồ, không phải thiết kế.
Cũng hãy đếm quyền sở hữu bảo trì. Một thiết bị nữa mang theo cấu hình, giám sát, sao lưu và quy trình khôi phục thứ hai, và không thứ nào miễn phí.
Đánh dấu nơi mỗi quy tắc được thực thi
Theo một gói tin từ máy khách đến một tài nguyên riêng và quay lại, và đánh dấu mọi nơi chính sách được áp dụng. Router thứ hai thêm một điểm nữa nơi ưu tiên tuyến, chuyển đổi hoặc trạng thái kết nối có thể không đồng ý với cái đầu. Hầu hết các lỗi bí ẩn trong thiết kế hai cổng sống ở đường nối đó.
ip route get 10.20.30.40
traceroute -n 10.20.30.40
conntrack -L -p tcp --dport 443Ghi lại nơi bảo vệ VPN kết thúc và nơi chính sách bên trong bắt đầu. Nếu đường giữa hai thiết bị là dễ dãi, hộp thứ hai không tạo ra ranh giới; nó chỉ dời chỗ mà một ranh giới lẽ ra có thể ở. Trên một nền tảng, các vùng chính sách riêng vẫn có thể hiệu quả, và hiệu quả của chúng nên được đánh giá từ các quy tắc thay vì bị loại bỏ vì phần cứng dùng chung.
Dừng lại nếu bạn không thể nói thiết bị nào thực thi quy tắc quan trọng. Khoảng trống đó chính là phát hiện, không phải chi tiết để giải quyết sau.
Ngăn chặn là ranh giới, không phải khung máy
Một thiết bị riêng chỉ ngăn được xâm nhập khi đường đi qua nó bị giới hạn ở những gì phía bên kia cần. Nếu cả hai thiết bị chấp nhận mọi lưu lượng từ nhau, kẻ tấn công đáp xuống một bên có cùng tầm với như trước. Tuyên bố ngăn chặn thuộc về bộ quy tắc, không thuộc về bản kiểm kê. Hãy đọc quy tắc, nói rõ luồng nào được phép, rồi quyết định xem việc tách có mua được gì không.
Logic tương tự áp dụng cho người dùng. Một người dùng VPN được tin vì mạng họ đến từ đó đang tin vị trí thay vì danh tính, và hướng dẫn zero trust của NIST mô tả lựa chọn thay thế: xác thực và cấp quyền cho từng yêu cầu đối với tài nguyên. Nguyên tắc đó đúng bất kể khung máy nào kết thúc đường hầm.
Nếu việc tách tồn tại để thỏa một dòng tuân thủ thay vì để thay đổi một luồng, hãy nói điều đó trong bản ghi. Một kiểm soát không ai giải thích được là thứ đầu tiên bị gỡ dưới áp lực.
Khôi phục cái bạn thực sự chạm tới
Hỏi đường khôi phục nào sống sót khi một trong hai vai trò chết. Khi cách duy nhất đến một cổng VPN hỏng là đi qua chính cổng đó, một thiết bị dự phòng ở nơi khác không giúp được người quản trị phải sửa nó. Một đường ngoài băng, một console và một quy trình quay lui có tài liệu là những phần khiến thiết kế có thể khôi phục.
systemctl status strongswan
nft list ruleset
ip -brief addressĐịnh cỡ thiết kế cho toàn bộ khối lượng công việc được hỗ trợ thay vì một con số mã hóa riêng lẻ, vì lọc và kiểm tra tiêu thụ cùng phần cứng. Dùng tài liệu nhà cung cấp và đo đạc của bạn thay vì giả định việc tách nhanh hơn hay chậm hơn. Sau đó viết bản ghi quyết định: luồng nào được phép, phụ thuộc nào dùng chung, cửa sổ bảo trì hạ cái gì, bằng chứng dung lượng nào bạn có và ai sở hữu từng bước khôi phục. Bản ghi đó đủ ngắn để xem lại và đủ cụ thể để quay lại.
Runbook kết thúc khi hợp đồng thất bại được viết, đường chuyển tiếp có một điểm thực thi được đặt tên cho mỗi quy tắc, ngăn chặn được mô tả bằng luồng thay vì số thiết bị, và khôi phục hoạt động từ bên ngoài thành phần hỏng. Chọn cách bố trí đơn giản hơn đáp ứng những yêu cầu đó.