Kako izboljšati varnost Joomla spletne strani v 6 korakih

  1. Geslo
    – Ko ste si ustvarili spletno stran, ne obdržite prednastavljenega uporabniškega imena in gesla (ta je navadno kar admin).
    – Za vstop v administratorsko okolje zahtevajte geslo.

    Za pomoč:
    – Najslabša gesla, kako ustvariti dobro geslo:
    https://blog.zabec.net/kraja-gesel-najslabsa-gesla-so/
    – Administrativno okolje > ustvarite .httaccess v administrator directory: https://docs.joomla.org/How_do_you_password_protect_directories_using_htaccess%3F

  1. Razširitve
    Joomla vam ponuja ogromno možnosti razširitev, kadarkoli potrebujete kaj novega, vam je na voljo malo morje razširitev, ki jih lahko opravite s samo nekaj kliki.
    Pa vendar je potrebno pri tem biti izjemno previden, veliko razširitev je t.i. third party, kar pomeni, da niso uradne in večina vdorov se zgodi prav preko njih.

    – V kolikor razširitev več ne uporabljate, potrebujete, jih izbrišite. Več ko imate neposodobljene kode v vaši spletni strani, večja je možnost vdora in zlorabe.

    – Posodabljajte razširitve! Največkrat so na voljo t.i. security fixes, ki odpravljajo varnostne pomankljivosti. Nikoli jih ne izpustite.

    Za pomoč:
    – Lista ranljivih razširitev, ki se sproti posodablja:
    https://vel.joomla.org/live-vel
    – Testiranje razširitev v varnem okolju:
    https://www.joomlatools.com/developer/tools/vagrant/
    Sporočanje posodobitev razširitev:
    https://docs.joomla.org/Help36:Extensions_Extension_Manager_Update

  1. Dovoljenja
    Največji problem predstavlja dovoljenje, ki prav vsem dovoljuje, da lahko prilagajajo, dostopajo do datotek in jih gledajo, dovoljenje se imenuje 777.

    – Dovoljenja uporabljate samo tam kjer jih resnično potrebujete (pa še ta lahko omejite), vse ostalo naj ostane zaklenjeno.

    Za pomoč:
    – Tipična Joomla dovoljenja:
    PHP nastavljen na 0444 > nihče ne more zapisovati v dokument
    Imeniki nastavljeni na 0755 > samo lastnik imenika lahko zapisuje vanj, ostali ga lahko berejo in izvedejo.
    Datoteke nastavljene na 0644 > lastnik lahko zapisuje, ostali jih lahko samo berejo

  2. SSL certifikati
    SSL certifikat potrebujete v kolikor želite ustvariti varno komunikacijo med vašo spletno stranjo in uporabnikom.
    Če imate t.i. e-commerce spletno stran potem je ta certifikat nujno potreben (s SSLjem se med spletno prijavo v trgovino in uporabnikom ustvari kriptirana povezava, v kolikor SSLja nimate je prijava uporabnika v t.i. plain textu), za manjše spletne strani lahko sami precenite ali ga potrebujete ali ne. Vsekakor pa bo doprinesel https zaupanje v vašo spletno stran.

    Za pomoč:
    – Varna in zaupanja vredna spletna trgovina:
    https://blog.zabec.net/varna-in-zaupanja-vredna-spletna-trgovina/
    – Kateri SSL certifikat naj izberem:
    https://blog.zabec.net/kateri-ssl-certifikat-naj-izberem/
    Za pomoč pri izbiri se lahko obrnete tudi na naš podporni center: info@zabec.net
    Ponujamo vam več kot 30 različnih certifikatov: https://www.zabec.net/gostovanje/ssl-certifikati

  3. Posodobljena različica Joomle
    Ena izmed najbolj pomembnih stvari je redno posodabljanje Joomle na najnovejšo različico.
    Vendar pred vsako večjo posodobitvijo naredite backup.

    Za pomoč:
    – Joomla obvestila:
    https://www.joomla.org/announcements.html

  1. Utrdite PHP konfikuracijo
    Če potrebujete prenos dokumentov za upravljalca dokumentov, kot je napr. DOCman ali FILEman, sledečih možnosti ne nastavljajte.

    PHP directives lahko spremenite v vašem php.ini datoteki:

  • expose_php = 0 :
    s tem prikrijete katero različico PHPja uporabljate, tako napadalcem otežite delo, saj ne vedo točno katero ranljivost je najbolje izrabiti.
  • open_basedir = “/var/www/yoursite.com:/tmp/” :
    s tem ukažete PHPju, da lahko uporablja samo to mapo (privzeto je na shared strežnikih nastavljeno pravilno)
  • display_errors = 0 :
    s tem boste preprečili, da bi napadalci vedeli kje je možnost vdora v vašo stran
  • disable_functions = exec,passthru,shell_exec,system,
