Bị khóa ngoài máy chủ VPN: giữ một đường vào thứ hai
Một đường hầm hỏng không nên lấy đi luôn khả năng sửa máy chủ của bạn. Hãy lập kế hoạch, thử nghiệm và rà soát một đường quản trị độc lập trước khi bạn cần đến nó.
Bạn mở bảng điều khiển, đổi một quy tắc tường lửa, và đường hầm bạn đang kết nối biến mất. Thay đổi đó đúng, việc nạp lại thì không, và giờ con đường duy nhất trở lại máy chính là con đường bạn vừa làm hỏng. Một đường vào thứ hai là một quyết định thiết kế, và nó phải tồn tại trước sự cố, không phải trong lúc sự cố.
Đi qua những gì bạn vẫn còn
Hãy bắt đầu từ màn hình bảng điều khiển trước mặt và liệt kê những đường không phụ thuộc vào đường hầm. Bảng điều khiển web của nhà cung cấp với phiên nối tiếp hoặc VNC là một. Giao diện quản trị trên một mạng riêng là đường khác. Truy cập vật lý là đường thứ ba, và đó chính là thứ người ta phát hiện thiếu vào lúc tệ nhất.
| Path | Depends on | Usually fails when |
|---|---|---|
| Provider console | Account access and the provider's own API | Credentials live in a wiki only reachable over the tunnel |
| Management subnet | A second interface and its own routing | The bad change was a global route or firewall policy |
| Second tunnel | A different listener, port and credentials | Both listeners were changed in the same edit |
| Physical or local console | Being in the building | Nobody has been in the building for a year |
Hãy đọc cột thứ ba như một danh sách hỏng hóc chứ không phải một khái niệm trừu tượng. Hai trong số các đường đó thường hỏng vì cùng một lý do. Bảng này là cách bạn nhận ra điều đó trước khi một sự cố giải thích nó cho bạn.
Tính độc lập là câu hỏi về các phụ thuộc
Tài khoản khôi phục không độc lập nếu mật khẩu của nó được lưu trong một dịch vụ mà bạn tiếp cận qua đường hầm. Một VPN thứ hai trên cùng máy chủ, cùng cổng và cùng chính sách tường lửa cũng không độc lập, vì thay đổi đã phá đường thứ nhất phá cả hai.
Hãy đi xuống theo chuỗi và gọi tên những gì mỗi bước cần. Khả năng tiếp cận mạng, phân giải tên, một nguồn xác thực và chính dịch vụ quản trị là bốn phụ thuộc riêng biệt, và một đường chia sẻ bất kỳ phụ thuộc nào trong số đó sẽ thừa hưởng hỏng hóc ấy.
Con đường chưa từng được thử nghiệm xứng đáng có sự nghi ngờ riêng. Một bảng điều khiển không mở trong nhiều tháng có thể đòi đặt lại mật khẩu qua email, và hộp thư đó có thể được lưu trữ trên chính máy bạn không tiếp cận được. Hãy thử con đường khi mọi thứ đang chạy, và bạn sẽ tìm thấy điều này vào một buổi chiều yên tĩnh.
Dùng đường thứ hai cho một thay đổi có kiểm soát
Từ bảng điều khiển, hãy chụp ảnh trạng thái hoặc sao chép cấu hình bạn sắp sửa. Chỉ thay đổi một thứ. Nạp lại dịch vụ và đọc kết quả trước khi chạm vào bất cứ điều gì khác, vì hai thay đổi cùng lúc biến một lần khôi phục thành một thử nghiệm.
Hãy giữ phiên khôi phục mở trong khi bạn làm việc đó. Toàn bộ giá trị của đường thứ hai là nó sống sót qua chính thứ bạn đang thay đổi, nên đóng nó trước là gỡ bỏ đặc tính duy nhất khiến nó hữu ích.
Xác minh từ đường khôi phục, không phải từ trí nhớ
Phép kiểm tra quan trọng là đường bình thường có trở lại hay không, và phiên khôi phục là nơi bạn xác nhận điều đó theo thứ tự:
systemctl status openvpn-server@server --no-pager ss -lntup | grep -E ':(1194|443)\b' nft list ruleset | sed -n '1,40p' journalctl -u openvpn-server@server --since '-10 min' --no-pager | tail -n 30
Đọc trạng thái dịch vụ trước, rồi đến bộ lắng nghe, rồi đến các quy tắc, rồi đến nhật ký. Một dịch vụ chạy mà không có bộ lắng nghe chỉ vào cấu hình dịch vụ, trong khi một bộ lắng nghe không có quy tắc tiếp cận được chỉ vào việc lọc. Thứ tự quan trọng vì mỗi bước thu hẹp bước sau, và nhảy thẳng tới nhật ký thường có nghĩa là đọc những lỗi mô tả triệu chứng chứ không phải nguyên nhân.
Tài liệu systemctl trình bày hành vi trạng thái và khởi động lại được dùng ở đây, bao gồm cách một lần nạp lại thất bại để tiến trình trước tiếp tục chạy. Khôi phục một bản sửa đổi nhất quán tốt hơn việc kết nối lại nhiều lần từ một máy khách không thể sửa máy chủ. Nếu điều kiện quay lui bạn đặt ra trước thay đổi đã được thỏa mãn, hãy khôi phục và dừng lại.
Giữ bản kiểm kê luôn cập nhật
Rà soát danh sách truy cập khi con người hoặc hạ tầng thay đổi. Thử con đường khôi phục khi mọi thứ đang chạy. Cho nghỉ các tài khoản mà không ai dùng từ lần tái tổ chức gần nhất. Hai tài khoản cũ và một chứng chỉ hết hạn là một lần dọn dẹp nhỏ vào thứ Ba và một sự cố vào Chủ nhật.
Ghi lại ai có thể dùng mỗi đường, nó cho phép điều gì và thông tin đăng nhập được luân chuyển ra sao. Một đường khôi phục không có chủ trở thành lối vào bị lãng quên, đó là một kiểu hỏng hóc khác với bị khóa ngoài.