Gdy hostujesz serwer internetowy lub aplikację internetową, musisz otworzyć port 443 (lub port 80) na serwerze, aby mógł on odbierać żądania internetowe. Podczas gdy port 80 odnosi się do HTTP, port 443 odpowiada HTTPS.

Według badań Google z 2021 r. ponad 95% witryn korzystało z protokołu HTTPS. Oferuje bezpieczniejszą komunikację niż HTTP i jest de facto standardem nowoczesnego bezpieczeństwa w sieci.

Jeśli chcesz dowiedzieć się więcej o tym porcie i jego działaniu, musisz najpierw wiedzieć, co port reprezentuje. Więc zaczynajmy!

Czym dokładnie jest port?

Ogólnie rzecz biorąc, port reprezentuje punkt połączenia lub interfejs między urządzeniami zewnętrznymi i wewnętrznymi. Tak więc w sieci komputerowej jest to unikalny wirtualny punkt końcowy, w którym rozpoczyna się lub kończy połączenie sieciowe. Porty mogą zezwalać lub ograniczać połączenia wychodzące, przychodzące lub oba, a zapora odpowiada za odpowiednie reguły.

Jeśli spróbujesz uzyskać dostęp do innego urządzenia w sieci, Twoje urządzenie użyje określonych portów w zależności od protokołu używanego do nawiązania połączenia. Protokół może być zwykłym protokołem komunikacyjnym, takim jak Transmission Control Protocol (TCP)/User Datagram Protocol (UDP), protokołem udostępniania danych, takim jak File Transfer Protocol (FTP) i tak dalej.

Port musi być otwarte na drugim urządzeniu w celu nawiązania połączenia. Są one powiązane z różnymi usługami, które pomagają nawiązać i wdrożyć połączenie w oparciu o protokół komunikacyjny.

W sumie 65536 numerów portów jest dostępnych dla różnych protokołów sieciowych. Wśród nich

System lub dobrze znane porty (0-1023) są wstępnie przypisane jako domyślny numer dla niektórych dobrze znanych portów. Porty użytkownika lub zarejestrowane (1024-49151) to nieprzypisane porty, które są dostępne dla zwykłych użytkowników. Muszą zarejestrować port w Internet Assigned Numbers Authority (IANA), aby zapobiec powielaniu. Porty dynamiczne lub prywatne (49152-65535) to krótkotrwałe porty używane do usług prywatnych lub z powodów tymczasowych.

Co to jest port 443 i jaki ma związek z HTTPS?

Wiele serwerów internetowych korzysta z certyfikatów Transport Layer Security (TLS) w celu poprawy ich bezpieczeństwa. Jeśli spróbujesz uzyskać dostęp do takiego serwera WWW za pomocą protokołu TCP, sieć użyje zaszyfrowanego kanału do wysłania żądania i odebrania danych z serwera. Port 443 jest domyślnym wirtualnym punktem końcowym tego bezpiecznego kanału na serwerze WWW.

Twoja przeglądarka internetowa będzie używać protokołu Hypertext Transfer Protocol Secure (HTTPS) w warstwie aplikacji do wysyłania żądań i odbierania danych. Tak więc port 443 jest bezpośrednio powiązany z protokołem HTTPS. Niektóre sieci VPN lub inne usługi również używają tego portu do ominięcia ograniczeń zapory sieciowej.

TLS to nowsza wersja protokołu SSL (Secure Sockets Layer), więc nadal możesz często spotkać protokół SSL używany do opisywania certyfikatów bezpieczeństwa. Jednak w dzisiejszych czasach protokół SSL jest przestarzały i używane są tylko najnowsze wersje TLS.

Większość serwerów sieciowych korzysta obecnie z certyfikatów TLS, ponieważ bezpieczeństwo danych jest kwestią najwyższej wagi. Dlatego w prawie wszystkich adresach URL zobaczysz https://zamiast http://.

Jak działa szyfrowanie HTTPS i TLS?

