Thất bại bắt tay SSL là gì?
Trình duyệt thu gom không rác chạy các phiên trình duyệt trong một trình duyệt đám mây được quản lý cho các quy trình công việc trên web công cộng mà cần hành vi TLS và trang đã được kết xuất của trình duyệt.
TL;DR
- Thất bại bắt tay SSL có một ranh giới kỹ thuật chính xác. Lỗi có thể là cục bộ hoặc từ xa. Một khách hàng có thể từ chối chứng chỉ máy chủ, một máy chủ có thể từ chối đề nghị giao thức hoặc chứng chỉ của khách hàng, một cân bằng tải có thể cung cấp chứng chỉ sai cho tên máy chủ, hoặc một proxy kiểm tra có thể thay đổi đường dẫn tin cậy. Yêu cầu ứng dụng thông thường không bao giờ đến được bộ xử lý HTTP.
- Không có phiên bản TLS tương thích là một nguyên nhân phổ biến. Một khách hàng cũ có thể chỉ cung cấp các phiên bản đã bị vô hiệu hóa, hoặc một máy chủ có thể bị giới hạn ở một phiên bản mà khách hàng không hỗ trợ. Cách sửa chữa an toàn là cập nhật đối tác lỗi thời, không khôi phục các giao thức lỗi thời một cách tùy tiện.
- Thuật ngữ thay đổi bước tiếp theo an toàn. Bắt tay SSL là từ ngữ phổ biến, nhưng các kết nối HTTPS sản xuất sử dụng TLS; chẩn đoán nên nêu tên phiên bản TLS đã đàm phán và cảnh báo khi có sẵn.
- Kiểm tra đồng hồ thiết bị. Ngày, giờ và múi giờ phải chính xác để kiểm tra tính hợp lệ của chứng chỉ.
- Lỗi TLS trong tự động hóa trình duyệt yêu cầu phân loại rõ ràng. Chỉ sử dụng các mục tiêu công cộng hoặc được ủy quyền và không để thông tin đăng nhập phiên trong nhật ký. Một trình duyệt được quản lý có thể chuẩn hóa phía khách hàng, nhưng nó không thay đổi mô hình quyền của mục tiêu hoặc làm cho chứng chỉ không hợp lệ đáng tin cậy.
Mã hóa không thể bắt đầu cho đến khi cả hai đối tác đồng ý
Thất bại bắt tay SSL có nghĩa là khách hàng và máy chủ đã không hoàn thành việc đàm phán cần thiết trước khi dữ liệu ứng dụng HTTPS có thể chảy. Giao thức hiện đại là TLS, nhưng thông điệp trình duyệt, thư viện và nhật ký máy chủ vẫn sử dụng SSL như một nhãn quen thuộc.
Bắt tay chọn các tham số giao thức, thiết lập các khóa chia sẻ, xác thực máy chủ bằng chứng chỉ và có thể xác thực khách hàng. Một lỗi ở bất kỳ giai đoạn nào trong số đó có thể tạo ra một thông điệp chung mặc dù việc sửa chữa là khác nhau. Thay đổi chứng chỉ sẽ không khắc phục được sự không khớp giao thức, và việc kích hoạt các giao thức cũ hơn có thể làm yếu đi an ninh mà không giải quyết được chuỗi chứng chỉ bị thiếu.
Chẩn đoán nên tái tạo kết nối với tên máy chủ thực, quan sát cảnh báo và chuỗi chứng chỉ, so sánh với một khách hàng hiện tại khác, và kiểm tra nhật ký TLS phía máy chủ. Mục tiêu là xác định thông điệp bắt tay đầu tiên không đạt yêu cầu trước khi thay đổi chính sách mật mã.
Ý nghĩa trực tiếp của một thất bại bắt tay SSL
Một thất bại bắt tay SSL xảy ra khi các đối tác TLS không thể hoàn thành việc thiết lập khóa xác thực và đồng ý về các tham số cần thiết cho một phiên mã hóa. RFC 8446 định nghĩa bắt tay TLS 1.3 là một trao đổi khóa xác thực xuất ra khóa phiên, các tham số đã đàm phán và danh tính đối tác.
Lỗi có thể là cục bộ hoặc từ xa. Một khách hàng có thể từ chối chứng chỉ máy chủ, một máy chủ có thể từ chối đề nghị giao thức hoặc chứng chỉ của khách hàng, một cân bằng tải có thể cung cấp chứng chỉ sai cho tên máy chủ, hoặc một proxy kiểm tra có thể thay đổi đường dẫn tin cậy. Yêu cầu ứng dụng thông thường không bao giờ đến được bộ xử lý HTTP.
Nơi mà một bắt tay TLS có thể dừng lại
Khách hàng bắt đầu với một ClientHello mang các phiên bản, tùy chọn mật mã, phần mở rộng và tên máy chủ yêu cầu được hỗ trợ. Máy chủ chọn các tham số tương thích và trả lại ServerHello của mình. Nếu không có phiên bản hoặc thuật toán nào chấp nhận được, việc đàm phán có thể kết thúc ở đây.
Máy chủ sau đó xác thực chính nó bằng một chuỗi chứng chỉ và bằng chứng rằng nó giữ khóa riêng tương ứng. Khách hàng xác thực chuỗi, tên máy chủ, thời gian hiệu lực, chính sách chữ ký và mỏ neo tin cậy. Một chuỗi trung gian bị thiếu hoặc tên máy chủ sai có thể dừng kết nối trước khi HTTP bắt đầu.
Một số dịch vụ yêu cầu chứng chỉ khách hàng. Máy chủ yêu cầu chứng chỉ đó, và khách hàng phải trình bày một chứng chỉ phù hợp và chứng minh quyền sở hữu khóa riêng. Cuối cùng, cả hai đối tác xác minh biên bản bắt tay và tạo ra các khóa lưu lượng. Các cảnh báo gần những giai đoạn này thu hẹp nguyên nhân xuống việc đàm phán, danh tính máy chủ, danh tính khách hàng hoặc tính toàn vẹn.
| Giai đoạn bắt tay | Kết quả mong đợi | Manh mối thất bại |
|---|---|---|
| ClientHello | Phiên bản và tùy chọn được hỗ trợ được cung cấp | Không có giao thức chia sẻ, thuật toán hoặc phần mở rộng cần thiết |
| Danh tính máy chủ | Chuỗi chứng chỉ đúng cho tên máy chủ | Nhà phát hành không xác định, tên sai, chứng chỉ hết hạn |
| Danh tính khách hàng | Chứng chỉ khách hàng được chấp nhận khi cần thiết | Chứng chỉ khách hàng bị thiếu hoặc không đáng tin cậy |
| Thông điệp hoàn tất | Cả hai đối tác xác minh biên bản | Khóa, chữ ký, hoặc sự cố trung gian |
Nguyên nhân thất bại bắt tay SSL phổ biến
Các danh mục hữu ích nhất là tính tương thích, danh tính máy chủ, định tuyến tên máy chủ, xác thực khách hàng và sự can thiệp.
Không có phiên bản TLS tương thích
Một khách hàng cũ có thể chỉ cung cấp các phiên bản đã bị vô hiệu hóa, hoặc một máy chủ có thể bị giới hạn ở một phiên bản mà khách hàng không hỗ trợ. Cách sửa chữa an toàn là cập nhật đối tác lỗi thời, không khôi phục các giao thức lỗi thời một cách tùy tiện.
Không có thuật toán mật mã chấp nhận được
Chính sách máy khách và máy chủ có thể không có bộ mã hóa hoặc thuật toán chữ ký chung. So sánh các tập hợp cấu hình và mặc định nền tảng hiện đại.
Chuỗi chứng chỉ không đầy đủ hoặc không hợp lệ
Máy chủ có thể bỏ qua một chứng chỉ trung gian, trình bày một chứng chỉ đã hết hạn, hoặc sử dụng một chuỗi mà máy khách không thể xây dựng đến một gốc tin cậy.
Chứng chỉ sai cho tên miền
Một bộ cân bằng tải hoặc máy chủ ảo có thể chọn một chứng chỉ mặc định khi định tuyến SNI bị thiếu hoặc cấu hình sai. Chứng chỉ sau đó chỉ định một trang web khác.
Chứng chỉ của máy khách bị từ chối
TLS tương hỗ có thể thất bại khi máy khách không gửi chứng chỉ, gửi chứng chỉ sai, một nhà phát hành không tin cậy, hoặc một chứng chỉ không có mục đích sử dụng cần thiết.
Máy chủ proxy kiểm tra hoặc vấn đề đồng hồ
Kiểm tra TLS thay đổi chuỗi trình bày, trong khi đồng hồ thiết bị không chính xác có thể làm cho chứng chỉ hợp lệ xuất hiện ngoài khoảng thời gian hiệu lực của nó.
Tìm giai đoạn bắt tay bị hỏng đầu tiên
Tái hiện với tên miền chính xác và thu thập bằng chứng từ cả hai bên trước khi thay đổi giao thức hoặc cài đặt tin cậy.
- Ghi lại lỗi máy khách chính xác và cảnh báo máy chủ. Ngôn từ trình duyệt chung ít hữu ích hơn so với mã thư viện, cảnh báo TLS, và nhật ký máy chủ trong cùng một thời điểm.
- Sử dụng tên miền thực. Kiểm tra với SNI và xác minh tên miền được kích hoạt; kết nối chỉ qua IP có thể chọn một máy chủ ảo và chứng chỉ khác.
- Kiểm tra chuỗi trình bày. Xác nhận chứng chỉ lá, thứ tự trung gian, tên miền, thời gian hiệu lực, nhà phát hành, chữ ký, và liệu chuỗi có đến một gốc tin cậy hay không.
- So sánh một máy khách hiện tại. Nếu một trình duyệt hiện đại hoạt động nhưng một môi trường cũ thất bại, hãy so sánh các phiên bản TLS được hỗ trợ, các thuật toán chữ ký, và kho tin cậy.
- Kiểm tra lựa chọn máy chủ. Xác minh rằng bộ cân bằng tải, đi vào, và máy chủ ảo chọn chứng chỉ và chính sách TLS dự kiến cho tên đã yêu cầu.
- Xem lại chính sách chứng chỉ máy khách. Đối với TLS tương hỗ, kiểm tra các nhà phát hành được yêu cầu, mục đích sử dụng chứng chỉ máy khách, chuỗi, và quyền truy cập khóa riêng.
- So sánh thông qua và xung quanh kiểm tra đã được phê duyệt. Với quản trị viên mạng, xác định liệu một proxy doanh nghiệp hoặc sản phẩm bảo mật có thay đổi chứng chỉ hoặc đường dẫn bắt tay hay không.
Mô hình bắt tay trong tài liệu kỹ thuật TLS 1.3, Hướng dẫn kết nối an toàn của Chrome trong trợ giúp kết nối an toàn của Chrome, và phân loại lỗi chứng chỉ của Mozilla trong hướng dẫn lỗi chứng chỉ của Mozilla giúp tách biệt thương lượng với các lỗi tin cậy.
Kiểm tra an toàn cho người dùng
Một lỗi TLS bảo vệ kết nối, vì vậy phản hồi nên duy trì bảo vệ đó trong khi cô lập các điều kiện địa phương.
- Kiểm tra đồng hồ thiết bị. Ngày, giờ, và múi giờ phải chính xác cho các kiểm tra hiệu lực chứng chỉ.
- Cập nhật trình duyệt và hệ điều hành. Các máy khách hiện tại mang hỗ trợ giao thức hiện đại và cập nhật kho tin cậy.
- So sánh một mạng đáng tin cậy khác. Một cổng captive, VPN, hoặc máy chủ proxy kiểm tra có thể thay đổi bắt tay và chứng chỉ trình bày.
- Không cài đặt chứng chỉ gốc không rõ. Xác nhận bất kỳ chứng chỉ nơi làm việc hoặc trường học nào với quản trị viên trước khi tin tưởng nó.
Sửa chữa TLS phía máy chủ
Các nhà điều hành nên sửa chữa giai đoạn thất bại trong khi giữ chính sách chứng chỉ và giao thức hiện đại nguyên vẹn.
Trình bày chuỗi chứng chỉ đầy đủ dự kiến, liên kết nó với tên miền chính xác, và xác nhận quyền truy cập khóa riêng. Kiểm tra mỗi vùng cạnh và bộ lắng nghe bộ cân bằng tải vì một nút đã lỗi thời có thể trình bày danh tính khác với phần còn lại của đội tàu.
Giữ chồng chập có chủ ý giữa các máy khách hiện đại được hỗ trợ và các thuật toán máy chủ. Khi một môi trường cũ thất bại, kiểm kê nhu cầu kinh doanh thực sự của nó và nâng cấp nó. Khôi phục các giao thức lỗi thời hoặc các thuật toán yếu để tương thích rộng rãi tăng nguy cơ và có thể vi phạm chính sách nền tảng.
Đối với TLS tương hỗ, công bố các yêu cầu về máy khách-chủ phát hành và sử dụng, theo dõi lý do từ chối và xoay vòng chứng chỉ máy khách với chồng chéo. Giữ số liệu về bắt tay tách biệt với số liệu HTTP vì các phiên TLS thất bại không bao giờ đạt đến các lộ trình ứng dụng.
Thất bại Bắt tay so với Lỗi Chứng chỉ
Xác minh chứng chỉ là một giai đoạn bắt tay, nhưng nhiều thất bại bắt tay xảy ra trước hoặc ngoài sự tin cậy của chứng chỉ.
| Triệu chứng | Lớp chính | Tập trung chẩn đoán |
|---|---|---|
| Thất bại bắt tay SSL | Thương lượng TLS không hoàn tất | Giao thức, thuật toán, SNI, chứng chỉ, xác thực máy khách |
| Lỗi chứng chỉ | Danh tính trình bày không thành công | Chuỗi, tên miền, thời gian, chủ phát hành, thu hồi |
| HTTP 5xx | TLS hoàn tất và máy chủ trả về HTTP | Ứng dụng hoặc dịch vụ thượng nguồn |
| TCP bị đặt lại | Vận chuyển kết thúc đột ngột | Địa điểm hoặc đường truyền mạng trung gian |
Thất bại TLS trong Tự động hóa Trình duyệt
Cái Trình duyệt Thu thập Không có Rác sử dụng môi trường trình duyệt để thu hồi web công cộng, điều này phù hợp với hành vi TLS và rendering với các quy trình dựa trên trình duyệt. Một công việc vẫn nên ghi lại tên miền mục tiêu, giai đoạn kết nối, lỗi trình duyệt và xác minh trang cuối cùng.
Không tắt xác minh chứng chỉ để làm cho tự động hóa có vẻ thành công. Điều đó loại bỏ sự đảm bảo danh tính máy chủ và có thể tiết lộ thông tin xác thực hoặc dữ liệu đã thu thập. Nếu một mục tiêu có khiếm khuyết chứng chỉ hợp lệ, phân loại công việc là một thất bại kết nối an toàn và liên hệ với chủ sở hữu trang web.
Chỉ sử dụng các mục tiêu công khai hoặc được ủy quyền và giữ thông tin xác thực phiên ra khỏi nhật ký. Một trình duyệt được quản lý có thể chuẩn hóa phía máy khách, nhưng nó không thay đổi mô hình quyền của mục tiêu hoặc khiến chứng chỉ không hợp lệ trở nên đáng tin cậy.
Chẩn đoán Giai đoạn Bắt tay, Không phải Nhãn Chung
Một thất bại bắt tay SSL có nghĩa là thương lượng TLS đã kết thúc trước khi một phiên ứng dụng an toàn được thiết lập. Sự tương thích giao thức, chính sách mật mã, định tuyến SNI, chứng chỉ máy chủ, chứng chỉ máy khách và kiểm tra có thể ngăn chặn mỗi giai đoạn khác nhau.
Tái tạo với tên miền chính xác, xem xét cảnh báo và chuỗi, so sánh một máy khách hiện tại và đối chiếu nhật ký máy chủ. Sửa chữa giai đoạn đó trong khi giữ cho xác minh chứng chỉ và chính sách giao thức hiện đại được bật.
Sẵn sàng làm cho các Thất bại Kết nối An toàn dễ chẩn đoán hơn?
Ghi lại ranh giới bắt tay, bằng chứng chứng chỉ, URL cuối cùng và nội dung được rendering trước khi một thất bại trang an toàn đến dữ liệu hạ nguồn.
Đăng ký hôm nay và nhận $5 trong tín dụng miễn phí — không yêu cầu thẻ tín dụng.
Đòi $5 Tín dụng của bạn →Câu hỏi thường gặp
Thất bại bắt tay SSL có giống như lỗi chứng chỉ không?
Một lỗi chứng chỉ là một nguyên nhân có thể gây ra thất bại bắt tay SSL, nhưng thương lượng cũng có thể thất bại vì phiên bản TLS, thuật toán mật mã, SNI, chứng chỉ máy khách, hoặc các vấn đề tính toàn vẹn.
Thời gian hệ thống sai có thể gây ra thất bại bắt tay không?
Một đồng hồ không chính xác có thể làm cho một chứng chỉ xuất hiện đã hết hạn hoặc chưa hợp lệ, dẫn đến việc xác minh chứng chỉ và bắt tay dừng lại. Đúng ngày, giờ và múi giờ trước khi thay đổi sâu hơn.
Có nên bật các phiên bản TLS cũ hơn để sửa lỗi không?
Không được bật rộng rãi các phiên bản TLS lỗi thời như một cách sửa nhanh. Nhận diện đối tác lỗi thời và cập nhật nó, sau đó giữ cho máy chủ trong một chính sách tương thích hiện đại có chủ đích.
SNI gây ra thất bại bắt tay như thế nào?
SNI cho biết một máy chủ chung tên miền nào mà máy khách muốn. SNI thiếu hoặc không chính xác có thể chọn một máy chủ ảo mặc định, chứng chỉ sai hoặc chính sách TLS không tương thích.
Một trình thu thập có thể bỏ qua các thất bại bắt tay SSL không?
Một trình thu thập không nên bỏ qua các thất bại bắt tay hoặc tắt xác minh chứng chỉ. Nó nên ghi lại lỗi kết nối an toàn, loại trừ kết quả khỏi việc trích xuất và sử dụng một đường dẫn được ủy quyền sau khi chứng chỉ hoặc cấu hình TLS được sửa chữa.