Preskoči do glavnog sadržaja

WordPress je jedan od najpopularnijih sustava za upravljanje web stranicama. Pogoni više od 30% web stranica na cijelom internetu, svaki mjesec koristi ga preko 75 milijuna korisnika na preko 400 milijuna web stranica a svakog dana preko 50 000 novih članaka se objava na ovoj platformi. Zbog izrazito velike popularnosti čest je na temi hakera bez obzira na sadržaj koji prikazuje.

Je li WordPress siguran sustav? WordPress sam po sebi je siguran, temeljito je testiran i održavan, na njemu radi velik broj developera koji ga dobro uštimavaju s modernim saznanjima. Međutim, problemi mogu doći s druge strane, često preko sigurnosnih rupa instaliranih dodataka (plugina) ili tema i lošeg održavanja.

Većina hakerskih napada je posve automatizirana, radi se o računalnim botovima koji traže webove kojima mogu nanijeti neku štetu a ne ako uspiju upasti u sustav mogu raditi što požele. Iako teoretski rizik uvijek postoji potrebno ga je smanjiti na najmanju moguću mjeru.

Web stranica zahtijeva vrijeme i trud da bi se dobila kvaliteta međutim sve može pasti u vodu ako se ne drži do sigurnosti. Svaki tjedan Google na svoju crnu listu u karantenu stavlja na desetke tisuća zaraženih stranica koje nisu imale dovoljno očvrsnuti sustav ili, u slučaju WordPressa, koristili su sumnjive i loše kodirane teme i pluginove.

Kako možemo znati ako su stranice hakirane?

Više je metoda kojima možemo saznati ako su nam stranice bile hakirane. Pogledajmo u nastavku.

Novi sadržaj se nalazi na stranicama bez vašeg znanja

Može se dogoditi da su neke postojeće stranice promijenjene, u dijelove teksta ubačene su fraze koje nemaju veze sa kontekstom stranice. Mogu se javljati skočni (popup) prozori koje niste postavili a koje je ponekad vrlo teško zatvoriti te neprestano iskakaju novi. Sadržaj može biti na nekom drugom jeziku, često s linkovima koji vode na druge stranice. Stranice mogu prikazivati sadržaj za odrasle, reklame za kockanje, drogu ili druge ilegalne aktivnosti.

Stranice preusmjeravaju na druge web stranice

Stranice preusmjeravaju na druge web stranice

Prilikom otvaranja bilokoje stranice sustav korisnika automatski preusmjeri na neke vanjske stranice koje nemaju vezu sa pravim sadržajem a često su spamerskog tipa.

Prilikom otvaranja stranicama prikaže vam se upozorenje

Ako internet preglednik detektira čudno ponašanje stranica može vam preko cijelog ekrana prikazati upozorenje da stranice nisu sigurne i pružiti vam odabir želite li nastaviti sa pregledom. Doduše, ovo nije nužno da se prikaže zbog hakerskog napada, može biti i samo da nemate dobro podešen SSL certifikat.

Ne uspijevate se više prijaviti u sustav

Lozinka može biti promijenjena i ne može se resetirati ili ste kao korisnik posve obrisan.

Mailom ste zaprimi informaciju da je stranica hakirana

Hosting tvrtka može javiti mailom (automatizirano ili osobno) da su otkrivene zloćudne radnje na stranicama. Ako se radi o shared hostingu u tom slučaju su vjerojatno stranice stavili u karantenu te one više nisu vidljive javnosti. To rade i da sami sebe zaštite jer se zaraza može prenijeti na druge projekte koji su unutar istog sustava.

WordPress vas također može obavijestiti ako postoji sigurnosna ranjivost, a ako ste registrirali stranice na Search Console, Google vas također može obavijestiti porukom ako primijeti zloćudne radnje.

Google tražilica može napomenuti da je stranica hakirana

Kada Google botovi koji skeniraju web radi indeksiranja na stranici pronađu nepravilnosti za koje vjeruju da su zlonamjerni, tada prilikom prikaza rezultata pretrage stoji obavijest o tome (This site may be hacked, This website has been reported as unsafe ili drugo).

Skeniranje stranica specijalnim alatima pokazuje probleme

Velik broj alata može skenirati i provjeriti jesu li stranice hakirane, jedan od njih je Google Safe Browsing tool. Moguće je i skenirati programerske datoteke unutar samog WordPressa instaliranim dodacima, ukoliko je stranica hakirana čest je slučaj da su programerske i konfiguracijske datoteke zaražene zloćudnim kodovima.

Načini na koji je moguće naštetiti web stranicama