Technologia TLS wykorzystuje zestaw dwa klucze (publiczny i prywatny) do szyfrowania. Tylko klucz prywatny może dekodować dane szyfrowane kluczem publicznym i odwrotnie. Oto pełny proces działania szyfrowania HTTPS i TLS:

Przeglądarka internetowa musi najpierw nawiązać połączenie (TCP Handshake) z serwerem WWW, zanim będzie mogła wysłać żądanie TCP. Przeglądarka internetowa wysyła pakiet danych synchronizacji (SYN) do serwera WWW w celu zażądania połączenia. Serwer internetowy odpowiada synchronizacją (SYN) wraz z pakietem potwierdzenia (ACK). Następnie przeglądarka internetowa odpowiada ACK, co ustanawia połączenie między przeglądarką a serwerem.
W przypadku HTTPS konieczny jest kolejny uścisk dłoni, tj. uzgadnianie TLS ponieważ dane muszą być zaszyfrowane. Ten krok nie jest konieczny w przypadku protokołu HTTP, ponieważ mogą one bezpośrednio rozpocząć wysyłanie danych aplikacji w formacie zwykłego tekstu. W TLS 1.2 używane jest szyfrowanie RSA, które wygląda następująco:
Najpierw serwer i przeglądarka klienta wymieniają wiadomości „cześć”. Następnie oba terminale komunikują swoje protokoły, standard szyfrowania itd. Serwer wysyła również Certyfikat TLS zawierający następujące informacje: Nazwa domeny Klucz publiczny Urząd certyfikacji wraz z podpisem cyfrowym Data wydania i wygaśnięcia Wersja TLS W tym przypadku serwer wysyła klucz publiczny zawarty w certyfikacie TLS do klienta w celu przeprowadzenia procesu szyfrowania/odszyfrowywania. Klucz prywatny jest przechowywany tylko na serwerze internetowym i nie udostępnia klucza w dowolnym miejscu Klient weryfikuje certyfikat TLS, a następnie tworzy losowy kod bajtowy (sekret wstępny). Następnie szyfruje tajny kod za pomocą klucza publicznego i udostępnia go serwerowi. Serwer używa klucza prywatnego do odszyfrowania tych danych. Zarówno klienci, jak i serwery tworzą zestaw kluczy sesyjnych przy użyciu tajnego klucza wstępnego. Następnie oba terminale wyślą „zakończone” komunikaty i wreszcie będą mogły rozpocząć wysyłanie danych aplikacji. Będą się komunikować przy użyciu tych kluczy tymczasowych do szyfrowania i deszyfrowania. Pozostają one ważne przez określony czas i wygasają po zakończeniu sesji lub zrywa połączenie. Ten sam proces odbywa się ponownie, aby odtworzyć inny zestaw kluczy sesji. W TLS 1.3 używane jest szyfrowanie DHE, które jest znacznie szybsze.
Klient wysyła obsługiwany zestaw kluczy i protokół uzgodnienia klucza oraz własny udział klucza wraz z wiadomość „cześć” do serwera. Serwer odpowiada certyfikatem serwera, jego udziałem w kluczu i protokołem uzgadniania klucza, który wybiera z zestawu po wiadomości „hello”. Wysyła również swoją wiadomość „zakończono”, ponieważ nie musi przesyłać więcej danych przed rozpoczęciem połączenie. Klient weryfikuje certyfikat, generuje niezbędne klucze szyfrowania i wysyła wiadomość „zakończono”. Teraz zarówno serwer, jak i klient mają niezbędne klucze do szyfrowania/odszyfrowywania i mogą rozpocząć wysyłanie danych aplikacji.

Serwery WWW mogą używać różnych poziomy (nie wersje) certyfikatów TLS wraz z HTTPS, w zależności od tego, jak rygorystyczny jest urząd certyfikacji (CA) podczas dostarczania certyfikatów.

