ZAGOTAVLJANJE IN ANALIZA VARNOSTI SISTEMA ZA … · how the system itself can ensure the safety of...

74
UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Aleš Casar ZAGOTAVLJANJE IN ANALIZA VARNOSTI SISTEMA ZA UPRAVLJANJE VSEBIN - WORDPRESS Diplomsko delo Maribor, september 2017

Transcript of ZAGOTAVLJANJE IN ANALIZA VARNOSTI SISTEMA ZA … · how the system itself can ensure the safety of...

UNIVERZA V MARIBORU

FAKULTETA ZA ELEKTROTEHNIKO,

RAČUNALNIŠTVO IN INFORMATIKO

Aleš Casar

ZAGOTAVLJANJE IN ANALIZA VARNOSTI SISTEMA ZA UPRAVLJANJE VSEBIN -

WORDPRESS

Diplomsko delo

Maribor, september 2017

ZAGOTAVLJANJE IN ANALIZA VARNOSTI SISTEMA ZA

UPRAVLJANJE VSEBIN - WORDPRESS

Diplomsko delo

Študent: Aleš Casar

Študijski program: Visokošolski študijski program

Informatika in tehnologije komuniciranja

Smer: Sistemska podpora ITK

Mentor: viš. pred. mag. Boštjan Kežmah, dipl. gos. inž. elektroteh.

Maribor, september 2017

Potrdilo o prijavi diplomske naloge

Potrdilo o prijavi

i

ZAHVALA

Zahvaljujem se mentorju viš. pred. mag.

Boštjanu Kežmahu, dipl. gos. inž. el. za

usmerjanje in pomoč pri izdelavi diplomske

naloge.

Zahvaljujem se tudi moji družini, ki mi je

omogočila študij in punci, ki me je podpirala in

vzpodbujala v času študija.

ii

ZAGOTAVLJANJE IN ANALIZA VARNOSTI SISTEMA ZA

UPRAVLJANJE VSEBIN - WORDPRESS

Ključne besede: WordPress, Varnost, Zaščita, Vtičnik, CMS

UDK: 004.738.5:005.922.1(043.2)

Povzetek

Vse večja priljubljenost sistema za upravljanje vsebin WordPress privablja tudi vse več

potencialnih napadalcev, ki lahko tako ali drugače ogrožajo naše spletne strani in uporabnike

spletnih storitev. V diplomskem delu smo najprej analizirali zakaj je varnost na spletu tako zelo

pomembna in kako za varnost WordPress spletnih strani skrbi sistem sam. V drugem delu smo

raziskali kaj lahko sami postorimo za izboljšanje varnosti in za preprečevanje zlonamernih

napadov. Tako smo šli skozi vse pomembnejše varnostne nastavitve in ukrepe, da bi našo

spletno stran čim bolj optimalno zaščitili.

iii

SECURING AND SECURITY ANALYSIS OF WORDPRESS

CONTENT MANAGEMENT SYSTEM

Key words: WordPress, Security, Protection, Plugin, CMS

UDK: 004.738.5:005.922.1(043.2)

Abstract

The ever increasing popularity of WordPress content management system increases numbers

of potential attackers, who can in various ways harm our websites and users of internet

services. In my diploma we've first analyzed, why the safety on the internet is so important and

how the system itself can ensure the safety of the WordPress web sites. In the second part we

researched, what can we do ourselves to improve security and prevent malicious attacks. So

we went through all the important safety measures and precautions, to achieve optimum

protection of our web site.

iv

KAZALO VSEBINE:

1. UVOD ............................................................................................................................................... 1

2. WORDPRESS .................................................................................................................................... 2

2.1. FUNKCIONALNOSTI .................................................................................................................. 4

2.2. TEME ........................................................................................................................................ 5

2.3. VTIČNIKI ................................................................................................................................... 6

2.4. NASTAVITVE PRI NAMESTITVI SISTEMA .................................................................................. 7

3. POMEMBNOST ZAGOTAVLJANJA VARNOSTI................................................................................. 11

3.1. ZAKONODAJA ........................................................................................................................ 12

3.2. MOŽNE ZLORABE ................................................................................................................... 13

4. ANALIZA VARNOSTNIH REŠITEV WORDPRESS-A ........................................................................... 15

4.1. VARNOST VTIČNIKOV IN TEM ................................................................................................ 17

4.1.1. WORDPRESS.ORG TEME IN VTIČNIKI ............................................................................ 18

4.1.2. SKUPINA ZA PREIZKUS IN PREVERJANJE TEM ................................................................ 18

4.2. WORDPRESS JEDRO API ......................................................................................................... 18

4.3. PROTOKOL HTTPS .................................................................................................................. 19

4.3.1. SSL CERTIFIKAT .............................................................................................................. 20

4.3.2. DODAJANJE SSL CERTIFIKATA V WORDPRESS ............................................................... 21

5. SMERNICE ZA ZAGOTAVLJANJE VARNOSTI ................................................................................... 22

5.1. METODOLOGIJA DELA ........................................................................................................... 23

5.2. STREŽNIŠKO GOSTOVANJE .................................................................................................... 25

5.2.1. DOMOVANJE AKTIVNA ZAŠČITA .................................................................................... 25

5.2.2. NADZOR NAD DELOVANJEM STREŽNIKOV .................................................................... 26

5.2.3. PODATKOVNI CENTER ................................................................................................... 27

5.3. IZBIRA UPORABNIŠKEGA IMENA IN MOČNEGA GESLA ......................................................... 27

5.4. PRIKRIVANJE SKRBNIŠKE PRIJAVNE STRANI .......................................................................... 28

5.5. OMEJITEV ŠTEVILA NAPAČNIH PRIJAV .................................................................................. 30

5.6. DOLOČANJE PRAVIC DATOTEKAM NA STREŽNIKU ................................................................ 32

5.7. DATOTEKA HTACCESS ............................................................................................................ 33

5.8. ZAKRIVANJE DELOVNE RAZLIČICE SISTEMA .......................................................................... 36

5.9. PREDPONE WORDPRESS TABEL ............................................................................................. 37

5.10. SPREMLJANJE SPREMEMB DATOTEK NA STREŽNIKU ........................................................ 38

5.11. 'MALWARE' PREGLEDOVANJE ........................................................................................... 39

5.12. NASTAVITEV POŽARNEGA ZIDU......................................................................................... 40

5.12.1. XMLRPC & PINGBACK RANLJIVOSTI ZAŠČITE ................................................................. 40

v

5.12.2. 6G ČRNI SEZNAM IN NASTAVITVE ................................................................................. 41

5.12.3. BLOKIRANJE LAŽNIH ROBOTKOV ................................................................................... 41

5.12.4. PREPREČEVANJE 'HOTLINK' ........................................................................................... 41

5.12.5. ZAZNAVANJE NAPAKE 404 ............................................................................................. 42

5.12.6. PREPREČITEV SPAM KOMENTARJEV ............................................................................. 42

5.13. UPORABA ORIGINALNIH VTIČNIKOV IN TEM .................................................................... 43

5.14. POMEMBNOST POSODOBITEV .......................................................................................... 43

5.15. VARNOSTNE KOPIJE ........................................................................................................... 45

6. SPREMLJANJE NAPREDKA .............................................................................................................. 47

7. VTIČNIKI ZA ZAGOTAVLJANJE VARNOSTI ...................................................................................... 58

7.1. WORDFENCE .......................................................................................................................... 58

7.2. ITHEMES SECURITY ................................................................................................................ 59

7.3. SUCURI SECURITY .................................................................................................................. 59

7.4. BULLETPROOF SECURITY ....................................................................................................... 60

8. SKLEP ............................................................................................................................................. 61

9. VIRI IN LITERATURA ....................................................................................................................... 62

KAZALO SLIK:

Slika 2.1: WordPress logotip.................................................................................................. 3

Slika 2.2: Sistemske datoteke na strežniku ............................................................................ 8

Slika 2.3: Ustvarjanje podatkovne baze ................................................................................. 8

Slika 2.4: Dodajanje novega uporabnika ............................................................................... 9

Slika 2.5: Podatkovna baza v programskem orodju phpMyAdmin.......................................... 9

Slika 2.6: Dodajanje podatkovne baze v WordPress ............................................................10

Slika 2.7: Zagon namestitve .................................................................................................10

Slika 2.8: Podatki spletišča ...................................................................................................11

Slika 3.1: Obvestilo o piškotkih na naši spletni strani urisk.eu ...............................................13

Slika 4.1: Sprememba URL naslova .....................................................................................22

Slika 4.2: HTTPS preusmerjanje v datoteki .htacces ............................................................22

Slika 4.3: HTTPS na 'Multisite' .............................................................................................22

Slika 4.4: Urisk.eu z varno HTTPS povezavo .......................................................................22

Slika 5.1: Generator varnih gesel .........................................................................................28

Slika 5.2: Sprememba URL naslova za dostop do skrbniške prijavne strani .........................29

Slika 5.3: Omogočanje varnostnega preizkusa .....................................................................29

vi

Slika 5.4: Varnostni preizkus pri prijavi .................................................................................29

Slika 5.5: Zakrivanje uporabniškega imena avtorja s preusmeritvijo na domačo stran ..........30

Slika 5.6: Omejitev števila napačnih prijav ............................................................................31

Slika 5.7: Seznam trajanja aktivnosti prijavljenih uporabnikov ..............................................31

Slika 5.8: Podatki o pravicah datotek ....................................................................................32

Slika 5.9: Določanje pravic datotekam s pomočjo FTP odjemalca ........................................32

Slika 5.10: Pravilno urejene pravice datotek .........................................................................33

Slika 5.11: Datoteka .htaccess .............................................................................................34

Slika 5.12: Spreminjanje dostopa do skrbniške nadzorne plošče ..........................................34

Slika 5.13: Onemogočanje dostopa do datoteke 'wp-config.php' ..........................................34

Slika 5.14: Dostop do datoteke 'wp-login.php' z našega IP naslova ......................................35

Slika 5.15: Preprečevanje eksekucij PHP datotek ................................................................35

Slika 5.16: Zaščita .htaccess datoteke ..................................................................................35

Slika 5.17: Spreminjanje predpon tabel podatkovni bazi .......................................................37

Slika 5.18: Omogočanje osnovne zaščite požarnega zidu ....................................................40

Slika 5.19: Vklop XMLRPC in Pingback zaščite ....................................................................40

Slika 5.20: Aktiviranje 5G in 6G pravil ...................................................................................41

Slika 5.21: Blokiranje lažnih robotkov ...................................................................................41

Slika 5.22: Preprečevanje 'hotlink' ........................................................................................42

Slika 5.23: Zaznavanje napake 404 ......................................................................................42

Slika 5.24: Preprečevanje SPAM komentarjev .....................................................................43

Slika 5.25: Ročno posodabljanje vtičnikov ............................................................................44

Slika 5.26: Ročno posodabljanje tem ....................................................................................45

Slika 5.27: Kreiranje varnostne kopije podatkovne baze .......................................................46

Slika 5.28: Samodejno kreiranje varnostne kopije podatkovne baze .....................................46

Slika 5.29: Samodejno kreiranje varnostne kopije podatkovne baze s pomočjo cPanel ........47

Slika 6.1: Merilnik zaščite sistema na začetku ......................................................................47

Slika 6.2: Razmerje zaščite na začetku ................................................................................48

Slika 6.3: Končno razmerje dejavnikov zagotavljanja zaščite................................................52

Slika 6.4: Opozorilo pri izbiri 'brute force' zaščite ..................................................................52

Slika 6.5: Seznam neuspešnih prijav v sistem ......................................................................53

Slika 6.6: Trenutno prijavljeni uporabniki ..............................................................................53

Slika 6.7: Zadnjih 5 uspešnih prijav v sistem ........................................................................54

Slika 6.8: Trajanje sej prijav ..................................................................................................54

Slika 6.9: Spremembe datotek na strežniku ..........................................................................54

Slika 6.10: Obvestila o spremembah na skrbniški domači strani ...........................................55

Slika 6.11: Rezultat 'Sucuri SiteCheck' pregledovanj ............................................................56

vii

Slika 6.12: Rezultat 'WPMUDEV Security' pregledovanj .......................................................56

Slika 7.1: Vtičnik Wordfence Security ...................................................................................58

Slika 7.2: Vtičnik iThemes Security .......................................................................................59

Slika 7.3: Vtičnik Sucuri Security ..........................................................................................59

Slika 7.4: Vtičnik BulletProof Security ...................................................................................60

KAZALO TABEL:

Tabela 5.1: Čas potreben za razvozlanje 6-9 mestnih gesel .................................................28

Tabela 6.1: Razvrstitev varnostnih ukrepov v skupine pogostih ranljivosti po OWASP .........57

SEZNAM KRATIC:

Apache – Spletni strežnik

API – Application programming interface

Brute force attacks – napadi v zelo kratkih intervalih, po navadi iz različnih IP naslovov

cPanel – strežniška nadzorna plošča

CMS – Content mamagement system

CPU – Central processing unit

CSRF – Croos Site Request Forgery

CSS – Cascading style sheets

DDoS – Distributed Denial of Service

DNS – Domani name System

FTP – File transfer protocol

GPL – General public license

HTML – HyperText Markup Language

HTTP – HyperText Transfer Protocol

HTTPS – HyperText Transfer Protocol Secure

IP – Internet protocol

MariaDB – podatkovna zbirka

MySQL – kombinacija 'My' (ime razvijalčeve hčerke) in 'SQL' (Structured Query Language)

Nginx – Spletni strežnik

OWASP – Open Web Application Security Project

viii

PB – Podatkovna baza

PHP – Hypertext Preprocessor

RFI – Remote file inclusion

SPAM – nezaželena, vsiljena elektronska sporočila

SSD – Solid-state drive

SSL – Secure Sockets Layer

SSRF – Server Side Request Forgery

TIER 1 – internetno omrežje

TLS – Transport Layer Security

URL – Uniform Resource Locator

VPS – Virtal private server

WP - WordPress

XML-RPC – remote procedure call, ki uporablja Extensible Markup Language

XSS - Cross Site Scripting

XXE - XML eXternal Entity

1

1. UVOD

WordPress je dinamični odprtokodni sistem za upravljanje vsebin, ki ga uporablja na milijone

spletnih strani, aplikacij in blogov. Z drugimi besedami, dobrih 23% od 10 milijonov najbolj

obiskanih spletnih strani temeljni na teh spletnih rešitvah. [5] Sistem je zelo priljubljen zaradi

svoje enostavnosti in razširljivosti. Uporabniki lahko brez večjega programerskega predznanja

spreminjajo teme, dodajajo vtičnike, drugo vsebino in tako kreirajo svoje spletne rešitve. Zaradi

velike priljubljenosti sistema je ta tudi precej ogrožen z varnostnega vidika, saj hekerji

neprestano spremljajo razvoj in iščejo ranljivosti. In ker z vdori lahko pride do nezaželenih

posledic, npr. do kraje podatkov, dodajanja povezav do nelegalnih strani, brisanja vsebin ipd.,

je zelo pomembno, da je sistem ustrezno zavarovan. [12] Da bi razne napade in vdore čim bolj

učinkovito preprečili, ne moremo računati samo na sam sistem, ampak lahko s pravilnimi

pristopi največ postorimo sami.

Vsak uporabnik si želi biti varen na svetovnem spletu, zato je zelo pomembno, da so naše

spletne rešitve varne za uporabnike. Tako si pridobimo večje zaupanje obiskovalcev, zvišamo

uvrstitve za ključne besede v spletnih iskalnikih in v primeru spletne trgovine tudi povečamo

prodajo. [13] Namen diplomske naloge je, da raziščemo in analiziramo varnostne vidike, ki so

potrebni pri vzpostavitvi take spletne rešitve. Tako bomo v prvem delu raziskali katere

protokole in aplikacije uporablja WordPress za zagotavljanje varnosti platforme že v osnovi.

V drugem delu pa se bomo osredotočili na to, kako lahko sami poskrbimo za varnost. Raziskali

in pregledali bomo vse varnostne nastavitve platforme WordPress, dodatno poskrbeli za

varnostne rešitve in poskušali zagotoviti optimalno varnost na naši spletni strani. Zelo

