Tên máy chủ và cờ quốc gia trông giống như sự thật về một máy chủ, và không cái nào là như vậy. Một cái tên trỏ tới các địa chỉ có thể thay đổi, và những từ bên trong do người đăng ký nó chọn. Giao thức, vị trí thoát và hành vi ghi nhật ký mỗi thứ cần bằng chứng riêng. Hãy bắt đầu với điều mà cái tên thực sự phân giải tới, rồi quyết định điều gì vẫn chưa biết.

Cái tên phân giải, và không gì khác được xác định

Tên máy chủ là một con trỏ trong DNS, và các bản ghi phía sau nó có thể khác nhau theo trình phân giải, theo thời điểm trong ngày và theo họ địa chỉ mà máy khách ưa thích. Hai người đọc cùng một mục trong danh bạ có thể đến được những máy khác nhau một cách hợp pháp. Cái tên cho biết cần hỏi gì, không phải điều gì sẽ trả lời.

Kết quả tra cứu cũng thay đổi mà không báo trước, điều này quan trọng khi một hồ sơ ghim địa chỉ thay vì tên. Hồ sơ mã hóa cứng địa chỉ cũ vẫn tiếp tục thất bại sau khi nhà vận hành chuyển dịch vụ, và lỗi trông giống như một cổng bị chặn. Giữ các địa chỉ đã phân giải bên cạnh hồ sơ để lần so sánh sau có đường cơ sở. Không điều nào trong số đó nói ai vận hành đầu bên kia.

dig +short vpn.example.net A
dig +short vpn.example.net AAAA
dig +short vpn.example.net A @1.1.1.1

Vận chuyển và danh tính là hai câu hỏi riêng

Một trang web mở ở tên máy chủ kiểm tra một bộ lắng nghe trên một cổng. OpenVPN, IPsec và SSTP lắng nghe ở nơi khác, trên cổng và giao thức riêng của chúng, nên một máy chủ web truy cập được không nói gì về chúng.

Mục trong danh bạ và hồ sơ phải khớp nhau về vận chuyển, cổng và thông tin xác thực. Danh tính được xác minh bằng chuỗi chứng chỉ hoặc dấu vân tay khóa của đối tác mà máy khách được cấu hình, không phải bằng cách viết tên máy chủ. Một cái tên chứa từ dự án quen thuộc chỉ chứng minh rằng ai đó đã đăng ký nó. Đọc chứng chỉ mà dịch vụ trình bày và so sánh nhà phát hành và chủ thể với điều hồ sơ mong đợi.

openssl s_client -connect vpn.example.net:443 -servername vpn.example.net </dev/null 2>/dev/null |
  openssl x509 -noout -subject -issuer -dates

Từ ngữ quốc gia không phải kiểm toán vị trí

Nhãn jp hoặc de trong danh bạ là một đăng ký, và cơ sở dữ liệu định vị địa lý IP không đồng ý đủ thường xuyên để không cái nào nên được coi là sự thật tuyệt đối. Lưu trữ chia sẻ, anycast và cấu hình sai đơn giản đều đẩy vị trí quan sát được ra xa nhãn.

Bài kiểm tra thực tế là đường đi của chính ứng dụng: nó đến địa chỉ nào, và kiểm tra địa chỉ thoát từ bên trong phiên cho thấy gì. Địa chỉ thoát quan sát được là thuộc tính của tuyến tại thời điểm đó, không phải bảo đảm gắn với cái tên. Danh bạ tình nguyện thêm một lớp nữa, vì người đăng ký một mục không nhất thiết là người vận hành máy. Ghi lại bạn đã đo gì và khi nào, không phải điều mục đó hứa.

Kiểm tra dịch vụ được cung cấp, rồi đến nhà vận hành

Khi vận chuyển và danh tính đã được xác định, câu hỏi còn lại là hành vi của nhà vận hành, và điều đó cần bằng chứng tài liệu thay vì suy đoán. Chính sách quyền riêng tư, liên hệ được công bố và thông báo minh bạch là bằng chứng về ý định; không cái nào chứng minh thực tế, và việc thiếu cả ba cũng là thông tin.

Với một nút công khai hoặc do tình nguyện viên vận hành, hãy giả định rằng lối thoát được chia sẻ và người vận hành nó có thể thấy những gì đi qua. Không phải tên máy chủ, mà chính giả định đó phải quyết định bạn gửi gì qua đường hầm.

curl -sSI https://vpn.example.net/ | head -n 5
whois 203.0.113.25 | grep -i -E 'orgname|netname'

Giữ cái tên cho việc nó làm tốt: tìm một điểm cuối và kết nối tới đó. Mọi thứ khác phải được kiểm tra riêng, vào ngày nó quan trọng.

Bài viết liên quan