Czy oprócz HTTPS istnieją inne opcje zabezpieczenia strony internetowej, aby uniknąć ostrzeżeń o wprowadzaniu tekstu w Chrome?

16

Tydzień temu Google wysłał mi e-mail, aby przejść HTTPS. Jeśli nie prześlę HTTP na HTTPS, pokaże moje połączenie niezabezpieczone wszystkim odwiedzającym moją stronę, którzy spróbują wprowadzić tekst w mojej witrynie.

Czy bez korzystania z protokołu SSL istnieje inny sposób zabezpieczenia mojego połączenia? Ponieważ jest to związane z kosztownym procesem korzystania z protokołu SSL w internetowym adresie URL, szukam innej opcji.

Hasan M. Naheen
źródło
27
Czy zajrzałeś do letsencrypt.org ? Wydaje bezpłatne certyfikaty HTTPS. Konfigurowanie od podstaw jest trochę uciążliwe, ale wiele firm hostingowych wdrożyło go dla Ciebie.
Stephen Ostermiller
6
Możesz także użyć cloudflare, który da ci certyfikat SSL za darmo.
Ave
2
Pytanie nie brzmi „jak korzystać z HTTPS”, ale jest szersze: jeśli http://nie jest OK, co jeszcze jest poza tym https://? Czy istnieje abc://, lgbtqiapk+://lub dps://?
Konerak
4
„Kosztowny proces”? Szyfrujmy jest bezpłatny. Także: doesmysiteneedhttps.com
Andrea Lazzarotto

Odpowiedzi:

41

Czy istnieje inny sposób zabezpieczenia mojego połączenia?

Google nie tylko narzeka na „bezpieczeństwo” (które może obejmować wiele różnych tematów), ale przede wszystkim na szyfrowanie / HTTPS. Za pomocą zwykłego protokołu HTTP połączenie między klientem a serwerem jest nieszyfrowane, dzięki czemu każdy może potencjalnie zobaczyć i przechwycić wszystko, co zostało przesłane. Zazwyczaj wyświetla to monit tylko wtedy, gdy zezwalasz użytkownikom na logowanie (np. Przesyłanie nazwy użytkownika / hasła) lub przesyłanie informacji o płatności za pomocą niezaszyfrowanego połączenia. Ogólne przesłanie formularza „tekstowego” niekoniecznie stanowiłoby problem. Jednak, jak zauważył @Kevin w komentarzach, Google / Chrome planuje rozszerzenie tego w przyszłości :

Ostatecznie planujemy oznaczyć wszystkie strony HTTP jako niezabezpieczone i zmienić wskaźnik bezpieczeństwa HTTP na czerwony trójkąt, którego używamy do zepsutego HTTPS.

Zainstalowanie certyfikatu SSL na swojej stronie (lub użycie front-end proxy takiego jak Cloudflare do obsługi SLL) jest jedynym sposobem szyfrowania ruchu do Twojej witryny.

Jednak nie jest to obecnie „kosztowny proces”. Cloudflare ma opcję „bezpłatną”, a Let's Encrypt to bezpłatny urząd certyfikacji, który domyślnie obsługuje wiele hostów.