Hakirane web stranice mogu prouzročiti ozbiljnu štetu funkcionalnosti i reputaciji stranica. Hakeri mogu ukrasti informacije, instalirati zloćudne skripte i generalno kad uzmu imaju web u rukama mogu raditi što god požele.

Ovo su neke od najčešćih mogućih hakerskih napada:

  • Brute force – događa se kada se botovi pokušavaju prijaviti u sustav sistematično isprobavajući jako velik broj raznih kombinacija korisničkog imena i lozinka sve dok jedna ne upali
  • Cross-site scripting (XSS) – hakeri podvali zloćudnu skriptu koja se izvrti na pregledniku korisnika s ciljem krađe identiteta (najčešće kolačiće)
  • Backdoor – skrivene datoteke ubačene su u sustav, pretvarajući se da su legitimni dio datoteka WordPressa ili plugina, a služe da hakeri mogu ući u sustav
  • [eng]Distributed Denial of service (DDoS) – koordinirani napadi koji šalju mnogo dolaznog prometa u kratkim vremenskim intervalima kako bi preplavili server i srušili ga zbog nemogućnosti da reagira na toliko upita
  • Pharma hacks – kada se sadržaju pojavljuju neželjeni tekstovi reklamnog sadržaja i često sakriveni linkovi unutar samog teksta ali na takav način da su sakriveni stvarnim posjetiteljima stranica, međutim sve je to dio koda stranica i tražilice koje crawlaju cijele stranice to primijete. linkovi na webove za kockanje, reklamiranje Viagre i sličnih proizvoda, linkanje na pornografske sadržaje. Ovaj hack je često maliciozan po tome što pokušava naštetiti rangiranju na tražilicama. zagađen sa linkovima i raznim ključnim riječima koji nemaju veze s onim čime se baite.

Kako očvrsnuti WordPress

Najbolji način za sigurnost WordPressa uvijek je preventiva, upravo isto onako kao što je bitno i za naše zdravlje. Zašto bi čekali da stanje postane alarmantno ako možemo spriječiti da do toga dođe?

Iako realno gledajući, ako se vladine stranice mogu hakirati uz sve nize sigurnosti tada to mogu biti i vaše, no važno je stegnuti sigurnosni obruč čim više. Ako vam stranice hakiraju potrošit ćete sate ili čak i dane pokušavajući sanirati štetu te možete izgubiti ili ozbiljno narušiti poslovanje s klijentima i zbog toga vam je vrijedno uložiti dodatno vrijeme kako biste bili sigurni da se takva situacija nikad ne dogodi.

Donosimo vam listu predostrožnosti koje je potrebno obaviti kako bi očvrsnuli web stranice na WordPressu na više razina, preporuka je odraditi sve.

Izrada sigurnosnih kopija

Izrada sigurnosnih kopija (backupa) nije zapravo metoda za povećanje sigurnosti sustava ali je od kritične važnosti jer se slučaju da dođe do hakiranja sustav može vratiti u prvobitno stanje. Zbog toga je izrada kopije prva stvar koju moramo napraviti.

Sigurnosne kopije možemo raditi ručno preko cPanela, kada napravimo kompresiju cijelog projekta i spremimo ga na sigurnu lokaciju a isto možemo raditi i unutar samog WordPressa pomoću nekog dodatka. Naša preporuka je UpdraftPlus, pouzdan je i jednostavan za upotrebu, omogućuje i izradu backupa na dnevnoj razini te slanje na vanjske lokacije što dodatno pogoduje sigurnosti (Gmail, Dropbox, Google Drive…). Može se napraviti bilokakva potrebna automatizacija radnji pomoću WP-Crona ili definiranjem čistog Cron Joba preko cPanela.

WordPress sustav, pluginove i temu uvijek ažurirajte na posljednje verzije

Developeri koji rade na WordPressu kontinuirano ga nadograđuju sa sigurnosnim zakrpama koje uklone probleme s prethodnim verzijama. Sigurnosne zaprke se rade automatski (osim ako to nije izričito isključeno), dok je veće verzije potrebno raditi ručno. U svakom slučaju poželjno je držati sustav ažuriranim na posljednju verziju.

Dodatke pogotovo držite ažuriranim jer njih rade razni developeri i veća je mogućnost da su lošije kodirani te imaju sigurnosne propuste. Minimizirajte broj dodataka (pluginova) koje koristite, osim za sigurnost ovo nije dobro ni za međusobnu kompatibilnost ni za brzinu rada stranica. Prema Wordfence podacima skoro 56% komprimitiranih web stranica napadnuto je preko sigurnosnih rupa plugina.

