SR

Kako dodatno unaprediti bezbednost WordPress sajta?


05.12.2022    12:59

Kako dodatno unaprediti bezbednost WordPress sajta?

Pre par godina objavili smo 7 osnovnih načina kako da osigurate i optimizujete svoj WordPress sajt i iako je od tada prošlo dosta vremena, saveti su i dalje važeći i danas predstavljaju osnovu za zaštitu WordPress-a koji bi svaki sajt trebao koristiti.

Pored ovih ranije navedenih 7 načina, postoji i dosta dodatnih (naprednijih) stvari koje se mogu podesiti na WordPress sajtu kako bi se mogućnost za napade ili viruse svela na minimum.


❌ ISKLJUČIVANJE wp-admin

wp-admin se može potpuno isključiti ili samo sakriti od napadača (botova) pomoću plugina kao što je WPS Hide Login ili ručno preko .htaccess fajla.

Međutim treba imati na umu da sam WordPress ili plugini koje koristite na sajtu u velikoj meri zavise od wp-admin foldera i kako bi sajt neometano funkcionisao najbolje je ostaviti wp-admin folder, a samo redirektovati neovlašćene zahteve ka njemu.

Sledeći kod možete dodati na početak .htaccess fajla kako bi redirektovali sve posete, izuzev sa vaše IP adrese ka 404 strani. Na taj način botovi koji budu skenirali vaš sajt dobiće odgovor da wp-admin folder ne postoji.

💡 Izmenite 11.22.33.44 u kodu sa vašom javnom IP adresom.

RewriteEngine on
RewriteCond %{REQUEST_URI} ^(.*)?wp-login\.php(.*)$ [OR]
RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$
RewriteCond %{REMOTE_ADDR} !^ 11\.22\.33\.44$
RewriteRule ^(.*)$ - [R=403,L]

Takođe možete i javno zabraniti pristup wp-admin folderu sa svih IP adresa sem vaše, dodavnajem sledećeg koda u .htaccess fajl unutar wp-admin foldera:

## .htaccess fajl unutar wp-admin foldera
order deny,allow
deny from all
allow from 11.22.33.44

IZMEŠTANJE wp-config.php FAJLA

wp-config.php fajl sadrži najvažnije podatke vašeg sajta, kao što su npr. pristupni podaci za mysql bazu podataka i salts koje WordPress koristi za sve kolačiće na sajtu. Ukoliko se napadači dočepaju ovih podataka mogu bez ikakvih problema preuzeti potpunu kontrolu nad vašim WordPress sajtom.

Dobra bezbednosna praksa, oko koje su i dalje mišljenja podeljena u WordPress zajednici,  je prebacivanje fajla wp-config.php folder iznad (van /public_html foldera).

 

1. KORAK Kopiranje wp-config.php fajla u drugi folder

U ovom primeru sajt se nalazi u folderu public_html i odatle ćemo fajl wp-config.php kopirati folder iznad:

Nakon što smo kopirali fajl, sledeći korak je izmena originalnog wp-config.php fajla:

 

2. KORAK Izmena sadržaja originalnog wp-config.php fajla

Otvorite fajl u editoru i obrišite sav sadržaj, potom postavite samo sledeći kod:

<?php
include('/home/cpanel-username/wp-config.php');

💡 Izmenite cpanel-username sa vašim username.

Sačuvajte fajl i testirajte sajt. Ukoliko je putanja do novog fajla urendo unešena ne bi trebalo da ima ikakvih problema.

Na kraju izmena bi ste trebali da imate 2 wp-config.php fajla:

  • – /home/username/public_html/wp-config.php – koji samo poziva drugi wp-config.php fajl
  • – /home/username/wp-config.php – novi wp-config.php fajl vam public_html foldera

DODAVANJE CSP-a

Content Security Policy (CSP) je dodatni način zaštite sajta koji je u osnovi dodanti kod koji se doda unutar .htaccess fajla. Pomoću CPS-a određujete sa kojih se sve domena mogu učitavati fajlovi na vašem sajtu, i na taj način blokirate potencijalne XSS napade.

