Defaults.Exposed

Defaults.ExposedCách khắc phục › Mã hóa hiện đại (phiên bản TLS & cipher)

Cách khắc phục Mã hóa hiện đại (phiên bản TLS & cipher)

TLS là ổ khóa xáo trộn dữ liệu chảy giữa khách truy cập và website của bạn. Hai thứ làm cho ổ khóa đó đáng tin: dùng phiên bản TLS hiện đại (không phải các phiên bản cũ, đã bị phá), và dùng cipher mạnh (công thức xáo trộn thực tế). Trang này bao gồm cả hai — cộng thêm một vài cài đặt liên quan không ảnh hưởng điểm nhưng đáng biết.

Điểm mấu chốt với doanh nghiệp bạn: Nếu website của bạn chạy trên mã hóa lỗi thời hoặc cipher yếu, thông tin riêng tư khách hàng nhập — đăng nhập, số thẻ, thông tin liên lạc — có thể bị chặn và đọc âm thầm trên mạng chia sẻ, và bạn có thể thất bại trong các kiểm tra bảo mật mà ngân hàng, bộ xử lý thanh toán, và khách hàng lớn hơn hiện yêu cầu trước khi làm ăn với bạn.

Điều này có thể gây thiệt hại gì

Tại sao điều này quan trọng. Mã hóa an toàn thì vô hình; mã hóa lỗi thời hoặc yếu là trách nhiệm ngồi âm thầm cho đến ngày nó khiến bạn mất khách hàng, hợp đồng, hoặc đạt tuân thủ. Kiểm tra phiên bản TLS và cipher là hai phần thực sự di chuyển điểm của bạn, và cả hai thường là một cài đặt miễn phí duy nhất — không có lợi ích gì khi để các tùy chọn cũ, bị phá ở bật.

Giải thích đơn giản

Khi ai đó truy cập website của bạn, mọi thứ họ nhập — đăng nhập, số thẻ, tên, số điện thoại, tin nhắn — được xáo trộn trong quá trình truyền để người lạ không thể đọc. Công nghệ thực hiện xáo trộn gọi là TLS (bạn cũng có thể nghe gọi là SSL, tên cũ của nó). Để xáo trộn đó thực sự an toàn, hai điều phải đúng:

  1. Phiên bản TLS — thế hệ nào của công nghệ bạn đang dùng. Các phiên bản đầu (TLS 1.0 và 1.1) đã bị phá công khai nhiều năm; các phiên bản an toàn là TLS 1.2 và TLS 1.3.
  2. Cipher — công thức cụ thể TLS dùng để thực hiện xáo trộn. Một số cipher (như RC4, DES và 3DES) đã bị bẻ và hiện bị cấm; cipher hiện đại vẫn mạnh.

Trang này bao gồm cả hai, vì website có thể làm đúng một và sai cái kia. Bạn có thể có ổ khóa hiện đại với công thức cũ, có thể bẻ vẫn ở bật — hoặc công thức mạnh được bảo vệ bằng ổ khóa lỗi thời. Khoảng cách nào cũng là cửa mở. Cả hai thường được đóng bằng cùng một thay đổi miễn phí duy nhất cho cài đặt máy chủ hoặc hosting của bạn.

Điều này có thể khiến bạn mất gì

Thực ra nó là gì

Phiên bản TLS

Website không chỉ hỗ trợ một phiên bản TLS — nó có thể cung cấp nhiều phiên bản cùng lúc và để trình duyệt mỗi khách truy cập chọn. Khách truy cập hiện đại sẽ dùng phiên bản mới nhất và thấy ổ khóa bình thường. Nguy hiểm là các phiên bản cũ, bị phá có thể ngồi đó cùng với các cái tốt như cửa sau mở: kẻ tấn công có thể ép kết nối của khách truy cập “xuống cấp” sang TLS 1.0 hoặc 1.1 và sau đó khai thác các điểm yếu đã biết trong các phiên bản đó (các tấn công BEAST và POODLE là ví dụ nổi tiếng) để giải mã lưu lượng.

Vì vậy kiểm tra của chúng tôi kết nối với website và kiểm tra từng phiên bản riêng lẻ — TLS 1.0, 1.1, 1.2 và 1.3 — để xem phiên bản nào máy chủ của bạn vẫn chấp nhận. Đây là “tốt” trông như thế nào và cách nó tính điểm:

Cipher

