[contact-form-7 404 "Nie znaleziono"]
Konfiguracja Cloudflare cz 1 - migracja Name Serwerów (NS)

Konfiguracja Cloudflare cz 1 – migracja Name Serwerów (NS)

React

Wprowadzenie

W poniższym wpisie omówimy kolejny krok pozwalający na poprawienie bezpieczeństwa naszego serwera w sieci. W tym celu skorzystamy z usług dostarczanych przez Cloudflare. Jest to pierwszy artykuł z serii trzech opisujących poprawną konfigurację wykorzystującą usługę Cloudflare. W części drugiej zajmujemy się zabezpieczeniem komunikacji pomiędzy naszym serwisem a Cloudflare, natomiast w części trzeciej omówimy oraz skonfigurujemy nagłówki bezpieczeństwa HTTP.

Cloudflare oprócz posiadania usług płatnych przeznaczonych głównie dla dużych serwisów posiada rozbudowaną gamę usług darmowych, które możemy wykorzystać do swoich celów. Wiele osób nie zdaje sobie sprawy z tego jak bardzo rozbudowana jest darmowa oferta Cloudflare. Na początku jednak omówmy jak działa Cloudflare.

Jeżeli jesteś zainteresowany tylko konfiguracją TLS dla swojego serwera za pomocą Let’s Encrypt przeczytaj nasz poprzedni wpis – Konfiguracja Let’s Encrypt z wykorzystaniem serwera Apache / NGINX.

Jak działa Cloudflare?

Cloudflare jest usługą CDN (Content Delivery Network), która oferuje między innymi funkcje zwiększania wydajności (przyspieszenia) oraz poprawiające bezpieczeństwo naszej strony internetowej. Cloudflare działa jako pośrednik (proxy) pomiędzy użytkownikiem a serwerem, dzięki czemu ruch pochodzący od spamerów i hakerów może być filtrowany (Rysunek 1). Dużą zaletą Cloudflare jest rozproszenie ruchu sieciowego do serwerów CDN znajdujących się na całym świecie. Pozwala to na zmniejszenie opóźnienia w dostarczaniu treści. Cloudflare umieszcza kopię naszej strony internetowej na swoich serwerach rozproszonych na całym świecie i serwuje ją innym użytkownikom.

Porównanie połączenia do serwisu bez wykorzystania Cloudflare oraz z jego wykorzystaniem

Rysunek 1. Porównanie połączenia do serwisu bez wykorzystania Cloudflare oraz z jego wykorzystaniem.

Co dodatkowo daje Cloudflare?

Oprócz wspomnianego wcześniej CDN, Cloudflare daje swoim użytkownikom wiele przydatnych narzędzi zupełnie za darmo np:

  • Ukrycie prawdziwego adresu IP serwera – dzięki wykorzystaniu trybu “Proxy”, Cloudflare pozwala na przypisanie naszej domeny do swoich serwerów. Upraszczając oznacza to, że jeśli ktoś będzie chciał połączyć się z naszą stroną internetową w pierwszej kolejności połączy się z serwerami Cloudflare, a dopiero po przefiltrowaniu zapytań połączy się z naszym rzeczywistym serwerem. Dzięki takiemu rozwiązaniu część ataków hakerskich lub spamerskich jest wykrywana oraz blokowana zanim w ogóle dotrze do naszego serwera.

  • Ochrona przed atakami DDoS – w trakcie ataku, na serwer przesyłanych jest wiele zapytań jednocześnie, które mogą doprowadzić do niedostępności naszego serwisu dla innych użytkowników.

  • Minifikacja plików i cachowanie strony – kompresję kodu HTML, JS oraz CSS z możliwością wyboru konkretnych plików i serwowaniu ich w wersji zminifikowanej. Co pozytywnie wpływa na szybkość ładowania strony praktycznie w każdym miejscu na świecie.

Jeśli zainteresował Cię temat wykorzystania Cloudflare dla swojej strony internetowej to w dalszej części artykułu skupimy się jak prawidłowo powinna wyglądać konfiguracja oraz integracja usługi.

Wymagania wstępne

Aby móc poprawnie skonfigurować usługę Cloudflare dla swojego serwera, będziesz potrzebował:

  • serwer z systemem operacyjnym Debian lub Ubuntu, w którym możesz wykonywać polecenia za pomocą sudo lub jako użytkownik root oraz masz otwarte porty HTTP (80) i HTTPS(443),

  • w pełni zarejestrowaną domenę,

  • zarejestrowane konto w serwisie Cloudflare.