pomembno je namreč, da imamo zelo dobro strežniško gostovanje, da samo platformo,

vtičnike in teme redno posodabljamo, onemogočimo spreminjanje datotek na strežniku, si

zagotovimo varnostne kopije, ter da pravilno nastavimo druge varnostne nastavitve. Pri tem

bomo še preizkusili in analizirali nekaj najboljših vtičnikov za zagotavljanje varnosti v

WordPress-u. Da se bomo dela lotili pravilno in dobro, je zelo pomembno, da bomo s pomočjo

različnih postopkov skozi cel čas preverjali in spremljali napredek glede zagotavljanja varnosti

naših spletnih rešitev. Tako bomo med samim delom večkrat preverili spletno stran s pomočjo

sistemov za preverjanja zanesljivosti in varnosti WordPress spletnih strani, ki so dostopni na

svetovnem spletu ter poskušali odpraviti ranljivosti na katere bomo opozorjeni. Z namestitvijo

določenih varnostnih vtičnikov pa bomo napredek spremljali sproti po vsaki spremembi

nastavitev in sicer v grafični obliki s pomočjo grafikonov in v točkovno - številčni obliki, kjer bo

2

napredek viden v številčnih rezultatih. Dobljene rezultate bomo lahko na koncu tudi predstavili

in ugotovili kako uspešni smo bili. Na svetovnem spletu je že ogromno napisanega na temo

zagotavljanja varnosti WordPress spletnih strani. Mi se bomo osredotočali na konkreten primer

ter v namen raziskovanja in analize zagotavljanja varnosti vzpostavili spletno stran v orodju

WordPress. Tako bomo lahko preizkusili različne varnostne vtičnike, nastavitve, spremljali

dogajanje na strežniku in poskušali spletno stran čim bolj optimalno zaščititi pred raznimi

možnimi vdori. Varnost končne rešitve bomo preverjali s samodejnimi varnostnimi orodji,

dostopnimi na svetovnem spletu.

Pisanje diplomskega dela bo temeljilo na znanju, ki smo si ga skozi študijsko obdobje pridobili

na fakulteti, poznavanju sistema WordPress ter lastnem raziskovanju sistemov za

zagotavljanje varnosti. Pri tem bomo uporabili že pripravljene smernice in sam namen

diplomskega dela ni, da bi preverjali ali je seznam ustrezen, popoln in zadosten.

Predpostavljamo pa, da bodo pridobljene informacije zelo koristile tistim, ki se bodo želeli

dodatno poučiti na to temo.

2. WORDPRESS

Sami začetki sistema segajo v leto 2003, v precej bolj okrnjeni obliki kot je današnja, izpod

prstov glavnega razvijalca Matta Mullenwega in le s peščico uporabnikov. WordPress je nastal

v želji po elegantnem, dobro načrtovanem sistemu, ki temelji na PHP programskem jeziku in

MySQL podatkovni bazi in je licenciran pod GPL licenco, kar uporabnikom omogoča svobodno

in prosto uporabo. WordPress je uradni naslednik programa b2/cafelog, ki ga je razvil Michael

Valdrigi. Ime je predlagala razvijalčeva prijateljica Christine Selleck. Od takrat se je ta

brezplačni, dinamični odprtokodni sistem za upravljanje vsebin razvil v najbolj razširjeno

računalniško orodje za ustvarjanje spletišč na svetu, na katerem temelji na milijone spletnih

strani in jih vsakodnevno obišče več deset milijonov ljudi.

3

Slika 2.1: WordPress logotip

Vse kar WordPress predstavlja, od same dokumentacije, do kode sistema je bilo ustvarjeno

za skupnost. Gre za odprtokodni projekt, kar pomeni, da je v ozadju na stotine ljudi po vsem

svetu, ki projekt razvijajo naprej. To tudi pomeni, da je uporaba sistema brezplačna in v

nobenih primerih uporabe ni treba plačevati dodatnih licenc. Sam sistem si lahko prenesemo

na spletni strani wordpress.org. Za namestitev priporočajo Apache ali Nginx spletne strežnike,

saj naj bi ti veljali kot najbolj robustni in preizkušeni pri gostovanju WordPress spletnih rešitev.

V praksi bo pa dovolj vsak strežnik, ki podpira nekatere minimalne zahteve, kot so PHP

programski jezik različice 7 ali novejši, MySql 5.6. ali MariaDB 10.0 podatkovno bazo ter

HTTPS podporo. Platforma je zelo prilagodljiva, saj lahko praktično brez programerskega

predznanja spreminjamo in urejamo teme, razširjamo določene funkcionalnosti z

nameščanjem dodatnih vtičnikov, dodajamo vsebino in si tako kreiramo željene spletne rešitve.

[5]

Na voljo je tudi storitev imenovana WordPress.com, ki omogoča gostovanje in izdelavo

brezplačnih blogov oziroma spletnih strani za registrirane uporabnike in je finančno podprto s

plačljivimi storitvami, nadgradnjami, "VIP" storitvami in oglaševanjem. Spletna stran se je

odprla leta 2005 in je bila prvotno zagnana kot storitev na povabilo. Oktobra 2012, je

WordPress uporabljalo več kot 56 milijonov blogov. To število se je do 2016 zvišalo na 74,6

milijonov, polovica od tega jih gostuje na WordPress.com. V marcu 2016 so našteli več kot

22,5 milijard obiskov na objavah in straneh, istega meseca je na WordPress.com bilo

objavljenih več kot 58,6 milijonov objav in več kot 7,7 milijonov strani. Registracija ni potrebna

pri branju in komentiranju člankov, razen če tako zahteva lastnik. Vse osnovne funkcije in

storitve so za uporabo zastonj. Vendar pa so nekatere storitve vključno s CSS urejevalnikom,

registracijo domene, odstranitev oglasov, nalaganje videov in nadgrajevanja prostora na spletu

plačljive. [14]

Obstajajo tudi različne WordPress skupnosti, ki delujejo po vsem svetu in so tako poleg

ogromnega števila spletnih virov, forumov odlična priložnost za izobraževanja in združevanja

4

uporabnikov. Ena izmed takih je WordCamp, ki organizira različne, povečini brezplačne

dogodke namenjene druženju in izobraževanju. Spored, lokacije in termine je mogoče preveriti

na njihovi spletni strani. Tudi v Sloveniji delujejo skupnosti, ki večkrat organizirajo

izobraževanja za začetnike in naprednejše uporabnike, ter razna predavanja ob čajankah.

2.1. FUNKCIONALNOSTI

WordPress je CMS sistem na katerem temelji 24% celotnega svetovnega spleta in ta številka

se povečuje iz dneva v dan. Vse od preprostih spletnih strani, blogov, spletnih trgovin,

zapletenih portalov, do poslovnih spletnih strani in celo aplikacij je zgrajenih s pomočjo teh

spletnih rešitev. Združuje enostavnost za uporabnike, urednike in prijaznost do razvijalcev, to

omogoča fleksibilnost in hkrati enostavno uporabo ter veliko funkcionalnosti. [5]

- Preprostost za uporabo: Hitro in učinkovito do željenih vsebin v le nekaj korakih.

- Prilagodljivost: Ustvarimo lahko različne vrste spletnih rešitev po svojem okusu.

- Orodja za objavo: Enostavno ustvarjanje in hitra objava željenih vsebin.

- Upravljanje medijskih vsebin: Slika pove več kot tisoč besed, zato je pomembno da

lahko hitro in enostavno nalagamo medijske vsebine.

- Upravljanje uporabnikov: Uporabnikom lahko določimo različne skupine, privilegije

in skrbniške pravice. Od skrbnikov sistema, avtorjev, urednikov, do uporabnikov, ki

lahko stran samo pregledujejo. To omogoča, da imamo različno skupino sodelavcev,

ki tako ali drugače skrbijo za spletno stran.

- Skladnost s standardi: WordPress je popolnoma v skladu s standardi W3C. To

pomeni, da bo vaša spletna stran kompatibilna tudi z naslednjimi generacijami spletnih

brskalnikov.

- Teme: Na voljo je ogromno predlog in tem, ki jih lahko enostavno namestimo in

urejamo.

- Vtičniki: Z njihovo pomočjo lahko enostavno razširimo funkcionalnosti spletnih strani.

Dodamo različne galerije, kontaktne obrazce, forume..

5

- Orodja za upravljanje komentarjev: Skrbi za vse kar potrebujete za učinkovito

vodenje razprav in soustvarjanje vsebin.

- SEO optimizacija za iskalnike: Sistem je optimiziran za iskalnike s pomočjo dodatnih

SEO vtičnikov.

- Upravljanje svojih podatkov: Vaši podatki so dostopni samo vam.

- Večjezičnost: Podpora več kot 70 jezikom. Tudi v slovenščini.

- Skupnost: Kot najbolj priljubljen odprtokodni CMS sistem na svetovnem spletu ima

WordPress veliko in dinamično podporo razvijalcev, ki vsakodnevno objavljajo nove

rešitve in posodobitve.

- Namestitev in nadgradnje: Enostavno in hitro z uporabo FTP klientov. Ali pa

namestitev z enim klikom, kar preko uporabniških nadzornih plošč, ki jih omogočajo

strežniški gostitelji.

- Enostaven uvoz vsebin: Omogoča enostaven uvoz vsebin iz blogger, LiveJournal,

Movable Type, TypePad, Tumblr, in drugih WordPress spletnih strani.

- Analiza obiskanosti: Vodenje statističnih podatkov obiskanosti. [5]

2.2. TEME

Uporabniki WordPress-a lahko namestijo in preklapljajo med različnimi temami (angleško

Themes). Teme omogočajo uporabnikom, da spremenijo videz in funkcionalnost svojim

spletnim stranem. [1] Teme spremenijo sam videz strani in v večini primerov funkcije

WordPress skripte ostanejo nespremenjene. V večini primerih pa zato, ker imajo nekatere bolj

izpopolnjene teme dodane posebne funkcionalnosti, ki še dodatno popestrijo spletno stran.

[16] Vsaka WordPress stran zahteva vsaj eno temo, ki jo lahko oblikujemo s pomočjo

standardov PHP, HMTL in CSS ali pa si jo prilagodimo kar v administrativni nadzorni plošči,

tako da bo skladna s tematiko spletišča in kot taka primerna za obiskovalce. [1] Teme so v

splošnem razdeljene v dve kategoriji, prosto dostopne oz. zastonj teme in plačljive (angleško

premium) teme. Vse prosto dostopne so na voljo na spletni strani WordPress.org, plačljive pa

na spletnih straneh posameznih razvijalcev. V večini primerov je moč plačljive verzije tudi

brezplačno preizkusiti v okrnjeni različici in jih potem dokupiti v polni različici, z vsemi

funkcionalnostmi. Ob zadostnem programerskem predznanju, pa si lahko teme ustvarimo kar

sami. [1]

6

Brezplačne Teme lahko namestimo neposredno preko administrativne nadzorne plošče. Kjer

v meniju izberemo 'Videz' in nato 'Teme'. Za dodajanje nove teme zgoraj izberemo 'Dodaj

novo'. Odpre se seznam vseh brezplačnih tem, ki so dostopne na WordPress.com. Teme lahko

izberemo preko raznih filtrov, ali pa jih poiščemo kar v iskalniku. Ko izberemo ustrezno temo,

lahko s klikom na gumb 'Predogled' preverimo, kako bi naša stran dejansko izgledala z novo

nameščeno temo. Temo namestimo prek gumba 'Namesti' in ko je nameščena, jo moramo

samo še aktivirati s klikom na gumb 'Aktiviraj'

Obstaja še drugi način namestitve in sicer ročna namestitev preko administrativne nadzorne

plošče ali pa s pomočjo FTP odjemalcev. Ti možnosti izberemo kadar želimo namestiti plačljivo

temo, ali pa izbrane teme ni v direktoriju brezplačnih tem. Izbrano temo si prenesemo na

računalnik in se prijavimo v administrativno nadzorno ploščo oz. v strežniško gostovanje preko

FTP odjemalca. V primeru, da želimo temo namestiti preko nadzorne plošče, podobno kot v

prejšnjem primeru namestitve najprej izberemo 'Videz' in nato 'Teme'. V naslednjem koraku

izberemo 'Dodaj novo'. Do tu je postopek enak. Potem pa izberemo 'Naloži temo' in na svojem

računalniku poiščemo direktorij izbrane teme. Sledi samo še, da temo namestimo s klikom na

'Namesti zdaj' in jo aktiviramo. V drugem primeru namestitve preko FTP odjemalcev pa je

najbolj pomembno, da gremo v direktorij wp-content/themes, kjer so nameščene vse teme, ki

jih imamo na naši spletni strani in tam ustvarimo novo mapo z imenom izbrane teme. V to

mapo nato prenesemo vsebino direktorija teme iz računalnika. Tako je namestitev zaključena.

[16]

2.3. VTIČNIKI

Vtičniki ali angleško plugins so deli programske opreme, ki sistemu WordPress omogočajo

hitro in enostavno razširitev funkcionalnosti ter uporabnih dodatkov. Za WordPress obstaja

skoraj 50000 brezplačnih in plačljivih naprednejših vtičnikov. Med najbolj priljubljene vtičnike

sodijo tisti, ki spletno stran nadgradijo s/z:

- Meta oznakami, spletno optimizacijo, zemljevidi spletnega mesta

- Vnosnimi polji, kontaktnimi obrazci

- Blokiranjem nezaželene (ang. spam) vsebine in drugimi varnostnimi ukrepi

- Sinhronizacijo s socialnimi omrežji

- Možnostjo kreiranja poljubnih stolpcev in tabel na podstraneh

7

- Možnostjo pred pomnjenja, kar pohitri našo spletno stran

- Galerijami, forumi, dinamičnimi meniji

- Spletno trgovino [15]

Brezplačne vtičnike lahko enostavno nameščamo in posodabljamo preko administrativne

nadzorne plošče, kjer v zavihku 'Vtičniki' izberemo 'Dodaj'. Prikaže se seznam vseh vtičnikov,

ki so dostopni v podatkovni bazi WordPress.org. Le te lahko razvrščamo po kategorijah, ali pa

jih poiščemo v iskalniku. Če je izbran vtičnik ustrezen izberemo 'Namesti zdaj' in vtičnik se bo

po nekaj sekundah namestil. Po namestitvi se prikaže gumb 'Aktiviraj', kliknemo nanj, da vtičnik

aktiviramo in že ga lahko urejamo in uporabljamo na strani. [15]

Drugi način je namestitev vtičnikov s pomočjo .zip datotek prav tako v administrativni nadzorni

plošči. Ta način bomo največkrat uporabili kadar bomo želeli namestiti naprednejši plačljiv

vtičnik. Postopek je podoben kot v prejšnjem primeru, saj najprej izberemo zavihek 'Vtičniki' in

nato 'Dodaj'. Ko se odpre seznam vtičnikov, zgoraj izberemo 'Naloži vtičnik'. Prikazalo se bo

polje z gumbom 'Izberite datoteko'. Kliknemo nanj in na svojem računalniku izberemo želeno

.zip datoteko. Ostane samo še, da vtičnik namestimo s klikom na gumb 'Namesti zdaj' in ga

isto kot v prejšnjem primeru aktiviramo. Vtičnik bo tako pripravljen za uporabo. [15]

Obstaja še tretji način namestitve vtičnikov in sicer preko nadzorne plošče pri ponudniku

strežniškega gostovanja oz. s pomočjo FTP odjemalcev. V obeh primerih je postopek

podoben, pomembno je samo, da datoteke vtičnika namestimo v pravi direktorij. Po uspešni

prijavi na strežniku poiščemo datoteko 'public_html' in domeno, na kateri se nahaja naša

spletna stran. V primeru, da imamo v paketu gostovanja samo eno domeno, se že nahajamo

v tem direktoriju. Izberemo mapo 'wp_content' in nato še plugins. V tej mapi se nahajajo vsi

vtičniki, ki jih imamo nameščene na naši strani. Nato na našem računalniku poiščemo datoteke

izbranega vtičnika in jih s klikom na gumb 'Prenesi' ali 'naloži' prenesemo na strežnik. [15]

2.4. NASTAVITVE PRI NAMESTITVI SISTEMA