DocRoot
źródło
3
„Zwykle wyświetla to monit tylko wtedy, gdy zezwalasz użytkownikom na logowanie (podanie nazwy użytkownika / hasła) lub danych osobowych przez niezaszyfrowane połączenie. Ogólny„ tekst ”niekoniecznie stanowiłby problem.” To już wkrótce nie będzie prawdą; Chrome wyświetli ostrzeżenie DOWOLNEGO pola wprowadzania tekstu. W końcu nie jest w stanie odróżnić potencjalnie wrażliwych informacji od łagodnych rzeczy, takich jak wyszukiwania, więc postanowiono po prostu ostrzec o wszystkim.
Muzer
2
@Muzer Zasadniczo nie jest również możliwe rozstrzygnięcie, czy wprowadzanie tekstu jest wrażliwe - jeśli wpisuję adres domowy lub szukam zawstydzającego problemu medycznego, może to być bardzo interesujące dla podsłuchującego.
apsillers
6
Ostatecznie Chrome wyświetli to ostrzeżenie dla wszystkich witryn HTTP , więc nie ma długoterminowej alternatywy dla HTTPS.
Kevin
3
W tej odpowiedzi brakuje największej przewagi protokołu HTTPS nad zwykłym szyfrowaniem typu end-to-end, jakim jest tożsamość. HTTPS pozwala Twojemu serwerowi udowodnić swoim klientom, że tak naprawdę jest serwerem, za który się podaje, bez konieczności wcześniejszego ustalania metody uwierzytelnienia. Samo szyfrowanie całościowe nie pomaga, jeśli klient nawiązał połączenie z serwerem należącym do złośliwego aktora.
IllusiveBrian
4
@IllusiveBrian Chociaż to pytanie tak naprawdę nie dotyczy „zalet HTTPS” (istnieją już pytania, które to już obejmują), to pytanie dotyczy próby uniknięcia „ostrzeżenia” bezpieczeństwa przeglądarki w Google / Chrome. Ale HTTPS niekoniecznie „dowodzi tożsamości” - aby to zrobić, musiałbyś zapłacić więcej pieniędzy za certyfikat OV lub EV. W kontekście tego pytania chodzi o szyfrowanie.
DocRoot
4

Nie polecam, ale możesz ominąć tę wiadomość, nie używając oryginalnych pól tekstowych. Można tworzyć własne pola wejściowe za pomocą regularnych div, które mają onkeypresszdarzenie. Lub możesz utworzyć divelement z contenteditableustawionym atrybutem true.

W ten sposób użytkownicy będą mogli wprowadzać informacje na swojej stronie bez użycia inputelementów tagu.

Aminadav Glickshtein
źródło
41
To naprawdę zły pomysł. Nie rozwiązuje problemu bezpieczeństwa, który Google zachęca do rozwiązania, i może powodować problemy dla użytkowników, którzy korzystają z Twojej witryny w nieco inny sposób niż przetestowałeś ją (np. Inną przeglądarkę, telefon, czytnik ekranu itp.). Prawdopodobnie złamie też menedżerów haseł.
thelem
Postawienie formularza byłoby problematyczne w przypadku tego podejścia.
the_lotus
3
Nie musisz publikować FORMULARZA. Możesz użyć XMLlHTTPRequest(aka AJAX) do wysłania informacji
Aminadav Glickshtein
18
Chciałbym zmienić twoją odpowiedź z „nie polecam” na „nigdy tego nie rób”. Robiąc to, obchodzisz tak wiele standardów, równie dobrze możesz już nie tworzyć aplikacji internetowej.
Caimen
2
Czy naprawdę potrzebuję 125 punktów, aby głosować za tą rzeczą? oO
Andrea Lazzarotto
4

Jeśli po prostu podajesz pliki statyczne lub możesz umieścić serwer proxy z przodu, możesz użyć serwera takiego jak serwer caddy, który obsługuje to wszystko za pomocą opcji Let Encrypt, eliminuje to problem z przydzielaniem certyfikatów i nie musisz tego robić zainstaluj dowolne inne oprogramowanie.

Alternatywnie możesz skorzystać z usługi takiej jak cloudflare - ich bezpłatny plan oferuje bezpłatny https.

Wreszcie, niektórzy gospodarze oferują teraz bezpłatne certyfikaty https, w tym Dreamhost . Sprawdź, czy twój obecny host oferuje to jako opcję.

Nie zalecałbym próby obejścia tego problemu, istnieje tylko jeden sposób, aby zabezpieczyć witrynę, a przeglądarki będą w końcu ostrzegać o każdej witrynie, która nie ma protokołu https, bez względu na treść. Sieć zmierza w kierunku https wszędzie.

