Internal Tooling

Bộ Điều Khiển Đội Router MikroTik Không Một Đường Vào từ Bên Ngoài

Thách thức

Mỗi cơ sở khách hàng có một router MikroTik, và mỗi router được quản lý bằng tay: một kỹ sư, một VPN, một phiên SSH, một thay đổi không ai ghi lại. Sao lưu cấu hình diễn ra khi có người nhớ ra. Muốn biết một cơ sở còn hoạt động hay không thì phải hỏi khách hàng. Mở một cổng quản trị vào router biên của khách hàng là lựa chọn không ai muốn đứng ra bảo vệ.

Chúng tôi đã làm gì

Chúng tôi xây một bộ điều khiển quanh một cơ chế duy nhất.

Router chủ động gọi về, không mở cổng vào. Mỗi router chạy một scheduler gọi về qua đường hầm WireGuard mỗi phút một lần và làm theo bất cứ điều gì phản hồi chứa. Onboarding, thực thi lệnh từ xa, giám sát tình trạng hoạt động (liveness), và sao lưu cấu hình hằng đêm, tất cả đều rơi ra từ đúng một vòng lặp đó. Không có scheduler phía bộ điều khiển, không có hàng đợi, và không có đường vào cơ sở khách hàng từ bên ngoài.

Xác thực bằng chính đường hầm. Mỗi router là một WireGuard peer với đúng một địa chỉ /32; cryptokey routing loại bỏ mọi gói tin có địa chỉ nguồn không thuộc về khóa gửi, mạnh hơn bearer token. Bộ điều khiển dựng lại danh sách peer nghiêm ngặt từ cơ sở dữ liệu ở mỗi thay đổi. Một peer canary chạy trong đường hầm liên tục thử chạm tới các router khác và mạng LAN được bảo vệ, chỉ một phản hồi bất thường cũng đủ báo động mọi kênh thông báo.

Onboarding và cập nhật tự vá lỗi. Onboarding chỉ là một dòng dán vào terminal RouterOS, token dùng một lần bị tiêu hủy ngay khi lấy. Bộ quy tắc tường lửa và script trợ giúp đều được đánh phiên bản; router tụt phiên bản tự đẩy bản cập nhật ở lần gọi về kế tiếp. Riêng script gọi về, thứ duy nhất không thể đẩy mù, được nâng cấp qua một scheduler thứ hai, phải xác nhận trước khi bản cũ bị gỡ; script hỏng thì không bao giờ xác nhận, và bản cũ tiếp tục chạy.

Sao lưu có thể so sánh. Sao lưu là một bản export cấu hình mỗi đêm, so sánh (diff) với bản đêm trước, để nhật ký hoạt động ghi lại chính xác điều gì đã thay đổi trên thiết bị.

Điều gì đã thay đổi

Thêm một cơ sở mất đúng thời gian dán một dòng. Cấu hình của mọi router đều có trên hồ sơ và so khác được. Một cơ sở im lặng hiện trên bảng điều khiển trong vòng hai phút, thay vì qua một phiếu hỗ trợ. Bộ điều khiển là một tệp thực thi Go trên một máy ảo, với cơ sở dữ liệu truyền liên tục sang lưu trữ ngoài máy.

Nếu đường vào duy nhất là router gọi ra, thì không còn gì để tấn công.