Neaktivne teme i dodatke obrišite, što je preporučljivo i prema Wp dokumentaciji jer i neaktivne dodateke mogu činiti sigurnosni propust.

Dodatke i teme nabavljajte isključivo iz provjerenih izvora (iz službenog WordPress repozitorija dodataka ili preko popularnih ThemeForest i Code Canyon), jer u suprotnom mogu biti tzv. nullani tj. hakirani što je čest slučaj kod premium dodataka i tema koje se plaćaju. Također obratite pozornost na njihovu popularnost, ako su popularni i imaju pozitivne ocjene veća je mogućnost da su temeljito provjereni i sigurni, pogledajte što korisnici kažu u recenzijama i kakvi problemi ih muče na formu podrške te koliko brzo developeri reagiraju na upite. Dodatke koji su napušteni te ih developeri više ne održavaju obrišite i potražite im alternativu.

Nadograđivanje teme je rjeđi postupak, no također je poželjno raditi i ako je rađena prilagođena tema. Sama tema može biti izvor propusta, a nadogradnjom skripta koje koriste bolja će biti i kompatibilnost s modernim uređajima.

Ograničite pokušaje prijave

Primjer ograničenja je da se korisniku napravi timeout i spriječi mogućnost prijave na jedan sat ako se ne uspije prijaviti u 5 pokušaja. Korisno je kod spriječavanja brute force napada gdje botovi na silu isprobavaju sve moguće kombinacije korisničkog imena i lozinke, premda nije potpuna zaštita jer hakerski napadi mogu biti usmjereni sa tisuća raznih servera.

U logovima se može primijetiti pokušaji prijave korisnička imena koja često ni ne postoje.

Promjena URL adrese za prijavu

Svi znaju da se stranica za prijavu nalazi na adresi vašadomena.hr/wp-admin. Njenim sakrivanjem dobivate bod za veću sigurnost. Ovo je vrlo jednostavno riješiti pomoću dodatka WPS Hide Login. Jedino nemojte zaboraviti na kojoj adresi se nakon toga prijavljujete.

Sakrivanje verzije WordPressa

Kako se hakerima ne bi dale nepotrebne informacije koje bi mogli koristiti u njihovu korist poželjno je sakriti prikazivanje verzije WordPressa iz koda samih stranica. Ako hakeri znaju da je određena verzija WordPressa podložna određenom problemu i ima sigurnosnu rupu oni je mogu ciljano eksploatirati. Naredni kod potrebno je staviti unutar function.php datoteke:

remove_action('wp_head', 'wp_generator');

Postavljanje sigurnosne veze

Kada korisnik posjeti vašu web stranicu, sav sadržaj (izvršne datoteke, medijski zapisi i sl.) se šalje putem HTTP protokola preko mreže u vaš browser. Takva veza nije sigurna i potencijalni haker koji ju osluškuje podatke može presresti. Zbog toga je razvijen novi sigurnosni protokol HyperText Transfer Protocol Secure (HTTPS) koji kriptira vezu i otežava potencijalnom hakeru da njuška i krade informacije.

Da bi omogućili HTTPS vezu potrebno je imati SSL certifikat, a njega je danas moguće instalirati posve besplatno i većina poslužitelja hostinga ga omogućuje u startu. Tada je potrebno na razini samih web stranica podesiti da sve putanje upućuju na novu https verziju. Ovo možete učiniti pomoću plugina Better Search Replace, pa nakon što predostrožnosti radi napravite sigurnosnu kopije baze odaberite sve tablice u opcijama i staru adresu:

http://www.stranica.hr

zamijenite sa:

https://www.stranica.hr

Kada sve funkcionira uredno moći ćete vidjeti malu ikonicu lokota pored vaše adrese. Ako se to ne dogodi, otvorite konzolu (CTRL+SHIFT+i) i provjerite koje vam greške javlja preglednik. Moguće da je potrebno još neke dodatne putanje zamijeniti novim adresama.

Osim što je dobro za vašu sigurnost, tražilice vam daju i mali plusić za bolje rangiranje stranica.

Redovito skenirajte cijeli sustav

Skeniranje uspoređuje se sadašnje stanje datoteka sa stvarnim stanjem na WP repozitoriju, ako postoje odstupanja javi grešku. Ovisno o jačini skeniranja neke greške mogu biti lažni alarm.

Premda skeniranje troši resurse vaše hostinga, može se podesiti da ih troši na razini kada nemate značajan promet na stranicama a to je vrlo vjerojatno iza ponoći.

Odaberite pouzdan i siguran hosting