WordPress si lahko na strežnik namestimo preko nadzornih plošč, če jih ponudniki gostovanj

podpirajo ali pa kar preko FTP odjemalcev. Na https://wordpress.org/download/ si pridobimo

namestitveno datoteko in jo razpakiramo, ter preko FTP odjemalca naložimo na strežnik v

mapo 'httpdocs'.

8

Slika 2.2: Sistemske datoteke na strežniku

Pred samo namestitvijo sistema WordPress, si moramo konfigurirati podatkovno bazo. To

storimo tako, da v nadzorni plošči spletnega gostovanja izberemo 'Podatkovne baze' in

ustvarimo novo podatkovno bazo. Novi podatkovni bazi določimo ime in vrsto, v našem primeru

je to MySQL.

Slika 2.3: Ustvarjanje podatkovne baze

9

Podatkovni bazi moramo dodati še uporabnika in geslo. To storimo tako, da izberemo željeno

podatkovno bazo in kliknemo na Dodaj novega uporabnika.

Slika 2.4: Dodajanje novega uporabnika

Podatkovno bazo lahko urejamo in varnostno kopiramo preko orodij za upravljanje s

podatkovno bazo phpMyAdmin.

Slika 2.5: Podatkovna baza v programskem orodju phpMyAdmin

10

Po uspešnem kreiranju podatkovne baze in uporabnika, sledi namestitev sistema WordPress.

To zaženemo tako, da vpišemo URL naslov naše spletne strani. Odpre se začetno

namestitveno okno s kratkim opisom sistema in minimalnimi zahtevami za namestitev. Tu

sistem tudi opozori, da si pred namestitvijo moramo kreirati podatkovno bazo oz. pridobiti

naziv, uporabniško ime in geslo obstoječe podatkovne baze. Ob nadaljevanju se odpre okno

za dodajanje povezave in podrobnosti o podatkovni bazi, kamor vnesemo prej pridobljene

podatke.

Slika 2.6: Dodajanje podatkovne baze v WordPress

Če so podatki vneseni pravilno, sistem obvesti, da je ta del namestitve uspešno opravljen.

Slika 2.7: Zagon namestitve

11

Tako nadaljujemo 5-minutno namestitev sistema WordPress, kjer določimo naslov spletišča

ter skrbniške uporabniške podatke. Spletnim iskalnikom lahko po izbiri tudi preprečimo

indeksiranje našega spletišča.

Slika 2.8: Podatki spletišča

3. POMEMBNOST ZAGOTAVLJANJA VARNOSTI

Živimo v časih, ko večina komunikacije poteka preko svetovnega spleta, ko je internet del

našega vsakdana, ko je meja med realnim in virtualnim svetom iz dneva v dan vse bolj

zabrisana. Svetovna podjetja se predstavljajo na spletu, mnoga omogočajo tudi spletno

nakupovanje. Različna društva splet izkoriščajo za sodelovanje s svojimi člani, kot

posamezniki pa lahko svoje vtise in mnenja hitro predstavimo v svojem spletnem dnevniku, na

forumih ali družbenih omrežjih. Ob vseh teh prednostih svetovnega spleta pa ne smemo

pozabiti tudi na pasti in nevarnosti. [17]

Ne glede na to ali spletno stran vzpostavimo mi ali pa za to poskrbijo zunanji partnerji, smo

sami odgovorni za njegovo delovanje, zato moramo ohraniti nadzor in skrbeti za vzdrževanje.

Izbira ponudnika strežniškega gostovanja mora biti dobro premišljena in na odločitev naj ne

12

vpliva zgolj cena paketa, ampak predvsem storitve, ki jih ponuja, zanesljivost in hitra odzivnost

ponudnika. Pred vzpostavitvijo spletnega mesta moramo dobro razmisliti kaj sploh želimo in si

razdeliti faze postavitve spletnega mesta na tri dele: Načrtovanje, postavitev in vzdrževanje. V

fazi načrtovanja določimo kaj vse bo naša spletna stran zajemala. Ali bo ta zgolj v

predstavitvene namene, ali bo šlo za zapleten portal, spletno trgovino ali celo za poslovno

spletno stran. Od zapletenosti je odvisno kateri sistem izberemo in koliko vzdrževanja bo

zahteval. S postavitvijo spletnega mesta, pri izbranem ponudniku gostovanja smo najeli

poslovne prostore na internetu, za katere moramo skrbeti sami. Način poslovanja, skrb za

varnost in vzdrževanje je naša naloga. Prav slabo ali neobstoječe vzdrževanje je najpogostejši

vzrok za težave na spletnem mestu. Saj če zanj ne skrbimo, je le vprašanje časa kdaj bo prišlo

do kakšnega zapleta. Odpravljanje posledic zlorabe spletnega mesta pa bo terjalo določen čas

in denar. Nedostopnost spletne trgovine ali strani pa povzroči tudi izgubo strank, poslovno

škodo in prav gotovo ne prispeva k naši dobri podobi. Med vzdrževalna dela spada redno

preverjanje delovanja spletnega mesta, redne posodobitve in nadgradnje same platforme,

ažuriranje kontaktnih podatkov za domeno, ter spremljanje novic o novostih platforme. Splet

je dinamično okolje in njegovemu razvoju moramo slediti tudi s svojim spletnim mestom [17]

3.1. ZAKONODAJA

Splet ureja tudi slovenska zakonodaja. Posamezni zakoni in členi so zapisani na

www.cert.si/zakonodaja, zato smo jih kot lastniki spletnih strani dolžni upoštevati. Odgovornost

za vsebine na našem spletnem mestu nosimo mi. Če vdiralec na naše spletno mesto naloži

orodja s katerimi povzroča škodo drugim uporabnikom spleta, smo lahko soodgovorni tudi mi,

če ob tem ustrezno in hitro ne ukrepamo. [17]

Zakon o elektronskem poslovanju na trgu (ZEPT, 11.člen) določa, da ponudnik spletnega

gostovanja ni odgovoren za podatke, ki so naloženi na strežnik, dokler se ne zaveda, da gre

morebiti za protipravno dejavnost. Takoj, ko mu je ta znana pa mora odstraniti ali onemogočiti

dostop do teh podatkov. Ob morebitnih pritožbah glede vsebine, na našem spletnem mestu,

ima ponudnik torej jasno zakonsko dolžnost, da dostop do nje onemogoči. Poleg tega lahko

določi pogoje in dodatna pravila, ki jih moramo upoštevati ob zakupu gostovanja. [17]

Pošiljanje oglasov brez vnaprejšnjega soglasja naslovnika je v nasprotju s slovensko

zakonodajo. Področje nezaželene elektronske pošte (spam) urejajo kar štirje zakoni in izgovor,

da smo elektronske naslove dobili na javno dostopnih spletnih straneh, ni soglasje za spam.

Pomembno je tudi, da upoštevamo pravila glede intelektualne lastnine. Poskrbeti moramo, da

imamo vsa ustrezna dovoljenja za uporabo vsebin na našem spletnem mestu. Tako za vsebino

13

najdeno na spletu nikakor ne pomeni, da jo lahko tudi uporabljamo. Nekatere vsebine se lahko

prosto uporabljajo, spet druge pod določenimi pogoje, sicer pa moramo dobiti dovoljenje od

lastnika pravic. [17]

Spletni piškotki so majhne tekstovne datoteke, ki jih spletni strežnik ob obisku ponudi

brskalniku obiskovalca in se običajno shranijo na njihov računalnik ali mobilno napravo, ob

ponovnem obisku pa se shranjeni podatki iz brskalnika ponovno pošljejo strežniku. Uporabljajo

se za vodenje sej, za razlikovanje med uporabniki, njihovemu sledenju spletišču in za

shranjevanje nastavitev. V skladu z zakonom o elektronskih komunikacijah (ZEKom-1)

moramo uporabnike obvestiti o vrsti piškotkov, ki jih uporabljamo na našem spletnem mestu

ter pridobiti njihovo soglasje za uporabo. Več o spletnih piškotkih je na voljo na spletni strani

https://www.ip-rs.si/fileadmin/user_upload/Pdf/smernice/Smernice_o_uporabi_piskotkov.pdf.

[17]

Slika 3.1: Obvestilo o piškotkih na naši spletni strani urisk.eu

Če na strežniku hranimo ali obdelujemo osebne podatke, moramo v skladu z Zakonom o

varstvu osebnih podatkov zbirke osebnih podatkov prijaviti informacijskemu pooblaščencu. V

primeru, da imamo strežniško gostovanje najeto v tujini, moramo preveriti ali je izvoz osebnih

podatkov v tisto državo sploh dovoljen. Izvoz je dovoljen v članice evropske unije, v ZDA pa le

v podjetja, ki so podpisala ustrezen sporazum. Informacije ali je potrebno s ponudnikom

gostovanja pri tem podpisati pogodbo o obdelavi osebnih podatkov, pa prav tako dobimo pri

informacijskem pooblaščencu. [17]

3.2. MOŽNE ZLORABE

Do vdorov najpogosteje pride v ne vzdrževanem sistemu za upravljanje vsebin ali strežniku,

kjer vdiralec najlažje najde varnostno luknjo. Dostop lahko pridobi tudi s krajo uporabniškega

imena in gesla, ali ugibanjem, če je le to preveč enostavno. Kot posledice vdorov se največkrat

omenja moteno delovanje ali izpad spletnega mesta. Možne ja izguba, sprememba ali kraja

podatkov in posledično ogrožanje obiskovalcev našega spletnega mesta. Pogoste pa so tudi

blokade naše elektronske pošte, ali celo blokada našega spletnega mesta na internetu. [17]

14

Nekaj najpogostejših vrst vdorov:

- RAZOBLIČENJE oz. DEFACEMENT: Je 'grafitiranje' preko katerega želi napadalec

izraziti svoje mnenje, ali pa le pustiti svoj podpis. Podoba spletnega mesta je

spremenjena. [17]

- PHISHING – KRAJA GESEL: Napadalec izkoristi naše spletno mesto za postavitev

lažne kopije. Npr. spletne strani bank in prek strežnika ukrasti gesla, ter nato tudi denar

njenih komitentov. Napadalci uporabljajo phishing tehniko tudi za krajo drugih

podatkov, kot so uporabniški računi, gesla za elektronsko pošto, številke kreditnih kartic

itd. Žrtve napada so po navadi zvabljena na lažne phishing strani preko prirejenega

elektronskega sporočila, v katerih so obveščena da morajo zaradi različnih razlogov

vnesti svoje podatke. Podatki pa gredo k napadalcem. [17]

- NAPAD S ŠKODLJIVO KODO: Naše spletno mesto lahko napadalci izkoristijo tudi za

širjenje zlonamerne kode, virusov, trojanskih konjev in računalniških črvov. Napadalec

na našo spletno stran namesti programsko kodo, ki poskuša izrabiti ranljivosti

obiskovalčevega brskalnika oz. dodatkov brskalnika. V tem primeru smo soudeleženi

pri okužbi računalnikov naših spletnih obiskovalcev. Okužbe lahko imajo za posledice

krajo podatkov z okuženega sistema ali finančno oškodovanje, zato je potrebno

takojšnje ukrepanje, ko ugotovimo, da se naše spletno mesto uporablja za širjenje

škodljive kode. [17]

- ONEMOGOČANJE SPLETNIH MEST: Lahko se zgodi, da pride do porazdeljenega

napada (DDoS), zaradi katerega je naše spletno mesto nedosegljivo. Za napadi lahko

stojijo izsiljevalci iz tujih držav, jezne stranke, bivši zaposleni ali celo konkurenca. V

primeru najave napada, moramo shraniti kopijo komunikacije in podatke o prometu, ki

ga je bil naš strežnik deležen. Lahko se tudi zgodi, da se znajdemo na drugi strani, ko

napadalec vdre v naš strežniški sistem in ga uporablja za napade na druga spletna

mesta. [17]

Ob napadu ali vdoru v naše spletno mesto je pomembno, da o tem obvestimo skrbnika

strežniškega gostovanja in poskrbimo za zavarovanje dokazov o vdoru (predvsem

napadalčevih datotek, sprememb na sistemu in dnevniških datotek). Pri tem je pomembno, da

napadenih datotek ne spreminjamo, da se ohranijo v celoti skupaj z ustreznimi časovnimi

oznakami. O vdoru moramo preko elektronske pošte, na naslov [email protected] obvestiti tudi SI-

CERT, kjer nudijo nadaljnjo pomoč pri preiskovanju vdora, dodatni zaščiti strežnika in spletne

15

strani ter opravijo potrebno komunikacijo s ponudniki interneta, CERT centri v tujini in po

potrebi tudi z organi pregona. [17]

4. ANALIZA VARNOSTNIH REŠITEV WORDPRESS-A

Za varnost pri WordPress-u skrbi ekipa sestavljena iz približno 30 strokovnjakov, ki sodeluje z

raznimi znanimi in zaupanja vrednimi raziskovalci in varnostnimi družbami. Skupaj skrbijo za

reševanje ranljivosti platforme in nove varnostne posodobitve. O vseh odkritih varnostnih

luknjah in pomanjkljivostih, jih lahko obvestimo preko elektronske pošte in tako pripomoremo

k razvoju same platforme. Varnostna ekipa bo pomanjkljivosti v čim krajšem času odpravila in

izdala novo varnostno posodobitev. Ko izidejo nove nadgradnje same platforme, skrbniki

WordPress spletnih straneh dobijo obvestila, da so na voljo nove različice programske opreme.

V primeru ročne nadgradnje, sistem skrbnika preusmeri na zaslon s prikazanimi opisom

sprememb in nadgradenj, ki jih prinaša nova različica. Skrbniki WordPress spletnih strani pa

si lahko nastavimo tudi samodejne nadgradnje sistema v ozadju, v tem primeru pa smo o

namestitvah obveščeni preko elektronske pošte. To možnost samodejnih nadgradenj so pri

WordPressu uvedli z verzijo 3.7. in tako skrbnikom ni potrebno skrbeti za ročno nameščanje,

hkrati pa je vedno nameščena najnovejša stabilna verzija platforme. [18]

OWASP TOP 10 je spletna skupnost namenjena varnosti spletnih aplikacij, ki se osredotoča

na ugotavljanje varnostnih ranljivosti in učinkovito reševanje le teh. Svoje ugotovitve

prikazujejo v seznamu desetih najbolj kritičnih ranljivosti, ki ga sproti spreminjajo in

posodabljajo, glede na statistične podatke zbrane skozi določeno obdobje. [18]

Nabor funkcionalnosti, ki jih uporablja platforma WordPress za krepitev svojega jedra:

- Vrivanje (ang. Injection): Obstaja nabor funkcij in API-jev, ki so na voljo razvijalcem pri

onemogočanju injiciranja nepooblaščene kode. Najbolj učinkovite metode in

dokumentacije uporabe teh programskih vmesnikov za zaščito, ali filtriranje vhodno

izhodnih podatkov so v HTML kodi, URL-jih, HTTP glavah, pri interakciji z podatkovno

bazo in datotečnim sistemom . Skrbniki lahko še dodatno omejijo vrste datotek z

urejanjem raznih filtrov. [18]

- Napaka pri overjanju in upravljanju sej (ang. Broken Authentication and Session

Management): Jedro programske opreme WordPress upravlja uporabniške račune,

16

avtentikacijo in podrobnosti kot so ID uporabnika, uporabniško ime in gesla, kot tudi

piškotke za preverjanje pristnosti, ki se izvajajo na strani strežnika. Gesla so zaščitena

v podatkovni bazi z uporabo že uveljavljenih standardnih tehnik za zaščito. Od verzije

4.0 dalje se obstoječe seje ob odjavi iz sistema uničijo. [18]

