ModSecurity pe nginx funcționează ca un Web Application Firewall la nivel de server web, inspectând…

Permisiuni fișiere și foldere pe Linux pentru WordPress
Permisiuni fișiere și foldere pe Linux pentru WordPress. Configurarea corectă a permisiunilor pe sistemul de fișiere Linux este una dintre cele mai importante măsuri de securitate pentru un site WordPress, prevenind accesul neautorizat și modificarea fișierelor critice.
Permisiunile greșite sunt una dintre cele mai comune cauze ale vulnerabilităților WordPress. Prea permisive, permit atacatorilor să modifice fișiere. Prea restrictive, împiedică funcționarea normală.
Permisiuni fișiere și foldere pe Linux pentru WordPress
Sistemul de permisiuni Linux controlează cine poate citi, scrie și executa fiecare fișier și director. WordPress necesită un echilibru precis: serverul web trebuie să poată citi fișierele, dar nu trebuie să poată modifica tot.
Înțelegerea modului în care funcționează permisiunile Linux este esențială pentru securizarea corectă a instalării WordPress.
Sistemul de permisiuni Linux explicat
Fiecare fișier și director pe Linux are trei seturi de permisiuni: pentru proprietar (owner), pentru grup (group) și pentru alții (others). Fiecare set poate include citire (r=4), scriere (w=2) și execuție (x=1).
Notația numerică combină aceste valori: 755 înseamnă rwxr-xr-x (proprietar: citire+scriere+execuție, grup: citire+execuție, alții: citire+execuție).
# Vizualizare permisiuni detaliate
ls -la /var/www/wpsecurity.ro/
# Explicație output:
# drwxr-xr-x 2 wordpress www-data 4096 Mar 1 09:00 wp-admin
# d = director
# rwx = proprietar (wordpress): citire, scriere, execuție
# r-x = grup (www-data): citire, execuție
# r-x = alții: citire, execuție- Permisiunea de citire (r=4) permite vizualizarea conținutului fișierelor și listarea directoarelor
- Permisiunea de scriere (w=2) permite modificarea fișierelor și crearea/ștergerea în directoare
- Permisiunea de execuție (x=1) permite rularea fișierelor și accesarea directoarelor
- Proprietarul este utilizatorul care deține fișierul, setul prin chown
- Grupul permite partajarea accesului între mai mulți utilizatori
Permisiunile recomandate pentru WordPress
WordPress.org recomandă un set specific de permisiuni care echilibrează securitatea cu funcționalitatea. Aceste permisiuni trebuie aplicate corect pe întreaga instalare.
# Setare proprietar corect (utilizator WordPress + grup web server)
sudo chown -R wordpress_user:www-data /var/www/wpsecurity.ro/
# Permisiuni directoare: 755 (rwxr-xr-x)
sudo find /var/www/wpsecurity.ro/ -type d -exec chmod 755 {} ;
# Permisiuni fișiere: 644 (rw-r--r--)
sudo find /var/www/wpsecurity.ro/ -type f -exec chmod 644 {} ;
# Permisiuni speciale wp-config.php: 440 (r--r-----)
sudo chmod 440 /var/www/wpsecurity.ro/wp-config.php
# Permisiuni .htaccess: 644 sau 444
sudo chmod 644 /var/www/wpsecurity.ro/.htaccess- Directoare: 755, permite serverului web să le acceseze și să listeze conținutul
- Fișiere: 644, permite serverului web să le citească dar nu să le modifice
- wp-config.php: 440 sau 400, doar proprietarul și grupul pot citi
- .htaccess: 644 sau 444, nu necesită permisiuni de scriere în funcționarea normală
- Directorul wp-content/uploads: 755 cu fișiere 644
Configurarea proprietarului și grupului
Relația dintre utilizatorul WordPress și grupul serverului web (www-data pe Ubuntu, apache pe CentOS) este esențială pentru funcționarea corectă.
Configurarea incorectă a proprietarului cauzează erori de permisiuni sau vulnerabilități de securitate.
# Identificare utilizatorul sub care rulează Apache/Nginx
ps aux | grep -E "apache|nginx|httpd" | head -5
# Pe Ubuntu, serverul web rulează ca www-data
# Pe CentOS, serverul web rulează ca apache sau nginx
# Creare utilizator dedicat WordPress
sudo adduser wordpress_user
sudo usermod -aG www-data wordpress_user
# Aplicare proprietar corect
sudo chown -R wordpress_user:www-data /var/www/wpsecurity.ro/
# Verificare
ls -la /var/www/wpsecurity.ro/wp-config.php
# -r--r----- 1 wordpress_user www-data 3456 Mar 1 09:00 wp-config.php- Niciodată nu setați proprietarul fișierelor WordPress ca root
- Utilizatorul web server (www-data) trebuie să fie în grupul proprietar
- Nu folosiți același utilizator pentru server web și pentru fișierele WordPress
- Verificați proprietarul după fiecare actualizare WordPress sau instalare de plugin
Directorul wp-content/uploads și securitatea
Directorul uploads este singurul director din WordPress care necesită permisiuni de scriere pentru serverul web. Este și principala țintă pentru upload-ul de fișiere malițioase.
Configurarea specială a acestui director este critică pentru securitate.
# Permisiuni corecte pentru uploads
sudo chmod 755 /var/www/wpsecurity.ro/wp-content/uploads/
sudo find /var/www/wpsecurity.ro/wp-content/uploads/ -type d -exec chmod 755 {} ;
sudo find /var/www/wpsecurity.ro/wp-content/uploads/ -type f -exec chmod 644 {} ;
# CRUCIAL: Blocare execuție PHP în uploads prin .htaccess
cat > /var/www/wpsecurity.ro/wp-content/uploads/.htaccess <<'HTEOF'
# Blocare execuție PHP în directorul uploads
<Files *.php>
Order Deny,Allow
Deny from all
</Files>
<Files *.phtml>
Order Deny,Allow
Deny from all
</Files>
# Dezactivare handler PHP
<IfModule mod_php.c>
php_flag engine off
</IfModule>
HTEOF- Creați un fișier .htaccess în uploads care blochează execuția fișierelor PHP
- Monitorizați directorul uploads pentru fișiere PHP nou apărute
- Configurați un cron job care verifică periodic și șterge fișiere PHP din uploads
- Limitați tipurile de fișiere permise la upload din WordPress (doar imagini, PDF-uri, documente)
Verificarea și corectarea automată a permisiunilor
Permisiunile se pot modifica accidental după actualizări, instalări de plugin-uri sau operațiuni de backup. Un script de verificare periodică previne acumularea de probleme.
#!/bin/bash
# Script verificare și corectare permisiuni WordPress
WP_PATH="/var/www/wpsecurity.ro"
WP_USER="wordpress_user"
WP_GROUP="www-data"
echo "Verificare permisiuni WordPress: $WP_PATH"
# Corectare proprietar
sudo chown -R $WP_USER:$WP_GROUP $WP_PATH
# Corectare directoare
WRONG_DIRS=$(find $WP_PATH -type d ! -perm 755 | wc -l)
if [ $WRONG_DIRS -gt 0 ]; then
echo "Corectare $WRONG_DIRS directoare cu permisiuni incorecte"
find $WP_PATH -type d -exec chmod 755 {} ;
fi
# Corectare fișiere
WRONG_FILES=$(find $WP_PATH -type f ! -perm 644 ! -name "wp-config.php" | wc -l)
if [ $WRONG_FILES -gt 0 ]; then
echo "Corectare $WRONG_FILES fișiere cu permisiuni incorecte"
find $WP_PATH -type f ! -name "wp-config.php" -exec chmod 644 {} ;
fi
# wp-config.php special
chmod 440 $WP_PATH/wp-config.php
# Verificare fișiere cu permisiuni 777 (pericol!)
DANGER=$(find $WP_PATH -perm 777 | wc -l)
if [ $DANGER -gt 0 ]; then
echo "ALERTĂ: $DANGER fișiere cu permisiuni 777!"
find $WP_PATH -perm 777 -ls
fi
echo "Verificare completă."- Rulați scriptul de verificare săptămânal prin cron
- Alertați prin email dacă sunt detectate fișiere cu permisiuni 777
- Verificați după fiecare actualizare WordPress sau instalare de plugin
- Includeți verificarea permisiunilor în procedura de audit de securitate
Permisiuni speciale și atribute extinse
Linux oferă atribute extinse care pot adăuga un strat suplimentar de protecție peste permisiunile standard. Atributul immutable previne orice modificare a fișierului, chiar și de către root.
# Setare atribut immutable pe wp-config.php (previne orice modificare)
sudo chattr +i /var/www/wpsecurity.ro/wp-config.php
# Verificare atribute
lsattr /var/www/wpsecurity.ro/wp-config.php
# Eliminare atribut immutable (necesar pentru actualizări)
sudo chattr -i /var/www/wpsecurity.ro/wp-config.php
# Setare atribut append-only pe fișiere de log (permite doar adăugare)
sudo chattr +a /var/log/wordpress/security.log- Atributul immutable (+i) previne modificarea, ștergerea sau redenumirea fișierului
- Atributul append-only (+a) permite doar adăugarea de conținut, util pentru loguri
- Dezactivați temporar immutable înainte de actualizări WordPress
- Folosiți cu atenție: poate cauza erori dacă WordPress trebuie să modifice fișierul
Permisiunile corecte pe Linux sunt fundamentale pentru securitatea WordPress. Pentru verificarea configurării serverului dumneavoastră, consultați secțiunea de securitate cibernetică sau blogul nostru. Echipa WPSecurity oferă servicii speciale de audit permisiuni, contactați-ne pentru o evaluare completă.
Despre autor
Dorel Tănase este specialist în optimizarea site-urilor pentru motoarele de căutare. Lucrează în online din 1997 și în SEO din 2007, iar activitatea se desfășoară prin GO SEO MARKETING S.R.L. din Alba Iulia. Se ocupă de audit tehnic, arhitectura site-urilor, conținut și construirea legăturilor.