Czym jest Cloudflare, oraz ogólnie reverse Proxy.

No Comments

Cloudflare jest amerykańską firmą oferującą darmowe lub płatną usługę reverse proxy dla każdego posiadacza strony internetowej. Bezpłatna opcja jest dosyć kusząca i zawiera szereg usprawnień, natomiast płatne opcję są przygotowane pod organizacje ze stronami lub aplikacjami prywatnymi, gdzie standardowe podejście Cloudflare może spowodować nieprawidłowe działanie strony. Jednakże jeśli posiadamy standardowy CMS jak wordpress, joomla lub drupal to możemy być raczej spokojni o prawidłowe działanie strony bez dodatkowych ustawień.

Czym jest Proxy?

Proxy jest to trochę już mniej używany program serwerowy z którym łączymy się aby pobrać dane z internetu. Czyli zamiast połączyć się bezpośrednio z roan24.pl łączymi się z serwerem np. proxy.firma.pl które następnie łączy się z roan24.pl. Jak można się łatwo domyślić proxy zapewnia anonimowość(*) ale także sprawia że administrator serwera proxy może podsłuchiwać co robimy w internecie, zablokować nam część treści albo nawet ją podmienić wprowadzając do naszego komputera wirusa.
(*) Anonimowość proxy też czasami nie jest 100% ponieważ zdarza się że proxy do żądania strony doda nagłówek np. X-Forwarwarder-For: co automatycznie daje drugiej stronie wiedzę odnośnie tego kto tak na prawdę ukrywa się za serwerem proxy.
Same zaś serwery proxy mają też dobre strony, mogą zablokować dostęp do nieodpowiednich stron np. zawierających malware, skanować pobierane pliki w locie na zawartość wirusów, czy wykonywać cache niektóre elementy np. jeśli jedna osoba używająca proxy wejdzie na stronę z obrazkami, to druga osoba, używająca tego samego serwera proxy, która kliknie tą samą stronę już pobierze obrazki z samego serwa proxy, a nie z internetu co przyśpiesz wykonywanie niektórych żądań oraz ładowanie się stron. Także dobrze skonfigurowany serwer proxy może być dobrym rozwiązaniem, natomiast tak zwane anonimowe serwery proxy rozsiane po całym internecie mogą łatwo stać się zagrożeniem.

schemat proxy

Czym jest reverse Proxy, używane przez Cloudflare

Reverse proxy różni się od zwykłego tym że po prostu klient nie łączy się z serwerem proxy aby dostać się do internetu, tylko łączy się z serwerem proxy aby dostać się na jedną konkretną stronę, często nawet nie wiedząc o tym że znajduje się ona za serwerem proxy.

Co daje takie rozwiązanie?

Otóż bardzo wiele. Osoba lub firma zarządzająca reverse proxy, w tym wypadku Cloudflare, jest pośrednikiem pełnego ruchu po stronie internetowej co oznacza że wszystkie dane przechodzące na stronę internetową trafiają do nich. Co znacznie pomaga w oddzieleniu ruchu pochodzącego od spamerów lub hackerów którzy tylko czyhają na to aby dostać się na naszą stronę i wykorzystać ją w swoich celach. Zmniejsza to też obciążenie serwera zwierającego stronę ponieważ podobnie jak w przypadku serwera proxy, reverse proxy składuje część danych u siebie i odpowiada na nie zamiast serwera lokalnego. Co więcej Cloudlfare jako że posiada centra danych na całym świecie jest też dobrym darmowym CDN.

Czym jest CDN

Content delivery network – czyli sieć dostarczania danych, sprawia że jeśli osoba z Australii stara się połączyć ze stroną internetową znajdującą się na serwerze w Polsce, to takie dane muszą przebyć niezły kawałek ziemi aby wyświetlić się na komputerze odbiorcy, co w wypadku dużych stron może być bardzo uciążliwe i zajmować sporo czasu. Tutaj właśnie wkracza CDN czyli serwer pośredniczący znajdujący się np. w Sydney, z którym taka osoba się łączy. Ten właśnie serwer posiada kopię niektórych lub niekiedy całego serwisu, dzięki czemu ładowanie strony jest dużo szybsze, oczywiście wpierw CDN musi się połączyć z główna stroną, ale takie jednorazowe połączenie pomoże pobrać sporą część danych i później szybciej je udostępnić następnej osobie w tym rejonie. Co więcej taki serwer może posiadać specjalnie przygotowaną trasę, odpowiednie położenie na „autostradzie” internetu, do innego serwera CDN co przyśpieszy pobranie serwisu nawet jeśli serwis w Sydney nie posiada pełnej kopii. Sieć CDN jest używana głównie do dystrybucji elementów stałych takich jak skrypty java script, pliki css czy obrazki.

Co należy wiedzieć aby korzystać z Cloudflare

Korzystając z Cloudflare lub innej podobnej usługi dobrze jest pamiętać że mimo iż Oni się starają zrobić dobrze dla nas, to sami możemy sobie zaszkodzić po drodze i tutaj garść porad czego należy unikać aby korzystanie z tego typu usług było proste i przyjemne.

DNS