Jeftin i nekvalitetan hosting osim što je spor, također neće nadzirati vaše web stranice. Na shared hostingu dijelite resurse sa svim drugim korisnicima što stvara rizik kontanimacije svega. Ipak, čak i velike tvrtke rijetko idu na jače varijante hostinga. U svakom slučaju, i kod jednostavnih web stranica imamo na izbor široku paletu mogućnosti.

Neke od odlika kvalitetnog hostinga:

  • redovito ažurira operativni sustav i primijenjuje najnovije sigurnosne zakrpe kako bi reagirao na najnovije prijetnje i eliminirao potencijalne povrede sigurnosti
  • sustav koji 24/7 promatra i otkriva zlonamjerne aktivnosti
  • ima podešen vatrozid na razini servera kako bi onemogućao DDoS napade
  • nudi besplatni SSL certifikat
  • izrađuje sigurnosne kopije
  • pruža mogućnost korištenja posljednje PHP verzije

Prebacivanje sustava na posljednju PHP verziju

PHP je programerski jezik na kojem se razvija WordPress. Verzija 5.x ima nekih sigurnosnih propusta, a nadogradnjom na novu PHP 8 verziju zbog optimizacija koje donosi sustav će vam osjetno biti i brži. PHP se može nadograditi unutar cPanela ili zatražiti od hosting providera da to učine.

Podešavanje ovlasti korisnicima

Ovlasti administratora omogućite samo onima kojima je to stvarno potrebno. Čak i ako ste jedina osoba koja vodi stranice nije loše imati odvojen korisnički profil za administratora i osobu koja ažurira sadržaj. Kako su editoru isključena admin prava, sam rad u administraciji je brži jer se ne učitavaju skripte i ne rade se brojni pozivi bazi kao što to sustav radi za administratore, a to se značajno osjeti na većim web stranicama.

Obrišite suvišne korisnike i zabranite registraciju novih

Ako imate korisnika koji su nekoć bili aktivni ili se pokušalo ići da budu aktivni a ništa od toga, obrišite ih.

Ako nemate potrebu da se gosti mogu registrirati na vaše stranice isključite opciju “Svi se mogu registrirati” pod Postavke->Općenito. Pojedinačne korisnike dodajte ručno preko izbornika Korisnici->Dodaj novi.

Zaštitite programerske datoteke

Nekoliko je radnji koje možemo učiniti za bolju sigurnost.

Onemogućite uređivanje datoteka iz WordPress editora

Uređivanje datoteka iz samog WordPressa je posve nepotrebna stvar, vjerojatno je nećete ni trebati koristiti i svakako je dobro isključiti. Ovakvo direktno mijenjanje ne slijedi dobru praksu verzioniranja koda niti mogućnost vraćanja datoteke ako nešto pođe po zlu. Potrebno je u osnovnu konfiguracijsku datoteku wp-config.php ubaciti na početak naredni kod

define( ‘DISALLOW_FILE_EDIT’, true );

Preselite wp-config.php u direktorij iznad osnovnog

Datoteka wp-config.php je osnovna konfiguracijska datoteka koja se nalazi na početku WordPress direktorija. Ona je jako bitna jer sadrži sve ključne informacije vezane za rad sustava i spajanje na bazu podataka. Ako je preselimo u direktorij više razine sakrit ćemo ju a sustav funkcionira i dalje normano.

Zabranite izvršavanje kodova u određenim direktorijima

Nema potrebe da se izvršne skripte mogu se izvršavati unutar Uploads direktorija koji služi da se u njega spremaju slike i drugi medijski zapisi kada ih unosite preko WordPressa, a ovom sigurnosnom propustu bili su podložni određeni dodaci u prošlosti.

Kako bi onemogućili tu stavku kreirajte novu datoteku .htaccess, kopirajte naredni kod i prebacite ga u /wp-content/uploads/ direktorij

<Files *.php>
deny from all
</Files>

Onemogućavanje XML-RPC

XML-RPC sustav je osmišljen radi omogućavanja automatske povezanosti s određenim sustavima, npr. autori mogu na svojim WordPress stranicama objavljivati preko mobilnih aplikacija ili podesiti automatsko slanje objave sa bloga na Twitter i druge servise. WordPress ga od verzije 3.5 automatski aktivira na svim stranicama no ovo u nekim okolnostima može biti sigurnosni propust.

Da isključite ovu mogućnost unesite naredni kod unutar .htaccess datoteke koja se nalazi u osnovnom direktoriju WordPress instalacije.

<Files xmlrpc.php>
Order Allow
DenyDeny from all
</Files>

Spriječite pregledavanje direktorija

Options All -Indexes

Zaštitite logove i WordPress datoteke

