webh.pl

Firewall hostingu i odblokowanie dostępu (403)

Dlaczego strona pokazuje błąd 403 przy wejściu z zagranicy, jak działa filtr GeoIP i jak odblokować wybrane kraje lub adresy IP.

  • czytania
  • Zaktualizowano:
Firewall
Hosting

Przed stronami na hostingu działa firewall, który blokuje znaczną część automatycznych ataków i podejrzanego ruchu, zanim dotrze on do Twojego serwisu. Czasem ta ochrona zadziała też wobec prawdziwego użytkownika, na przykład gdy ktoś wchodzi z zagranicy. Wtedy zamiast strony pojawia się błąd 403. Ten poradnik wyjaśnia, skąd się bierze i jak go rozwiązać.

Skąd bierze się błąd 403

Jednym z elementów firewalla jest filtr geograficzny (GeoIP), który ogranicza ruch z określonych krajów. Jeśli odwiedzający (albo Ty) łączy się z adresu IP przypisanego do zablokowanego kraju, serwer zwraca błąd 403 (dostęp zabroniony). Dotyczy to też sytuacji, gdy korzystasz z VPN kończącego połączenie za granicą.

To celowe zabezpieczenie: duża część niechcianego ruchu i prób włamań pochodzi z zagranicznych sieci, więc ich ograniczenie realnie odciąża i chroni stronę.

Jak odblokować dostęp

Reguły geograficzne dla swojej strony ustawiasz we własnym pliku .htaccess w katalogu głównym witryny. Poniżej gotowe wzory dla najpopularniejszych przypadków.

WordPress: wp-admin i xmlrpc.php

Dostęp do wp-admin domyślnie dozwolony jest tylko z Polski. xmlrpc.php jest zablokowany całkowicie.

Odblokowanie wp-admin dla konkretnego adresu IP:

SetEnvIf Remote_Addr ^10\.20\.30\.40 fw_wp_bypass=1

Odblokowanie wp-admin dla dodatkowego kraju (kod dwuliterowy, np. DE dla Niemiec, US dla USA, GB dla Wielkiej Brytanii):

SetEnvIf COUNTRY_CODE DE fw_wp_bypass=1

Całkowite wyłączenie blokady wp-admin:

SetEnvIf Request_Method GET fw_wp_bypass=1
SetEnvIf Request_Method POST fw_wp_bypass=1

Odblokowanie xmlrpc.php dla konkretnego kraju:

SetEnvIf COUNTRY_CODE DE fw_wp_xmlrpc_bypass=1

Całkowite wyłączenie blokady xmlrpc.php:

SetEnvIf Request_URI "xmlrpc.php$" fw_wp_xmlrpc_bypass=1

Uwaga

WordPress przy zapisie ustawień bezpośrednich odnośników (Ustawienia → Bezpośrednie odnośniki) może nadpisać plik .htaccess. Umieść reguły firewalla poza sekcjami # BEGIN WordPress i # END WordPress, najlepiej na samym początku pliku. Wtedy aktualizacje permalink ich nie usuną.

Joomla

Domyślnie panel /administrator dostępny jest tylko z Polski.

Odblokowanie dla konkretnego adresu IP:

SetEnvIf Remote_Addr ^10\.20\.30\.40 fw_joomla_bypass=1

Odblokowanie dla dodatkowego kraju:

SetEnvIf COUNTRY_CODE DE fw_joomla_bypass=1

Całkowite wyłączenie blokady:

SetEnvIf Request_Method GET fw_joomla_bypass=1
SetEnvIf Request_Method POST fw_joomla_bypass=1

PrestaShop, Invision Community i inne systemy

Dla paneli tych systemów stosowana jest analogiczna zmienna fw_presta_bypass:

SetEnvIf Remote_Addr ^10\.20\.30\.40 fw_presta_bypass=1
SetEnvIf COUNTRY_CODE DE fw_presta_bypass=1

Całkowite wyłączenie:

SetEnvIf Request_Method GET fw_presta_bypass=1
SetEnvIf Request_Method POST fw_presta_bypass=1

Blokowanie lub otwieranie całej strony dla wybranych krajów

Domyślnie brak blokady regionalnej dla treści strony. Możesz ją dodać samodzielnie.

Zablokowanie dostępu dla wybranych krajów (poniżej: Rosja i Białoruś):

SetEnvIf COUNTRY_CODE RU BlockCountry
SetEnvIf COUNTRY_CODE BY BlockCountry
<RequireAll>
  Require all granted
  Require not env BlockCountry
</RequireAll>

Zezwolenie wyłącznie dla wybranych krajów (poniżej: Polska i Ukraina):

SetEnvIf COUNTRY_CODE PL AllowCountry
SetEnvIf COUNTRY_CODE UA AllowCountry
Require env AllowCountry

Aktualną listę kodów krajów i dodatkowe warianty znajdziesz zawsze na webh.pl/hosting-firewall.

Problem z logowaniem do panelu klienta

Logowanie do panelu klienta standardowo nie ma włączonej blokady geograficznej, więc zwykle zalogujesz się z dowolnego kraju i adresu IP. Jeśli jednak na Twoim koncie włączono takie zabezpieczenie i blokuje Ci ono dostęp (np. przy zmiennym adresie IP albo połączeniu zza granicy), możemy je wyłączyć - wystarczy, że napiszesz do nas przez panel lub mailowo.

Wskazówka

Zanim zmienisz reguły, sprawdź, z jakiego kraju widziany jest Twój adres IP (wyszukiwarki pokazują to po wpisaniu „mój adres IP"). Czasem operator internetu lub VPN kieruje ruch przez serwery w innym kraju, niż się spodziewasz, i to wystarcza, by trafić na blokadę.