Có các tùy chọn khác ngoài HTTPS để bảo mật trang web để tránh các cảnh báo nhập văn bản trong Chrome không?


16

Một tuần trước Google đã gửi cho tôi một email để đi HTTPS. Nếu tôi sẽ không chuyển HTTP sang HTTPS thì nó sẽ hiển thị kết nối của tôi không được bảo mật cho tất cả khách truy cập trang web của tôi, những người sẽ cố gắng nhập văn bản trong trang web của tôi.

Không sử dụng SSL, có cách nào khác để bảo mật kết nối của tôi không? Vì nó liên quan đến quá trình tốn kém để sử dụng SSL trong URL web, tôi đang tìm kiếm bất kỳ tùy chọn nào khác thay thế.


27
Bạn đã xem vào letencrypt.org chưa? Nó cấp chứng chỉ HTTPS miễn phí. Có một chút khó khăn để thiết lập từ đầu, nhưng nhiều công ty lưu trữ đã triển khai nó cho bạn.
Stephen Ostermiller

6
Bạn cũng có thể sử dụng cloudflare sẽ cung cấp cho bạn chứng chỉ SSL miễn phí.
Ave

2
Câu hỏi không phải là "làm thế nào để sử dụng HTTPS", mà rộng hơn thế: nếu http://không ổn, ngoài ra còn có gì khác https://? Có một abc://, lgbtqiapk+://hay dps://?
Konerak

4
"Quá trình tốn kém"? Hãy mã hóa miễn phí. Ngoài ra: doesmysiteneedhttps.com
Andrea Lazzarotto

Câu trả lời:


41

Có cách nào khác để làm cho kết nối của tôi được bảo mật?

Google không chỉ phàn nàn về "bảo mật" (có thể bao gồm một số chủ đề khác nhau), mà cụ thể là nhắm mục tiêu mã hóa / HTTPS. Với HTTP đơn giản, kết nối giữa máy khách và máy chủ không được mã hóa, cho phép mọi người có thể nhìn thấy và chặn mọi thứ được gửi. Thông thường sẽ chỉ nhắc với điều này nếu bạn cho phép người dùng đăng nhập (ví dụ: gửi tên người dùng / mật khẩu) hoặc gửi thông tin thanh toán qua kết nối không được mã hóa. Việc gửi biểu mẫu "văn bản" chung không nhất thiết là một vấn đề. Tuy nhiên, như @Kevin đã chỉ ra trong các nhận xét, Google / Chrome có kế hoạch mở rộng điều này trong tương lai :

Cuối cùng, chúng tôi dự định gắn nhãn tất cả các trang HTTP là không an toàn và thay đổi chỉ báo bảo mật HTTP thành hình tam giác màu đỏ mà chúng tôi sử dụng cho HTTPS bị hỏng.

Cài đặt chứng chỉ SSL trên trang web của bạn (hoặc sử dụng proxy phía trước như Cloudflare để xử lý SLL) là cách duy nhất để mã hóa lưu lượng truy cập đến trang web của bạn.

Tuy nhiên, điều này không nhất thiết là một "quá trình tốn kém" những ngày này. Cloudflare có tùy chọn "miễn phí" và Let Encrypt là Cơ quan cấp chứng chỉ miễn phí mà nhiều máy chủ hỗ trợ theo mặc định.


3
"Thông thường sẽ chỉ nhắc với điều này nếu bạn cho phép người dùng đăng nhập (gửi tên người dùng / mật khẩu) hoặc gửi thông tin cá nhân qua kết nối không được mã hóa." Văn bản "chung không nhất thiết phải là vấn đề." Điều này sẽ sớm không còn đúng nữa; Chrome sẽ hiển thị cảnh báo cho bất kỳ trường nhập văn bản nào. Rốt cuộc, nó không thể nói lên sự khác biệt giữa thông tin có khả năng nhạy cảm và những thứ lành tính như tìm kiếm, vì vậy quyết định được đưa ra là chỉ cảnh báo mọi thứ.
Muzer

2
@Muzer Nó cũng thường không decidable nếu nhập văn bản nhạy cảm - nếu tôi gõ vào địa chỉ nhà của tôi, hoặc thực hiện tìm kiếm cho vấn đề y tế đáng xấu hổ của tôi, những người có thể là rất thú vị khi một kẻ nghe trộm.
apsillers