# Zaštiti logove
<FilesMatch "\.(log|txt)$">
    Order Allow,Deny
    Deny from all
</FilesMatch>

# Zaštiti druge datoteke
<IfModule mod_rewrite.c>

    # Zaštiti WP datoteke
    RewriteRule ^wp-admin/includes/ - [F,L]
    RewriteRule !^wp-includes/ - [S=3]
    RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
    RewriteRule ^wp-includes/theme-compat/ - [F,L]
    RewriteCond %{SCRIPT_FILENAME} !^(.*)wp-includes/ms-files.php
    RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]

    # Zaštiti login kada je prazan korisnički agent
    RewriteCond %{REQUEST_URI} /wp-(login|signup)\.php
    RewriteCond %{HTTP_USER_AGENT} ^$
    RewriteRule . - [F]

</IfModule>

Postavljanje sigurnosnih headera

<IfModule mod_headers.c>
    Header set X-XSS-Protection "1; mode=block"
    Header always append X-Frame-Options SAMEORIGIN
    Header set X-Content-Type-Options nosniff
    Header unset Server
    Header unset X-Powered-By
    Header always set Referrer-Policy "same-origin"
    Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" "expr=%{HTTPS} == 'on'"
</IfModule>

Postavljanje vatrozida (firewall)

Vatrozid (WAF – Web Application Firewall) je sigurnosni zid između vašeg mrežnog prometa i hosting servera a cilj mu je da prati dolazne aktivnosti i filtrira najčešće prijetnje prije nego što dođu do samog sustava. Pomaže kod XSS i CSRF napada, ubacivanja SQL kodova, otimanja sesija, omogućuje zaštitu od brute force napada a hakeri i botovi su automatski stavljeni na crnu listu. Može se podesiti na razini DNS-a i na razini samog WordPressa preko nekog od dodataka (pogledajte sekciju niže) ili preko vanjskog Cloudflare servisa.

Instalirajte sigurnosno rješenje

Dobro je koristiti neki od idućih dodataka koji obično više problema mogu riješiti jednim udarcem. Većina ovih dodataka ima besplatnu verziju, ako vam je potrebna pojačana zaštita i budžet vam odgovara možete odabrati profesionalni paket.

  • WordFence – najpopularniji sigurnosni dodatak. Svakodnevno skenira sustav (WordPress jezgru, dodatke i pluginove kao i druge direktorije) i provjerava integritet datoteka, postavlja sigurnosni vatrozid, štiti od brojnih uobičajenih hakerskih napada, forsira upotrebu jakih lozinka, omogućuje potvrdu u dva koraka (two-factor authentication).
  • iThemes Security – nudi zaštitu slično kao i Wordfence, omogućuje još i potpuno isključivanje pristupa administraciji u određenim periodima dana (primjerice tijekom noći), promjenu adrese za prijavu u administraciju, onemogućavanje pregledavanje direktorija, izvršivanje skripta unutar uploads direktorija, isključivanje XML-RPC… Korisničko sučelje u administraciji je jednostavnije i intuitivnije te nudi nešto više mogućnosti od Wordfence međutim dnevno skeniranje sustava je dostupno samo u plaćenoj inačici što mu je glavni nedostatak
  • Malcare, Sucuri scanner… – postoje još razne alternative gornje navedenim dodacima

Ostalo

  • Search Console – prijavite stranicu na Search Console kako bi imali uvid u ponašanje stranica, između ostalog i radi dojave ukoliko se dogode promjene na razini sigurnosti

Računalo na kojem radite odražavajte sigurnim

Računalo i operativni sustav na kojem radite držite urednim, pazite da nemate viruse jer oni mogu mogu primjerice keyloggerom prikupiti informacije o korisniku i lozinku te drugim povjerljivim informacijama. Operativni sustav nadogradite sa sigurnosnim zaprkama kada bude moguće, pazite da vam antivirusni program uredno funkcionira bez problema.

Od pomoći može biti i da surfate sigurno (Firefox, uBlock Origin…).

Sažetak

Održavanje web stranice važan je segment. Slijeđenjem gore navedenih savjeta moći ćete vaše web stranice zaštititi od sigurnosnih rizika i mirno spavati znajući da vaša. Ovo su bile najčešće greške i moguća rješenja, lista nije iscrpna međutim trebalo bi pokriti i očvrstiti stranice do mjere sigurnosti

Ne možete li sami podesiti navedene prijedloge i potreban vam je neko da vam učvrsti WordPress? Ili što ako je stranica već haknuta? Kontaktirajte nas i zaštite vaše web stranice bez odlaganja.

PODIJELI S PRIJATELJIMA:
Idi  na  vrh