- Podtikanje skript (ang. Cross Site Scripting (XSS): Nabor funkcij, ki omogoča, da so

uporabniški podatki na varnem. Prispevki ali posegi v kodo zaupanja vrednih

uporabnikov (skrbniki in uredniki spletnih strani) so nefiltrirani, če tako želimo. Medtem,

ko je vsa vsebina nezaupanja vrednih uporabnikov, kot je na primer zlonamerna koda

z kombinacijo HTML in javascript, privzeto filtrirana z odstranjevanjem nevarnih

subjektov s pomočjo KSES knjižnice in wp_kses funkcije. [18]

- Nezavarovan neposreden dostop do objektov (ang. Insecure Direct Object

Reference): Bogat sistem za nadzor dovoljenj in nadzor dostopa onemogoča

nepooblaščene zahteve spreminjanja vrednosti parametrov in dostop do tujih

podatkov. [18]

- Napačne varnostne nastavitve (ang. Security Misconfiguration): Večina varnostnih

konfiguracij je omejena samo na enega avtoriziranega skrbnika. Privzete nastavitve za

WordPress se kontinuirano preverjajo s strani jedra ekipe, ki prav tako zagotavlja

dokumentacijo in najboljše prakse za konfiguracijo varnosti strežnika. [18]

- Izpostavljenost občutljivih podatkov (ang. Sensitive Data Exposure): Sistem za

upravljanje dovoljenj se uporablja za nadzor dostopa do zasebnih podatkov

registriranih uporabnikov, elektronskih naslovov, itd. Od verzije 3.7. dalje je v platformi

vključen sistem za preverjanje ti. močnih gesel, ki zagotavlja dodatne informacije

uporabnikom, ko si določajo geslo in jim svetuje kako jih izboljšati. WordPress nudi tudi

dodatno konfiguracijo nastavitev za HTTPS protokol. [18]

- Manjkajoč funkcijski nivo za dostopnost (ang. Missing Function Level Access

Control): WordPress preverja ustreznost zahtev za dostop do funkcionalnosti

nepooblaščenih uporabnikov. Dostop ali vizualizacija skrbniških URL-jev, menijev in

strani je tesno povezana s sistemom za preverjanje pristnosti in preprečevanja dostopa

nepooblaščenim uporabnikom. [18]

- Podtikanje zahtevkov (ang. Cross Site Request Forgery): Za zaščito pred morebitnimi

grožnjami CSRF, sistem uporablja kriptografske žetone za preverjanje zahtev, ki bi

17

lahko sprožile nezaželene ukaze. WordPress ponuja API za pridobivanje teh

edinstvenih in začasnih žetonov, ki so omejeni na določenega uporabnika, določen

ukrep, v določenem časovnem obdobju. [18]

- Uporaba komponent z znanimi ranljivostmi (Using Components with Known

Vulnerabilities): Ekipa za preverjanje varnosti pozorno spremlja vključene knjižnice in

razvojna ogrodja, ki so integrirana v osnovne funkcionalnosti sistema. V preteklosti so

večkrat sodelovali z zunanjimi sodelavci, tako so v različici 3.5.2. vključili posodobitev

za podtikanje skript v TinyMCE. Če je potrebno lahko jedro ekipe določi zamenjavo

kritičnih zunanjih komponent, kot je bila knjižnica SWFUpload, ki so jo uradno

nadomestili z Plupload, prav tako z nadgradnjo platforme na različico 3.5.2. [18]

- Nepreverjene preusmeritve in posredovanja (ang. Unvalidated Redirects and

Forwards): Notranji nadzor dostopa in sistem za preverjanje pristnosti ščitita pred

poskusi preusmerjanja uporabnikov na druge neželene povezave in spletne aplikacije.

Ta funkcija je na voljo tudi razvijalcem vtičnikov preko API, wp_safe_redirect(). [18]

- XXE obdelani napadi (ang. XML eXternal Entity): Pri obdelavi XML sistem onemogoča

nalaganje predelanih XML subjektov po meri, zaradi preprečitve napadov s pomočjo

zunanjih subjektov (ang. eXternal Entity) in razširitev (Entity Expansion). Razen jedru

PHP funkcionalnosti sistem ne zagotavlja API za dodatno varno obdelavo XML za

razvijalce vtičnikov. [18]

- SSRF napadi (ang. Server Side Request Forgery): Sistemske HTTP zahteve so

filtrirane, da se prepreči dostop do povratnih zank in privatnih IP naslovov. Poleg

samega filtriranja je dostop dovoljen samo v nekaterih standardnih HTTP portih. [18]

4.1. VARNOST VTIČNIKOV IN TEM

WordPress zahteva omogočeno vsaj eno temo za prikaz in predstavitev vsebine na zaslonu.

Privzeta tema v trenutni različici platforme je 'Twenty Fifteen', ki je bila močno varnostno

pregledana in preizkušena tako s strani ekipe razvijalcev teme, kot tudi s strani jedra razvojne

ekipe sistema. Privzeta tema služi kot izhodišče za razvoj po meri in razvijalci spletnih strani

lahko ustvarjamo popolnoma svoje teme, ali pa obstoječe prilagodimo z vsemi

funkcionalnostmi in varnostnimi rešitvami. Privzeto temo je mogoče popolnoma odstraniti iz

sistema, če jo ne potrebujemo. [18]

18

4.1.1. WORDPRESS.ORG TEME IN VTIČNIKI

Tako kot privzeta tema, je tudi vseh ostalih 2000 tem in več kot 50000 vtičnikov, ki so na voljo

na spletni strani WordPress.org preizkušenih in varnostno pregledanih s strani varnostne ekipe

in ekipe prostovoljcev, preden so na voljo za namestitev in uporabo. Vendar še to ni zagotovilo,

da so brez varnostnih lukenj in ranljivosti. V pomoč razvijalcem so na spletni strani objavljene

tudi smernice in obsežna navodila za izdelavo vtičnikov in tem. Vsak vtičnik in tema imata

možnost sprotnega razvoja in dodelave. Vse naknadne popravke in razvojne funkcije se lahko

z opisom sprememb dodatno naloži v obliki posodobitev in uporabniki so o tem obveščeni

preko administrativne nadzorne plošče. Ko je ranljivost odkrita s strani varnostne ekipe

WordPress, se le ta obrne na razvijalca in skupaj poskrbijo za rešitev problema ter izdajo

varnostne posodobitve. V primeru, da se avtor na opozorila ne odzove oz. gre za hudo

ranljivost, se vtičnik ali tema začasno odstrani iz javnega direktorija, dokler ga varnostna ekipa

ne izpopolni. [18]

4.1.2. SKUPINA ZA PREIZKUS IN PREVERJANJE TEM

Gre za skupino prostovoljcev, vodenih s strani uveljavljenih članov WordPress skupnosti, ki

pregleda in odobri teme, ki so predložene za vključitev v uraden WordPress imenik tem.

Skupina skrbi tudi za smernice pri pregledovanju tem, testiranje podatkov in preverjanje

vtičnikov. Razvijalce angažirajo, da se vključujejo v njihova izobraževanja in jih tako podučijo

najboljših praks glede razvoja samih spletnih rešitev. [18]

4.2. WORDPRESS JEDRO API

WordPress-ov aplikacijski programski vmesnik – API (ang. Application Programming

Interface), je sestavljen iz več posameznih API-jev, ki zajemajo vsak svoj določen nabor

predvidenih funkcionalnosti. Skupaj tvorijo vmesnik, ki omogoča vtičnikom in temam zanesljivo

in varno razširitev jedra funkcionalnosti. [18]

Medtem, ko vsak aplikacijski programski vmesnik v sistemu zagotavlja najboljše prakse in

standardizirane načine za interakcijo in razširitev jedra programske opreme, so naslednji API

najbolj primerni za uveljavljanje in utrjevanje varnosti sistema:

19

- API podatkovne baze (ang. Database API): Ta aplikacijski programski vmesnik je bil

dodan v različici sistema 0.71 in zagotavlja pravilen način za dostop do podatkov,

poimenovanih vrednosti, ki so shranjene v slojih podatkovne baze. [18]

- API datotečnega sistema (ang. Filesystem API): API dodan v različici 2.626 je bil

prvotno ustvarjen za WordPress funkcijo samodejnih posodobitev. Ta aplikacijski

programski vmesnik skrbi za varno pisanje in branje lokalnih datotek, v datotečnem

sistemu na različnih vrstah strežniških gostiteljev. To počne s pomočjo

wp_filesystem_base razreda in raznih podrazredov, ki izvajajo različne načine

povezovanja na lokalni datotečni sistem, odvisno od podpore posameznega gostitelja.

Vsak vtičnik ali tema, ki spreminja lokalne datoteke na strežniku to počne s pomočjo

wp_filesystem razredov. [18]

- HTTP API: Prvič v različici 2.728 in njegova razširitev v različici 2.8 standardizira HTTP

zahteve za WordPress. Obravnava piškotke, GZIP kodiranje in dekodiranje ter razne

druge HTTP protokole. API standardizira zahtevke, testiranje načinov metod pred

pošiljanjem in glede na konfiguracijo strežnika uporablja ustrezen način za pošiljanje

zahtevkov. [18]

- API dovoljenja uporabnikov: je nabor funkcij, ki pomaga preveriti dovoljenja

trenutnega uporabnika in pooblastila za opravljanje nalog in operacij, ki so zahtevana.

Prav tako lahko še dodatno ščiti pred nepooblaščenim dostopom uporabnikov oz. jim

preprečuje izvajanje nalog, ki presegajo njihova dovoljenja. [18]

4.3. PROTOKOL HTTPS

HyperText Transfer Protocol Secure, imenovan tudi HTTP preko TLS oz. SSL, je protokol za

varno komunikacijo preko računalniškega omrežja, ki se uporablja na internetu. HTTPS

sestavljajo protokol HTTP v povezavi s kriptografskim protokolom TLS oz. SSL. Glavne naloge

HTTPS so preverjanje pristnosti spletnih strani ter varovanje zasebnosti in integritete

izmenjanih podatkov. Omogoča dvosmerno šifriranje komunikacij med strežnikom in

odjemalcem, ki ščiti pred prisluškovanjem in nedovoljenim spreminjanjem vsebin sporočil. Kar

v praksi pomeni zagotovilo, da komuniciramo neposredno s strežnikom in da vsebine

komunikacije med uporabnikom in spletno stranjo ni mogoče prebrati ali spreminjati s strani

tretje osebe. [19]

20

V začetkih so ta varnostni protokol uporabljali predvsem za plačilne transakcije preko

svetovnega spleta, elektronsko pošto in občutljive transakcije znotraj informacijskih sistemov

podjetij. V začetkih tega desetletja se je uporaba protokola začela razširjati za zaščito pristnosti

vseh spletnih strani, zaščito uporabniških računov, vodenju zasebnih uporabniških komunikacij

ter za varno in zasebno brskanje po svetovnem spletu. V primerjavi s protokolom HTTP se

HTTPS URL naslovi začnejo s 'https://' in uporabljajo port 443, medtem ko HTTP protokol

uporablja privzeti port 80. HTTP protokol ni šifriran in je občutljiv na prisluškovanja, ki lahko

napadalcem pridobijo dostop do spletnih računov, občutljivih informacij in omogočijo

spreminjanje spletnih strani ter injiciranje zlonamerne kode. HTTPS je zasnovan tako, da je

pred takimi napadi in prisluškovanji varen. [19]

Ob obisku spletne strani je promet izmenjan med strežnikom in brskalnikom poslan kot golo

besedilo. Torej, če zlonamerna tretja oseba prestreže to komunikacijo, lahko prebere in ukrade

zaupne podatke. Kot primer pri prijavi v skrbniško nadzorno ploščo, brez uporabe HTTPS

varnostnega protokola, lahko napadalec enostavno ukrade uporabniško ime in geslo za

prijavo. Enako velja tudi za vse vrste podatkov, poslane na spletno stran, ki se izvaja na HTTP

protokolu, kot so npr. podatki o kreditni kartici itd. Zato mora biti HTTP promet šifriran s SSL,

kadar se občutljive informacije pošiljajo preko svetovnega spleta. [8]

4.3.1. SSL CERTIFIKAT

Za prehod na varni protokol HTTPS si moramo zagotoviti in na spletni strežnik namestiti SSL

digitalno potrdilo. To storimo tako, da pri ustreznem zaupanja vrednem overitelju naročimo

ustrezen certifikat ter ga namestimo na spletni strežnik. Nato v datoteki .httpacces uredimo

preusmeritev iz HTTP na HTTPS. SSL certifikat vključuje informacije o spletni strani, spletni

brskalnik ga pa uporablja za preverjanje:

- ULR naslova spletne strani na kateri se izvaja SSL

- Imena družbe, lastnika spletne strani

- Informacij o izdajatelju potrdila

- Datumov veljavnosti [8]

Komunikacija med uporabnikom in strežnikom deluje tako, da se strežnik predstavi z javnim

ključem. To imenujemo enkripcija z javnim ključem (Public - Key Encryption) in digitalnim

potrdilom. Tako strežnik potrdi svojo identiteto, pri tem pa brskalnik ustvari ključ za enkripcijo

s simetričnim ključem, ga zakodira s strežniškim javnim ključem (public key) in mu ga pošlje.

Ko strežnik sprejme ključ, ga dekodira s privatnim ključem (private key). Od tu naprej poteka

komunikacija preko enkripcije s simetričnim ključem (Symmetric – Key Encryption), ki je

21

bistveno hitrejša za kodiranje in dekodiranje podatkov ter omogoča hitro odkrivanje, če so bili

podatki med prenosom spremenjeni. V primeru, da strežnik zahteva uporabnikovo

predstavitev, se ta podobno kot strežnik predstavi z digitalnim potrdilom. [20]

Kako delujeta SSL potrdilo in protokol HTTPS :

- Ko poskušamo dostopati do spletnih strani, ki se izvajajo na HTTPS protokolu (z

uporabo SSL), brskalnik zahteva od spletnega strežnika, kjer spletna stran gostuje, da

se identificira. [8]

- Spletni strežnik pošlje brskalniku kopijo svojega SSL potrdila. [8]

- Brskalnik preveri zaupnost SSL potrdila. Če je potrdilo zaupno, pošlje sporočilo

spletnemu strežniku, da nadaljuje s šifriranjem. V primeru nezaupnosti potrdilu, opozori

uporabnika, da je nekaj narobe s potrdilom in uporabnik sam izbere, ali bo nadaljeval

z brskanjem, ali ne. [8]

- Ko je potrdilo zaupanja vredno, spletni strežnik pošlje nazaj digitalno podpisano potrdilo

z začetkom SSL šifrirane seje, tako da promet med brskalnikom in spletnim strežnikom

ni mogoče prestreči s strani napadalcev. [8]

4.3.2. DODAJANJE SSL CERTIFIKATA V WORDPRESS

Če imamo spletno stran namenjeno elektronskemu poslovanju, potem moramo obvezno

namestiti SSL certifikat, saj bomo zbirali podatke o plačilih. Prav tako uporaba raznih plačilnih

ponudnikov kot so PayPal itd, zahteva varno povezavo prek SSL. Z namestitvijo SSL certifikata

bomo poleg varne povezave pridobili boljše uvrstitve v iskalnikih Google, večje zaupanje

obiskovalcev spletne strani in povečanje prodaje v primerih spletnih trgovin. [7]

SSL certifikat lahko dodamo kadarkoli in sicer tako, da najprej posodobimo svoj URL naslov

spletnega mesta. To storimo tako, da v skrbniški nadzorni plošči pod 'Nastavitve', izberemo

'Splošne nastavitve' in v polju 'Naslov za WordPress (URL)', ter 'Naslov spletišča (URL)'

spremenimo povezavo. [7]

22

Slika 4.1: Sprememba URL naslova

Naslednji korak, če želimo dodati SSL v svojo obstoječo stran je, da v .htaccess datoteki

dodamo naslednjo kodo, ki bo preusmerila HTTP povezavo na HTTPS.

Slika 4.2: HTTPS preusmerjanje v datoteki .htacces

S pomočjo teh korakov bo naša spletna vsebina delovala na varni povezavi HTTPS. Če želimo

dodati SSL na 'multi-site' skrbniško območje ali prijavno stran, potem moramo nastaviti SSL

še v 'wp-config.php' datoteki. To storimo tako, da v datoteko vstavimo naslednjo nad vrstico

'That’s all, stop editing!' [7]

Slika 4.3: HTTPS na 'Multisite'

Tako zdaj naša spletna stran teče na varni povezavi HTTPS.

Slika 4.4: Urisk.eu z varno HTTPS povezavo

5. SMERNICE ZA ZAGOTAVLJANJE VARNOSTI

23

5.1. METODOLOGIJA DELA

Namen diplomskega dela je poskrbeti za varnost sistema WordPress, na konkretnem primeru,

na naši spletni strani Urisk.eu. To bomo poskušali storiti s posegom v kodo programske

opreme in s pomočjo varnostnih vtičnikov, s katerimi bomo spremljali tudi napredek pri

zagotovitvi varnosti. Naša spletna stran je namenjena predstavitvi vinotoča Urisk, ki se nahaja

v Prekmurju, v Strehovskih goricah. Na podlagi želj naročnika smo za predstavitev vinotoča

uporabili številne vtičnike in gradnike za prikaz ponudbe in aktivnosti, ki se dogajajo v okviru

vinotoča in tamkajšnjega vinogradniškega društva. Pri sami zagotovitvi varnosti bomo iskali

smernice, upoštevali pravila in nasvete, ki so dostopni na svetovnem spletu in poskušali doseči

optimalno zaščito našega spletnega mesta. Pri tem sam namen diplomskega dela ni, da bi

preverjali ali je ta seznam popoln, ustrezen in zadosten.

Ko gre za zagotavljanje varnosti pri WordPress spletnih straneh so varnostni vtičniki eni

najpomembnejših dejavnikov pri tem. Zato je pravilna in dobra izbira le tega zelo pomembna

in ji moramo posvetiti dovolj časa, da se pravilno odločimo. Pri tem moramo upoštevati številne

dejavnike in funkcionalnosti, ki jih za varno delovanje spletne strani potrebujemo ter varnostne

vtičnike pred samo uporabo tudi preizkusiti. Za začetek smo pregledali seznam vtičnikov, ki

so na voljo v spletnem imeniku WordPress.org. Na podlagi mnenj in ocen uporabnikov, števila

prenosov, ažurnosti za posodobitve ter združljivostjo z zadnjimi različicami sistema smo

najprej izbrali pet najpopularnejših vtičnikov, med katerimi smo se pozneje odločili za

najustreznejšega. To smo storili na podlagi preizkusa vseh petih vtičnikov, ob upoštevanju

funkcionalnosti, ki jih ponujajo in ob izpolnjevanju zahtev, ki smo jih pred tem določili. Odločili

smo se za vtičnik 'All In One WP Security & Firewall' ali krajše 'WP Security', ki prihaja izpod

prstov avtorja Tips in Tricks HQ.

Slika 5.1: Vtičnik All in One WP Security & Firewall

24

Gre za enega najpopularnejših WordPress varnostnih vtičnikov z več kot pol milijona aktivnih

uporabnikov. Vtičnik je na voljo v brezplačni različici, ki ponuja številne funkcionalnosti in

smernice za zagotavljanje varnosti. Prijazen uporabniški vmesnik skrbi za enostavno

upravljanje z vtičnikom tudi manj veščim uporabnikom. Vtičnik ščiti naše spletne strani s

preverjanjem ranljivosti, izvajanjem najnovejših tehnologij in varnostnih ukrepov. Ena najbolj

uporabnih funkcij je spremljanje napredka pri zagotavljanju varnosti s pomočjo merilnika

varnosti in grafikonov. Tako lahko z dodajanjem varnostnih ukrepov neprestano spremljamo

in izboljšujemo naše rezultate. Vtičnik s pomočjo varnostnega pregledovalnika, ki hrani

podatke o datotekah opozarja o vsakih spremembah v sistemu in zaznavanju zlonamerne

programske opreme. Vtičnih skrbi za zagotavljanje varnosti uporabniškim računom, za varno

registracijo in varno prijavo, ter pri tem onemogoča dostop do podatkov potencialnim

napadalcem. Le te s pomočjo črnih list blokira in jim onemogoča dostop. Požarni zid preprečuje

zlonamernim skriptam dostop do jedra sistema in do ostalih pomembnih datotek, kot sta npr.

'htaccess' in 'wp-config.php'. Poskrbljeno je tudi za varnost podatkovne baze in preprečevanje

'brute force' napadov. Vtičnik skrbi za preprečevanje SPAM-a, za izdelovanje varnostnih kopij,

za spremljanje prometa na strežniku ter za številne druge varnostne nastavitve in

funkcionalnosti. Vtičnik je preveden v 11 jezikov, avtorji pa vsakodnevno skrbijo za številne

izboljšave in posodobitve. [11]

Namestitev vtičnika sama po sebi še ne zagotavlja varnosti, dokler le tega pravilno ne

nastavimo oz. konfiguriramo. Tako bomo sistem pripravili za namestitev vtičnika in šli skozi

vse varnostne nastavitve, ki jih ponuja. Ker za dobro varnost sistema ne gre računati samo na

varnostni vtičnik bomo določene ukaze in nastavitve dodatno prožili s pomočjo programske

kode preko FTP odjemalcev in cPanel nadzorne plošče. Poleg sistema za spremljanje

varnostnega napredka, ki ga ponuja vtičnik, si bomo za preverjanje ranljivosti spletne strani

pomagali z orodji dostopnimi na svetovnem spletu, ki opozarjajo na šibka gesla, ranljivost

vtičnikov in tem, preverjajo zanesljivost strežnika in ustrezno zaščito pomembnih sistemskih

datotek ter na koncu podajo poročilo o mogočih ranljivostih našega spletnega mesta, ki jih

bomo sproti odpravljali. Tako bomo s pomočjo pridobljenega znanja v času študija, lastnih

izkušenj, nasvetov in vodičev dostopnih na svetovnem spletu, poskušali naše spletno stran

narediti čim bolj varno za obiskovalce in jo ustrezno zaščititi pred potencialnimi napadalci.

25

5.2. STREŽNIŠKO GOSTOVANJE

Izjemno pomembno vlogo pri zagotavljanju varnosti sistema imajo tudi ponudniki gostovanja.

WordPress se lahko namesti na številnih platformah in čeprav jedro programske opreme

omogoča številne funkcionalnosti, ki skrbijo za varno delovanje spletnih aplikacij, je za samo

varnost izrednega pomena konfiguracija operacijskega sistema ter spletnega strežnika, ki gosti

programsko opremo. Ponudniki gostovanja so lahko precej pasivni, saj nekateri le spremljajo

aktivnosti na strežnikih, spet drugi svoje stranke samo obvesčajo o zlorabah, le redki pa ob

tem tudi ukrepajo. Pri izbiri ponudnika gostovanja smo upoštevali naslednje zahteve:

- Brezplačna, strokovna pomoč

- Varni, hitri in zanesljivi strežniki s SSD diski

- Nadzor nad delovanjem strežnikov

- Dnevno izdelovanje varnostnih kopij

- Popolna samostojnost z Nadzorno ploščo

Na podlagi teh kriterijev, zanesljivosti in ažurnosti ekipe smo se odločili, da bomo našo

spletno stran gostovali pri ponudniku domovanje.com, ki vse to in še več ponuja po najbolj

ugodni ceni.

5.2.1. DOMOVANJE AKTIVNA ZAŠČITA

Brezplačna Domovanje aktivna zaščita skrbi za varnost naših spletnih aplikacij tako da:

- Samodejno odpravlja ranljivosti v nekaterih aplikacijah. Za to skrbi sistem Patchman,

ki odkriva in odpravlja znane ranljivosti v CMS sistemih. Sistem Patchman deluje tako,

da vsakodnevno samodejno pregleda nameščene aplikacije na strežniku in v kolikor

za določene aplikacije odkrije znane ranljivosti, naročnika o tem obvesti po elektronski

pošti. Naročnik ima 7 dni časa, da ranljivosti odpravi sam. V primeru, da tega ne stori,

sistem samodejno namesti popravke, ki so na voljo. Po izvedbi posodobitev dobi

naročnik obvestilo o spremembah, ki so bile izvedene. [21]

- Preprečevanje vdorov in napadov. S pomočjo naprednega požarnega zidu, ki omogoča

preprečitev ugibanja gesel. Sistem zna v realnem času ločiti med različnimi oblikami

prometa in nudi zaščito pred veliko oblikami Dos in DDos napadov. Na podlagi novih

26

vzorcev napadov na CMS sisteme, se požarni zid nekajkrat dnevno redno posodablja.

Tako samo na njihovih strežnikih preprečijo tudi do 3 milijone ugibanj gesel mesečno.

[21]

- Opozarjanje naročnikov v primeru najdbe sumljivih datotek. Sistem redno pregleduje

datoteke na strežniku i išče zlonamerno kodo. V primeru najdbe sumljivih datotek, se

naročnika o tem obvesti s posebnim poročilom, ki vsebuje seznam potencialno

nevarnih datotek. [21]

- Opozarjanje naročnikov v primeru sumljivih aktivnosti. V primeru odkritja sumljivih

aktivnosti sistem poskuša preprečiti nadaljnje zlorabe in škodo, ki bi jo lahko napadalec

povzročil. Nadzorni sistem onemogoči dostop do spletne strani in poštnega predala,

hkrati pa naročniku pošlje obvestilo s smernicami, kako težave odpraviti. [21]

5.2.2. NADZOR NAD DELOVANJEM STREŽNIKOV

Tako imenovani nadzor nad delovanjem strežnikov oz. monitoring poteka vse dni v letu in

vključuje naslednje storitve:

- Obveščanje dežurnega tehnika. V primeru težav na strežniku nadzorni sistem prikaže

zapis o napakah in jih v določenih primerih poskuša sam odpraviti. Če mu le teh ne

uspe odpraviti, obvesti o tem dežurnega tehnika preko e-sporočila. V primeru, da tehnik

v roku petih minut ne začne s preverjanjem in odpravljanjem težav, ga sistem obvesti

še preko SMS sporočila. [22]

- Zaradi infrastrukture omrežja se Monitoring izvaja na več lokacijah. Dodatno se

preverja tudi mrežno opremo, kjer se povezljivost preverja izven lokalnega omrežja. Na

mrežni opremi se preverja predvsem pot prometa, stopnjo rasti prometa, spremembe

mrežnih priključkov, CPU obremenitve in temperature naprav. [22]

- Preverjanje delovanja strojne opreme. Tu spremljajo predvsem zasedenost prostora,

obremenitve in temperature strežnikov, napetost na napajalnikih, pomanjkanje

spomina, delovanje hlajenja ter število procesov, ki se izvajajo. [22]

- Posebna pozornost je namenjena strežnikom deljenega gostovanja in vzdrževanim

VPS-om. Pri teh strežnikih se spremljajo predvsem poskusi vdorov, odzivnost

27

strežnikov, odzivnost strežnikov podatkovnih baz, delovanje PHP-ja, obremenjenosti,

število sporočil v čakalni vrsti, spremembe nastavitvenih datotek. Ob večjih odstopanjih

sistem obvesti dežurnega tehnika. [22]

5.2.3. PODATKOVNI CENTER

Strežniki ponudnika Domovanje.com se nahajajo v verjetno najboljšem podatkovnem centru v

Sloveniji, v prostorih Telekoma Slovenije. Prostor nudi najvišjo stopnjo varnosti in zanesljivosti

delovanja opreme s pomočjo protipožarne in protipotresne zaščite, neprekinjenim varovanjem

objekta, s stalnim električnim napajanjem in klimatiziranimi prostori. Dodatno je vzpostavljena

tudi sekundarna lokacija strežnikov, s sekundarnimi DNS, varnostnimi kopijami podatkov in

monitoringom. Povezava z internetom poteka preko TIER 1 ponudnikov z več 10G povezav

do treh glavnih vozlišč Frankfurt, Budimpešta, Sofija. Povezani so tudi na peerig vozlišča in

sicer v Frakfurtu, Sofii in v Sloveniji. [23]

5.3. IZBIRA UPORABNIŠKEGA IMENA IN MOČNEGA GESLA

S pomočjo uporabniškega imena in gesla, se kot skrbniki prijavimo v nadzorno ploščo sistema

WordPress in dostopamo do celotne vsebine, ki jo imamo na naši spletni strani. Zato je zelo

pomembno, da si ustvarimo unikatno uporabniško ime in močno geslo, ter se tako zaščitimo

pred napadalci, ki bi poskušali uganiti naše prijavne podatke. [4]

Uporabniško ime naj ne bo nastavljeno na 'admin' ali 'administrator', ker se napadalci tega

dobro zavedajo in prav na ta način poskušajo najpogosteje vdreti v sistem. Uporabniško ime

določimo med samo namestitvijo sistema WordPress, v primeru, da ga že imamo določenega

in ga želimo spremeniti, lahko to storimo v skrbniški nadzorni plošči. To storimo tako, da v

glavnem meniju izberemo zavihek 'Uporabniki' in dodamo novega uporabnika, ki mu določimo

vlogo skrbnika, prejšnje uporabniško ime pa preprosto izbrišemo. [4]

Izbrati moramo močno geslo, ki naj vsebuje male in velike črke, številke ter posebne znake.

Priporočljivo je, da gesla vsebujejo vsaj 10 znakov, saj jih je tako težje razbiti. Za gesla nikoli

ne smemo uporabljati rojstnih datumov, svojih ali imen najdražjih. Tudi kombinacije zaporedij

številk niso ustrezne. Velja pravilo, čim bolj nesmiselna so gesla, tem težje jih je ugotoviti in

bolj varna so. [26]

28

Tabela 5.1: Čas potreben za razvozlanje 6-9 mestnih gesel

Dolžina gesla Male črke + Velike črke + Posebni znaki

6 znakov 10 minut 10 ur 18 dni

7 znakov 4 ure 23 dni 4 leta

8 znakov 4 dni 3 leta 463 let

9 znakov 4 mesece 178 let 44530 let

[26]

Pri izbiri gesel si lahko pomagamo z raznimi generatorji močnih gesel, dostopnimi na spletu,

ki kreirajo zapletena gesla. Sistem WordPress od različice 4.3. naprej že privzeto vsebuje

generator varnih gesel, tako da si lahko to kadarkoli zamenjamo v skrbniški nadzorni plošči.

Slika 5.1: Generator varnih gesel

5.4. PRIKRIVANJE SKRBNIŠKE PRIJAVNE STRANI

Čeprav varnost, ki se osredotoča na prikrivanje ni popolna, je še vedno pomemben del splošne

strategije. Konec koncev skrivanje določenih elementov naše spletne strani napadalcem ne

bo preprečilo dostop do njih, vendar jim bo pa otežilo dostop do njih.

Premeščanje ali preimenovanje skrbniške prijavne strani je hiter in enostaven način kako

napadalcem otežimo delo. 'Brute force' napadi so običajno samodejni napadi na skrbniške

prijavne strani, ki imajo privzete url naslove za prijavo kot so www.urisk.eu/wp-admin ali

www.urisk.eu/wp-login.php, zato le te spremenimo in napadalcem preprečimo enostaven

dostop do prijavnih strani. Na voljo je veliko številko vtičnikov s pomočjo katerih lahko

spreminjamo url prijavne strani, eden izmed takih je Lockdown WP Admin, mi bomo to storili s

pomočjo našega vtičnika WP Security.

29

Slika 5.2: Sprememba URL naslova za dostop do skrbniške prijavne strani

Poleg tega vtičnik preprečujejo nepooblaščene dostope, saj napadalcem, ki želijo neposredno

dostopati do skrbniške prijavne strani, ko skrbnik ni prijavljen skrivajo le to in jih preusmerijo

na drugo stran.

Na prijavni strani dodamo še varnostni preizkus Captcha, ki ugotavlja ali je določen uporabnik

človek ali program.

Slika 5.3: Omogočanje varnostnega preizkusa

Slika 5.4: Varnostni preizkus pri prijavi

V privzetih nastavitvah sistema je napadalcem dokaj enostavno ugotoviti uporabniško ime

avtorja prispevkov na strani, in ker je ta uporabnik pogosto tudi skrbnik sistema dobijo

napadalci informacije tudi o tem. To ni dobro, saj z vsakršnimi informacijami napadalcem

30

tvegamo ogroženost naše spletne strani. Zato je pomembno, da zakrijemo uporabniška imena

avtorjev prispevkov in vse kar moramo storiti je to, da dodamo nekaj kode v functions.php

datoteko:

Slika 5.5: Zakrivanje uporabniškega imena avtorja s preusmeritvijo na domačo stran

Ko vstavimo kodo ta deluje tako, da napadalcu ob poizvedovanju podatkov o avtorju z ukazom

'?author=1' poleg glavnega URL naslova, ne bo predstavilo avtorjevih podatkov, ampak ga bo

preusmerilo nazaj na domačo stran. [3]

5.5. OMEJITEV ŠTEVILA NAPAČNIH PRIJAV

Napadalci se pogosto poskušajo prijaviti s ponavljanjem poskusov prijave, dokler ne uganejo

uporabniškega imena in gesla. Glede na to, da bi lahko prišlo sočasno do velikega števila

ponavljanj s strani zlonamernih robotov in s tem do obremenitve strežnika, je omejitev števila

napačnih prijav v kombinaciji z močnim geslom, spremljanjem in blokiranjem IP naslovov, ki

so vključeni v ponavljajoče se napačne prijave v kratkem času, zelo učinkovit način zaustavitve

tovrstnih napadov. [9]

Ko vključimo to funkcijo ji določimo zgornjo mejo števila napačnih prijav v določenem času,

preden bo IP naslov blokiran in koliko časa bo ponovna prijava nedostopna. Uporabnike o tem

obvestimo s pomočjo generiranega sporočila, ali pa jim opcijsko omogočimo zahtevo za

sprostitev blokiranih IP-jev. Vtičnik omogoča takojšnjo blokiranje poskusov prijav uporabniškim

imenom, ki niso v našem sistemu. Lahko pa na seznam dodamo uporabniška imena, ki ne

bodo blokirana, kljub napačni prijavi. Sistem o vseh večkratnih poskusih napačnih prijav in

blokiranju IP-jev obvešča preko elektronske pošte.

31

Slika 5.6: Omejitev števila napačnih prijav

Vtičnik prav tako spremlja seznam aktivnosti uporabnikov v določenem času, trajanje njihovih

sej, čas odjave in njihove IP naslove. Beleži tudi podatke o poskusih napačnih prijav, blokirane

uporabnike ter omogoča določitev časovnega obdobja trajanje sej po katerem se bo uporabnik

moral ponovno prijaviti.

Slika 5.7: Seznam trajanja aktivnosti prijavljenih uporabnikov

32

5.6. DOLOČANJE PRAVIC DATOTEKAM NA STREŽNIKU

Privzete nastavitve dovoljenj WordPress datotek in map urejajo dostopnost do branja in

pisanja. Pri sami namestitvi so le ta dovoljenja razumno in varno določena. Vendar včasih

uporabniki in nekateri vtičniki spremenijo različne nastavitve privilegijev za nekatera jedra map

in datotek. Tako je lahko zaradi napačnih vrednosti dovoljenj naša spletna stran na koncu manj

varna. Vtičnik WP Security omogoča pregled nastavitev pomembnih datotek ali map in na

negotove vrednosti opozori ter priporoči optimalne vrednosti.

Slika 5.8: Podatki o pravicah datotek

Obstaja več načinov, kako spremeniti pravice datotekam, obstajajo tudi številne različice, ki

vključujejo spremembe dovoljenj, da bi bile le te bolj restriktivne. Pravice datotekam lahko

spremenimo prek FTP odjemalcev, tako da gremo do določenih datotek ali map, na katere

sistem opozori in jih izberemo z desnim klikom. V stolpčnem meniju damo 'Določi dovoljenja'

ter jih spremenimo na željeno vrednost.

Slika 5.9: Določanje pravic datotekam s pomočjo FTP odjemalca

33

Dovoljenja lahko določimo tudi preko ukazne vrstice s pomočjo ukazov:

- Za direktorije: find /path/to/your/wordpress/install/ -type d -exec chmod 755 {} \;

- Za datoteke: find /path/to/your/wordpress/install/ -type f -exec chmod 644 {} \;

Po izvedenih spremembah s pomočjo vtičnika preverimo spremembe, če sistem ne opozori

na nobeno nepravilnost, so nastavitve pravilno nastavljene. [2]

Slika 5.10: Pravilno urejene pravice datotek

5.7. DATOTEKA HTACCESS

Pri zagotavljanju varnosti WordPress spletnim stranem ne moremo mimo datoteke 'Hypertext

access' ali krajše htaccess. To je konfiguracijska datoteka, ki strežniku pove kako obdelovati

določene stvari na naši spletni strani. Uporablja se za avtorizacijo, nadzor predpomnilnika,

varnostne nastavitve, optimizacijo spletne strani in najpogosteje za preoblikovanje URL-jev, ki

so tako enostavnejši in bolj berljivi za uporabnika in iskalnike. To datoteko po navadi najdemo

v korenskem imeniku naše spletne strani, vendar je FTP odjemalci včasih ne prikažejo zaradi

skrivanja le te, tako da je potrebno najprej označiti možnost 'prikaži skrite datoteke', da jo lahko

najdemo. Spreminjanje datoteke .htaccess lahko ogrozi delovanje naše spletne strani, zato je

potrebno pred vsakim posegom v kodo narediti varnostno kopijo le te, da jo kasneje v primeru

izpada obnovimo. Morda pa ob sami namestitvi sistema na strežniku ni .htaccess datoteke,

tako da jo je pred samim urejanjem potrebno ustvariti s pomočjo urejevalnikov besedil ali pa

34

neposredno v cPanel ustvarimo novo datoteko in jo poimenujemo .htaccess, v katero prilepimo

sledečo kodo, ki je privzeta za WordPress od 4.2. različice dalje:

Slika 5.11: Datoteka .htaccess

Ne glede na izbran način dela, je pomembno, da spletno stran po spremembah osvežujemo

in tako preverjamo ali spremembe povzročajo izpade. V teh primerih datoteko obnovimo s

prejšnjo delujočo verzijo. Pomembno pa je, da ne spreminjamo ničesar med vrsticami # BEGIN

WordPress in # END Wordpress. [3]

V primeru, da imamo statični IP zaklenemo dostop do skrbniške nadzorne plošče samo na naš

IP, tako da vstavimo sledečo kodo, datoteko pa prilepimo v direktorij 'wp-admin':

Slika 5.12: Spreminjanje dostopa do skrbniške nadzorne plošče

Zdaj do skrbniške nadzorne plošče dostopamo samo iz enega IP naslova. IP naslove lahko

omejimo tudi samo na tiste, ki prihajajo iz Slovenije, ali pa dodamo več IP naslovov s katerih

želimo dostopati. Pomembno je, da onemogočimo dostop tudi datoteki 'wp-config.php', kjer je

centralno vozlišče za našo spletno stran in vsebuje pomembne podatke ter številne druge

podrobnosti glede varnosti. Skrijemo jo tako, da dodamo ta del kode v datoteko:

Slika 5.13: Onemogočanje dostopa do datoteke 'wp-config.php'

35

Dostop do 'wp-login.php' si zagotovimo podobno kot dostop do skrbniške nadzorne plošče s

sledečo kodo:

Slika 5.14: Dostop do datoteke 'wp-login.php' z našega IP naslova

Onemogočiti moramo tudi listanje direktorijev, kar napadalcem omogoča enostaven pregled

strani in iskanje šibkih točk za napad. To storimo z enostavnim trikom, tako da direktorije

naredimo ne berljive. Vstavimo kodo:

Options ALL –Indexes

S pomočjo .htaccess datoteke, ki jo prilepimo v direktorij /wp-content/uploads in /wp-includes/,

preprečujemo tudi eksekucijo PHP datotek, preko katerih se zgodi dosti napadov, ko jih

napadalci shranijo na strežniku za kasnejše dostope. [3]

Slika 5.15: Preprečevanje eksekucij PHP datotek

Zaradi pomembnosti .htaccess datoteke, je še bolj pomembno, da jo ustrezno zaščitimo pred

napadalci. To storimo tako, da prilepimo naslednjo kodo:

Slika 5.16: Zaščita .htaccess datoteke

[3]

36

5.8. ZAKRIVANJE DELOVNE RAZLIČICE SISTEMA

WordPress nadzorna plošča privzeto uporabnikom omogoča urejanje PHP datotek, kot so

datoteke vtičnikov in tem. To je pogosto prvo orodje, ki ga napadalci uporabijo, saj omogoča

izvajanje zlonamerne kode. WP Security preprečuje urejanje datotek preko nadzorne plošče,

zato je zelo pomembno, da to funkcijo omogočimo.

WordPress privzeto pušča sledi na spletnih straneh zaradi sledenja. Vendar to v nekaterih

primerih ni najboljša rešitev, predvsem kadar nimamo posodobljene delovne različice sistema.

Zato je zelo pomembno, da se prepreči dostop do datotek, kot so readme.html, license.txt in

wp-config-sample.php. Te datoteke vsebujejo namreč nekaj ključnih informacij, kot je npr.

trenutna različica nameščenega sistema, ki bi še kako zanimala potencialne napadalce.

Obstaja veliko načinov kako to storimo in najlažji je prav gotovo preko našega vtičnika WP

Security, kjer v razdelku Filesystem Security / Wp File Access preprečimo dostop do teh

datotek.

Slika 5.11: Zakrivanje delovne različice sistema

Lahko pa zakrivanje delovne različice določimo ročno v datoteki functions.php, kjer dodamo

naslednji izsek kode:

remove_action('wp_head', 'wp_generator'); [24]

Ta rešitev deluje in odstrani podatke iz glave naše spletne strani. Vendar pa to ni popolna

rešitev, saj so informacije o različici vključene tudi v RSS, tako da moramo dodati še:

function my_remove_version_info() { return ''; }

add_filter('the_generator', 'my_remove_version_info');

37

Tako bomo uspešno odstranili informacije o delovni različici iz vseh različnih področij na naši

strani. Vseeno je pa najbolj priporočeno redno posodabljanje, saj je to edina garancija, da bo

naša stran ostala najbolje zaščitena. [24]

5.9. PREDPONE WORDPRESS TABEL

Podatkovne baze so kot možgani za celotne spletne strani, saj se vsi podatki shranijo v njih in

zaradi tega so tudi zelo priljubljena tarča pri napadalcih. Pošiljatelji nezaželene elektronske

pošte in hekerji samodejno prilagajo zlonamerno kodo v obliki SQL injekcij. Veliko uporabnikov

sistema pri namestitvi pozablja spremeniti predpono baze podatkov, kar napadalcem omogoča

lažje načrtovanje napadov z usmerjanjem na privzeto predpono 'wp_'. Najboljši način za

zaščito podatkovne baze je torej sprememba predpone. Pred samimi spremembami si

moramo narediti varnostno kopijo podatkovne baze, saj v primeru, če bi šlo kaj narobe ne

ostanemo brez baze podatkov. Ko uspešno naredimo varnostno kopijo, gremo v nastavitvah

vtičnika WP Security pod Database Security in tam spremenimo predpone. Sistem izpiše

trenutno ime predpon, lahko določi novo naključno 6 mestno predpono, ali pa si le to določimo

sami.

Slika 5.17: Spreminjanje predpon tabel podatkovni bazi

Lahko pa to storimo ročno in sicer tako, da v datoteki wp-config.php spremenimo predpono iz

wp_ v nekaj drugega, npr. test_: [25]

38

$table_prefix = 'wp_test_'

Za dokončanje sprememb potrebujemo dostop do urejanja podatkovne baze. Če uporabljamo

cPanel gostovanje je to phpMyAdmin. Sistem uporablja 11 privzetih tabel, ki jih preimenujemo

s sledečimi SQL ukazi:

RENAME table `wp_commentmeta` TO `wp_test_commentmeta`; RENAME table `wp_comments` TO `wp_test _comments`; RENAME table `wp_links` TO `wp_test _links`; RENAME table `wp_options` TO `wp_test _options`; RENAME table `wp_postmeta` TO `wp_test_postmeta`; RENAME table `wp_posts` TO `wp_test_posts`; RENAME table `wp_terms` TO `wp_test_terms`; RENAME table `wp_termmeta` TO `wp_test_termmeta`; RENAME table `wp_term_relationships` TO `wp_test_term_relationships`; RENAME table `wp_term_taxonomy` TO `wp_test_term_taxonomy`; RENAME table `wp_usermeta` TO `wp_test_usermeta`; RENAME table `wp_users` TO `wp_test_users`; [25] V primeru, da imamo še kakšne dodatne tabele, preimenujemo tudi njih. Poiskati moramo še

'option_name' polja, ki uporabljajo staro 'wp_' predpono in jo zamenjati z 'wp_test_'. Pri iskanju

si pomagamo s sledečim ukazom:

SELECT * FROM `wp_test_options` WHERE `option_name` LIKE '%wp_%'

Ko to uredimo, ostanejo še stare predpone 'UserMeta' tabel, ki jih podobno kot prej poiščemo

s pomočjo spodnjega ukaza in jih zamenjamo z novo predpono. [25]

SELECT * FROM `wp_test_usermeta` WHERE `meta_key` LIKE '%wp_%'

S pomočjo tega postopka spremenimo predpone tabel in spletno stran lahko preizkusimo. [25]

5.10. SPREMLJANJE SPREMEMB DATOTEK NA STREŽNIKU

Če je možnost napadalci vstavijo škodljivo kodo ali datoteko v naš sistem, ki jo nato uporabljajo

za izvajanje zlonamernih dejanj na naši stani. Zato je pomembno biti obveščen o kakršnih koli

spremembah na našem strežniku, da bi hitro in učinkovito preprečili nastalo škodo. Na splošno

39

sam sistem in vtičniki zelo redko spreminjajo datoteke kot so .php ali .js in ko se to zgodi je

pomembno, da smo seznanjeni o spremembah, katere datoteke so bile poškodovane. Funkcija

'File Change Detection Feature' obvešča o teh spremembah, na našem strežniku, vključno z

dodatkom za brisanje teh datotek. Funkcija omogoča tudi samodejni ali ročni pregled strežnika

in izključitev pogosto se spreminjajočih določenih datotek ali map iz pregleda, katerim je to del

normalnega delovanja (npr. log datoteke in pred pomnjene datoteke vtičnikov).

Slika 5.13: Omogočanje spremljanja sprememb datotek na strežniku

5.11. 'MALWARE' PREGLEDOVANJE

Beseda Malware predstavlja zlonamerno programsko opremo. To so lahko trojanski konji,

oglaševalci, črvi, vohunski programi in katera koli druga nezaželena koda, ki jo napadalec želi

injicirati v našo spletno stran. Pogosto, ko je zlonamerna programska koda vstavljena v spletno

stran sploh ne opazimo nobenih vizualnih sprememb, lahko pa ima velik vpliv na uvrstitve v

spletnih iskalnikih. To pa zato, ker imajo roboti in pajki iskalnikov, kot je Google sposobnost za

odkrivanje škodljive programske opreme, ko se indeksirajo na spletni strani in stran dajo na

črno listo, kar posledično vpliva na uvrstitve v iskalniku.

Zaradi nenehnih sprememb in kompleksne narave zlonamerne programske opreme je

pregledovanje najbolje izvajati izven lastnega strežnika. To zunanje pregledovanje izvajajo pri

WP Security, če se nanj naročimo. O vseh nevarnostih opozarjajo preko elektronske pošte ter

nudijo nasvete za odpravljanje le teh.

40

5.12. NASTAVITEV POŽARNEGA ZIDU

Funkcionalnosti za zaščito spletne strani požarni zid doseže z vstavitvijo posebne kode v

.htaccess datoteko. To nima nobenega vpliva na splošno funkcionalnost spletne strani, vendar

je priporočljivo prej narediti varnostno kopijo datoteke.

Z vključitvijo 'Basic Firewall settings' oz. tako imenovane osnovne zaščite, zaščitimo

nepooblaščen dostop do .htaccess datoteke, onemogočimo podpis strežnika, določimo

zgornjo mejo pri nalaganju datotek na 10MB, zaščitimo dostop do wp-config.php. Priporočljivo

je vključiti še dodatno požarno zaščito 'Additional Firewall rules', po potrebi pa v 'Custom rules'

tudi sami dodajamo pravila in direktive, vendar samo v primeru, da vemo kaj delamo.

Slika 5.18: Omogočanje osnovne zaščite požarnega zidu

5.12.1. XMLRPC & PINGBACK RANLJIVOSTI ZAŠČITE

Ta nastavitev onemogoči dostop do xmlrpc.php datoteke, ki je odgovorna za funkcionalnosti

XML-RPC v WordPress-u. Napadalci ranljivosti teh datotek izkoriščajo za DoS napade,

pregledovanje portov v notranjih omrežjih, da bi dobili informacije o gostitelju in za vdiranje v

usmerjevalnike. Poleg varnostne koristi ta funkcija zmanjšuje obremenitve na strežniku, še

posebej tam kjer je veliko nezaželenega prometa. Blokiramo tudi zunanji dostop do debug.log

datoteke, do katere pa lahko dostopamo prek FTP odjemalcev.

Slika 5.19: Vklop XMLRPC in Pingback zaščite

41

5.12.2. 6G ČRNI SEZNAM IN NASTAVITVE

Funkcija omogoča, da aktiviramo pravila 6G zaščite požarnega zidu, ki jih oblikujejo pri

Perishable Press. To je preprost in prilagodljiv črni seznam, ki pomaga zmanjšati število zahtev

zlonamernih URL-jev, ki prizadenejo spletne strani in blokira prepovedane znake, ki se

običajno izkoriščajo pri napadih.

Slika 5.20: Aktiviranje 5G in 6G pravil

5.12.3. BLOKIRANJE LAŽNIH ROBOTKOV

Robotki so del programske opreme, ki teče na internetu in opravlja samodejne naloge, kot je

indeksiranje spletnih strani itd. Vendar vsi robotki niso dobri, saj jih je veliko lažnih, ki

oponašajo legitimne, kot so Google robotki, v resnici pa nimajo nobenih opravkov z njimi.

Funkcija lastnikom omogoča, da imajo večji nadzor nad tem, kateri robotki dostopajo do

njihovih spletnih strani.

Slika 5.21: Blokiranje lažnih robotkov

5.12.4. PREPREČEVANJE 'HOTLINK'

Hotlink povezava je, ko nekdo prikaže vsebino, ki se nahaja na našem strežniku, na svoji

spletni strani. Glede na to, da je vsebina prikazana na strani druge osebe, lahko to povzroči

uhajanje pasovne širine in virov na našem strežniku. Funkcija 'Prevent Hotlinks' preprečuje

neposreden 'hotlinking' iz naše spletne strani s pomočjo nekaterih direktiv v .htaccess datoteki.

42

Slika 5.22: Preprečevanje 'hotlink'

5.12.5. ZAZNAVANJE NAPAKE 404

Napaka 404 ali 'strani ni bilo mogoče' se pojavi, ko nekdo poskuša dostopati do neobstoječe

strani na spletni strani. V večini primerov je to zaradi napačno vnesenega URL naslova, ali

uporabe stare povezave, ki več ne obstaja. Dogaja se pa, da pride do teh ponavljajočih se

napak zelo pogosto iz istega IP naslova, kadar napadalci poskušajo odkriti in dostopati do

določenih strani iz zloveščih razlogov. Ta funkcija omogoča spremljanje vseh '404' dogodkov,

ki se zgodijo na spletni strani, poleg tega pa daje možnost blokiranja IP naslovov potencialnih

napadalcev.

Slika 5.23: Zaznavanje napake 404

5.12.6. PREPREČITEV SPAM KOMENTARJEV

Funkcija omogoča samodejno in trajno blokiranje IP naslovov, ki so presegle določeno število

komentarjev, ki so označeni kot SPAM. Komentarje se običajno kot SPAM določa z Akismet

vtičnikom ali pa so ročno določeni s strani skrbnika sistema. Sistem prikazuje seznam IP

naslovov uporabnikov ali robotov, ki so pustili SPAM komentarje, katere blokiramo tako, da jih

dodamo na črno listo. Velik del komentarjev v blogih je posledica samodejnih mehanizmov in

ne nujno ljudi, zato lahko število SPAM komentarjev občutno zmanjšamo s pomočjo Captcha

polja, ki pred oddajo komentarja preveri identiteto avtorja.

43

Slika 5.24: Preprečevanje SPAM komentarjev

5.13. UPORABA ORIGINALNIH VTIČNIKOV IN TEM

Iz varnostnih razlogov je pomembno, da uporabljamo samo preizkušene originalne vtičnike in

teme od uradnih ponudnikov. Čeprav lahko nekaj, za kar je avtor zahteval plačilo, dobimo

popolnoma zastonj, je to slaba ideja, ker po navadi ti plačljivi vtičniki in teme, ki si jih zastonj

prenašamo iz nezakonitih spletnih strani vsebujejo zlonamerno kodo. In ne samo, da je to

ustavno nezakonito, napadalce lahko z vstavljeno kodo neposredno pripeljemo v ozadje naše

spletne strani in si povzročimo številne preglavice ali izpad spletne strani, samo za to, da smo

prihranili nekaj denarja. [3] Uporaba originalnih vtičnikov sicer sama po sebi ne garantira, da

je naša stran varna, je pa odziv, če se ugotovi morebitne varnostne luknje vsekakor hitrejši,

saj bodo razvijalci hitro odreagirali in poskušali zadevo odpraviti. Pred prenosom vtičnika ali

teme je pomembno preveriti splošno oceno zadovoljstva ostalih uporabnikov, število prenosov,

zgodovino izdelkov avtorja, posodobitve in združljivost z najnovejšo različico sistema, saj le

tako lahko naredimo najboljšo izbiro. [6]

5.14. POMEMBNOST POSODOBITEV

O pomembnosti posodobitev je v diplomski nalogi že veliko napisanega. Vedno, ko izide nova

različica programske opreme je potrebno sistem, vtičnike ali temo takoj posodobiti, saj bomo

le tako zagotovili optimalno delovanje in odpravili varnostne ranljivosti. Če uporabljamo

starejšo različico programske opreme, so vse varnostne pomanjkljivosti v različici, ki jo

uporabljamo znane javnosti. Te informacije imajo tudi potencialni napadalci in jih lahko

uporabijo za napad na našo spletno stran. Tudi same posodobitve naše spletne strani morda

ne bodo dovolj, če tega ne bomo izvajali redno. Zato je v teh primerih za tiste, ki temu ne

44

posvečajo dovolj časa in želijo stran upravljati po liniji najmanjšega odpora, vendar želijo imeti

varno spletno mesto, najboljša izbira - samodejno izvajanje posodobitev. WordPress od

različice 3.7. dalje opravlja manjše posodobitve samodejno, vendar je tiste večje vseeno

potrebno prej odobriti. Z vstavljanjem nekaj kode v wp-config.php datoteko, pa lahko tudi te

večje posodobitve sistem namesti samodejno, brez potrebe po naši odobritvi. [3]

Omogočanje vseh samodejnih posodobitev sistema:

define( 'WP_AUTO_UPDATE_CORE', true );

Pri tem velja opozorilo, da bi samodejne posodobitve lahko povzročile nevšečnosti ali celo

izpad naše spletne strani, še posebej, če uporabljamo vtičnike ali teme, ki niso združljive z

najnovejšo različico sistema.

Značilno je, da vtičnike in teme posodabljamo ročno, saj le te prihajajo različno za vsakega

posebej ob različnem času.

Slika 5.25: Ročno posodabljanje vtičnikov

45

Slika 5.26: Ročno posodabljanje tem

Vendar lahko tudi tu podobno kot pri samodejnem posodabljanju sistema vključimo samodejne

posodobitve le teh, brez naših odobritev. To storimo tako da v datoteko wp-config.php vstavimo

kodo:

Omogočanje samodejnih posodobitev vtičnikov:

add_filter( 'auto_update_plugin', '__return_true' );

Omogočanje samodejnih posodobitev tem:

add_filter( 'auto_update_theme', '__return_true' ); [3]

Tako smo nastavili samodejne posodobitve sistema, vtičnikov in tem, brez da bi pred samo

namestitvijo morali le te odobriti.

5.15. VARNOSTNE KOPIJE

Ko gre za spletno stran ali blog lahko pride do številnih zapletov, zato je poleg varnostnih

nastavitev pomembno izdelovati varnostne kopije. Nobena spletna stran ni varna pred

napadalci, saj če je nekdo zelo motiviran, da vdre v našo spletno stran, bo vztrajal pri tem

dokler ne bo uspešen. Varnostne kopije lahko izdelujemo ročno ali samodejno s pomočjo

vtičnikov ali cPanel nadzorne plošče.

46

Tudi naš vtičnik WP Security omogoča izdelovanje varnostnih kopij podatkovnih baz v zavihku

'Database Security'. Za ročno izdelavo varnostne kopije podatkovne baze izberemo 'Create

DB backup now', sistem ustvari varnostno kopijo, ki jo najdemo na strežniku v mapi

'public_html'.

Slika 5.27: Kreiranje varnostne kopije podatkovne baze

Pomembno je, da si nastavimo tudi samodejno izdelovanje varnostnih kopij v določenem

časovnem intervalu in koliko zadnjih različic le teh bomo obdržali, saj bomo le tako vedno imeli

na voljo shranjeno varno kopijo, ki jo po potrebi lahko kadarkoli obnovimo.

Slika 5.28: Samodejno kreiranje varnostne kopije podatkovne baze

Obstaja še veliko številko različnih vtičnikov, ki omogočajo izdelovanje podatkovnih baz z

različnimi opcijami shranjevanja kopij v oblak itd..

Tudi v cPanel nadzorni plošči strežnika imamo različne aplikacije za izdelovanje varnostnih

kopij podatkovnih baz, ena takih je 'R1Soft Restore Backups', ki vsakodnevno samodejno

47

shranjuje varnostne kopije. Nastavili smo tudi, da ob tem hrani zadnjih 5 shranjenih varnostnih

kopij v primeru, da bomo morali sistem obnoviti na starejšo varno različico.

Slika 5.29: Samodejno kreiranje varnostne kopije podatkovne baze s pomočjo cPanel

6. SPREMLJANJE NAPREDKA

Da bi spremljali napredek pri zagotavljanju varnosti naše spletne strani urisk.eu smo jo na

začetku pregledali z našim vtičnikom WP Security in dobili 15 od možnih 470 točk.

Slika 6.1: Merilnik zaščite sistema na začetku

48

Teh začetnih 15 točk smo dobili, ker smo ob namestitvi sistema WordPress spremenili

uporabniško ime iz privzete predloge 'admin' oz. 'administrator', ki je potencialnim napadalcev

še tako znana in za skrbnike spletnih strani še tako nevarna.

Slika 6.2: Razmerje zaščite na začetku

Po navadi se šele ob tako skrb vzbujajočih podatkih lastniki spletnih strani zavemo, kako zelo

je ogrožena naša spletna stran in koliko lahko tudi sami skrbniki naredimo pri izboljšanju

varnosti ter preprečitvi nepooblaščenih dostopov napadalcem. Zato smo skozi celotno

raziskavo pri pisanju diplomske naloge opisovali prav to, postopek kako lahko sami izboljšamo

varnost naših WordPress spletnih strani in sproti preverjali ali naše trditve držijo. Tako smo v

drugem koraku spremenili url naslov prijavne strani v skrbniško nadzorno ploščo iz standardne

urisk.eu/wp-admin oz urisk.eu/wp-login.php na drugi, samo nam skrbnikom znan url naslov.

Po tem postopku spremembe smo z vtičnikom WP Security ponovno preverili spletno stran in

že dobili boljši rezultat za 10 točk.

49

Slika 6.3: Merilni zaščite sistema po prvem koraku

Pri tem sistem vedno prikaže tudi v kolikšni meri je kateri dejavnik pripomogel k izboljšanju

rezultatov.

Slika 6.4: Razmerje zaščite po prvem koraku

Da je naš pristop pravi in deluje tudi v praksi, smo se še dodatno prepričali tako, da smo se po

spremenjenem URL naslovu za prijavo v skrbniško nadzorno ploščo poskušali prijaviti tudi s

privzetima sistemskima URL naslovoma za prijavo.

50

Slika 6.5: Nepravilen URL naslov za prijavo v sistem

Pri tem poskusu sistem takoj izpiše, da skrbniška prijavna stran ni na voljo in potencialni

napadalci tako nimajo dostopa do nje, kjer bi lahko poskušali z 'brute force' napadi in

kombinacijami uporabniških imen in gesel za prijavo v skrbniško nadzorno ploščo. V drugem

poskusu smo želeli dostopati do skrbniške prijavne strani preko drugega sistemskega

privzetega URL naslova za prijavo: urisk.eu/wp-login.php

Slika 6.6: Drugi nepravilen URL za prijavo v sistem

Tudi v tem primeru do skrbniške prijavne strani nismo mogli dostopati. Za dokončno potrditev,

da je bil naš postopek pravilen in delujoč, smo se še poskušali prijaviti preko novega

spremenjenega URL naslova.

51

Slika 6.7: Sistemsko prijavno okno

Tokrat je sistem dovolil dostopati do skrbniške prijavne strani, kar je hkrati potrdilo, da je naš

postopek pravilen in delujoč tudi v praksi. Tako smo po seznamu dela, ki ga opisujemo skozi

celotno raziskavo sproti dodajali ukaze in spreminjali nastavitve v varnostnem vtičniku ter

samem WordPress sistemu. Ker ima lahko samo spreminjanje sistemskih datotek negativen

vpliv na spletno stran oz. lahko povzroči celo izpad le te, smo sproti preverjali delovanje naše

spletne strani in z vtičnikom preverjali ali pri zagotavljanju varnosti res napredujemo. Pri tem

velja še enkrat dodati, da moramo pred vsakim spreminjanjem nastavitev oz. sistemskih

datotek narediti varnostno kopijo datotek, da jih v primeru napak ali določenih zapletov lahko

obnovimo in si preprečimo dodatne nevšečnosti.

Po opravljenem postopku skoraj štiridesetih ukrepov, ki so pomagali pri zagotavljanju varnosti

za našo spletno stran smo na dokončnem preverjanju dosegli 455 od možnih 470 točk.

52

Slika 6.8: Končna meritev zaščite sistema

Slika 6.3: Končno razmerje dejavnikov zagotavljanja zaščite

Kot je že takoj razvidno iz podatkov, je za popoln rezultat zmanjkalo 15 točk, ampak v tem

primeru to ni zaradi nepopolnih nastavitev, ampak ima vtičnik pri možnostih preprečevanja

'brute force' napadov na voljo dve funkciji in sicer 'Rename login page' ali 'Cookie Based Brute

Force Prevention' pri kateri lahko izberemo le eno in tako izgubimo točke drugega, na kar sam

vtičnik tudi vnaprej opozori.

Slika 6.4: Opozorilo pri izbiri 'brute force' zaščite

53

Po vseh opravljenih smernicah in posegih, ki smo si jih začrtali pri načrtovanju rešitev za

zagotavljanje varnosti naše spletne strani, so rezultati izjemni. Spremljamo lahko neuspešne

poskuse prijave v skrbniško nadzorno ploščo.

Slika 6.5: Seznam neuspešnih prijav v sistem

V primeru, da opazimo, da kateri izmed neuspešno prijavljenih uporabnikov nismo bili mi, ga

lahko takoj blokiramo, če ga sistem že samodejno ne doda na črno listo. Spremljamo lahko

tudi trenutno prijavljene uporabnike v skrbniško nadzorno ploščo.

Slika 6.6: Trenutno prijavljeni uporabniki

V primeru naše odsotnosti sistem obvešča o zadnjih uspešnih prijavah v sistem. Tako lahko

spremljamo, kateri uporabniki so se nazadnje uspešno prijavili v skrbniško nadzorno ploščo.

54

Slika 6.7: Zadnjih 5 uspešnih prijav v sistem

Prav tako pa tudi trajanje sej njihovih prijav.

Slika 6.8: Trajanje sej prijav

Opozorjeni smo tudi na vsako spremembo datotek, ki so se zgodile v zadnjem času.

Slika 6.9: Spremembe datotek na strežniku

55

O vseh spremembah smo obveščeni tudi preko hitrega okenca na domači strani skrbniške

nadzorne plošče, tako da nobeno obvestilo o spremembi ne more ostati neopaženo.

Slika 6.10: Obvestila o spremembah na skrbniški domači strani

Tako imamo popoln nadzor nad spremembami v datotekah in nad uporabniki, ki so bili

prijavljeni v sam sistem. Kot je razvidno iz podatkov o neuspešnih prijavah, le ti povedo, da

potencialni napadalci niso uspeli priti niti do prijavne strani, saj so vse neuspešne prijave iz

naših IP naslovov v namene testiranja. Tudi do sprememb v datotekah ne prihaja, razen v

tistih, ki so kot posledica delovanja vtičnikov.

Našo spletno stran smo pregledali tudi s pomočjo zunanjih sistemov za preverjanje ranljivosti

spletnih strani. Eden izmed takih je 'Sucuri Website Malware and Security Scanner' dostopen

na: https://sitecheck.sucuri.net, ki ni odkril nobenih potencialnih nevarnosti na naši spletni

strani.

56

Slika 6.11: Rezultat 'Sucuri SiteCheck' pregledovanj

Stran smo še pregledali z 'WPMUDEV Security Scan', dostopnim na

https://premium.wpmudev.org/blog/security-scanning/ in tudi tu dobili odlične rezultate, saj

sistem ni opozoril na nobene resne varnostne nepravilnosti oz. pomanjkljivosti, prav tako tudi

ne na tiste, ki bi predstavljale manj resne varnostne grožnje.

Slika 6.12: Rezultat 'WPMUDEV Security' pregledovanj

57

Tabela 6.1: Razvrstitev varnostnih ukrepov v skupine pogostih ranljivosti po OWASP

Vrivanje Dobro strežniško gostovanje

Omejitev števila napačnih prijav

Prikrivanje skrbniške prijavne strani

Predpone WP tabel

Varnostno kopiranje podatkovne baze

Napaka pri overjanju in upravljanju sej HTTPS protokol

Uničenje sej po odjavi

Uporaba piškotkov

Podtikanje skript Določanje pravic datotekam na strežniku

Spremljanje sprememb datotek na strežniku

KSES knjižnica

Malware pregledovanje

Nezavarovan neposreden dostop do

objektov

Nastavitve prikrojenih povezav

Določanje pravic datotekam na strežniku

XMLRPC in PINGBACK zaščita

Blokiranje lažnih robotkov

Napačne varnostne nastavitve Nastavitev požarnega zidu

Določanje pravic datotekam na strežniku

6G črni seznam

Izpostavljenost občutljivih podatkov Sistem za preverjanje močnih gesel

HTTPS protokol

Zakrivanje delovne različice sistema

Manjkajoč funkcijski nivo za dostopnost Datoteka HTACCESS

Zaznavanje napake 404

Dodeljevanje vlog uporabnikom

Podtikanje zahtevkov HTTPS protokol

WordPress API jedro

6G črni seznam

Uporaba komponent z znanimi ranljivostmi Plupload knjižnica

Uporaba originalnih vtičnikov in tem

Pomembnost posodobitev

Nepreverjene preusmeritve in posredovanja Preprečevanje Hotlink

Wordpress API jedro

Preprečitev SPAM

58

7. VTIČNIKI ZA ZAGOTAVLJANJE VARNOSTI

Kot smo že predstavili v diplomskem delu, si pri zagotavljanju varnosti WordPress sistemov

poleg lastnih posegov v kodo, hitro, enostavno in učinkovito pomagamo z varnostnimi vtičniki,

saj so njihovi avtorji vključili večino ukrepov za izboljšanje varnosti. Obstaja veliko število

različnih vtičnikov za zagotavljanje varnosti, zato se je zelo težko odločiti kateri je najboljši za

naše potrebe. Mi smo se glede na tip naše spletne strani in njene funkcionalnosti odločili za

'All in one WordPress security', predstavili bomo pa še nekaj ostalih najpopularnejših in

najboljših vtičnikov za zagotavljanje varnosti.

7.1. WORDFENCE

Prenos: https://wordpress.org/plugins/wordfence/

Slika 7.1: Vtičnik Wordfence Security

Eden najbolj priljubljenih WordPress varnostnih vtičnikov z več kot 22. milijoni prenosov.

Vtičnik preverja okužbe spletnih strani z zlonamerno programsko opremo, tako da pregleda

celotno jedro sistema ter vse vtičnike in teme. Ob kakršnikoli okužbi sistem o tem obvesti na

različne načine. S pomočjo Falcom sistema za pred pomnjenje podatkov zelo pohitri našo

spletno stran. Vtičnik je v osnovi brezplačen, za dodatne napredne funkcije pa je potrebno

plačilo. Poleg preverjanja zlonamerne programske opreme ta vtičnik ponuja zaščito s požarnim

zidom, blokiranje 'brute force' napadov, zagotavlja varnost pri prijavi v sistem, monitoring

spremljanje prometa, podpira 'multi-site' spletne strani in številne druge varnostne nastavitve.

[10]

59

7.2. ITHEMES SECURITY

Prenos: https://wordpress.org/plugins/better-wp-security/

Slika 7.2: Vtičnik iThemes Security

Še en priljubljen varnostni vtičnik, ki ponuja več kot 30 načinov za zagotavljanje varnosti in

zaščite spletne strani. Z enim samim klikom lahko ustavimo avtomatizirane napade, prav tako

pa odpravlja različne varnostne luknje v naših spletnih straneh. Vtičnik sledi dejavnostim

registriranih uporabnikov in dodaja dva faktorja avtorizacije, ureja nastavitve uvoza in izvoza,

skrbi za skeniranje zlonamerne programske opreme, uporabnika sili v uporabo varnih gesel,

uporabo SSL certifikata in določanje dovoljenj datotekam. Vtičnik vključuje tudi Google

reCAPTCHA za preprečevanje nezaželenih komentarjev na naši spletni strani. Na voljo je v

brezplačni izdaji ali v dodatni plačljivi premijski različici, ki doda številne različne varnostne

funkcionalnosti in podporo avtorjev. [10]

7.3. SUCURI SECURITY

Prenos: https://wordpress.org/plugins/sucuri-scanner/

Slika 7.3: Vtičnik Sucuri Security

60

Je varnostni vtičnik priljubljene družbe za zagotavljanje varnosti spletnim stranem Sucuri.

Ponuja različne varnostne funkcije kot so revidiranje varnostne dejavnosti, spremljanje

integritete datotek, 'malware' pregledovanje, črne liste in zagotavlja požarni zid spletnim

stranem. Vključuje različne sisteme, kot so Google Safe Browsing, Sucuri Labs, Norton,

McAfee Site Advisor za preverjanje spletnih strani. Vtičnik ščiti pred DoS in 'brute force' napadi,

vodi dnevnik o vseh dejavnostih na strežniku, ki ga hrani v Sucuri oblaku. To pomeni, da v

primeru da napadalec obide varnostne ukrepe in napade spletno stran bodo varnostni dnevniki

varno shranjeni za kasnejše izvajanje ukrepov. Ob doplačilu dobimo premijske storitve in

svetovanje Sucuri, ki jih vodi ekipa strokovnjakov na področju spletne varnosti. [10]

7.4. BULLETPROOF SECURITY

Prenos: https://wordpress.org/plugins/bulletproof-security/

Slika 7.4: Vtičnik BulletProof Security

Vtičnik ponuja hitro in enostavno nastavitev vmesnika v le štirih korakih. Vtičnik praktično samo

aktiviramo, ta pa bo poskrbel za varnost spletne strani. Vtičnik dodaja požarni zid, skrbi za

varnost podatkovne baze, varnost pri prijavi z omejevanjem števila neuspešnih poskusov

prijave, blokiranjem lažnega prometa in blokiranjem zlonamernih uporabnikov. Prav tako

pregleduje jedro sistema, vtičnike in teme ter optimizira delovanje naše spletne strani z

dodajanjem pred pomnjenja. Spletno stran ščiti pred raznimi ranljivostmi vključno z XSS, RFI,

CRLF, CSRF, Base64, Sql injekcijami in mnogimi drugimi. Avtorji skrbijo za redno

posodabljanje, tako da bo naša spletna vedno zaščitena. [10]

61

8. SKLEP

Sistem za upravljanje vsebin WordPress krasi enostavnost in uporabnost. Do svoje WordPress

spletne strani lahko pridemo praktično v nekaj minutah, brez večjega programerskega

predznanja. Takoj po namestitvi sistema na spletni strežnik lahko začnemo z urejanjem

vsebine, dodajanjem slik, blogov, spreminjanjem izgleda spletne strani z nameščanjem in

urejanjem novih tem, dodajanjem razsežnosti in funkcionalnosti z novimi vtičniki, ter urejanjem

drugih nešteto nastavitev. WordPress lahko uporabljamo za osebne spletne strani in bloge, za

spletne trgovine ali napredne spletne portale. Omogoča popoln nadzor nad spletno stranjo in

uporabniki. Priljubljenost sistema za izdelovanje dinamičnih spletnih strani tako iz dneva v dan

strmo narašča, s tem pa na žalost vse bolj privablja zlonamerne napadalce, ki bi si želeli

prilastiti naše podatke, spletno stran onemogočiti, ali pa tako ali drugače posegati v samo

vsebino spletne strani.

V diplomskem delu smo se spoznali s sistemom WordPress, ga na kratko predstavili in opisali

postopek namestitve. Analizirali smo varnostne rešitve, ki jih sistem privzeto uporablja za

zaščito spletnih strani pred napadalci. Poglobili pa smo se tudi v zagotavljanje dodatne

varnostne zaščite za katero lahko v največji meri poskrbimo sami. Tako smo v namen

raziskave izdelali spletno stran urisk.eu, s pomočjo katere smo preizkušali različne postopke

dodajanja in urejanja ukazov ter nastavitev, da bi sistemu zagotovili boljšo varnost. Samega

postopka smo se lotili z zaščito dostopa do pomembnih sistemskih datotek, z določanjem

dobrih gesel in uporabniških imen ter dodatnim preverjanjem identitete pred prijavo v sistem.

Spremenili smo privzeti url naslov za prijavo v skrbniško nadzorno ploščo in uredili samodejno

izdelovanje varnostnih kopij podatkovne baze. Za dodatno zaščito smo poskrbeli z namestitvijo

skrbno izbranega varnostnega vtičnika, ga predstavili in šli skozi vse nastavitve, da bi dosegli

najboljšo učinkovitost le tega. Na koncu smo še predstavili nekaj drugih najboljših vtičnikov za

zagotavljanje varnosti.

Da je bilo naše delo pravilno, predvsem pa učinkovito smo delovanje in napredek pri

zagotavljanju varnosti naše spletne strani sproti preverjali s pomočjo vtičnika. Samo

ogroženost in pomanjkljivosti smo dodatno pregledovali s pomočjo zunanjih sistemov za

odkrivanje ranljivosti spletnih strani, dostopnih na svetovnem spletu, ter jih tako sproti

odpravljali. Tako smo dosegli dobro zaščito pred napadalci in varno spletno stran. To potrjujejo

tudi dejstva v praksi, saj potencialni napadalci ne morejo dostopati do naše spletne strani in

spreminjati njene vsebine. Sistem do sedaj ni zabeležil nobenega poskusa prijave v sistem,

zaradi skrite prijavne skrbniške nadzorne strani, prav tako pa tudi nobene spremembe datotek

62

na strežniku, oz. takšnih ali drugačnih zlonamernih posegov. Vse spremembe, poskuse

spremljamo sproti preko sistemske nadzorne plošče, o vsaki spremembi smo pa tudi

obveščeni preko elektronske pošte s strani sistema oz. ponudnika gostovanja. Pri tem se

moramo zavedati, da nobena zaščita ni popolna in jo lahko dovolj vztrajen napadalec obide

ter povzroči nepredstavljivo škodo. Zato je zelo pomembno, da dnevno izdelujemo varnostne

kopije, saj lahko tako vsebino kadarkoli obnovimo in se izognemo dodatnim stroškom, izgubi

podatkov ter daljšemu izpadu spletne strani.

9. VIRI IN LITERATURA

[1] Wikipedia WordPress. Dostopno na: https://en.wikipedia.org/wiki/WordPress [14.12.2016]

[2] Hardeninng WordPress. Dostopno na: https://codex.wordpress.org/Hardening_WordPress

[14.12.2016]

[3] 12 ways to secure your wordpress site you’ve probably overlooked. Dostopno na:

https://premium.wpmudev.org/blog/wordpress-security-tips/?wpcv=b&utm_expid=3606929-

93.spVh-aR3SwGklKzL4HJQQg.1&utm_referrer=https%3A%2F%2Fwww.google.si%2F

[14.12.2016]

[4] WordPress security. Dostopno na: https://yoast.com/wordpress-security/ [14.12.2016]

[5] Sistem WordPress.org. Dostopno na: https://wordpress.org/about/ [14.12.2016]

[6] Beefing Up WordPress Security. Dostopno na: A Complete Guide To Securing WordPress

Sites https://colorlib.com/wp/improve-wordpress-website-security/ [14.12.2016]

[7] How to add SSL and HTTPS in WordPress. Dostopno na: http://www.wpbeginner.com/wp-

tutorials/how-to-add-ssl-and-https-in-wordpress/ [14.12.2016]

[8] WordPress SSL and HTTPS Explained. Dostopno na:

https://www.wpwhitesecurity.com/wordpress-tips-webmasters/wordpress-blog-website-ssl-

https-explained/ [14.12.2016]

[9] Securing WordPress : A Simple Step-by-Step List. Dostopno na:

https://www.machothemes.com/blog/tips-for-securing-wordpress-sites/ [14.12.2016]

[10] 12 Best WordPress Security Plugins of 2017 to Keep Your Site Secure. Dostopno na:

http://wpdean.com/best-wordpress-security-plugins/ [14.12.2016]

[11] All In One WordPress Security and Firewall Plugin. Dostopno na:

https://www.tipsandtricks-hq.com/wordpress-security-and-firewall-plugin [14.12.2016]

63

[12] Kako poskrbeti za varnost sistema WordPress? Dostopno na: https://www.neoserv.si/blog/varnost-sistema-wordpress [14.12.2016]

[13] Se protokol HTTP dokončno poslavlja? Dostopno na: https://www.prasicek.si/blog/se-http-poslavlja/ [15.12.2016] [14] Storitev Wordpress.com. Dostopno na: https://sl.wikipedia.org/wiki/WordPress.com [12.1.2017] [15] Trije načini za namestitev WordPress vtičinika. Dostopno na: https://www.wpklub.si/namestitev-wordpress-vticnika [12.1.2017] [16] Kako namestiti WordPress temo. Dostopno na: https://www.wpklub.si/kako-namestiti-

wordpress-temo [12.1.2017]

[17] ABC varnosti za lastnike spletnih strani. Dostopno na: https://www.varninainternetu.si/wp-

content/uploads/sites/3/2013/09/Varnost_spletnih_mest_web.pdf [16.1.2017]

[18] WordPress Security. Dostopno na: https://wordpress.org/about/security/ [17.1.2017]

[19] HTTPS Wikipedia. Dostopno na: https://en.wikipedia.org/wiki/HTTPS [18.1.2017]

[20] Secure Sockets Layer. Dostopno na: https://sl.wikipedia.org/wiki/Secure_Sockets_Layer

[18.1.2017]

[21] Domovanje kontrola kakovosti – nadzor nad delovanjem strežnikov. Dostopno na:

https://www.domovanje.com/spletno-gostovanje/primerjava-paketov-gostovanja/nadzor-nad-

delovanjem-streznikov/ [24.1.2017]

[22] Domovanje aktivna zaščita. Dostopno na: https://www.domovanje.com/spletno-

gostovanje/primerjava-paketov-gostovanja/domovanje-aktivna-zascita/ [24.1.2017]

[23] Podatkovni center. Dostopno na: https://www.domovanje.com/spletno-

gostovanje/primerjava-paketov-gostovanja/podatkovni-center/ [24.1.2017]

[24] The Right Way to Remove WordPress Version Number. Dostopno na:

http://www.wpbeginner.com/wp-tutorials/the-right-way-to-remove-wordpress-version-number/

[25.1.2017]

[25] How to Change the WordPress Database Prefix to Improve Security. Dostopno na:

http://www.wpbeginner.com/wp-tutorials/how-to-change-the-wordpress-database-prefix-to-

improve-security/ [25.1.2017]

[26] WordPress varnost – močna gesla. Dostopno na: https://www.wpklub.si/wordpress-

varnost-mocna-gesla [25.1.2017]