6
Cuối cùng, Chrome sẽ hiển thị cảnh báo này cho tất cả các trang web HTTP , do đó, không có sự thay thế dài hạn nào cho HTTPS.
Kevin

3
Câu trả lời này đang thiếu lợi thế lớn nhất đối với HTTPS so với mã hóa đầu cuối đơn giản, đó là danh tính. HTTPS cho phép máy chủ của bạn chứng minh với khách hàng của mình rằng đó thực sự là máy chủ mà họ tuyên bố là không cần phải sắp xếp cụ thể một phương thức xác thực trước thời hạn. Tự mã hóa đầu cuối không giúp ích gì nếu máy khách đã kết nối với máy chủ thuộc sở hữu của một tác nhân độc hại.
IllusiveBrian

4
@IllusiveBrian Mặc dù câu hỏi này không thực sự về "lợi thế của HTTPS" (có những câu hỏi hiện có bao gồm điều đó), câu hỏi này là về việc cố gắng tránh "cảnh báo" bảo mật trình duyệt trong Google / Chrome. Nhưng HTTPS không nhất thiết phải "chứng minh danh tính" - để làm được điều đó, bạn sẽ cần phải trả nhiều tiền hơn cho chứng chỉ OV hoặc EV. Trong bối cảnh của câu hỏi này, tất cả là về mã hóa.
DocRoot

4

Tôi không khuyến nghị, nhưng bạn có thể bỏ qua thông báo này, bằng cách không sử dụng các trường văn bản đầu vào ban đầu. Bạn có thể tạo các trường đầu vào của riêng bạn, sử dụng thường xuyên divonkeypresssự kiện. Hoặc bạn có thể tạo một divphần tử có contenteditablethuộc tính được đặt thành true.

Bằng cách này, người dùng sẽ có thể nhập thông tin trên trang web của bạn mà không cần sử dụng inputcác yếu tố thẻ.


41
Đây là một ý tưởng thực sự xấu. Nó không giải quyết được vấn đề bảo mật mà Google đang khuyến khích bạn giải quyết và có khả năng gây ra sự cố cho người dùng đang sử dụng trang web của bạn theo cách hơi khác với cách bạn đã kiểm tra (ví dụ: trình duyệt khác, điện thoại, một trình đọc màn hình, vv). Nó cũng có khả năng phá vỡ các trình quản lý mật khẩu.
thelem

Đăng mẫu đơn sẽ có vấn đề với phương pháp này.
the_lotus

3
Bạn không cần phải đăng MẪU. Bạn có thể sử dụng XMLlHTTPRequest(còn gọi là AJAX) để gửi thông tin
Aminadav Glickshtein

18
Tôi sẽ thay đổi câu trả lời của bạn từ "không khuyến nghị" thành "không bao giờ làm điều này". Bạn đang phá vỡ rất nhiều tiêu chuẩn để làm điều này, bạn cũng có thể không làm một ứng dụng web nữa.
Caample

2
Tôi có thực sự cần 125 điểm để hạ cấp điều này không? oO
Andrea Lazzarotto

4

Nếu bạn chỉ đang phục vụ các tệp tĩnh hoặc có thể đặt proxy ở phía trước, bạn có thể sử dụng máy chủ như máy chủ caddy xử lý tất cả những điều này cho bạn bằng cách sử dụng mã hóa, điều này sẽ giúp bạn thoát khỏi chứng chỉ cung cấp và bạn không phải cài đặt bất kỳ phần mềm nào khác

Ngoài ra, bạn có thể sử dụng một dịch vụ như cloudflare - gói miễn phí của họ cung cấp https miễn phí.

Cuối cùng, một số máy chủ cung cấp certs https miễn phí ngay bây giờ, bao gồm cả dreamhost . Vì vậy, kiểm tra nếu máy chủ hiện tại của bạn cung cấp điều này như là một tùy chọn.

Tôi không khuyên bạn nên cố gắng tìm một cách giải quyết, chỉ có một cách để làm cho trang web của bạn an toàn và cuối cùng các trình duyệt sẽ cảnh báo trên mọi trang web không có https, bất kể nội dung là gì. Web đang hướng tới https ở mọi nơi.


