SSTP mang PPP bên trong một kết nối HTTPS, vì thế nó trông giống lưu lượng web với bất cứ thứ gì ở giữa. TLS và HTTP thiết lập kênh ngoài, sau đó các thông điệp điều khiển của SSTP chuẩn bị đường hầm, và PPP cung cấp hành vi của phiên. Một trình duyệt tải trang tại cùng địa chỉ đó mới hoàn thành một phần của giai đoạn đầu. Coi đó là bài kiểm tra VPN chính là cách một proxy đang hoạt động bị đổ lỗi cho sự không khớp giao thức.

Đi qua bốn giai đoạn theo thứ tự, và lỗi bạn thấy sẽ rơi vào một trong số đó.

Giai đoạn 1: TCP và TLS

Máy khách mở kết nối TCP tới cổng 443 và thực hiện bắt tay TLS. Chuỗi chứng chỉ phải khớp với tên máy chủ mà máy khách được cấu hình. Sự không khớp tên ở đây tạo ra lỗi trước khi bất kỳ thông điệp SSTP nào được trao đổi, và đặc tả SSTP giả định kênh HTTPS bên ngoài này đã tồn tại. Không gì ở các giai đoạn sau có thể bù đắp cho lỗi tin cậy ở đây.

Một máy chủ web thông thường có thể hoàn thành giai đoạn này hoàn hảo và vẫn thất bại ở giai đoạn sau. Thành công của TLS là bằng chứng về chứng chỉ, không phải về giao thức phía sau nó.

Giai đoạn 2: yêu cầu HTTPS

SSTP gửi yêu cầu bằng một phương thức riêng, SSTP_DUPLEX_POST, và giữ cuộc trao đổi mở thay vì trả về một tài liệu. Một máy chủ hoặc proxy được cấu hình cho các yêu cầu trang thông thường có thể chấp nhận kết nối rồi từ chối phương thức. Sự từ chối đó chính là vấn đề tương thích mà người ta thường mô tả là cổng 443 bị chặn.

Đọc mã phản hồi và phương thức trong nhật ký máy chủ. Từ chối ở giai đoạn này là vấn đề khác với hết thời gian TCP, và cả hai dẫn tới cách khắc phục khác nhau.

Giai đoạn 3: thông điệp điều khiển

Khi yêu cầu được chấp nhận, SSTP trao đổi các thông điệp điều khiển thương lượng và chuẩn bị đường hầm. Đây là thông điệp giao thức bên trong thân HTTPS, không phải yêu cầu HTTP, nên một proxy kiểm tra và viết lại thân có thể làm hỏng chúng trong khi các yêu cầu trang vẫn nguyên vẹn.

Đây là nơi một thiết bị trung gian kiểm tra sâu tạo dựng danh tiếng. Nếu các trang tải được mà VPN thất bại, hãy kiểm tra xem thân có bị sửa hay không, chứ không phải cổng có mở hay không.

Giai đoạn 4: PPP tiếp quản

Sau đó PPP cung cấp hành vi của phiên: thương lượng liên kết, xác thực và cấu hình lớp mạng tiếp theo. Xác thực PPP tách biệt với kiểm tra TLS mà máy khách đã vượt qua. Chứng chỉ máy chủ mà máy khách chấp nhận không nói gì về việc thông tin đăng nhập của người dùng có hợp lệ hay tài khoản có được cấp quyền.

Chứng chỉ được chấp nhận và đăng nhập bị từ chối không mâu thuẫn. Đó là các giai đoạn liên tiếp với kết quả độc lập.

Xác thực có nhiều vai trò

Máy khách xác thực danh tính máy chủ TLS dựa trên kho tin cậy và tên đã cấu hình. Sau đó PPP xác thực người dùng hoặc máy, tùy theo triển khai. Máy chủ có thể thêm chính sách riêng về ai được kết nối và được tới đâu. Giữ tên máy chủ nhất quán với danh tính chứng chỉ, vì thay bằng một địa chỉ thô sẽ biến một cấu hình đang chạy thành lỗi kiểm tra tên.

Ghi lại giai đoạn nào đã báo lỗi. Chứng chỉ, phương thức, thông điệp điều khiển, xác thực PPP, rồi tới tuyến: năm chỗ, năm cách sửa.

Bài kiểm tra bằng trình duyệt có thể và không thể cho thấy gì

Tải một trang tại địa chỉ chứng minh phân giải DNS, khả năng tiếp cận TCP và có thứ gì đó đang lắng nghe và nói HTTP. Nó không chứng minh phương thức được chấp nhận, cuộc trao đổi điều khiển tồn tại hay xác thực PPP đã được cấu hình. Hãy dùng một máy khách triển khai SSTP thay vì chuyển đổi một hồ sơ khác bằng cách đổi cổng.

Khi phiên đã lên, tuyến, DNS và chuyển tiếp phía máy chủ vẫn quyết định người dùng tới được đâu. Đường hầm là một con đường, không phải một sự cho phép.

Bài viết liên quan