Sau khi phiên bản được chọn, TLS chọn cipher — thuật toán thực sự xáo trộn dữ liệu. Hầu hết cipher hiện đại đều mạnh. Một số bị phá và không bao giờ được dùng: RC4 (xáo trộn của nó bị lệch và rò rỉ văn bản thuần), DES (khóa của nó quá ngắn có thể brute-force), 3DES (dễ bị tấn công “Sweet32”), cộng thêm NULL (không mã hóa gì cả), cipher EXPORT-grade (cố ý làm yếu — các tấn công FREAK và Logjam), và cipher anonymous (không kiểm tra danh tính, vì vậy kẻ mạo danh có thể ở giữa).

Kiểm tra cipher của chúng tôi làm hai thứ. Đầu tiên nó nhìn vào cipher mà máy chủ thực sự thương lượng với chúng tôi. Sau đó — và đây là phần quan trọng — nó chủ động thử thực hiện handshake dùng một số cipher đã biết bị phá (RC4, 3DES, EXPORT, NULL và các biến thể anonymous). Máy chủ có thể chọn cipher mạnh khi nói chuyện với khách hàng hiện đại nhưng vẫn chấp nhận cipher yếu nếu kẻ tấn công nhất quyết — và đó là rủi ro downgrade thật. Nếu máy chủ của bạn chấp nhận bất kỳ cipher bị cấm nào, kiểm tra gắn cờ nó; chấp nhận cipher quan trọng (như RC4 hoặc NULL) là thất bại.

Ba thứ thêm thông tin

Ba mục liên quan được báo cáo nhưng không ảnh hưởng điểm — chúng được gắn cờ là thông tin vì không thể xác minh đáng tin từ bên ngoài, và trên bất kỳ máy chủ hoặc CDN hiện đại nào chúng đã được xử lý đúng:

Chúng tôi hiển thị những thứ này để người IT của bạn có bức tranh đầy đủ, nhưng với phần lớn chủ sở hữu không có gì cần làm — điểm của bạn được thúc đẩy bởi các kiểm tra phiên bản và cipher ở trên.

Cách sửa (miễn phí, ~30 phút)

Chuyển điều này cho người IT của bạn — việc sửa miễn phí. Phần này dành cho bất kỳ ai quản lý tên miền, website hoặc hosting của bạn. Bản sửa là thay đổi cấu hình, không phải mua sắm; chúng tôi chỉ tính phí để theo dõi rằng mã hóa của bạn luôn được cấu hình đúng theo thời gian. Cấu hình hiện đại đơn giản bên dưới sửa cả phát hiện phiên bản và cipher cùng lúc.

Cách tiếp cận đáng tin nhất đơn giản nhất là tạo cấu hình đã biết tốt thay vì viết tay: dán loại máy chủ vào Mozilla’s SSL Configuration Generator tại https://ssl-config.mozilla.org/ và chọn hồ sơ “Intermediate” (tương thích rộng) hoặc “Modern” (chỉ TLS 1.3, nếu không cần hỗ trợ bất cứ thứ gì cũ). Nó xuất ra các dòng ssl_protocolsssl_ciphers đúng cho bạn.

Theo nền tảng:

  1. Cloudflare hoặc managed host — thường một hoặc hai click. Trong Cloudflare: SSL/TLS → Edge Certificates → Minimum TLS Version → TLS 1.2, và bộ cipher ở đó được quản lý cho bạn (nền tảng sẽ không cung cấp cipher bị cấm). Hầu hết managed host và site builder đã thực thi TLS 1.2+ với cipher mạnh — chỉ xác nhận không có tùy chọn “legacy TLS” hoặc “old-browser compatibility” nào vẫn ở bật.
  2. Nginx. Đặt phiên bản chỉ hiện đại và danh sách cipher mạnh rõ ràng, sau đó reload:
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';
    ssl_prefer_server_ciphers on;
    
  3. Apache. Vô hiệu hóa phiên bản cũ và gắn danh sách cipher mạnh, sau đó restart:
    SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
    SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384
    SSLHonorCipherOrder on
    
  4. Windows / IIS. Dùng công cụ IIS Crypto miễn phí để vô hiệu hóa TLS 1.0 và 1.1, vô hiệu hóa RC4/DES/3DES/NULL/EXPORT cipher, và để TLS 1.2 và 1.3 với cipher mạnh ở bật. Template “Best Practices” của công cụ làm tất cả điều này trong một click.
  5. Xác minh, sau đó kiểm tra lại ở đây. Xác nhận chỉ các phiên bản và cipher an toàn còn lại — ví dụ với nmap --script ssl-enum-ciphers -p 443 yourdomain.com, hoặc kiểm tra tại https://ssl-config.mozilla.org/ — sau đó chạy lại kiểm tra này. Nếu có thể, bật TLS 1.3 cùng với 1.2: nó vừa nhanh hơn vừa an toàn hơn.