Na potrzeby niniejszego opisu wykorzystamy domenę dsecure.dev, która została kupiona za pomocą OVH oraz serwer uruchomiony w serwisie DigitalOcean z systemem operacyjnym Ubuntu 20.04 (LTS).

Rejestracja domeny w Cloudflare

W tym miejscu zakładam, że masz już zarejestrowane konto w Cloudflare. Dodatkowo sugeruję konfigurację logowania za pomocą 2FA.

Przy Twoim pierwszym logowaniu w serwisie powinieneś znaleźć niebieski przycisk “Add a Site” tak samo jak przedstawione jest to na rysunku nr 2. Kiedy go wybierzesz pojawi się miejsce w którym należy podać nazwę domeny, którą chcesz zmigrować do serwerów DNS Cloudflare (Rysunek 3).

Dodawanie nowej domeny w Cloudflare z poziomu dashboardu

Rysunek 2. Dodawanie nowej domeny w Cloudflare z poziomu dashboardu.

Rysunek 3. Wprowadzenie nazwy domeny, która ma zostać zmigrowana na serwery DNS Cloudflare.

W kolejnym kroku wybieramy darmowy plan (Rysunek 4). Porównanie wszystkich dostępnych planów możemy znaleźć tutaj. Natępnie serwis sprawdzi jakie posiadamy już skonfigurowane rekordy dla naszej domeny i zaproponuje ich zaimportowanie (Rysunek 5). Automatyczny import rekordów podczas migracji name serwerów może zapobiec niedostępności Twojego serwisu dla odwiedzających. Dodatkowo na tym etapie możesz dodać resztę rekordów np. odpowiedzialnych za konfigurację poczty. Ostatnim etapem dotyczącym migracji name serwerów jest zmiana wpisów u dostawcy domeny.

Wybranie darmowego planu

Rysunek 4. Wybranie darmowego planu.

Akceptacja rekordów, które mają zostać zmigrowane do serwerów DNS Cloudflare

Rysunek 5. Akceptacja rekordów, które mają zostać zmigrowane do serwerów DNS Cloudflare.

Na rysunku nr 6 zaznaczone są nameservery Cloudflare, które musimy podać naszemu dostawcy. W ten sposób poinformujemy go, że od tej pory zarządzenie naszą domeną odbywa się za pomocą zewnętrznego serwisu jakim jest Cloudflare. Aby to zrobić w panelu zarządzania domeną w serwisie OVH wybieramy zakładkę “Serwery DNS” a następnie zmień serwery DNS (Rysunek 7). W naszym przypadku są to serwery aiden.ns.cloudflare.com i georgia.ns.cloudflare.com. Po ich wprowadzeniu powinien się pokazać stan migracji tak jak na rysunku 8.

Wskazanie przez Cloudflare name serwerów, które powinny zostać wprowadzone u naszego obecnego dostawcy

Rysunek 6. Wskazanie przez Cloudflare name serwerów, które powinny zostać wprowadzone u naszego obecnego dostawcy.

Zmiana nameserverów w panelu zarządzania OVH

Rysunek 7. Zmiana nameserverów w panelu zarządzania OVH.

Trwająca migracja nameserverów w panelu zarządzania domeną OVH

Rysunek 8. Trwająca migracja nameserverów w panelu zarządzania domeną OVH.

Po wprowadzeniu adresów name serwerów w OVH wróć do Cloudflare i wybierz przycisk “Done, check nameservers”. Po wykonaniu wszystkich powyższych kroków czekamy aż migracja się zakończy. Informacje o zakończonym procesie migracji dostaniemy mailowo. Propagacja zmian w rekordach DNS może trwać do 24 godzin, dlatego też uzbrój się w cierpliwość.

Konfiguracja postmigracyjna

Kiedy już otrzymasz informację o pozytywnym zakończeniu migracji naszej domeny do serwisu Cloudflare, zostanie do wykonania drobna konfiguracja zwiększająca bezpieczeństwo oraz szybkość działania witryny internetowej. Na rysunku nr 9 pokazano jak włączyć opcję wymuszającą automatyczne przekierowanie z protokołu http na szyfrowany https. Włączając opcję pokazaną na rysunku nr 10, upewniasz się, że strona zawsze będzie dostępna tylko za pomocą protokołu HTTPS. Wykorzystanie obu opcji wymusza wykonywanie przekierowań po stronie Cloudflare, dzięki czemu na serwerze możemy w tym momencie wyłączyć obsługę portu 80 (HTTP).

Pierwszy krok post konfiguracyjny w Cloudflare, wymuszenie automatycznych przekierowań z http na https