Certyfikaty potwierdzające domenę: ten certyfikat potwierdza tylko własność domeny. Ma najniższy poziom weryfikacji i jest odpowiedni tylko dla blogów i podobnych witryn. Certyfikaty walidacji organizacji: właściciel musi zweryfikować dane osobowe i biznesowe oraz własność domeny podczas ubiegania się o te certyfikaty. Certyfikaty rozszerzonej weryfikacji: mają najwyższy poziom weryfikacji, a właściciel musi zweryfikować wyłączne prawa do domeny — swój adres fizyczny wraz ze wszystkimi danymi osobowymi, biznesowymi i domenowymi.

Jak port 443 wypada w porównaniu z portem 80?

Podobnie jak sieć wysyła żądania HTTPS do portu 443 na serwerze internetowym, żądania HTTP są domyślnie przesyłane do portu 80. Te żądania HTTP i odpowiadające im dane z serwera WWW nie przechodzą przez żadne szyfrowanie w sieci. Tak więc te dane są w postaci zwykłego tekstu i są bardzo podatne na dostęp z zewnątrz.

Czy port 443 jest ważny?

HTTPS radykalnie poprawia bezpieczeństwo danych w porównaniu z HTTP. Nie oznacza to, że jest w pełni bezpieczny, ponieważ istnieją sposoby na jego wykorzystanie, takie jak kradzież danych z pamięci podręcznej lub pamięci przeglądarki. Obecnie jest to jednak najbezpieczniejszy protokół.

Większość serwerów internetowych nie zezwala na żądania HTTP, a przeglądarki będą również próbowały uniemożliwić dostęp do jakichkolwiek witryn internetowych za pośrednictwem protokołu HTTP. Ponieważ HTTPS jest obecnym standardem, port 80 nie jest często używany. W związku z tym cała komunikacja internetowa przechodzi przez port 443.

Możliwe jest określenie dowolnego innego portu jako punktu końcowego komunikacji HTTPS zamiast 443 na serwerze. Ale klient będzie musiał również określić konkretny numer portu podczas wysyłania żądania HTTPS. Tak więc, jeśli programista nie testuje swoich serwerów WWW, nikt nie będzie używał innego portu jako zamiennika.

Czy powinieneś otworzyć port 443?

Za każdym razem, gdy klient wysyła żądanie sieciowe, urządzenie klienckie używa dostępnego zarejestrowanego lub dynamicznego portu (pomiędzy 1024 a 65535), aby wysłać żądanie do portu 443 lub 80 na serwerze w zależności od używanego protokołu.

Tak więc, jeśli konfigurujesz serwer WWW dla innych osób, musisz otworzyć port 443 dla przychodzącego dostępu HTTPS, aby mogły się z nim połączyć przez Internet. Jednak nie jest konieczne otwieranie portu po stronie klienta w celu uzyskania dostępu wychodzącego, ponieważ urządzenie użyje innego otwartego portu.

Przed próbą otwarcia portu sprawdź jeśli jest już otwarty za pomocą polecenia netstat-aon | findstr „LISTEN” w wierszu polecenia

Jeśli nie jest otwarty, wykonaj poniższe czynności.

Otwórz Uruchom, naciskając klawisz Windows + R. Wpisz firewall.cpl i naciśnij Enter, aby otwórz Zaporę sieciową Windows Defender. Wybierz Ustawienia zaawansowane w lewym okienku nawigacyjnym. Przejdź do karty Reguły ruchu przychodzącego i kliknij Nowa reguła.
Zaznacz Port i kliknij Dalej. Wybierz TCP i wpisz 443 w polu Określone porty lokalne. Kliknij ponownie Dalej.
Zaznacz Zezwalaj na połączenie i naciśnij Dalej. Wybierz opcje odpowiadające Twoim potrzebom i kliknij Dalej. Podaj dowolną nazwę i wybierz Zakończ.

Uwaga: otwarcie dowolnego portu w zaporze sieciowej wiąże się z potencjalnym zagrożeniem bezpieczeństwa. Kluczowe jest wdrożenie odpowiednich środków bezpieczeństwa, takich jak stosowanie certyfikatów SSL/TLS, aby zminimalizować ryzyko nieautoryzowanego dostępu lub ataków.

Categories: IT Info