💡 Pre bilo kakvih izmena na sajtu napravite bekap!

Kako bi ste na WordPress sajt definisali CSP, dodajte sledeći kod u .htaccess fajl sajta:

<IfModule mod_headers.c>
Header set Content-Security-Policy "default-src 'self'; img-src 'self' http: https: *.gravatar.com; scrip-src 'self' 'unsafe-inline' http: https: *.google-analytics.com;"
</IfModule>

Ovim kodom na sajtu je dozvoljeno učitavanje fajlova isključivo sa vašeg domena, Gravatara (slike naloga) i Google Analytics. Svi ostali fajlovi sa drugih sajtova neće biti prikazivani.

Ukoliko na sajtu koristite dodatne alate koji pozivaju fajlove sa svojih domena, npr. Jetpack koristi domen https://i0.wp.com/ za generisanje slika, onda je potrebno i taj domen dozvoliti u polisi: scrip-src 'self' 'unsafe-inline' http: https: *.wp.com;.

Ukoliko na sajtu dodate CSP, prepoučujemo da ga ipak isključite za wp-admin sekciju dodavanjem koda u wp-admin/.htaccess:

<IfModule mod_headers.c>
Header unset Content-Security-Policy
</IfModule>

⚠️ Da bi ovaj kod funkcionisao, na serveru headers modul mora biti aktivan. Na svim našim Web hosting paketima ovo je već uključeno.


PODEŠAVANJE 2FA

Dvostruka autentifikacija (Engl. Two Factor Authentication) je dodatni sloj zaštite gde za pristup nalogu pored lozinke potreban je i kod koji može biti prosleđen SMS porukom ili generisan od strane aplikacije na telefonu 📱.

Od 2020. godine Two-factor authentication (2FA) dostupan je i na korisničkom panelu i cPanel-u, uputstvo za podešavanje: https://panel.unlimited.rs/index.php?rp=/announcements/5/Two-factor-authentication-2FA-na-panelu-i-cPanel-u.html

Na WordPress.org sajtu možete naći detaljno uputstvo koje pokriva 2FA kao i listu WordPress plugina koje možete dodati na sajtu kako bi ste podesili dvostruku autentifikaciju.


TESTIRANJE BEZBEDNOSTI

Nažalost, u današnjem Svetu, kada hakeri iz dana u dan postaju sve inovativniji, nije moguće jednom postaviti plugine za bezbednost i dodati kod na WordPress sajtu i potom ga zanemariti. Već je potrebno redovno testirati sigurnost WordPress sajta i preventivno je unapređivati.

Ukoliko na vašem sajtu postoji bezbednosni propust koji napadači mogu iskoristiti, uvek je bolje da taj propust Vi prvi otkrijete i popravite.

Za WordPress postoji više alata odnosno skenera kojima možete skenirati svoj sajt na poznate ranjivosti i dobiti dodatne savete za unapređenje bezbednosti, neki od najpoznatijih su:


Sa ovim završavamo (manje poznate) savete za dodatnu zaštitu WordPress sajta od hakera. Ukoliko je Vaš sajt već kompromitovan ispratite sledeće uputstvo za detaljno čišćenje i dodatnu optimizaciju WordPress-a: Kako očistiti hakovan WordPress sajt?

 

Stefan Pejčić

Vođa tima Tehničke podrške UNLIMITED.RS i dugogodišnji WordPress developer. Praktičnim rešenjima pomažem čitaocima da na najjednostavniji način reše probleme sa kojima sam se i sam susretao pri izradi i optimizaciji WordPress sajtova kao i korišćenju cPanel-a. Pišite mi u komentarima koje WordPress i hosting teme biste voleli da čitate.

Imaš pitanje ili komentar?

Uneseni podaci moraju biti validni

Vaša email adresa neće biti objavljena. Sva polja su obavezna.

Želite da stupite u kontakt sa nama?

KONTAKTIRAJTE NAS
+381 11 428 08 08
[email protected]
Pokreni odmah