Laptop của bạn đã mất, và VPN vẫn liệt kê nó như một máy khách. Câu hỏi cấp bách không phải là làm sao xóa hồ sơ trên một cỗ máy bạn không còn giữ, mà là danh tính nào máy chủ vẫn chấp nhận. WireGuard kiểm tra khóa công khai, một cấu hình OpenVPN dựa trên PKI kiểm tra chứng chỉ máy khách, và một VPN dùng SSO kiểm tra tài khoản cùng token phiên của nó. Ba thứ đó bị thu hồi ở những nơi khác nhau và với tốc độ khác nhau, và việc sửa một cái trong khi bỏ qua những cái khác chính là cách một thiết bị bị mất vẫn duy trì kết nối.

Ba danh tính và mỗi cái kiểm soát điều gì

Mỗi cơ chế trả lời một câu hỏi khác nhau. Khóa ngang hàng trả lời đây có phải là cỗ máy bạn đã đăng ký. Chứng chỉ trả lời nó có được CA của bạn ký và chưa bị thu hồi hay không. Tài khoản trả lời người này đã xác thực đủ gần đây hay chưa. Một triển khai chồng hai cơ chế, chẳng hạn chứng chỉ cộng đăng nhập thư mục, chỉ đóng cửa khi mọi lớp đã cấp thứ gì đó cho thiết bị đều được yêu cầu ngừng chấp nhận nó.

Cái bẫy thực tế là cỗ máy đã mất giữ nửa riêng tư của mọi thông tin xác thực, nên không điều gì bạn làm cục bộ đến được máy chủ.

WireGuard: gỡ ngang hàng, vì không có danh sách thu hồi

WireGuard không lưu danh sách cấm nào. Giao diện chấp nhận đúng những khóa công khai được cấu hình làm ngang hàng, nên thu hồi là xóa: chạy wg set wg0 peer <public-key> remove, dạng được ghi trong wg(8), rồi xóa khối [Peer] tương ứng khỏi wg0.conf. Làm cả hai. Việc gỡ chỉ trong lúc chạy sẽ tồn tại đến lần khởi động lại hoặc nạp lại cấu hình tiếp theo, khi tệp đưa khóa trở lại.

Các phiên hiện có không cần bộ hẹn giờ để chết. Gỡ ngang hàng bỏ bắt tay và vật liệu khóa của nó, nên lưu lượng dừng ngay khi cần lại một cặp khóa hợp lệ. Kiểm tra wg show wg0 latest-handshakes trên máy chủ: mục của khóa đã mất phải biến mất và tiếp tục vắng mặt, trong khi các ngang hàng khác vẫn báo cáo kỷ nguyên gần đây.

Một lưu ý quan trọng hơn vẻ ngoài của nó. Nếu thiết bị đã mất chia sẻ khóa với thiết bị khác vì ai đó đã sao chép một tệp cấu hình, gỡ khóa đó sẽ ngắt kết nối tất cả chúng; đó vẫn là bước đúng, và sau đó bạn cấp khóa riêng cho từng thiết bị thay vì khôi phục khóa dùng chung.

Chứng chỉ: CRL chỉ có giá trị nếu daemon đọc nó

Truy cập dựa trên chứng chỉ thêm một bước mà mọi người bỏ qua. easyrsa revoke laptop-01 đánh dấu chứng chỉ là đã thu hồi trong cơ sở dữ liệu CA, nhưng VPN không học được gì từ cơ sở đó. Sau đó bạn chạy easyrsa gen-crl để ghi crl.pem, sao chép nó vào đường dẫn được nêu trong tùy chọn crl-verify của máy chủ, và xác nhận daemon đang chạy dùng tệp mới. Thu hồi mà không tạo lại và phân phối CRL là vô hiệu.

Thời điểm là nửa còn lại. CRL được tra cứu khi máy khách kết nối hoặc đàm phán lại, nên một đường hầm đã lập có thể tiếp tục chuyển tiếp cho đến lúc đó. Nếu thiết bị phải bị cắt ngay, hãy kết thúc phiên đó một cách rõ ràng qua giao diện quản lý của OpenVPN thay vì chờ lần bắt tay tiếp theo. Nạp lại hoặc khởi động lại dịch vụ, tùy cách triển khai nạp CRL, là một phần của thay đổi chứ không phải phần thêm tùy chọn.

Đáng để xác minh từ máy khác: trình chứng chỉ đã thu hồi và chờ bắt tay thất bại, thường là VERIFY ERROR: depth=0, error=certificate revoked. Nếu kết nối vẫn thành công, máy khách đang đọc một CRL khác với cái bạn đã cập nhật.

Tài khoản và phiên: vô hiệu hóa không giống như trục xuất

Đăng nhập thư mục hoặc SSO được kiểm tra tại thời điểm xác thực. Vô hiệu hóa tài khoản chặn lần đăng nhập tiếp theo, nhưng token làm mới và đường hầm đã lập có thể tiếp tục hoạt động cho đến khi hết hạn. Thu hồi phiên và token của người dùng đó, hoặc nâng phiên bản phiên nếu nhà cung cấp danh tính hỗ trợ. Cũng gỡ thiết bị đã mất khỏi đăng ký MFA, vì một trình xác thực đã đăng ký tự nó là một đường truy cập.

VPN dựa trên RADIUS có thể gửi thông điệp ngắt kết nối hoặc thay đổi ủy quyền để hạ một phiên đang hoạt động, nhưng không phải máy chủ truy cập mạng nào cũng tuân theo. Khi nghi ngờ, hãy kết thúc phiên của người dùng từ phía máy chủ và xác nhận trong nhật ký rằng phiên cũ đã đóng.

Thứ tự thao tác cho giờ tiếp theo

Bắt đầu từ kiểm kê, không phải từ máy khách: liệt kê mọi danh tính gắn với thiết bị, dù là khóa ngang hàng, số sê-ri chứng chỉ hay tài khoản. Thu hồi tại từng hệ thống cấp theo thứ tự kết nối được dựng, nghĩa là tài khoản trước, rồi chứng chỉ, rồi ngang hàng. Sau đó chứng minh sự từ chối từ một cỗ máy bạn kiểm soát.

Hai bước tiếp theo dễ bị quên. Thứ nhất, luân chuyển mọi thứ khác mà thiết bị từng giữ, đặc biệt khóa SSH, thông tin xác thực bảng điều khiển đám mây và khóa chia sẻ trước của WireGuard. Thứ hai, kiểm tra rằng quản lý cấu hình, ảnh chụp nhanh hoặc ảnh vàng không thể đưa máy khách đã gỡ trở lại trong lần dựng lại tiếp theo.

Giải pháp bền vững là một danh tính cho mỗi thiết bị. Khi mỗi laptop mang khóa ngang hàng hoặc chứng chỉ riêng, một lần mất chỉ tốn một lệnh thu hồi và một lần cấp lại thay vì dựng lại toàn bộ đội máy.

Bài viết liên quan