Chia sẻ một máy trạm đặt ra câu hỏi mà một laptop dành cho một người dùng không bao giờ phải trả lời: khi một người xác thực đường hầm, ai khác có thể dùng nó? Đăng nhập xác định một chủ thể, còn tuyến đường được cài đặt mô tả một phạm vi, và hai thứ đó không phải cùng một đối tượng. Giữa chúng là hệ điều hành, cấu hình của ứng dụng khách và những gì dịch vụ riêng tự đòi hỏi. So sánh các điểm thực thi là cách duy nhất để trả lời mà không phỏng đoán.

Một lần đăng nhập, nhiều phạm vi

Xác thực trả lời ai đã được vào. Tuyến đường trả lời những gói nào được rời khỏi qua đường hầm. Ủy quyền trả lời dịch vụ nào sẽ chấp nhận kết nối thu được, và không cái nào trong ba điều đó bao hàm cái tiếp theo.

Đường hầm toàn máy chủ là mặc định phổ biến và làm khoảng trống trở nên rõ ràng. Tuyến đường nằm trong bảng của nhân, nên mọi tiến trình dùng bảng đó đều có thể tới mạng riêng, kể cả tiến trình do người dùng chưa từng thấy hộp thoại VPN khởi chạy. Đó không phải lỗi of đường hầm; đó là ý nghĩa của một tuyến đường toàn hệ thống. Dịch vụ riêng vẫn có thể từ chối kết nối, vì thế khả năng tới và quyền cần câu trả lời riêng.

Viết bốn câu hỏi trước khi thử giúp bài đánh giá không thu lại thành một trong số đó.

Ranh giới thực sự nằm ở đâu

Bốn cách bố trí bao phủ phần lớn máy: đường hầm toàn máy chủ, kết nối theo người dùng, danh sách ứng dụng được phép và không gian tên mạng hoặc máy ảo riêng.

Mỗi cách đặt điểm thực thi ở một nơi khác, và khác biệt quan trọng hơn tên gọi. Kết nối theo người dùng do quyền của hồ sơ thực thi, không phải màn hình đăng nhập của màn hình nền. Danh sách ứng dụng được phép được thực thi bên trong ứng dụng khách, thứ quyết định nó sẽ mang gì. Không gian tên hoặc VM thực thi tại ranh giới giao diện, nên tiến trình bên trong hoàn toàn không thấy tuyến đường của máy chủ. Số màn hình đăng nhập trên máy không nói gì về bất kỳ cách nào trong số đó.

ArrangementEnforced byWho can use the path
Host-wide tunnelThe routing tableAny local process using that table
Per-user connectionProfile permission listOnly the listed accounts
Per-app allowlistThe VPN client itselfOnly the selected applications
Namespace or VMThe interface boundaryOnly processes inside it

Đọc bảng theo từng dòng cho thấy câu hỏi thật không phải là có cách ly hay không, mà là nó được triển khai ở đâu.

So sánh bốn điểm thực thi

Trên Linux, bảng tuyến đường là thứ đầu tiên cần xem, vì đường hầm toàn máy chủ xuất hiện ở đó còn không gian tên thì không. Chạy tra cứu với tư cách người dùng thứ hai là bước mọi người bỏ qua; câu trả lời khác với cái họ nhận được khi là chính mình, và điều đó giải thích báo cáo.

Hai kiểm tra tiếp theo nhìn chính sách chứ không phải định tuyến. Một quy tắc tường lửa khớp với UID áp dụng cho lưu lượng sinh ra cục bộ, nên nó có thể tách hai người dùng trên cùng một máy chủ ngay cả khi cả hai chia sẻ tuyến đường. Hồ sơ kết nối với danh sách quyền rõ ràng được trình quản lý mạng thực thi khi kích hoạt. Không kiểm tra nào đòi hỏi thay đổi đường hầm, vì thế đáng làm trước khi thiết kế lại bất cứ thứ gì.

ip route get 10.40.2.10
sudo -u bob ip route get 10.40.2.10
nmcli connection show vpn-work | grep -i permission
sudo nft list ruleset | grep -n skuid

Nếu lần tra cứu thứ hai cho thấy tuyến đường của đường hầm, ranh giới không ở nơi thiết kế giả định.

Quy tắc phiên đồng thời là một kiểm soát riêng

Cổng thường giới hạn số phiên một tài khoản có thể giữ, và giới hạn đó không liên quan gì đến người dùng cục bộ. Nó giới hạn tài khoản, nên người thứ hai đăng nhập bằng cùng thông tin có thể kết thúc đường hầm của người thứ nhất.

Hãy đọc lỗi trước khi cho rằng đó là vấn đề cách ly cục bộ. Giới hạn phiên tạo ra ngắt kết nối tại cổng, còn vấn đề phạm vi tạo ra đường hầm vẫn chạy nhưng đơn giản là không mang lưu lượng của người dùng kia. Hai triệu chứng đó dẫn đến cách sửa hoàn toàn khác nhau. Giữ nguyên thông báo chính xác của ứng dụng khách, vì nó thường nêu tên quy tắc. Hãy hỏi chủ hồ sơ quy trình đã được phê duyệt thay vì lách giới hạn.

Máy ảo không miễn trừ ai khỏi quy tắc đó, và nó thêm thiết kế mạng cùng thông tin đăng nhập của riêng mình.

Kiểm tra bối cảnh bạn quan tâm

Kiểm tra người dùng và ứng dụng dự định, rồi kiểm tra một bối cảnh đáng lẽ bị từ chối. Một bài đánh giá chỉ chứng minh mật khẩu gốc hoạt động là đã kiểm tra xác thực và không gì khác.

sudo -u bob curl -sS -m 5 https://intranet.internal/health
wg show
ss -tnp | grep -E ':443|:51820'

Ghi điểm thực thi bên cạnh từng kết quả: bảng tuyến đường, một quy tắc UID, một quyền hồ sơ hoặc chính sách phiên của cổng. Bản ghi đó làm cho thay đổi tiếp theo có thể xem xét. Nó cũng ngăn cùng một câu hỏi bị mở lại mỗi khi ai đó nhận ra màn hình đăng nhập thứ hai. Khả năng tới không phải ủy quyền, và không cái nào trong hai là cách ly.

Bài viết liên quan