1
Firefox cũng đã đưa ra cảnh báo trên các trang đăng nhập không an toàn và tất cả các trình duyệt chính đã chọn chỉ cung cấp http2 với hỗ trợ https, điều đó có nghĩa là phiên bản tiếp theo của giao thức chỉ là https thực tế.
Kenny Grant

1
@closetnoc GoDaddy là một sự lột xác theo nhiều cách. Chúng tôi (công ty webdev) đã từng mua certs của chúng tôi với giá € 7 mỗi năm, giá cả phải chăng nhưng không phải cho một trăm trang web. Bây giờ, chúng tôi đang sử dụng Let Encrypt và nhận chúng miễn phí vì vậy chúng tôi đã đặt SSL cho tất cả chúng. Khách hàng của chúng tôi thích nó và chúng tôi thích sử dụng HTTP / 2. Không có vấn đề với đổi mới. Certs kéo dài 90 ngày và chúng tôi bắt đầu cố gắng gia hạn hàng ngày sau 60 ngày. Rất nhiều sự trùng lặp trong trường hợp xảy ra sự cố (điều này không xảy ra). Sử dụng Cloudflare nếu bạn không muốn gặp rắc rối.
Martijn Heemels

1
@closetnoc ssl không chỉ là mã hóa, nó còn đảm bảo tính toàn vẹn, bảo mật và quyền riêng tư, vì vậy không thể nhìn thấy nội dung trên trang (ví dụ: chủ nhân của bạn, trạng thái giám sát) hoặc thay đổi (ví dụ: quảng cáo được tiêm) bởi MitM'er. Ngoài ra, nó ngăn mọi người khỏi MitMing để đánh hơi dữ liệu xác thực của bạn bè của bạn (có thể được sử dụng để tải lên nội dung không mong muốn lên trang web). Ngoài ra, một Martijn cho biết, GoDaddy là một sự lột xác khổng lồ và nhìn chung là không thuận lợi. Tôi muốn giới thiệu bạn bè của bạn xem các tên miền google, namecheap và gandi (Tôi không liên kết với bất kỳ).
Ave

1
@MartijnHeemels Tôi đồng ý GoDaddy được định giá quá cao. THỜI ĐIỂM TRỌNG ĐẠI! Có vẻ như Let Encrypt là cách phù hợp với hầu hết các trang web thường có nội dung lành tính. Tôi có thể thấy đi cho các certs được hiệu đính đầy đủ cho một số trang web quá. Bạn có tin rằng tôi từng là một cơ quan chứng nhận? Tôi đoán tôi thích khi certs là một năm. Tôi không tin tưởng khoảng thời gian ngắn hơn. Nhưng những sự lựa chọn là những ngày này? Chúc mừng !!
Closnoc

1
@closetnoc Không khó để tìm thấy các chứng nhận SSL trả phí từ các CA được công nhận có giá trị trong vòng 1 năm với khoảng 10 đô la mỗi người. Nhưng điều đó rõ ràng sẽ không giúp bạn có được chứng chỉ "được hiệu đính đầy đủ"; nếu bạn thực sự muốn điều đó, bạn cần phải nhảy qua các vòng để lấy chứng chỉ EV và trả giá tương ứng (và như đã được chỉ ra trước đó, thậm chí không phải là EV certs là hoàn hảo hoặc không cần cảnh giác). Let Encrypt thảo luận về một số lý do tại sao certs của họ chỉ có hiệu lực trong 90 ngày trên trang web của họ, nhưng sự tồn tại của Let Encrypt vẫn chưa (chưa) khiến các CA thương mại rút các dịch vụ chứng nhận DV của họ.
một CVn

4

không ai khác dường như đã đề cập đến,

nếu bạn sở hữu mọi máy kết nối với trang web của bạn

ví dụ: "đây có thể không phải là điều bạn muốn"