Rysunek 9. Pierwszy krok post konfiguracyjny w Cloudflare, wymuszenie automatycznych przekierowań z http na https.

Wymuszenie po stronie klienta aby łączył się z naszą stroną tylko po https

Rysunek 10. Wymuszenie po stronie klienta aby łączył się z naszą stroną tylko po https.

Kolejnym krokiem zwiększającym szybkość strony jest włączenie automatycznej minifikacji dla plików JS, CSS oraz HTML (Rysunek 11) oraz włączenie domyślnej kompresji Brotl.

Włączenie domyślnej minifikacji

Rysunek 11. Włączenie domyślnej minifikacji.

Włączenie dodatkowej kompresji w celu przyspieszenia wczytywania strony internetowej

Rysunek 12. Włączenie dodatkowej kompresji w celu przyspieszenia wczytywania strony internetowej.

Podsumowanie procesu migracji

Rysunek 13. Podsumowanie procesu migracji.

Na koniec sprawdź czy na tym etapie wszystko działa tak jak powinno. Na rysunku nr 14 przedstawiona jest odpowiedź z polecenia ping po rozwiązaniu nazwy do serwera. Natomiast na rysunku nr 15 przedstawiony jest wystawca certyfikatu TLS, który został otrzymany za pomocą metody opisanej w poprzednim wpisie – Konfiguracja Let’s Encrypt z wykorzystaniem serwera Apache / NGINX. Na rysunku nr 16 przedstawiona jest odpowiedź z polecenia ping w przypadku kiedy wszystko skonfigurowano poprawnie. Zwróć uwagę, że w wyniku polecenia nie otrzymałeś już rzeczywistego adresu IP swojego serwera tylko jeden z adresów IP Cloudflare. Dodatkowo na rysunku nr 17 przedstawiony jest wystawca certyfikatu TLS jakim również jest Cloudflare. Jeśli u Ciebie wygląda to podobnie, to znaczy, że wszystkie kroki wykonałeś poprawnie.

Brak konfiguracji “Proxy” w Cloudflare, rzeczywisty adres serwera WWW

Rysunek 14. Brak konfiguracji “Proxy” w Cloudflare, rzeczywisty adres serwera WWW.

Ustawiona konfiguracja “Proxy”, maskowanie rzeczywistego adresu serwera WWW

Rysunek 16. Ustawiona konfiguracja “Proxy”, maskowanie rzeczywistego adresu serwera WWW.

Certyfikat TLS wystawiony przez Cloudflare

Rysunek 17. Certyfikat TLS wystawiony przez Cloudflare.

Dodatkowo, jeśli w chwili obecnej nie masz jeszcze skonfigurowanej poczty i nie zamierzasz jej konfigurować w najbliższym czasie, warto abyś od razu zabezpieczył się przed atakami typu e-mail spoofing. W tym celu wybierz w Cloudflare zakładkę odpowiedzialną za ustawienia DNS, zjedź na sam dół i znajdź opcję “Email Security” (Rysunek 18). Następnie wybierz opcję “Prevent illegitimate email traffic on your domain” (Rysunek 19). W ostatnim kroku dodaj adres mailowy, na który chcesz otrzymywać informacje o wykonanych próbach ataków e-mail spoofing a następnie zatwierdź ustawienia (Rysunek 20).

Zabezpieczenie przed spoofingiem domeny

Rysunek 18. Zabezpieczenie przed spoofingiem domeny.

Wybieramy przedstawioną opcje jeśli nie mamy skonfigurowanej poczty na wskazanej domenie

Rysunek 19. Wybieramy przedstawioną opcje jeśli nie mamy skonfigurowanej poczty na wskazanej domenie.

Dodanie adresu e-mail na który mają przychodzić raporty z wykonanych prób spoofingu

Rysunek 20. Dodanie adresu e-mail na który mają przychodzić raporty z wykonanych prób spoofingu.

Podsumowanie

W niniejszym artykule wykonaliśmy migracje name serwerów z OVH do Cloudflare. Jest to krok wymagany aby skorzystać ze wszystkich usług oferowanych przez serwis. W kolejnej części zajmiemy się poprawieniem konfiguracji komunikacji pomiędzy Cloudflare a serwisem internetowym. Jeśli masz dodatkowe pytania dotyczące korzystania z Cloudflare, dobrym miejscem do poszukiwania odpowiedzi jest dokumentacja. Jeżeli potrzebujesz pomocy możesz również skontaktować się z nami za pomocą formularza kontaktowego.

Autor:
Michał Walkowski, Founder of DSecure.me