Kuinka määrität Fail2ban for WordPressin (WP-Login, XMLRPC)

Lyhyesti sanottuna, tässä opetusohjelmassa löydät komentorivit, joiden kautta voit asentaa ja määrittää Fail2Banin WordPressille. Suojattu WordPress -todennus ja xmlrpc.php brutto perse.

WordPress -alustalla kehitetyt blogit ja sivustot ovat usein tietoverkkohyökkäyskohteita. Suurin osa hyökkäyksistä on bruttovoimatyyppiä ja ne kohdistuvat XML-RPC: n todennusistuntoon tai hyödyntämiseen (etämenettelypuhelu XML: n avulla). Onneksi Fail2Ban on erittäin hyödyllinen turvallisuusratkaisu näihin tilanteisiin. Jos haluat suojata WordPress -sivuston Fail2Banilla, noudata tämän opetusohjelman määritysvaiheita.

Ensinnäkin, varmista, että sinulla on pääsy verkkopalvelimeen SSH -yhteyden avulla ja että Fail2Ban -sovellus on asennettu.

Fail2ban -kokoonpano WordPressille Debianissa

1. Ensinnäkin sinun on varmistettava, että Fail2Ban -sovellus on asennettu ja että se toimii palvelimella. Suorita alla oleva komentorivi:

systemctl status fail2ban

Tulostuksessa sinun pitäisi nähdä jotain lomakkeesta:

● fail2ban.service - Fail2Ban Service
     Loaded: loaded (/lib/systemd/system/fail2ban.service; enabled; preset: enabled)
     Active: active (running) since Tue 2025-03-11 00:39:32 EET; 6 days ago
       Docs: man:fail2ban(1)
   Main PID: 917 (fail2ban-server)
      Tasks: 17 (limit: 76843)
     Memory: 33.2M
        CPU: 17min 1.752s
     CGroup: /system.slice/fail2ban.service
             └─917 /usr/bin/python3 /usr/bin/fail2ban-server -xf start

Jos Fail2Bania ei ole asennettu palvelimelle, sinun on asennettava se. Suorita tilauslinja asennushäiriölle Debian / Ubuntu:

sudo apt install fail2ban

2. Seuraava vaihe on luoda Fail2Ban -suodatin WordPressille. Suorita päätelaitteessa komentorivi luodaan ja muokkaamaan suodatinta wordpress.conf.

sudo nano /etc/fail2ban/filter.d/wordpress.conf

Tiedostossa wordpress.conf Asettaa WordPress -todennussuodattimet ja tiedostojen todennus xmlrpc.php, seuraavasti:

[Definition]
failregex = ^<HOST> -.*"(GET|POST).*(/wp-login.php|/xmlrpc.php).*" 200
ignoreregex =

Tämä tarkoittaa, että millä tahansa menetelmällä, GET tai POST. Ehto on, että nämä tiedostot ovat olemassa ja hyökkääjä voi käyttää niihin. Toisin sanoen koodin 200 (OK) palauttaminen pääsyyn.

Tallentaa tiedoston /etc/fail2ban/filter.d/wordpress.conf.

3. Seuraava vaihe on määrittää “vankila” WordPressille. Tässä vaiheessa useimmat käyttäjät ovat hämmentyneitä, koska säännöt on luotava eri tavalla hosting -hallintajärjestelmästä (jos se on) tai verkkopalvelimen kokoonpanosta riippuen.

Jos käytät Hestacpia, Vestacp tai Myvesta, luo ja muokkaa tiedostoa /etc/fail2ban/jail.local.

nano /etc/fail2ban/jail.local

Lisää tähän tiedostoon alla olevat rivit:

[wordpress]
enabled  = true
port     = http,https
filter   = wordpress
logpath  = /var/log/nginx/domains/*.log #or apache2.
maxretry = 5
findtime = 1800
bantime  = 3600
action   = hestia[name=WEB] #hestacp action.

Säädä yllä olevat parametrit tarpeidesi mukaan. Minun antamassa kokoonpanossa, jos 1800 minuutin kuluessa on 5 toistuvaa yritystä samasta IP: stä, se estetään 3600 minuutin ajan Web Hestiacpin avulla. (hestia[name=WEB]). Täällä sinun on autettava palvelimen järjestelmän mukaisesti.

Se on myös erittäin tärkeä ja “logpath“. Näistä lokista poistetaan tiedot, joiden perusteella toimenpide suoritetaan. Varmista, että sijainti on oikea.

Jos sinulla ei ole asennettua hallintajärjestelmää, tarvitset IPS: n estämisen Fail2banin kanssa iptables. Toimintalinja on seuraava:

action   = iptables-multiport[name=wordpress, port="80,443", protocol=tcp]

Kiinnikkeenä /etc/fail2ban/jail.local Voit käyttää myös erillistä määritystiedostoa, kuten: /etc/fail2ban/jail.d/wordpress.conf.

Kun olet tehnyt säädöt, käytä muutoksia.

sudo systemctl restart fail2ban

4. Tarkista uudelleenkäynnistyksen jälkeen WordPressin epäonnistuminen:

fail2ban-client status wordpress
Status for the jail: wordpress
|- Filter
|  |- Currently failed:	355
|  |- Total failed:	33873
|  `- File list: (log files per domain)
- Actions
   |- Currently banned:	127
   |- Total banned:	680
   `- Banned IP list:

Kun olet löytänyt tämän luettelon, estäneet IP: t, varmista, että ne ovat estetty ja iptables. Tapasin tilanteen, että väärän kokoonpanon vuoksi Fail2banissa nähdä, että se on estetty IP, mutta todellisuudessa se voi silti käyttää wp-login.php tai xmlrpc.php.

Jos haluat tarkistaa, toimiiko kaikki oikein, valitse IP -estetty IP -luettelo ja etsi sitä IPtablesissa.

Suorita komentorivi:

iptables -L -v -n --line-numbers

Jos Fail2Banin esteestä IP -tiedosto löytyy myös tästä luettelosta, se tarkoittaa, että olet määrittänyt WordPressin oikean Fail2Banin.

Liittyvät: Kuinka nollata järjestelmänvalvojan käyttäjän salasana WordPressissä. Ilman pääsyä sähköpostiin.

Samanaikaisesti on erittäin suositeltavaa tarkistaa loki Fail2Ban -toimilla:

sudo tail -f /var/log/fail2ban.log

Jos sinulla on huolenaiheita tai tarvitset apua, he voivat auttaa sinua kommentteissa.

Intohimoinen tekniikasta, kirjoitan mielihyvällä stealthsetts.com -sivustosta alkaen vuodesta 2006. Minulla on rikas kokemus käyttöjärjestelmistä: macOS, Windows ja Linux, mutta myös ohjelmointikielissä ja bloggaamisalustoissa (WordPress) ja verkkokaupoissa (WooCommerce, Magento, Presashop).

Kotiin IT -oppaat, hyödylliset vinkit ja uutiset. Kuinka määrität Fail2ban for WordPressin (WP-Login, XMLRPC)
Jätä kommentti