nikola petrov-bezbednost wordpress sajtova - uvod u wordpress

Post on 12-Apr-2017

101 Views

Category:

Software

6 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Bezbednost WordPress sajtova - Uvod u WordPress

Hardening

#WPNSNikola Petrov15.02.2017.

jhujhuhuhh

Bezbednost

jhujhuhuhhBezbednost - ukratko

Kratak pregled• Zašto je bitna?• „Neće to meni da se desi“• Ljudska priroda

Misliti na vreme Biti temeljan Biti posvećen Ne znači da morate biti eksperti za bezbednost – samo pratite uputstva

Popularnost “Idealan” sistem

• 100% siguran sistem ne postoji

WP platforma

• Fleksibilna• Otvorena• ≈ 50.000 dodataka

W3Techs.com, February 2017

Primer

2.6 TB11.5 milliona dokumenata

• Propust napravljen na Revolution Slider pluginu

• Njihov Web server nije bio iza Firewall-a

• Njihov Web server je na istoj mreži kao i njihov MAIL server s bazom u Panami

• Postavili su osetljive podatke o svojim klijentima sa svog portala, koji uključuju pristupne podatke portalu, kao i mail serveru klijenata

Jedan ne ažuriran WP dodatak, može dovesti do padasvetskih lidera i istorijski najvećeg odliva privatnih

podataka široj javnosti.

Hardening

hardening is the process of securing a system by

reducing its surface of vulnerability

Zašto nam je potreban „hardening“ ?

WP verzije

Kratak pregled

WordPress versions usage – January 2017 W3Techs.com

PHP verzije

Kratak pregled

PHP versions run by WordPress websites – January 2017 W3Techs.com

jhujhuhuhh

Zašto bi neko napao baš moj WP sajt?

jhujhuhuhhSEO

Kratak pregled• Vaš kompromitovani sajt je moguće koristiti u svrhu poboljšanja SEO nekog

drugog sajta ubacivanjem back-link –ova.

• Ovde koriste dobru reputaciju Vašeg sajta za njihove zlonamerne ciljeve.

jhujhuhuhhSPAM

Kratak pregled• Slanje SPAM e-mail poruka je takođe jedan od čestih razloga za zloupotrebu

vašeg WP sajta.

• Kada haker iskoristi Vaš sajt i hosting nalog, prelazi na drugi sajt, a Vama ostavlja „blacklistovan“ sajt sa dosta problema.

jhujhuhuhhKrađa podataka

Kratak pregled• Prosečan korisnik ostavlja gomilu ličnih podataka na računaru.

• Krađa ovih podataka je moguća putem WP sajta, kao što su: lozinke, podatke o Vašoj kreditnoj kartici, bankovnom računu...

jhujhuhuhhNapad na druge sajtove

Kratak pregled• Ponekada cilj hakera je da neki sajt učini nedostupan korisnica (DoS, Denial

of Service). • Da bi koristili ovu tehniku potrebna je mreža sajtova, koju su oni na

maliciozni način „regrutovali“.

jhujhuhuhh

Najčešći hakerski napadiTehnike

jhujhuhuhhBrute force

• Najčešće korišćen od strane script kiddie hakera

• Bruteforce podrazumeva skeniranje slabosti i ranjivosti sajta, kao iisprobavanje svih mogućih kombinacija i kriptografskih ključeva

• U teoriji, na ovakav način bi se moglo pristupiti svakom sistemu koji imaneku ranjivost, ali na svu sreću ovo je daleko od svakodnevne prakse, ali se svakako treba shvatiti ozbiljno

jhujhuhuhhDeface

Kratak pregled• Nije svaki “hacker” osoba koja želi da Vam napakosti i obori sajt.

• Veliki broj ovih „osvetnika i boraca za pravdu“ nazivaju sebe “whitehat“ hakerima i njihov cilj je da ukažu drugima na bezbednosne probleme sajta.

• Njihov omiljeni metod je tehnika poznata kao deface sajta jer na ovaj način neće naneti veliku štetu Vašem sistemu. U pitanju je metoda pomoću koje hakeri iz vašeg direktorijuma uklanjaju index.php fajl i zamenjuju ga svojim index.html fajlom.

jhujhuhuhhVirus/malware injection

Kratak pregled• Ovaj način je prilično jedinstven za WordPress, a to je injekcija virusa i

zlonamernog softvera (malicious software) kroz besplatne i piratizovane teme i dodatke (plugins).

• Ponekad je sasvim dovoljno rukoviditi se zdravim razumom ukoliko želite da izbegnete ovakav napad.

• Zlonamerni virusi i softver će pokušati da okače spam na Vaš sajt ili da ukradu poverljive podatke od Vaših korisnika.

• Ukoliko je Vaš sajt zaražen onda će vrlo brzo biti kažnjen od strane pretraživača.

jhujhuhuhhBackdoor

Kratak pregled• Backdoor skripte su prilično opasne. U najgorem scenariju, backdoor

postavljen na vaš sajt može uzrokovati ozbiljne probleme i gubitak podataka na celom serveru.

• Napad se najčešće dešava zbog neažuriranog software-a i skripti koje koristi.

• Najčešće, malicioznu skriptu možete primetiti kao enkodovanu base64skriptu ili kao deo skripte koji je enkodovan.

