Cisco CyberOps Associate - Usługi sieciowe
Gdy host łączy się z siecią, kontaktowany jest serwer DHCP, a następnie żądany jest adres. Serwer DHCP wybiera adres z skonfigurowanego zakresu adresów zwanych pulą i przypisuje (wynajmuje) go hostowi.
W większych sieciach lub tam, gdzie populacja użytkowników często się zmienia, preferowane jest przypisywanie adresów przez DHCP. Mogą przybywać nowi użytkownicy, którzy potrzebują połączeń; inni mogą mieć nowe komputery, które muszą być podłączone. Zamiast używać adresowania statycznego dla każdego połączenia, efektywniej jest mieć adresy IPv4 przypisywane automatycznie za pomocą DHCP.
DHCP może przydzielać adresy IP na konfigurowalny okres czasu, zwany okresem dzierżawy. Okres dzierżawy jest ważnym ustawieniem DHCP. Gdy okres dzierżawy wygasa lub serwer DHCP otrzymuje wiadomość DHCPRELEASE, adres jest zwracany do puli DHCP do ponownego użycia. Użytkownicy mogą swobodnie przemieszczać się z miejsca na miejsce i łatwo nawiązywać połączenia sieciowe za pomocą DHCP.
Serwerem DHCP w większości sieci średniej i dużej wielkości jest zazwyczaj lokalny, dedykowany serwer oparty na komputerze PC. W sieciach domowych serwer DHCP zwykle znajduje się na lokalnym routerze, który łączy sieć domową z dostawcą usług internetowych (ISP).
Wiele sieci korzysta zarówno z DHCP, jak i adresowania statycznego. DHCP jest używane dla hostów o ogólnym przeznaczeniu, takich jak urządzenia końcowe użytkowników. Adresowanie statyczne jest używane dla urządzeń sieciowych, takich jak routery bramy, przełączniki, serwery i drukarki.
DHCP dla IPv6 (DHCPv6) zapewnia podobne usługi dla klientów IPv6. Jedną ważną różnicą jest to, że DHCPv6 nie dostarcza adresu bramy domyślnej. Można go uzyskać tylko dynamicznie z wiadomości Router Advertisement routera.
2. Gdy urządzenie z konfiguracją IPv4 DHCP uruchamia się lub łączy z siecią, klient wysyła wiadomość odkrycia DHCP (DHCPDISCOVER), aby zidentyfikować dostępne serwery DHCP w sieci. Serwer DHCP odpowiada wiadomością oferty DHCP (DHCPOFFER), która oferuje dzierżawę klientowi. Wiadomość oferty zawiera przypisywany adres IPv4 i maskę podsieci, adres IPv4 serwera DNS oraz adres IPv4 domyślnej bramy. Oferta dzierżawy obejmuje również czas trwania dzierżawy.
Klient może otrzymać wiele wiadomości DHCPOFFER, jeśli w lokalnej sieci jest więcej niż jeden serwer DHCP. Dlatego musi wybrać między nimi i wysyła wiadomość żądania DHCP (DHCPREQUEST), która identyfikuje konkretny serwer i ofertę dzierżawy, które klient akceptuje. Klient może również wybrać żądanie adresu, który wcześniej został mu przydzielony przez serwer.
Zakładając, że adres IPv4 żądany przez klienta lub oferowany przez serwer, jest nadal dostępny, serwer zwraca wiadomość potwierdzenia DHCP (DHCPACK), która potwierdza klientowi, że dzierżawa została sfinalizowana. Jeśli oferta nie jest już ważna, wybrany serwer odpowiada wiadomością negatywnego potwierdzenia DHCP (DHCPNAK). Jeśli zwrócona zostanie wiadomość DHCPNAK, proces wyboru musi zacząć się od nowa z transmisją nowej wiadomości DHCPDISCOVER. Po uzyskaniu dzierżawy klient musi ją odnowić przed upływem okresu dzierżawy za pomocą kolejnej wiadomości DHCPREQUEST.
Serwer DHCP zapewnia, że wszystkie adresy IP są unikalne (ten sam adres IP nie może być przypisany do dwóch różnych urządzeń sieciowych jednocześnie). Większość dostawców usług internetowych (ISP) używa DHCP do przydzielania adresów swoim klientom.
DHCPv6 ma zestaw wiadomości podobnych do tych dla DHCPv4. Wiadomości DHCPv6 to SOLICIT, ADVERTISE, INFORMATION REQUEST i REPLY.
3. Format wiadomości (komunikatu) DHCPv4 jest używany do wszystkich transakcji DHCPv4. Wiadomości DHCPv4 są kapsułkowane w protokole transportowym UDP. Wiadomości DHCPv4, które są wysyłane od klienta, używają portu źródłowego UDP 68 i portu docelowego 67. Wiadomości DHCPv4 wysyłane od serwera do klienta używają portu źródłowego UDP 67 i portu docelowego 68.
Format komunikatu DHCP:
- Kod operacji (OP) - Określa ogólny typ wiadomości. Wartość 1 wskazuje wiadomość żądania; wartość 2 to wiadomość odpowiedzi.
- Typ sprzętu - Identyfikuje typ sprzętu używanego w sieci. Na przykład, 1 to Ethernet, 15 to Frame Relay, a 20 to linia szeregowa. Są to te same kody, które są używane w wiadomościach ARP.
- Długość adresu sprzętowego - Określa długość adresu.
- Skoki - Kontroluje przekazywanie wiadomości. Ustawione na 0 przez klienta przed przesłaniem żądania.
- Identyfikator transakcji - Używany przez klienta do dopasowania żądania z otrzymanymi odpowiedziami od serwerów DHCPv4.
- Sekundy - Identyfikuje liczbę sekund, które upłynęły od momentu, gdy klient zaczął próbować nabyć lub odnowić dzierżawę. Używane przez serwery DHCPv4 do priorytetowego przetwarzania odpowiedzi, gdy wiele żądań klientów jest niewykonanych.
- Flagi - Używane przez klienta, który nie zna swojego adresu IPv4, gdy wysyła żądanie. Używany jest tylko jeden z 16 bitów, który jest flagą rozgłoszeniową. Wartość 1 w tym polu mówi serwerowi DHCPv4 lub agentowi przekazującemu żądanie, że odpowiedź powinna być wysłana jako rozgłoszenie.
- Adres IP klienta - Używany przez klienta podczas odnawiania dzierżawy, gdy adres klienta jest ważny i użyteczny, nie podczas procesu pozyskiwania adresu. Klient wprowadza swój własny adres IPv4 do tego pola tylko i wyłącznie, jeśli ma ważny adres IPv4 podczas bycia w stanie związanym; w przeciwnym razie ustawia pole na 0.
- Twój adres IP - Używany przez serwer do przypisania adresu IPv4 klientowi.
- Adres IP serwera - Używany przez serwer do identyfikacji adresu serwera, którego klient powinien użyć do następnego kroku w procesie rozruchu, który może, ale nie musi być serwerem wysyłającym tę odpowiedź. Wysyłający serwer zawsze zawiera swój własny adres IPv4 w specjalnym polu o nazwie Opcja identyfikatora serwera DHCPv4.
- Adres IP bramy - Trasy wiadomości DHCPv4, gdy są zaangażowane agenty przekazujące DHCPv4. Adres bramy ułatwia komunikację żądań i odpowiedzi DHCPv4 między klientem a serwerem, które są na różnych podsieciach lub sieciach.
- Adres sprzętowy klienta - Określa warstwę fizyczną klienta.
- Nazwa serwera - Używana przez serwer wysyłający wiadomość DHCPOFFER lub DHCPACK. Serwer może opcjonalnie umieścić swoją nazwę w tym polu. Może to być prosta nazwa tekstowa lub nazwa domeny DNS, taka jak dhcpserver.netacad.net.
- Nazwa pliku rozruchowego - Opcjonalnie używana przez klienta do żądania określonego typu pliku rozruchowego w wiadomości DHCPDISCOVER. Używany przez serwer w DHCPOFFER do pełnego określenia katalogu i nazwy pliku rozruchowego.
- Opcje DHCP - Przechowuje opcje DHCP, w tym kilka parametrów wymaganych do podstawowej operacji DHCP. To pole ma zmienną długość. Zarówno klient, jak i serwer mogą używać tego pola.
- Resolver - Klient DNS, który wysyła wiadomości DNS, aby uzyskać informacje o żądanej przestrzeni nazw domen. Rekursja - Działanie podjęte, gdy serwer DNS jest poproszony o zapytanie w imieniu resolvera DNS.
- Serwer autorytatywny - Serwer DNS, który odpowiada na wiadomości zapytań informacjami przechowywanymi w rekordach zasobów (RR) dla przestrzeni nazw domen przechowywanej na serwerze.
- Rekursywny Resolver - Serwer DNS, który rekursywnie wysyłuje zapytania o informacje, o które pytano w zapytaniu DNS.
- FQDN - Pełna nazwa domeny (Fully Qualified Domain Name) to absolutna nazwa urządzenia w rozproszonej bazie danych DNS.
- RR - Rekord zasobu to format używany w wiadomościach DNS, który składa się z następujących pól: NAME, TYPE, CLASS, TTL, RDLENGTH i RDATA.
- Strefa - Baza danych zawierająca informacje o przestrzeni nazw domen przechowywanej na serwerze autorytatywnym.
Podczas próby rozwiązania nazwy na adres IP, host użytkownika, znany w systemie jako resolver, najpierw sprawdzi swoją lokalną pamięć podręczną DNS. Jeśli mapowanie nie zostanie tam znalezione, zostanie wysłane zapytanie do serwera DNS lub serwerów, które są skonfigurowane w właściwościach adresowania sieci dla resolvera. Te serwery mogą być obecne w przedsiębiorstwie lub ISP. Jeśli mapowanie nie zostanie tam znalezione, serwer DNS zapyta inne serwery DNS wyższego poziomu, które są autorytatywne dla domeny najwyższego poziomu, aby znaleźć mapowanie. Są to tzw. zapytania rekursywne.
6. Ze względu na potencjalne obciążenie serwerów domen najwyższego poziomu, niektóre serwery DNS w hierarchii utrzymują pamięć podręczną wszystkich rekordów DNS, które rozwiązano przez pewien okres czasu. Te serwery DNS z pamięcią podręczną mogą rozwiązywać zapytania rekursywne bez przekazywania zapytań do serwerów wyższego poziomu. Jeśli serwer wymaga danych dla strefy, poprosi o przekazanie tych danych z autorytatywnego serwera dla tej strefy. Proces przenoszenia bloków danych DNS między serwerami nazywa się transferem strefy.
Krok 2: Zapytanie DNS jest wysyłane do wyznaczonego serwera DNS dla komputera klienta.
Krok 3: Serwer DNS dopasowuje FQDN do jego adresu IP.
Krok 4: Odpowiedź na zapytanie DNS jest wysyłana z powrotem do klienta z adresem IP dla FQDN.
Krok 5: Komputer klienta używa adresu IP do wysyłania żądań do serwera.
Serwer DNS przechowuje różne typy rekordów zasobów (RR), które są używane do rozwiązywania nazw. Te rekordy zawierają nazwę, adres i typ rekordu. Niektóre typy rekordów:
- A - Adres IPv4 urządzenia końcowego
- NS - Autorytatywny serwer nazw
- AAAA - Adres IPv6 urządzenia końcowego (wymawiane jako quad-A)
- MX - Rekord wymiany poczty
Gdy klient wysyła zapytanie, proces DNS na serwerze najpierw sprawdza swoje własne rekordy, aby rozwiązać nazwę. Jeśli nie jest w stanie rozwiązać nazwy za pomocą swoich przechowywanych rekordów, kontaktuje się z innymi serwerami, aby rozwiązać nazwę. Po znalezieniu i zwróceniu dopasowania do oryginalnego żądającego serwera, serwer tymczasowo przechowuje adres numeryczny na wypadek, gdyby ta sama nazwa była ponownie żądana.
Usługa klienta DNS na komputerach z systemem Windows również przechowuje wcześniej rozwiązane nazwy w pamięci. Polecenie ipconfig /displaydns
wyświetla wszystkie buforowane wpisy DNS.
DNS używa tego samego formatu wiadomości między serwerami, składającego się z pytania, odpowiedzi, autorytetu i dodatkowych informacji dla wszystkich typów zapytań klienta i odpowiedzi serwera, komunikatów o błędach i transferu informacji o rekordach zasobów. Poniżej opisano każdą sekcję wiadomości DNS:
- Pytanie - Pytanie do serwera. Zawiera nazwę domeny do rozwiązania, klasę domeny i typ zapytania.
- Odpowiedź - Rekord zasobu DNS, lub RR, dla zapytania, w tym rozwiązany adres IP w zależności od typu RR.
- Autorytet - Zawiera RR dla autorytetu domeny.
- Dodatkowe - Dotyczy tylko odpowiedzi na zapytania. Składa się z RR, które zawierają dodatkowe informacje, które uczynią rozwiązanie zapytania bardziej efektywnym.
Dynamiczny DNS (DDNS) pozwala użytkownikowi lub organizacji zarejestrować adres IP z nazwą domeny, jak w DNS. Jednak gdy adres IP mapowania ulega zmianie, nowe mapowanie może być propagowane przez DNS prawie natychmiast. Aby to miało miejsce, użytkownik uzyskuje subdomenę od dostawcy DDNS. Ta subdomena jest mapowana na adres IP serwera użytkownika lub domowego połączenia routera z internetem. Oprogramowanie klienta działa na routerze lub komputerze hosta, który wykrywa zmianę adresu IP internetu użytkownika. Gdy wykryta zostanie zmiana, dostawca DDNS jest natychmiast informowany o zmianie, a mapowanie między subdomeną użytkownika a adresem IP internetu jest natychmiast aktualizowane, jak pokazano na rysunku. DDNS nie używa prawdziwego wpisu DNS dla adresu IP użytkownika. Zamiast tego działa jako pośrednik. Domena dostawcy DDNS jest zarejestrowana w DNS, ale subdomena jest mapowana na zupełnie inny adres IP. Usługa dostawcy DDNS dostarcza ten adres IP do serwera DNS drugiego poziomu resolvera. Ten serwer DNS, zarówno w organizacji, jak i ISP, dostarcza adres IP DDNS do resolvera.
Dynamiczny DNS może być nadużywany przez aktorów zagrożeń na różne sposoby. Darmowe usługi DDNS są szczególnie przydatne dla aktorów zagrożeń. DDNS może być używany do ułatwienia szybkiej zmiany adresu IP dla serwerów poleceń i kontroli malware po tym, jak obecny adres IP został szeroko zablokowany. W ten sposób malware może być kodowane z URL zamiast statycznego adresu IP. DDNS może być również używany jako sposób na wydobycie danych z wnętrza sieci, ponieważ ruch DNS jest bardzo powszechny i często uważany za nieszkodliwy. Sam DDNS nie jest złośliwy, jednak monitorowanie ruchu DNS, który jest kierowany do znanych usług DDNS, zwłaszcza darmowych, jest bardzo przydatne do wykrywania exploitów.
9. WHOIS to protokół oparty na TCP, który jest używany do identyfikacji właścicieli domen internetowych za pośrednictwem systemu DNS. Gdy domena internetowa jest rejestrowana i mapowana na adres IP dla systemu DNS, rejestrant musi dostarczyć informacje dotyczące tego, kto rejestruje domenę. Aplikacja WHOIS używa zapytania, w formie FQDN. Zapytanie jest wysyłane za pośrednictwem usługi lub aplikacji WHOIS. Oficjalny rekord rejestracji własności jest zwracany do użytkownika przez usługę WHOIS. Może to być przydatne do identyfikacji miejsc docelowych, które zostały dostępne przez hosty w sieci. WHOIS ma ograniczenia, a hakerzy mają sposoby na ukrywanie swojej tożsamości. Jednak WHOIS jest punktem wyjścia do identyfikacji potencjalnie niebezpiecznych lokalizacji internetowych, które mogły zostać osiągnięte przez sieć. Internetowa usługa WHOIS nazywana ICANN Lookup może być używana do uzyskania rekordu rejestracji URL. Inne usługi WHOIS są utrzymywane przez regionalne rejestry internetowe, takie jak RIPE i APNIC.
10. Nie ma wystarczającej liczby publicznych adresów IPv4, aby przypisać unikalny adres do każdego urządzenia podłączonego do Internetu. Prywatne adresy są używane wewnątrz organizacji lub na stronie, aby umożliwić urządzeniom komunikację na poziomie lokalnym. Jednak ponieważ te adresy nie identyfikują żadnej konkretnej firmy ani organizacji, prywatne adresy IPv4 nie mogą być przekazywane przez internet. Aby umożliwić urządzeniu z prywatnym adresem IPv4 dostęp do zasobów poza lokalną siecią, adres prywatny musi być przetłumaczony na adres publiczny.
11. NAT (Network Address Translation) zapewnia tłumaczenie adresów prywatnych na adresy publiczne, jak pokazano na rysunku. Pozwala to urządzeniu z prywatnym adresem IPv4 uzyskać dostęp do zasobów poza jego prywatną siecią, takich jak te dostępne w Internecie. NAT, w połączeniu z prywatnymi adresami IPv4, stanowił główną metodę zachowania publicznych adresów IPv4. Jeden publiczny adres IPv4 może być współdzielony przez setki, a nawet tysiące urządzeń, z każdym skonfigurowanym z unikalnym adresem prywatnym IPv4.
12. NAT ma wiele zastosowań, ale jego głównym celem jest oszczędzanie publicznych adresów IPv4. Działa to poprzez umożliwienie sieciom korzystania z prywatnych adresów IPv4 wewnętrznie i tłumaczenie na adres publiczny tylko wtedy, gdy jest to potrzebne. NAT ma postrzegany korzyść dodania stopnia prywatności i bezpieczeństwa do sieci, ponieważ ukrywa wewnętrzne adresy IPv4 przed zewnętrznymi sieciami.
Routery obsługujące NAT mogą być skonfigurowane z jednym lub kilkoma ważnymi publicznymi adresami IPv4. Te publiczne adresy są znane jako pul NAT. Gdy urządzenie wewnętrzne wysyła ruch poza sieć, router z obsługą NAT przekształca wewnętrzny adres IPv4 urządzenia na adres publiczny z puli NAT. Dla urządzeń zewnętrznych cały ruch wchodzący i wychodzący z sieci wydaje się mieć publiczny adres IPv4 z dostarczonej puli adresów.
Router NAT zwykle działa na granicy sieci typu “stub”. Sieć typu “stub” to jedna lub więcej sieci z jednym połączeniem do sąsiedniej sieci, jednym wejściem i jednym wyjściem z sieci. Na przykład na rysunku R2 jest routerem granicznym. Z perspektywy dostawcy usług internetowych (ISP), R2 tworzy sieć typu “stub”.
- Pierwsze połączenie to połączenie sterujące, które klient nawiązuje z serwerem przy użyciu portu TCP 21. W ramach tego połączenia przesyłane są polecenia klienta i odpowiedzi serwera.
- Drugie połączenie służy do faktycznego transferu danych i jest zestawiane przez klienta za każdym razem, gdy występują dane do przesłania. Wykorzystuje ono port TCP 20.
Klienci poczty e-mail komunikują się z serwerami poczty w celu wysyłania i odbierania wiadomości e-mail. Serwery poczty komunikują się z innymi serwerami poczty, aby przesyłać wiadomości z jednej domeny do drugiej. Klient poczty e-mail nie komunikuje się bezpośrednio z innym klientem poczty e-mail podczas wysyłania wiadomości. Obaj klienci polegają na serwerze poczty do przesyłania wiadomości.
Poczta e-mail obsługuje trzy oddzielne protokoły: Simple Mail Transfer Protocol (SMTP), Post Office Protocol (POP) i Internet Message Access Protocol (IMAP). Proces warstwy aplikacji, który wysyła pocztę, korzysta z protokołu SMTP. Klient pobiera e-maile za pomocą jednego z dwóch protokołów warstwy aplikacji: POP lub IMAP.
Kiedy klient wysyła e-mail, proces SMTP klienta łączy się z procesem SMTP serwera na dobrze znany port 25. Po nawiązaniu połączenia klient próbuje przesłać e-mail do serwera przez to połączenie. Gdy serwer odbierze wiadomość, umieszcza ją w lokalnym koncie, jeśli odbiorca jest lokalny, lub przekazuje wiadomość do innego serwera poczty w celu dostarczenia, jak pokazano na schemacie.
Docelowy serwer poczty e-mailowej może nie być dostępny online lub może być zajęty w momencie wysyłania wiadomości e-mail. Dlatego protokół SMTP buforuje wiadomości, aby wysłać je w późniejszym czasie. Okresowo serwer sprawdza kolejkę wiadomości i próbuje wysłać je ponownie. Jeśli wiadomość nadal nie zostanie dostarczona po określonym czasie wygaśnięcia, jest zwracana do nadawcy jako niemożliwa do dostarczenia.
19. POP3 jest używane przez aplikację do pobierania poczty z serwera poczty. W przypadku POP3 poczta jest pobierana z serwera na klienta, a następnie usuwana na serwerze, jak pokazano na schemacie.
Serwer uruchamia usługę POP3, pasywnie nasłuchując na porcie TCP 110 w oczekiwaniu na żądania połączenia klienta. Kiedy klient chce skorzystać z usługi, wysyła żądanie nawiązania połączenia TCP z serwerem. Po nawiązaniu połączenia serwer POP3 wysyła powitanie. Klient i serwer POP3 wymieniają się komendami i odpowiedziami, aż połączenie zostanie zamknięte lub przerwane.
W przypadku POP3 wiadomości e-mail są pobierane na klienta i usuwane z serwera, dlatego nie ma centralnego miejsca, gdzie przechowywane są wiadomości e-mail. Ponieważ POP3 nie przechowuje wiadomości, nie jest to korzystne dla małych firm potrzebujących scentralizowanego rozwiązania kopii zapasowych.
20. IMAP to inny protokół opisujący sposób pobierania wiadomości e-mail, jak pokazano na schemacie. W przeciwieństwie do POP3, gdy użytkownik łączy się z serwerem obsługującym IMAP, kopie wiadomości są pobierane do aplikacji klienta. Oryginalne wiadomości pozostają na serwerze do ręcznego usunięcia. Użytkownicy przeglądają kopie wiadomości w swoim oprogramowaniu klienta poczty.
Użytkownicy mogą tworzyć hierarchię plików na serwerze w celu organizacji i przechowywania poczty. Ta struktura plików jest duplikowana również na kliencie poczty e-mail. Kiedy użytkownik zdecyduje się usunąć wiadomość, serwer synchronizuje tę akcję i usuwa wiadomość z serwera. 📧
Interpretacja URL:
- Kiedy wpisujesz adres URL (Uniform Resource Locator) w przeglądarkę internetową, przeglądarka nawiązuje połączenie z serwerem, na którym działa usługa internetowa.
- Adres URL składa się z trzech części: protokołu (np. “http”), nazwy serwera (np. “www.cisco.com”) i określonego pliku (np. “index.html”).
Konwersja na adres IP:
- Przeglądarka sprawdza u serwera nazw (tzw. serwerów DNS), aby przekształcić nazwę serwera (np. “www.cisco.com”) na adres IP.
- Następnie przeglądarka łączy się z serwerem za pomocą tego adresu IP.
Wysłanie żądania HTTP:
- Klient (przeglądarka) inicjuje żądanie HTTP do serwera, wysyłając zapytanie GET o plik “index.html”.
Odpowiedź serwera:
- Serwer przesyła kod HTML strony internetowej w odpowiedzi na żądanie klienta.
Wyświetlenie strony:
- Przeglądarka odczytuje kod HTML i formatuje stronę do wyświetlenia w oknie przeglądarki.
Dodatkowe elementy URL:
- Adresy URL mogą zawierać dodatkowe informacje, takie jak port, ciąg zapytań (query string) i fragment.
- Ciąg zapytań zawiera dodatkowe parametry, np. dane przekazywane do innych procesów na serwerze.
- Fragment wskazuje na konkretną część zasobu, np. kotwicę w dokumencie HTML.
Dzięki protokołowi HTTP możemy przeglądać strony internetowe i pobierać zasoby z serwerów.
22. Protokół HTTP to protokół żądania/odpowiedzi, który używa portu TCP 80, choć można używać innych portów. Kiedy klient, zwykle przeglądarka internetowa, wysyła żądanie do serwera WWW, używa jednej z sześciu metod określonych przez protokół HTTP:
- GET - Klient prosi o dane. Przeglądarka wysyła żądanie GET do serwera, aby pobrać strony HTML.
- POST - Wysyła dane do serwera w celu utworzenia lub zaktualizowania zasobu.
- PUT - Przesyła zasoby lub treść na serwer, np. obraz.
- DELETE - Usuwa określony zasób.
- OPTIONS - Zwraca metody HTTP obsługiwane przez serwer.
- CONNECT - Prosi serwer proxy HTTP o przekierowanie sesji TCP HTTP do docelowego miejsca.
Mimo że HTTP jest niezwykle elastyczny, nie jest bezpiecznym protokołem. Wiadomości żądania przesyłane są do serwera w postaci tekstu, który może być przechwycony i odczytany. Odpowiedzi serwera, zwykle strony HTML, również nie są zaszyfrowane.
1xx - Informacyjne 2xx - Sukces 3xx - Przekierowanie 4xx - Błąd klienta 5xx - Błąd serwera Poniżej przedstawiam wyjaśnienie niektórych powszechnych kodów statusu. Doskonałym źródłem informacji na temat konkretnych kodów jest wyszukiwanie fraz „rest api tutorial” i „HTTP status codes”. Kody statusu HTTP są widoczne w ruchu klient-serwer HTTP i są przydatne w badaniach z zakresu cyberbezpieczeństwa.
HTTP/2 to znacząca rewizja specyfikacji protokołu HTTP. Celem HTTP/2 jest poprawa wydajności HTTP poprzez rozwiązanie problemów z opóźnieniami, które występowały w wersji HTTP 1.1. HTTP/2 używa tego samego formatu nagłówka co HTTP 1.1 i korzysta z tych samych kodów statusu. Istnieje jednak wiele ważnych funkcji, o których powinien wiedzieć analityk ds. cyberbezpieczeństwa.
- Multiplexing – Serwery i klienci HTTP prowadzą rozmowy zwane strumieniami dla każdej transakcji. Na przykład klient łączy się z serwerem HTTP, żąda zasobów i otrzymuje te zasoby. W przypadku HTTP 1.1 obsługiwany był tylko jeden strumień na raz. W przypadku HTTP/2 klient i serwer mogą mieć wiele strumieni działających między nimi jednocześnie w ramach tego samego połączenia TCP, jak pokazano na schemacie. To znacznie zwiększa wydajność protokołu.
- Server PUSH - Serwery HTTP mogą przesyłać treści, które jeszcze nie zostały żądane przez klienta. Serwer przewiduje treści, które klient prawdopodobnie będzie chciał pobrać. Klient buforuje te treści na przyszłość.
- Protokół binarny – W HTTP 1.1 komendy, takie jak żądania klienta do serwera, były formułowane w formacie tekstowym. W HTTP/2 używane są komendy binarne. Rozwiązuje to pewne kłopotliwe problemy z poprzednią wersją, zmniejsza nadmiar żądań i odpowiedzi oraz redukuje opóźnienia, poprawiając przepustowość.
- Kompresja nagłówków – Nagłówki żądań i odpowiedzi HTTP są kompresowane, aby zmniejszyć ilość przepustowości wymaganej przez strumienie HTTP/2.
W celu bezpiecznej komunikacji w internecie stosowany jest protokół HTTP Secure (HTTPS). HTTPS używa portu TCP 443. Wykorzystuje uwierzytelnianie i szyfrowanie do zabezpieczenia danych w trakcie przesyłania między klientem a serwerem. Proces żądania klienta i odpowiedzi serwera w HTTPS jest taki sam jak w przypadku HTTP, ale strumień danych jest zaszyfrowany za pomocą protokołu Secure Socket Layer (SSL) lub Transport Layer Security (TLS) przed przesłaniem przez sieć. Mimo że SSL jest poprzednikiem TLS, oba protokoły często są określane jako SSL.
HTTPS/2 jest określone jako HTTPS z TLS z rozszerzeniem Application-Layer Protocol Negotiation (ALPN) dla TLS 1.2 lub nowszego. Standard HTTP/2 nie określa szyfrowania, ale wszystkie główne aplikacje klienta wymagają go. Można więc założyć, że HTTP/2 jest faktycznie zaszyfrowane.