Kenny Grant
źródło
1
Firefox wprowadził również ostrzeżenia na niezabezpieczonych stronach logowania, a wszystkie główne przeglądarki zdecydowały się udostępnić HTTP2 tylko z obsługą https, co oznacza, że ​​następna wersja protokołu to de facto tylko https.
Kenny Grant
1
@closetnoc GoDaddy to zdzierstwo na wiele sposobów. My (firma webdev) kupowaliśmy nasze certyfikaty za 7 euro rocznie, co było przystępne, ale nie na sto witryn. Teraz używamy Let's Encrypt i zdobądźmy je za darmo, więc na wszystkich z nich umieściliśmy SSL. Nasi klienci to lubią i lubimy korzystać z HTTP / 2. Nie miałem problemów z odnowieniem. Certyfikaty trwają 90 dni, a po 60 dniach staramy się odnawiać codziennie. Dużo nakładają się na wypadek, gdyby coś poszło nie tak (czego nie zrobiło). Użyj Cloudflare, jeśli nie chcesz problemów.
Martijn Heemels,
1
@closetnoc ssl to coś więcej niż szyfrowanie, zapewnia również integralność, bezpieczeństwo i prywatność, więc rzeczy na stronie nie mogą być widoczne (np. twój pracodawca, stan nadzoru) ani zmienione (np. wstrzyknięte reklamy) przez MitM'era. Zapobiega to także wykrywaniu przez osoby korzystające z MitMing danych uwierzytelniających znajomego (które prawdopodobnie mogą zostać wykorzystane do przesłania niechcianej zawartości do witryny). Ponadto, Martijn powiedział, GoDaddy jest ogromnym zdzierstwem i ogólnie są niekorzystne. Polecam znajomemu przejrzenie domen Google, namecheap i gandi (nie jestem z nimi związany).
Ave
1
@MartijnHeemels Zgadzam się, że GoDaddy jest zawyżony. WIELKI CZAS! Wygląda na to, że Let's Encrypt to sposób, aby przejść do większości witryn, które są ogólnie łagodne w treści. Widzę, że w niektórych witrynach sprawdzane są też w pełni sprawdzone certyfikaty. Czy uwierzyłbyś, że kiedyś byłem urzędem certyfikacji? Chyba wolę, kiedy certyfikaty byłyby rokiem. Nie ufam krótszym okresom. Ale jakie są obecnie możliwości wyboru? Twoje zdrowie!!
closetnoc
1
@closetnoc Nie jest trudno znaleźć płatne certyfikaty SSL od uznanych urzędów certyfikacji o rocznej ważności za około 10 USD za sztukę. Ale to oczywiście nie zapewni ci „w pełni zweryfikowanego” certyfikatu; jeśli naprawdę tego chcesz, musisz przeskoczyć przez obręcze, aby uzyskać certyfikat EV i zapłacić odpowiednią cenę (i jak już wspomniano wcześniej, nawet certyfikaty EV nie są idealne ani nie występują bez zastrzeżeń). Let's Encrypt omawia niektóre z powodów, dla których ich certyfikaty są ważne tylko przez 90 dni na ich stronie internetowej, ale istnienie Let's Encrypt nie spowodowało (jeszcze) komercyjnego urzędu certyfikacji, aby wycofał swoją ofertę certyfikatów DV.
CVn
4

wydaje się, że nikt inny nie wspomniał

jeśli posiadasz każdą maszynę, która łączy się z Twoją witryną

np. „prawdopodobnie nie tego chcesz”

