Siirry pääsisältöön

Rajoita wp-admin pääsy IP-osoitteen perusteella

Kuinka rajoittaa pääsyä wp-admin- ja wp-login.php-sivuille IP-osoitteen perusteella Nginx-konfiguraatiotiedoston avulla.

Pääsyn rajoittaminen wp-adminiin IP-osoitteen perusteella voidaan toteuttaa Nginx-konfiguraatiotiedoston avulla. voit luoda uuden .conf-päätteisen tiedoston palvelimella hakemistoon /data/wordpress/nginx/:

location ~ /wp-login.php {

# Allow Seravo monitoring
include /data/wordpress/nginx/seravo-monitoring.rules;

# Allow Seravo cluster IP's
include /data/wordpress/nginx/seravo-cluster-ip-list.rules;

# List of allowed IP's
include /data/wordpress/nginx/allowed-ip-list.rules;

# Deny everything else for this location
deny all;

# Pass valid requests to PHP-FPM
include /data/wordpress/nginx/pass-php-fpm.rules;
}

location ~ /wp-admin^ {

# Allow Seravo monitoring
include /data/wordpress/nginx/seravo-monitoring.rules;

# Allow Seravo cluster IP's
include /data/wordpress/nginx/seravo-cluster-ip-list.rules;

# List of allowed IP's
include /data/wordpress/nginx/allowed-ip-list.rules;

# Deny everything else for this location
deny all;

# Pass valid requests to PHP-FPM
include /data/wordpress/nginx/pass-php-fpm.rules;
}

Anna valvonnallemme pääsy sivustolle luomalla seravo-monitoring.rules tiedosto:

allow 94.237.85.150;
allow 2a04:3542:1000:910:7c25:3fff:fe79:23da;

Salli klusterimme IP-osoitteille pääsy sivustolle luomalla tiedosto seravo-cluster-ip-list.rules. Saat luettelon klusterin IP-osoitteista komennolla srv system metadata:

allow 95.217.75.239;
allow 2a01:4f9:4a:1b50::2;

Luo allowed-ip-list.rules tiedostot ja lisää siihen IP-osoitteet, joille haluat myöntää pääsyn sivuston wp-adminiin:

allow <your IP address>;

Luo tiedosto pass-php-fpm.rules, jotta kelvolliset pyynnöt välitetään PHP-FPM:lle:

# Only run valid PHP files. Invalid PHP file calls get a 404 response from Nginx in a few milliseconds instead of a slow response from WordPress
try_files $uri =404;

# Failover to next backend for if first backend fails
fastcgi_next_upstream error timeout invalid_header http_500 http_404;

# Only one backup fastcgi backend is defined, don't go further.
fastcgi_next_upstream_tries 1;

# Send no-cache headers to proxy cache if $nocache is set. This allows for easier cache rules for the user
if ($nocache) {
add_header Cache-Control "no-cache";
add_header Cache-Control "no-store";
add_header Pragma "expire";
add_header Expires "0";
}

fastcgi_read_timeout 180;
fastcgi_pass $mode;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
limit_req zone=loginflood nodelay burst=3;

Kun olet luonut kaikki tarvittavat tiedostot, ota muutokset käyttöön wp-restart-nginx komennolla.

Kirjautumissivun maarajoitus

Myös kirjautumissivulle voi määritellä maarajoituksen. Muokkaa alla olevan esimerkin maatunnisteita halutun rajoituksen toteuttamiseksi.

location ~ /wp-login.php { 
if ( $http_x_seravo_geo_country_code !~* "(FI|SE|ES)" )
return 403;
}
}

Varoitus!

Seravon valvonta tarkistaa myös kirjautumissivun toimivuuden, joten rajaukset voivat haitata valvontamme toimintaa. Muista sallia valvontamme pääsy sivustolle aina rajoituksia tehdessäsi.

Koska maakohtainen rajoitus voi estää myös oikeiden käyttäjien pääsyä sivustolle, suosittelemme sen sijaan kuitenkin kaksivaiheisen tunnistautumisen ja reCaptcha-lisäosien käyttöä, sillä ne ovat tehokkaampi keino suojata kirjautumissivu.

Vastasiko tämä kysymykseesi?