, giống như cài đặt của công ty, bạn có thể tạo cơ quan cấp chứng chỉ của riêng mình, cài đặt chứng chỉ công khai vào tất cả các máy (trên tất cả các trình duyệt và cửa hàng chứng chỉ) kết nối với trang web của bạn. tùy chọn này không có khả năng kiếm tiền của bên thứ ba; Đó là cùng một loại mật mã mã hóa, bạn không được đăng nhập vào lòng tin của công chúng (ví dụ: quyền hạn của bạn không được nhận ra bởi Chrome của Chrome, Firefox của Mozilla, v.v. .

thừa nhận rằng các thỏa thuận thiết lập một cơ quan cấp chứng chỉ là hơi khó hiểu và việc bảo trì có thể rất nhiều công việc - vì vậy tôi sẽ bỏ chúng ở đây, có lẽ bạn nên thực hiện một nghiên cứu sâu về chủ đề bạn thực sự quan tâm Trong cách tiếp cận này.

mặc dù để triển khai nhanh, nếu bạn có thể thử XCA

XCS là một cách tốt để phát hành certs cho các triển khai nhỏ và bao gồm tài liệu trợ giúp đi qua toàn bộ thiết lập.


2
Bạn gần như chắc chắn sẽ chi nhiều hơn cho việc thiết lập CA của riêng bạn (trong giờ lao động, nếu không có gì khác) bằng cách mua chứng chỉ SSL thương mại. Sau đó, luôn có khả năng làm điều gì đó sai.
Eric J.

1

Tôi có một vài ý tưởng.

Nếu lý do cho HTTPS là để quản lý thông tin đăng nhập, thì bạn có thể giảm thiểu hiệu ứng trên tất cả các trình duyệt bằng cách cung cấp cho người dùng đăng nhập. Sau đó, khi người dùng đăng nhập, cookie có thể được lưu trữ vĩnh viễn trên máy tính của người dùng để lần sau người dùng sử dụng bật máy tính của anh ấy để truy cập trang web, anh ấy sẽ tự động đăng nhập thay vì luôn luôn xuất hiện với lời nhắc đăng nhập và có thể là cảnh báo bảo mật.

Một ý tưởng khác có thể bỏ qua tin nhắn nhưng sẽ hiệu quả hơn trên cả máy khách và máy chủ là để khách tải lên một tệp đặc biệt với cấu hình phù hợp được mã hóa. Ví dụ: đối với màn hình đăng nhập, thay vì yêu cầu người dùng nhập tên người dùng và mật khẩu của mình vào hai hộp văn bản, hãy để người dùng tải lên một tệp nhỏ chứa tên người dùng và mật khẩu được mã hóa (ví dụ: nén tên người dùng và mật khẩu dưới dạng zip tệp có mức nén cụ thể) sau đó máy chủ có thể giải mã tệp để trích xuất tên người dùng và mật khẩu. Tin tặc tiềm năng sẽ thấy vô nghĩa khi quá cảnh khi người dùng gửi tệp đến máy chủ. Chỉ có một lợi thế nhỏ cho ý tưởng này là tốc độ kết nối nhanh hơn một chút vì quá trình xử lý kết nối SSL không diễn ra trong HTTP.


Phiên bản sắp tới của Chrome sẽ cảnh báo về mọi kiểu nhập văn bản, không chỉ các trường mật khẩu. Bất kỳ dữ liệu nào sử dụng biểu mẫu HTML sẽ cần phải là HTTPS để tránh cảnh báo, không chỉ đăng nhập. Google đã gửi thông báo qua Search Console cho chủ sở hữu trang web có trang web mà Google cho rằng sẽ được thực hiện.
Stephen Ostermiller

1

Không.

Bất kỳ hack nào bạn thử (ví dụ như cố gắng mã hóa bằng javascript), rất khó có khả năng gần như an toàn.

SSL không phải "đắt", nhiều nhà cung cấp dịch vụ lưu trữ cung cấp miễn phí. Và thậm chí những thứ như cloudflare cung cấp SSL miễn phí và giữ lưu trữ hiện tại.


-3

Một giải pháp nhanh chóng, miễn phí là Let Encrypt. Liên kết Họ có tài liệu cho gần như mọi hệ điều hành máy chủ. Chúng tôi sử dụng nó tại nơi làm việc của chúng tôi và các nhà cung cấp W2P của chúng tôi sử dụng nó để bảo mật cho mỗi mặt tiền cửa hàng của chúng tôi.


3
Câu trả lời này không thêm bất cứ điều gì chưa được nói.
Stephen Ostermiller
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.