, podobnie jak ustawienie korporacyjne, możesz utworzyć własny urząd certyfikacji, zainstalować jego publiczny certyfikat na wszystkich komputerach (również we wszystkich przeglądarkach i sklepach z certyfikatami), które łączą się z Twoją witryną. ta opcja jest wolna od monetyzacji stron trzecich; jest to ten sam szyfr szyfrowania, ale nie jesteś zalogowany do zaufania publicznego (np. twoje uprawnienia nie są rozpoznawane przez Google Chrome, Mozilla Firefox itp., tak jak Let's Encrypts), ale zostaną rozpoznane przez maszyny skonfigurowane, aby ufać sobie .

wprawdzie umowy związane z ustanowieniem urzędu certyfikacji są nieco niejasne, a konserwacja może być bardzo pracochłonna - więc zostawię je tutaj, prawdopodobnie najlepiej przeprowadzisz głębokie badania nurkowe na temat, który naprawdę Cię interesuje w tym podejściu.

choć w przypadku niewylecznego wdrożenia, jeśli możesz spróbować XCA

XCS to przyzwoity sposób wydawania certyfikatów dla małych wdrożeń i zawiera dokumentację pomocy, która opisuje całą konfigurację.

ThorSummoner
źródło
2
Prawie na pewno wydasz więcej na utworzenie własnego urzędu certyfikacji (w godzinach pracy, jeśli nic innego) niż na zakup komercyjnego certyfikatu SSL. Wtedy zawsze istnieje możliwość zrobienia czegoś złego.
Eric J.
1

Mam kilka pomysłów.

Jeśli powodem HTTPS jest zarządzanie logowaniami, możesz zminimalizować efekt we wszystkich przeglądarkach, oferując użytkownikom pozostanie zalogowanym. Następnie, gdy użytkownik się zaloguje, plik cookie może zostać trwale zapisany na komputerze użytkownika, aby następnym razem użytkownik włącza komputer, aby uzyskać dostęp do strony, byłby automatycznie logowany, zamiast zawsze otrzymywać monit o zalogowanie i ewentualnie ostrzeżenie bezpieczeństwa.

Innym pomysłem, który może ominąć wiadomość, ale który byłby bardziej pracochłonny zarówno dla gościa, jak i serwera, jest przesłanie przez gościa specjalnego pliku z zaszyfrowaną odpowiednią konfiguracją. Na przykład na ekranie logowania zamiast poprosić użytkownika o wpisanie nazwy użytkownika i hasła w dwóch polach tekstowych, poproś użytkownika o przesłanie małego pliku zawierającego zaszyfrowaną nazwę użytkownika i hasło (na przykład kompresowanie nazwy użytkownika i hasła jako pliku zip plik o określonym poziomie kompresji), serwer może odszyfrować plik w celu wyodrębnienia nazwy użytkownika i hasła. Potencjalny haker zobaczy bełkot podczas przesyłania, gdy użytkownik wyśle ​​plik na serwer. Jedyną niewielką zaletą tego pomysłu jest nieco większa szybkość połączenia, ponieważ przetwarzanie połączenia SSL nie odbywa się w HTTP.

Mikrofon
źródło
Nadchodząca wersja Chrome będzie ostrzegać o każdym wprowadzaniu tekstu, nie tylko polach hasła. Wszelkie dane korzystające z formularzy HTML będą musiały być HTTPS, aby uniknąć ostrzeżeń, a nie tylko logowania. Google wysyła powiadomienia za pośrednictwem Search Console do właścicieli witryn, których witryny według Google zostaną zrealizowane.
Stephen Ostermiller
1

Nie.

Jakikolwiek hack, którego spróbujesz (np. Próba szyfrowania za pomocą javascript), jest bardzo mało prawdopodobne, aby był blisko bezpieczeństwa.

SSL nie musi być „drogi”, wielu dostawców hostingu oferuje go za darmo. Nawet rzeczy takie jak cloudflare oferują bezpłatny SSL i utrzymują aktualny hosting.

Mazharul Haq SEO
źródło
-3

Darmowe, szybkie rozwiązanie to Let's Encrypt. Link Posiadają dokumentację dla prawie każdego systemu operacyjnego serwera. Używamy go w naszej pracy, a nasi dostawcy W2P używają go do zabezpieczenia każdego z naszych witryn sklepowych.

Riddjim
źródło
3
Ta odpowiedź nie dodaje niczego, co jeszcze nie zostało powiedziane.
Stephen Ostermiller