Các lỗi phổ biến

Những điều cần nhớ

Phiên bản TLS và cipher là hai phần mã hóa của bạn thực sự di chuyển điểm, và cả hai đều xuất phát từ việc tắt các tùy chọn đã bị phá công khai nhiều năm. Bản sửa miễn phí, thường là một dòng cấu hình hiện đại mỗi máy chủ, và với khách truy cập bình thường nó không thay đổi gì ngoại trừ làm cho kết nối của họ thực sự an toàn. Các mục liên quan — nén, OCSP stapling, secure renegotiation — đáng biết nhưng sẽ không ảnh hưởng điểm của bạn, và trên bất kỳ cài đặt hiện đại nào chúng đã được xử lý cho bạn.

FAQ

Tôi không rành kỹ thuật — tôi có thể tự xử lý điều này không?

Bạn không cần hiểu chi tiết kỹ thuật. Trên hầu hết hosting hiện đại đây là một hoặc hai cài đặt, và miễn phí. Chuyển phần 'Cách sửa' bên dưới cho người chạy website hoặc hosting (hoặc nhà cung cấp IT) — thường là thay đổi năm đến mười phút không có sự khác biệt nào có thể nhìn thấy với khách truy cập ngoại trừ kết nối an toàn hơn.

Chuyển sang mã hóa hiện đại có làm ngừng hoạt động trình duyệt cũ của khách hàng không?

Trong thực tế, không. Mọi trình duyệt và điện thoại hiện đại từ khoảng thập kỷ qua đã dùng mã hóa mới và cipher mạnh theo mặc định — họ đã làm nhiều năm. Những thứ duy nhất dựa vào phiên bản cũ hoặc cipher yếu là chính chúng lỗi thời và không an toàn, đó chính xác là lý do tại sao mọi trình duyệt chính đã từ chối chúng. Với hầu hết doanh nghiệp thay đổi là vô hình với khách hàng.

Website của tôi tải tốt với ổ khóa — tại sao điều này vẫn gắn cờ?

Ổ khóa chỉ có nghĩa là kết nối an toàn tồn tại; nó không cho bạn biết phiên bản TLS hoặc cipher nào đằng sau nó. Website của bạn có thể hiển thị ổ khóa hoàn toàn bình thường trong khi vẫn chấp nhận phiên bản cũ bị phá hoặc cipher bị cấm cùng với các cái tốt — và cửa sau mở đó là những gì kiểm tra này phát hiện. Đóng nó không xóa ổ khóa; nó chỉ đảm bảo chỉ các tùy chọn an toàn được phép.

Sự khác biệt giữa phiên bản TLS và cipher là gì?

Hãy nghĩ phiên bản TLS như thế hệ ổ khóa bạn đang dùng, và cipher như công thức cụ thể nó dùng để xáo trộn dữ liệu. Bạn có thể có ổ khóa hiện đại (TLS 1.2 hoặc 1.3) nhưng vẫn để một công thức cũ, có thể bẻ (như RC4 hoặc 3DES) ở bật — hoặc ngược lại. Cả hai cần đúng, đó là lý do chúng tôi kiểm tra chúng riêng. Tin tốt là cùng một cấu hình hiện đại một dòng thường sửa cả hai cùng lúc.

OCSP stapling và nén TLS có ảnh hưởng điểm của tôi không?

Không. Những cái đó (cùng với secure renegotiation) chỉ là thông tin — chúng tôi báo cáo về chúng vì chúng quan trọng cho hiệu suất và phòng thủ theo chiều sâu, nhưng chúng không di chuyển điểm của bạn. Trên máy chủ web hiện đại và bất kỳ CDN nào như Cloudflare, chúng được xử lý đúng theo mặc định, vì vậy hầu hết chủ sở hữu không cần làm gì.

Sửa điều này có thực sự miễn phí không?

Có. Vô hiệu hóa phiên bản TLS cũ và cipher yếu, và bật những bảo vệ này, là thay đổi cấu hình trên máy chủ hoặc hosting hiện có của bạn — không có gì cần mua. Chúng tôi chỉ tính phí để theo dõi rằng mã hóa của bạn luôn được cấu hình đúng theo thời gian, không phải để sửa.