jhujhuhuhhDDoS (Distrubuited Denial of Service)

Kratak pregled• DDoS tehnika je gde „hacker“ šalje saobraćaj, preko kompromitovanih mreža

i računara, prema određenoj meti. • Na ovaj način “meta” je toliko zauzeta da prestaje da odgovara na zahteve

koji dolaze od legitimnih korisnika. Ova taktika korišćena je čak i kao sredstvo ucene gde su hakeri zahtevali otkup kako bi oslobodili određeni veb-sajt.

• Tokom DDoS napada, ciljani server ili mreža prima zahteve iz kompromitovanih sistema. Učestalost zahteva je toliko velika da protok dostiže svoj maksimum koji može da ima kada su resursi i mogućnosti servera u pitanju.

• Server usporava do mere u kojoj postaje beskoristan sve dok napad traje.

Rešenja

Redovno pravite „backup“ sajta i baze podataka

Kreiranje backup-a

• Ručno• Putem plugin-a:

• Obavezno testirajte backup !

Redovno ažurirajte WP i njegove dodatake

define('WP_AUTO_UPDATE_CORE', true);

wp-config.php

functions.php

add_filter( 'auto_update_theme', '__return_true' );add_filter( 'auto_update_plugin', '__return_true' );

Sprečite da WP pokazuje informacije o korisnicima koji imaju pristup sajtu

www.vaswpsajt.com/?author=1

www.vaswpsajt.com/?author=2

www.vaswpsajt.com/?author=3

RewriteCond %{QUERY_STRING} (^|&)author=RewriteRule . http://%{SERVER_NAME}/? [L]

.htaccess

Korisničke dozvole

WP Roles

„Honey Pot“ tehnika

Sakrite vašu login stranicu

Sakrite vašu login stranicu

RewriteRule ^mylogin$ wp-login.php?key=123&redirect_to=http://%{SERVER_NAME}/wp-admin/index.php [L]

RewriteCond %{HTTP_REFERER} !^http://%{SERVER_NAME}/wp-adminRewriteCond %{HTTP_REFERER} !^http://%{SERVER_NAME}/wp-login\.phpRewriteCond %{HTTP_REFERER} !^http://%{SERVER_NAME}/loginRewriteCond %{QUERY_STRING} !^key=123RewriteCond %{QUERY_STRING} !^action=logoutRewriteCond %{QUERY_STRING} !^action=lostpasswordRewriteCond %{REQUEST_METHOD} !POSTRewriteRule ^wp-login\.php http://%{SERVER_NAME}/? [R,L]

.htaccess

Poruke o greškama

Sakrivanje poruka o login greškama

// login errors / messageadd_filter('login_errors', '__return_false');add_filter('login_messages', '__return_false');

functions.php

Onemogućiti PHP izvršenje

Onemogućiti PHP izvršenje u upload direktorijumu

Order Allow,DenyDeny from all<Files ~ "\.(xls|doc|rtf|pdf|zip|mp3|flv|swf|png|gif|jpg|ico|js|css|kmz|ttf|woff|woff2)$">

Allow from all</Files>

-uploads.htaccess

Uklonite nepotrebne dodatke (plugins)

• Uklonite neaktivne dodatke• One koje nekoristite

Uklonite nepotrebne dodatke (plugins)

Koristite „jake“ lozinke

Koristite „jake“ lozinke

„slabe lozinke“• pera1990• password• 123456• qwerty• admin

„jake“ lozinke• D7u8hI928FJYusx• Z5BLl20T8by1524• TLv7p64P63V5Hr1• 6b83668I15qRP2I• Um2d4Ejd9T1ExPr

Proizvoljni direktorijum

- WP-ADMIN

- WP-INCLUDE

- WP-CONTENT

Standardni prikaz WP direktorijuma

- APPLICATION

--- WP-ADMIN

--- WP-INCLUDES

- PUBLIC

--- WP-CONTENT

- UPLOADS

Proizvoljan prikaz WP direktorijuma

Proizvoljan prikaz WP direktorijuma

define('WP_CONTENT_DIR', dirname(__FILE__) . '/public);define('WP_CONTENT_URL', 'http://' . $_SERVER['HTTP_HOST'] . '/public');

define( 'WP_UPLOADS_DIR', dirname(__FILE__) . '/uploads' );

define('WP_SITEURL', 'http://' . $_SERVER['SERVER_NAME'] . '/application');define('WP_HOME', 'http://' . $_SERVER['SERVER_NAME']);

wp-config.php

Gotova rešenja

Gotova bezbednosna rešenja

Pravite redovan “backup” fajlova i baze podataka

Koristite kompleksne lozinke ( Cpanel, WP login, FTP, DB user)

Redovno ažuriranje WP-a i njegovih dodataka (pluginova)

Monitoring stanja WP sajta (u pogledu bezbednosti)

Pravilan odabir hosting provajdera

Rezime

Testiranje WP zaštite

Testiranje WP zaštite

Kratak pregled• Security-testing distibucija – Kali Linux

• WPScan, Sponsored by Sucuriwpscan --url http://www.ime.domen

Kratak pregled

Hvala na pažnji !

Nikola Petrovnikola.petrov@tfzr.rs/nikola-petrov

top related