Cum să faci ca IPTables, CSF sau Fail2Ban să citească logurile Wordfence și să blocheze abuzatorii
WordPress este cel mai utilizat sistem de gestionare a conținutului, alimentând peste 40% din toate site-urile web din lume. Această popularitate face ca WordPress să fie o țintă principală pentru roboți malițioși, hackeri și atacuri de tip brute-force. Asigurarea securității site-ului tău WordPress implică protecție atât la nivel de aplicație, cât și la nivel de server. Instrumente precum Wordfence, un plugin de securitate de top pentru WordPress, pot bloca activitățile malițioase la nivelul aplicației și pot înregistra detaliat aceste incidente. Totuși, combinarea logurilor Wordfence cu instrumente la nivel de server, cum ar fi IPTables, CSF (ConfigServer Security & Firewall) sau Fail2Ban, asigură o securitate mai puternică și automatizarea blocării adreselor IP direct la nivel de server.
La ENGINYRING, avem o vastă experiență în a ajuta clienții să-și securizeze mediile WordPress prin combinarea măsurilor de securitate la nivel de aplicație și server. Acest ghid îți va arăta cum să configurezi instrumentele serverului pentru a citi logurile Wordfence și a bloca automat abuzatorii. Indiferent dacă rulezi un sistem bazat pe RHEL (de exemplu, CentOS, AlmaLinux, Rocky Linux) sau un sistem bazat pe Debian (de exemplu, Ubuntu, Debian), te avem acoperit.
De ce să combini logurile Wordfence cu instrumentele la nivel de server?
Wordfence este un plugin excelent pentru securizarea WordPress la nivel de aplicație, dar nu acționează la nivel de server. Instrumentele precum IPTables, CSF sau Fail2Ban pot monitoriza logurile Wordfence și pot impune blocaje la nivel de sistem de operare. Iată de ce combinarea acestor instrumente îți îmbunătățește securitatea:
- Reducerea utilizării resurselor: Instrumentele la nivel de server blochează IP-urile malițioase înainte ca acestea să ajungă la WordPress, reducând încărcarea aplicației și a serverului de baze de date.
- Protecție extinsă: Instrumentele precum IPTables și CSF blochează IP-urile abuzive pe toate serviciile serverului, inclusiv SSH, FTP și HTTP/S.
- Răspunsuri automate: Integrarea logurilor Wordfence permite instrumentelor precum Fail2Ban sau CSF să blocheze automat IP-urile semnalate de Wordfence fără intervenție manuală.
Prin găzduirea site-ului tău WordPress pe un VPS ENGINYRING, poți configura cu ușurință o protecție avansată la nivel de server pentru a îmbunătăți securitatea și performanța site-ului tău.
Pasul 1: Pregătirea logurilor Wordfence și instalarea instrumentelor serverului
Înainte de a integra logurile Wordfence cu instrumentele la nivel de server, asigură-te că logarea este activată în Wordfence și instalează instrumentele necesare pe serverul tău.
1.1 Activarea logurilor Wordfence
Wordfence înregistrează informații importante despre activitățile malițioase în fișierul attack-log.json
, situat în /wp-content/uploads/wflogs
. Pentru a verifica dacă logarea este activată:
- Autentifică-te în panoul de administrare WordPress.
- Accesează Wordfence > Tools > Live Traffic.
- Asigură-te că logarea este activată. Dacă nu, activeaz-o pentru a începe capturarea activităților malițioase.
Pentru o gestionare eficientă a securității WordPress, recomandăm utilizarea serviciilor de găzduire web ENGINYRING, care includ suport pentru configurații specifice de securitate pentru WordPress.
1.2 Instalarea instrumentelor necesare
Instalează instrumentele serverului necesare, în funcție de sistemul tău:
Pentru IPTables
IPTables este adesea preinstalat pe sistemele Linux. Pentru a verifica disponibilitatea sa, rulează:
sudo iptables --version
Dacă nu este instalat, folosește următoarele comenzi:
Sisteme bazate pe RHEL:
sudo yum install iptables -y
Sisteme bazate pe Debian:
sudo apt install iptables -y
Pentru Fail2Ban
Fail2Ban scanează fișierele de log pentru tipare malițioase și blochează automat IP-urile. Instalează Fail2Ban folosind:
Sisteme bazate pe RHEL:
sudo yum install epel-release -y
sudo yum install fail2ban -y
Sisteme bazate pe Debian:
sudo apt update
sudo apt install fail2ban -y
Pentru CSF (ConfigServer Security & Firewall)
CSF nu este inclus în depozitele Linux și trebuie instalat manual:
cd /usr/src
wget https://download.configserver.com/csf.tgz
tar -xzf csf.tgz
cd csf
sh install.sh
Pentru configurații de securitate optimizate, ia în considerare utilizarea serviciilor de administrare cPanel ENGINYRING, care includ configurări avansate pentru CSF.
Pasul 2: Configurarea Fail2Ban pentru monitorizarea logurilor Wordfence
Fail2Ban funcționează prin crearea de "jail-uri" care monitorizează fișierele de log pentru tipare malițioase. Iată cum să configurezi un jail Fail2Ban pentru logurile Wordfence:
2.1 Crearea unui Jail pentru Wordfence
1. Deschide fișierul de configurare Fail2Ban:
sudo nano /etc/fail2ban/jail.local
2. Adaugă următoarea configurație:
[wordfence]
enabled = true
port = http,https
filter = wordfence
logpath = /var/www/html/wp-content/uploads/wflogs/attack-log.json
maxretry = 5
bantime = 3600
action = iptables-allports[name=Wordfence, protocol=all]
Înlocuiește /var/www/html
cu calea către directorul de instalare WordPress.
2.2 Crearea unui Filtru pentru Wordfence
1. Creează un fișier personalizat pentru filtrul Wordfence:
sudo nano /etc/fail2ban/filter.d/wordfence.conf
2. Adaugă următorul filtru:
[Definition]
failregex = .*ip:.*blockType":"manual-block".*
ignoreregex =
Acest regex identifică IP-urile semnalate de Wordfence în attack-log.json
.
3. Repornește Fail2Ban pentru a aplica modificările:
sudo systemctl restart fail2ban
Pasul 3: Configurarea CSF pentru a citi logurile Wordfence
CSF se integrează bine cu logurile Wordfence și poate bloca IP-urile malițioase utilizând modele personalizate de regex. Urmează acești pași pentru a configura CSF:
3.1 Activarea monitorizării logurilor personalizate în CSF
1. Deschide fișierul de configurare CSF:
sudo nano /etc/csf/csf.conf
2. Activează monitorizarea logurilor personalizate setând:
LF_CUSTOMTRIGGER = 1
Repornește CSF pentru a aplica modificările:
sudo systemctl restart csf
3.2 Adăugarea unui regex personalizat pentru Wordfence
1. Deschide fișierul de configurare pentru regex personalizat:
sudo nano /etc/csf/regex.custom.pm
2. Adaugă următoarea regulă:
if (($globlogs{CUSTOM_LOG1} = "/var/www/html/wp-content/uploads/wflogs/attack-log.json")) {
if ($line =~ /ip:(\d+\.\d+\.\d+\.\d+).*blockType":"manual-block"/) {
return ("Wordfence manual block", $1, "wordpress", "1");
}
}
Asigură-te că ai înlocuit calea cu directorul corespunzător al instalării tale WordPress.
3. Repornește CSF pentru a aplica configurările:
sudo csf -r
Ai nevoie de ajutor cu configurații avansate pentru CSF? Serviciile de administrare DirectAdmin ENGINYRING includ configurări avansate de securitate adaptate nevoilor tale.
Pasul 4: Automatizarea IPTables cu un script personalizat
Dacă preferi să nu folosești Fail2Ban sau CSF, poți crea un script personalizat pentru a monitoriza logurile Wordfence și a bloca IP-urile utilizând IPTables.
4.1 Crearea scriptului
1. Creează un fișier nou pentru script:
sudo nano /usr/local/bin/ban_wordfence_ips.sh
2. Adaugă următorul cod:
#!/bin/bash
LOGFILE="/var/www/html/wp-content/uploads/wflogs/attack-log.json"
BANNED_IPS="/var/log/banned_ips.txt"
grep -Po '"ip":"\K[0-9.]+(?=")' $LOGFILE | sort | uniq > /tmp/wordfence_ips.txt
for IP in $(cat /tmp/wordfence_ips.txt); do
if ! grep -q "$IP" $BANNED_IPS; then
iptables -A INPUT -s $IP -j DROP
echo "$IP" >> $BANNED_IPS
fi
done
Acest script extrage IP-urile marcate de Wordfence și le adaugă în regulile de blocare IPTables.
3. Fă scriptul executabil:
sudo chmod +x /usr/local/bin/ban_wordfence_ips.sh
4.2 Programarea scriptului cu Cron
1. Deschide editorul crontab:
sudo crontab -e
2. Adaugă următoarea linie pentru a rula scriptul o dată pe oră:
0 * * * * /usr/local/bin/ban_wordfence_ips.sh
Pasul 5: Testarea și monitorizarea configurației
Este esențial să testezi și să monitorizezi configurațiile pentru a te asigura că totul funcționează corect.
Testarea Fail2Ban
Adaugă o intrare de test în logurile Wordfence:
echo '{"ip":"192.168.1.100","blockType":"manual-block"}' >> /var/www/html/wp-content/uploads/wflogs/attack-log.json
Verifică statusul jail-ului Fail2Ban:
sudo fail2ban-client status wordfence
Testarea CSF
Verifică dacă un IP a fost blocat:
sudo csf -g 192.168.1.100
Testarea IPTables
Listarea IP-urilor blocate:
sudo iptables -L -n | grep DROP
Concluzie
Prin integrarea logurilor Wordfence cu instrumente precum Fail2Ban, CSF sau IPTables, îți îmbunătățești abilitatea serverului de a bloca automat IP-urile malițioase la nivel de sistem de operare. Această integrare nu doar că reduce încărcarea site-ului tău WordPress, ci oferă și protecție completă împotriva atacurilor de tip brute-force și altor amenințări.
La ENGINYRING, ne specializăm în administrarea mediilor WordPress securizate. Fie că ai nevoie de asistență cu configurarea serverului sau cu implementarea măsurilor avansate de securitate, echipa noastră de experți este aici să te ajute.