Aktywne Wpisy
Linnior88 +13
Kto lubi baby z borderem bo szukam chłopa
prawiczek92 +19
Jestem w klubie bawię się świetnie a wy zazdrośni #przegryw #przegrywpo30tce #pokazmorde @Zachodniopomorzanin
Skopiuj link
Skopiuj linkWykop.pl
Jest to pierwsza część tego cyklu w którym będziemy po kolei tłumaczyć co się dzieje behind the scenes gdy w przeglądarce wpisujesz adres www. By trochę uprościć, opiszemy co się dzieje na przykładzie adresu www.allegro.pl
1. Przeglądarka musi znać adres IP serwera by się z nim połączyć i pobrać stronę, czyli: zapytanie DNS
Dla przeglądarki www.allegro.pl to po prostu domena internetowa. Niestety by pobrać stronę, musi dowiedzieć się jaki adres IP ma komputer na którym uruchomiony jest serwer www. Służy do tego DNS czyli serwer nazw domenowych. W uproszczeniu jest to tabela która dla każdej domeny istniejącej w Internecie ma dopisany adres IP. W Internecie jest wiele DNSów, w swojej przeglądarce masz także możliwość ustawienia ich adresów (przykładowy adres serwera DNS to 8.8.8.8 należący do Google). Oznacza to, że zanim przeglądarka wykona żądanie do serwerów Allegro, musi najpierw wykonać zapytanie o ich adres do znanych sobie DNSów.
2. Mamy adres, pobieramy witrynę (czy na pewno?), czyli: zapytanie http GET
HTTP jest to najbardziej znany i najszerzej używany protokół internetowy. "Protokół" czyli pewien zestaw zasad, które mówią jak użytkownicy mają komunikować się z serwerami www. Protokół ten ma kilka rodzajów zapytań i najprostszym z nich jest zapytanie "GET", które oznacza po prostu "Daj mi dokument który znajduję się pod tym adresem"
Po wpisaniu www.allegro.pl i po odpytaniu DNSów o adresy IP serwerów, przeglądarka wysyła zapytanie GET bezpośrednio do serwera.
3. "To nie tutaj, to będzie tam!", czyli o kodach i przekierowaniach słów kilka
W odpowiedzi na zapytanie przeglądarki, serwer zwraca kod statusu zapytania. Jeżeli zapytanie przeglądarki było prawidłowe, to serwer zwraca kod o numerze 200. Jeżeli zapytanie było nieprawidłowe np. adres który podaliśmy nie istnieje, to serwer zwróci słynny kod 404.
DYGRESJA: Ciekawym przykładem kodu jest kod nr 418 "I'm a Teapot" (Jestem czajniczkiem), który został zaproponowany jako standard z okazji prima aprilis w 1998. Był to kod za pomocą którego można było sterować czajnikiem :) Co ciekawsze, wszystkie popularne serwery www są w stanie taki kod zwrócić. Jak widać easter eggi występują nie tylko w grach ;)
W tym momencie serwer allegro zwraca nam kod 301 "Moved Permanently", czyli "Przeniesiony na zawsze". Protokół HTTP definiuje też tak zwane nagłówki http, w których i przeglądarka i serwer mogą podawać sobie przydatne informacje. I tak w nagłówku do odpowiedzi nr 301 znajduje się nowa lokalizacja strony. W tym wypadku serwer kieruje nas na "http://allegro.pl"
Idziemy więc do "http://allegro.pl". Czy to już? Niestety nie :) Serwer znów zwraca nam kod 301, tym razem podając za lokalizacje "https://allegro.pl"
4. Kłódeczka obok adresu www, czyli o tak zwanym "SSL"
Serwer allegro przekierował nas na zabezpieczoną wersję swojej strony, która używa protokółu https (s na końcu od "secured"), który jest tym samym co http, z tą różnicą, że wszystkie wiadomości wymieniane pomiędzy przeglądarką a serwerem są szyfrowane. To znaczy, że nawet jeśli ktoś będzie w stanie "podsłuchać" naszą komunikację z serwerem allegro, to i tak nic nie odczyta (np. naszych haseł przesyłanych do serwera podczas logowania). Powszechnie na ten mechanizm mówi się "SSL" jednak tak naprawdę SSL to stary protokół, który nie powinien być już używany, obecnie służy do tego TLS który jest następcą SSLa. Nazwa "SSL" jest ciągle stosowana jako określenie szyfrowania w http.
TLS służy nie tylko do szyfrowania. TLS pozwala także potwierdzić autentyczność serwera. Dzięki temu mamy pewność, że serwer allegro jest faktyczne serwerem allegro a nie czymś co się próbuje pod niego podszyć, by wykraść nasze hasła. Robi się to poprzez wydawanie tak zwanych certyfikatów, które zawsze mają "termin ważności". Dlatego czasami możecie zauważyć, że przeglądarka mówi wam, że połączenie jest niezaufane, to najprawdopodobniej dlatego, że certyfikat wygasł i trzeba poprosić o nowy. No właśnie... kogo poprosić?
Aby mieć certyfikat, trzeba go dostać od "zaufanego" źródła. Zaufanego to znaczy takiego któremu ufa i właściciel serwera i któremu ufa przeglądarka.
Gdy allegro ma taki certyfikat, przeglądarka musi go zweryfikować właśnie w tym zaufanym źródle. Wykonuje więc specjalne zapytanie do serwera zaufanego. Innymi słowy wykonuje się tak zwana walidacja certyfikatu.
To już koniec pierwszej części. Mamy już za sobą 4 punkty, a jeszcze nawet nie pobraliśmy strony w html! Wykonaliśmy za to aż 4 zapytania pośrednie (1 do DNSa, 2 do allegro, ale zakończone przekierowaniami i 1 do zaufanego serwera w celu walidacji certyfikatu).
-----------------------------------------
Autor @Emandero
Śledź jego kanał "iStein" w aplikacji Meritum : https://play.google.com/store/apps/details?id=com.meritum
Znasz się dobrze w jakiejś dziedzinie? Chcesz zostać autorem w Meritum? Napisz na PW.
#meritum #gruparatowaniapoziomu #technologia #it #ciekawostki
Oczywiście, jeśli klucz prywatny certyfikatu wycieknie, CA może go unieważnić. Przeglądarka może wtedy odpytać CA o listę anulowanych certyfikatów (CLR), ale jeśli np. serwer CA nie działa, to wygaszony certyfikat zostanie zaakceptowany.
Nowszą wersją weryfikacji, czy certyfikat
Może pomożecie? ( ͡º ͜ʖ͡º)
@MeritumApp: chwila, a czy walidacja nie polega po prostu na tym ze sprawdzamy czy certyfikat, ktory przedstawil allegro, jest "podpisany" (wzory matematyczne, kryptografia asymetryczna) certyfikatem, ktoremu ufamy? Serio pierwszy raz slysze aby byl wysylany request do jakiegos serwera zaufanego. Jak ten serwer
80% osób kandydujących na stanowisko SysAdmin nie umie poprawnie odpowiedzieć na to pytanie. Inna sprawa, że potem wchodzę w szczegóły :)
@MeritumApp: tak jasne, a na tym serwerze siedzi swistak, ktory odwija certifikat ze sreberka i go potwierdza. Jak sie panowie zabieracie za edukacje to warto by sie samemu, eeee certyfikowac.
Slyszeli o certyfikatach kluczach publicznych i prywatnych? Wydawca certyfikatu kluczem prywatnym (znamym
Poza tym interesujący wstęp, z ciekawością będę śledził postępy. Jak coś to wołaj :)
Plus kilka bzdur: TLS nie
@pop-corn: to chyba zależy od użytego szyfrowania -- jeśli w certyfikacie znajduje się klucz publiczny potrzebny do przesłania PreMasterSecret, to serwer musi udowodnić, że posiada także klucz prywatny certyfikatu -- inaczej klucz szyfrowania symetrycznego nie będzie się zgadzać.
Wybacz ale nie trawie sytuacji, gdzie ktoś poświęca pewnie z godzinę na uproszczony, ale wartościowy dla laika opis jakiegoś zagadnienia. Zaraz zlecą się szpanujący swoją wiedzą eksperci (często ograniczającą się do znajomosci haseł i skrótów - nie mówię, że tak jest u Ciebie), którzy wytkną wszelkie braki, nie dorzucając nic sensownego od siebie. Ty przykładowo rzuciłeś kilkoma hasłami nie opisując choćby po łebkach o co w nich chodzi. Wiem że opis