proc_open,proc_close,proc_terminate,popen,curl_exec,curl_multi_exec,
show_source,posix_kill,posix_getpwuid,posix_mkfifo,posix_setpgid,
posix_setsid,posix_setuid,posix_setuid,posix_uname,php_uname,syslog
    s tem onemogočite (izklopite) nevarne PHP metode, tako, da jih napadalci ne morejo uporabiti oz. škodovati vašemu sistemu.

Vir: https://www.incapsula.com/blog/10-tips-to-improve-your-joomla-website-security.html

Varnost odprtokodnih CMSjev (WordPress, Magento, Drupal in Joomla!) v prvem četrtletju 2016

Poročilo temelji na zbranih podatkih in analizi skupine Securi Remediation Group (RG) v katero sta vključena IRT (Incident Response Team) in MRT (Malware Research Team).

Celotno poročilo iz katerega smo črpali si lahko preberete TUKAJ, mi pa smo naredili krajši pregled in izbor podatkov za katere menimo, da so zanimivi, uporabni za vas.

Število spletnih strani narašča z razvojem tehnologije in dostopnostjo odprtokodnih CMSjev, med njimi so najbolj popularni štirje (pravijo, da je preko njih izdelanih več kot tretjino spleta):

  • WordPress
  • Joomla!
  • Drupal
  • Magento

WordPress je vodilni na CMS trgu z več kot 60% tržnim deležom.
Nišno pa hitreje rastejo druge platforme – napr. Magento je zelo popularen med prodajnimi stranmi in večjimi organizacijami, medtem ko Drupal pokriva predvsem vladne organizacije, na splošno, če vse skupaj zaokrožimo pa ostaja WP še vednjo kralj.

Platforme pa so nam s svojo odprtostjo prinesle tudi izzive, če gledamo na internet kot celoto, saj se je pojavila množica nekvalificiranih “razvijalcev” in “upravljalcev” strani izdelanih na teh platformah, ki na koncu še vedno potrebujejo nekoga z znanjem, ko pride do bolj “zapletenih” zadev ali težav.

Securi analiza je pokazala, da je bilo od 11.000+ okuženih straneh kar 75% narejenih na WP platformi in kar 50%+ teh strani je bilo zastaranih.
V primerjavi s podobnimi platformami (Joomla! in Drupal) je bilo to še “vredu”, saj je bilo tam kar 80% softwara zastaranega.

Marca 2016 je Googlovo poročilo pokazalo, da so več kot 50 milijonov spletnih uporabnikov “pozdravili” s sporočilom o nevarnosti spletne strani na katero želijo vstopiti, bodisi naj bi jim ta skušala namestiti škodljivo programsko opremo ali celo skušala ukrasti podatke.
V primerjavi z lanskim letom (marec 2015) naj bi bilo to število 17 milijonov.

Screen Shot 2016-05-20 at 11.04.57

Google trenutno na črno listo (Kaj je črna lista si lahko preberete TUKAJ) vsak teden uvrsti več kot 70.000* spletnih strani (približno 20 tisoč zaradi malware in 50 tisoč zaradi phishinga).
*brez spam SEO in ostalih taktik

I. POROČILO

Pri Securi pravijo:
“To poročilo temelji na reprezentativnem vzorcu celotnih spletnih mest na katerih smo delali v Q1, v koledarskem letu (CY), 2016 (CY16-Q1).
Skupno smo uporabili 11.485 okuženih spletnih strani. Gre za vzorčenje, ki nam je dalo najbolj dosledne podatke iz katerih smo lahko pripravili to poročilo.”

Več kot 78% spletnih strani na katerih so delali v prvem četrtletju 2016 je bilo zgrajenih na WordPress platformi, sledi Joomla! s 14%.
V vseh primerih, ne glede na platformo, je vodilni vzrok za okužbe izkoriščanje programskih ranljivosti prilagodljivih komponent, ne pa samega jedra.
Prilagodljive komponente so neposredno povezane z integracijo vtičnikov, drugih razširitev, komponent, modulov, predlog, tem…

SLIKA1

Opazimo lahko, da se v prvi četrtini tega leta ni zgodilo nič presenetljivega glede na zadnjo četrtino lanskega leta, opazimo celo lahko celo manjši padec okužb pri WP in povečanje števila okužb pri Joomla! spletnih straneh.