Pierwszą sprawą jest DNS – czyli przypisanie naszej domeny do serwerów Cloudflare, nie znaczy to że domena przejdzie na ich własność tylko że jeśli ktoś będzie chciał się na nią dostać nie zapyta się naszego serwera DNS gdzie jest domena tylko serwera Cloudflare który nie wskaże naszego głównego serwera tylko najbliższe odbiorcy centrum danych (CDN) i to z nim będzie się kazało połączyć. Oczywiście pośredniczenie w ruchu na miliony stron nie jest łatwym wyzwaniem ale pomaga zrozumieć kierunki ataku hackerów i spamerów przez co wiele ‚złych’ żądań jest odrzucanych jeszcze zanim dojdą do serwera odbiorcy.
I tutaj właśnie mimo maksymalnej próby ułatwienia naszych przygód z DNS może powstać problem, jeśli nie znamy podstawowych zasad które opisaliśmy w artykule o strefach dns.
Mimo iż Cloudflare skanuje naszą strefę DNS i stara się ją skopiować to powinniśmy ją dokładnie przejrzeć. I tak jedną z rzeczy jakich Cloudflare nie znajdzie jest wpis DKIM, ponieważ jest on ‚ukryty’ dopóki nie znamy selektora, co zdarzyło się jednej firmie zewnętrznej opisanej tutaj. Musimy pamiętać że jeśli nasz dostawca poczty używa DKIM to musimy dodać wpis DKIM do strefy w Cloudflare ręcznie, podobnie w przypadku SPF które już jednak Cloudflare znajduje, jeśli jednak dojdzie do zmiany wpisu SPF to trzeba go także uaktualnić w Cloudflare. To samo się tyczy wszystkich innych wpisów jak wpisu potwierdzającego własność domeny dla Google czy Binga.

Poczta

Trzeba pamiętać że Cloudflare nie pośredniczy w transporcie poczty. Dlatego wpis do serwera poczty (MX) zawsze będzie wskazywać nasz serwer MX, co jeśli posiadamy ten sam serwer od poczty co nasz serwer WWW sprawi to że dalej łatwo będzie nas znaleźć i możemy także paść ofiarą DDOS.

DDOS oraz prawdziwe ukrycie

Jedną z podstawowych zalet Cloudflare jest właśnie ochrona przed DDOS (czym jest DDOS), I tutaj musimy pamiętać że jak w przypadku poczty łatwo znaleźć nasz adres IP poprzez sprawdzenie serwera MX ewentualnie wysłanie poczty na jakiś dziwny adres np. 42341241@przyklad.pl gdzie przyklad.pl jest umieszczony za Cloudflare i oczekiwać na odpowiedź o braku takiego adresu i sprawdzić z jakiego adresu IP ona przyszła.
Żeby tego uniknąć najlepiej jest rozdzielić serwer www i poczty, a jeszcze lepiej umieści je w dwóch różnych centrach danych, dzięki czemu serwer www będzie chroniony przez Cloudflare a serwer pocztowy nawet zaatakowany nie spowolni pracy serwera www. Atak nie może trwać wiecznie poczta w końcu dojdzie a jeśli strona nasza się nie załaduje się to możemy stracić potencjalnego klienta dla konkurencji.
Dodatkowo aby się naprawdę ukryć powinno się zablokować dostęp do serwera WWW wszystkim komputerom z wyjątkiem Cloudflare, czyli albo zablokować porty (80 i 443) poprzez iptables, albo zablokować konkretną wirtualną domenę przez plik .htaccess lub w deklaracji virtual hosta. Tutaj możemy znaleźć listę adresów IP serwerów Cloudflare. I tylko takie adresy IP powinniśmy dopuścić.
Istnieje też możliwość autoryzacji z użyciem kryptografii jednak jest ona dostępna tylko dla klientów biznes oraz enterprise i nie będziemy o tym pisać tutaj.

X-Forward-For

Czyli problem ukrycia adresów IP klientów gdyż tylko Cloudflare będzie się z nami łączyć, co może doprowadzić do tego że jeśli blokujemy podejrzanie duży ruch z jednego adresu IP to możemy zablokować Cloudflare na co trzeba uważać. Należy w takim wypadku skorzystać z nagłówka w którym jest podany prawdziwy adres IP osoby odpytującej się o stronę(użytkownika), a nie z adresu IP osoby łączącej się z nami(Cloudflare). W ten sposób możemy później zdiagnozować ewentualne problemy z połączeniem, lub mieć adres IP osoby na wypadek gdyby jednak Cloudflare przepuściło niepoprawny ruch. Firma ROAN posiada specjalną wtyczkę do serwera Apache która sprawia że adres IP jest automatycznie zmieniany na adres osoby zewnętrznej, dzięki czemu na każdej stronie wyświetli się prawdziwy adres IP a nie adres IP Cloudflare.

Podsumowanie

Cloudflare jest dobrym rozwiązaniem w stylu włącz i zapomnij, gdyż raz dobrze skonfigurowane nie wymaga ponownej konfiguracji dopóki nie wprowadzimy większych zmian. Chroni nas przed hackerami, DDOS oraz przyspiesza stronę poprzez CDN. Co znacznie odciąża serwer docelowy. Pomogliśmy już niektórym klientom ze stronami międzynarodowymi przejść na CDN Cloudflare. Klienci nastawienie tylko na jeden kraj nie potrzebują ukrywać swoich stron za Cloudflare, gdyż od tego jesteśmy my aby zapewnić dostęp do Twojej witryny. Jeśli jednak nie masz okazji korzystać z naszego hostingu. To może warto rozważyć ukrycie strony internetowej za usługą reverse proxy.
Główna strona Cloudflare.

ROAN Agencja InterAktywna to przede wszystkim kreatywny zespół, który także uwielbia prowadzić ten Blog.

    Zostaw komentarz

      Dopisz się do Newslettera!

      • To pole jest do zatwierdzania i powinno pozostać na niezmienionym poziomie.

      Sprawdź także

      Zobacz więcej
      No Comments