Pri WP so še posebej izkoriščeni vtičniki.
Tri vodilne ranljivosti programske opreme, ki so vplivalne na večno spletnih mest v prvem četrtletju so bile: RevSLider, GravityForms vtičniki in skripta TimThumb.

SLIKA5

SLIKA2

SLIKA3

Povečan procent pri Magentu naj bi povzročila ShopLift Supee 5344 ranljivost (ena najbolj resnih razkritih ranljivosti oz. RCE ranljivost imenovana tudi shoplift bug) in XSS ranljivost (pri tej ranljivosti napadalci prevzamejo administrativni račun in vstavijo novega).

Glede na druge platforme (ki jih napadalci po večini ozkoriščajo za SEO, phishing ali spam) se pri Magentu pokaže, da napadalci direktno ciljajo na kreditne kartice kar je običajno za prodajne spletne strani, vendar jih je največ oz. je največji porast prav pri Magentu.
Zakaj?
Predvidevajo da uporabniki (v testu) Magenta obdelujejo podatke o karticah lokalno na strežniku namesto prek tretjih oseb in napadalci se tega zavedajo.

II. ZASTARELOST

 

Screen Shot 2016-05-20 at 14.03.26

Zastarelost sofwara je problem že od nekdaj, saj napadalci hitro ugotovijo njegovo ranljivosti.

CMS je smatran za zastarel, če ga ni bilo na zadnji različici priporočene varnostne različice v odzivnem času, ko se je zgodi incident.

Kljub temu, da WP vedno bolj opozarja na pomembnost posodabljanja, je bilo od 11 tisoč + okuženih strani kar 56% od vseh okuženih WP strani zastarelih. Kar je “super” če to številko primerjamo z Magentom – cca. 96%!

Izziv glede zastarelosti se kaže predvsem glede treh stvari: težave z združljivostjo, pomanjkanja osebja na voljo za pomoč pri migraciji ter izvedba po meri uporabnika.

Zaključimo lahko s tem, da lastniki spletnih strani na teh platformah, kljub varnostnim grožnjam in obvestilom o ranljivosti niso sposobni dohajati vseh teh opozoril in groženj, zato se vedno bolj zanašajo na WAF (Website Application Firewall) ali na napredno tehniko virtualnega patchinga.

III. ZLONAMERNA PROGRAMSKA OPREMA

Zlorabljene spletne strani so lahko okužene z različnimi “družinami” zlonamerene programske opreme, odvisno kaj napadalec želi z njo doseči.

SLIKA6

Približno 32% vseh okuženih primerov spletnih strani je izrabljenih za SEO spam kampanje –  stran je okužena s spam vsebino ali preusmeri uporabnika na spam stran. Največkrat uporabljene spam vsebine so v povezavi s farmacevtskimi izdelki (viagra, erekcija, cialis…) sledi zabava (kazinoji in porno).

IV. ZAKLJUČEK

Argument, da naj lastniki spletnih strani le-te preprosto samo posodabljajo, sam po sebi ni dovolj, zavedati se je potrebno, da je večina teh strani del večjega bolj kompleksnejšega okolja v katera lastniki spletnih strani vključijo, namestijo vse kar jim je dostopno. Lastniki se morajo osredotočiti na vse spletne strani in ostale integracije v tem okolju, da pri preprečili t.i. cross-site okužbe. Kar pa zna biti precej zapleteno zaradi vseh novosti in nastavitev, ki so jim na voljo, na splošno pa primankuje spletnega znanja glede poznavanja celotnega sistema ter nastavitev oz. namestitev.

Vir in originalni članek:
https://sucuri.net/website-security/Reports/Sucuri-Website-Hacked-Report-2016Q1.pdf

Joomla 0-day Remote Command Execution Vulnerability

Screen Shot 2015-12-15 at 10.16.32

Na različicah Joomla od 1.5 do 3.4 je bila odkrita kritična napaka – 0-day Remote Command Execution Vulnerability.

REŠITEV:

Če imate spletno stran na Joomli jo takoj posodobite na 3.4.6
POSODOBITEV: https://www.joomla.org/announcements/release-news/5641-joomla-3-4-6-released.html)

Če uporabljate starejše, nepodprte verzije 1.5.x in  2.5.x potem se držite navodil Security hotfixes for Joomla EOL versions: https://docs.joomla.org/Security_hotfixes_for_Joomla_EOL_versions, https://www.ostraining.com/blog/joomla/hotfixes/