WordPress konfigurieren: Probekapitel aus "Das WordPress-Buch"
3/27/14 - Meetupfiles.meetup.com/11729152/Emanuel Zelic - WordPress i Hosting.pdf · 3/27/14...
Transcript of 3/27/14 - Meetupfiles.meetup.com/11729152/Emanuel Zelic - WordPress i Hosting.pdf · 3/27/14...
3/27/14
Emanuel Zelić– linux system administrator– korisnička podrška– iskustvo sa WordPress-om
3/27/14
Ranjivost WordPress-a● WordPress je jedan od najčešće korištenih CMS-ova na
svijetu
● U kolovozu 2013. je imao udio od 18.9% od 10 milijuna top web stranica
● U srpnju 2013. je otkriveno da je 50 najčešće skidanih pluginova ranjihova na SQL Injection napade
● Odvojena inspekcija top deset e-commerce pluginova je pokazala da je sedam od njih ranjivo
● Od WordPress-a verzije 3.7 je uvedena automatska nadogradna u pozadini.
3/27/14
Kako dolazi do napada
– 41% zbog malwarea
– 29% zbog propusta u temama
– 22% kroz pluginove
– 8% zbog slabih lozinki
3/27/14
Što hakeri/crackeri žele
● Ugled
● Zabava
● Da bi došli do podataka
● Da postave linkove na stranici
● Da naprave štetu vlasniku stranice
3/27/14
Maliciozni napadi koštaju!
– vremenavremena
– energijeenergije
– novcanovca
– ugledaugleda
3/27/14
Nadogradnja aplikacije
● WordPress, pluginove i teme treba redovno WordPress, pluginove i teme treba redovno nadograđivatinadograđivati
● Popis propusta WordPressa koji su otkriveni i otklonjeni kroz Popis propusta WordPressa koji su otkriveni i otklonjeni kroz patcheve su vidljivi na stranici:patcheve su vidljivi na stranici:
http://di.si/ru9azhttp://di.si/ru9az
● Izbjegavajte besplatne teme i pluginove koje se ne Izbjegavajte besplatne teme i pluginove koje se ne nalaze u WordPress repozitorijunalaze u WordPress repozitoriju
3/27/14
Zaštita računala i lozinke
● Računala na kojima radite moraju biti čista od
malware-a i virusa
● Koristite jake lozinke
– Loša lozinka: admin123
– Dobra lozinka: bmjB1XjhvfTMf● Koristite password managere
– KeePass (Win/Mac/Linux)
3/27/14
● Nemojte koristiti FTP klijent, koristite SFTP ili SSH protokole za prijenos podataka
● Redoviti backupi svih podataka
● Koristite ugledne web hosting firme
Koristite SSH I SFTP
3/27/14
● Password protected directories:Password protected directories:
Zaštita wp-admin direktorija
3/27/14
U “.htaccess” datoteku potom ubaciti:U “.htaccess” datoteku potom ubaciti:AuthType BasicAuthType Basic
AuthName “Login required”AuthName “Login required”
AuthUserFile “/home/<CPANEL AuthUserFile “/home/<CPANEL USERNAME>/.htpasswds/public_html/passwd”USERNAME>/.htpasswds/public_html/passwd”
ErrorDocument 401 defaultErrorDocument 401 default
# Autentikacija za wp-login i wp-admin# Autentikacija za wp-login i wp-admin
<Files “wp-login.php”><Files “wp-login.php”>
require valid-userrequire valid-user
</Files></Files>
Zaštita wp-admin direktorija
3/27/14
Zaštita wp-includes direktorija
U “.htaccess” datoteku ubaciti:<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
</IfModule>
3/27/14
Dodatna zaštita datoteka
● Onemogućavanje editiranja datoteka kroz dashboard umetanjem sljedeće linije u wp-config.php datoteku:
define('DISALLOW_FILE_EDIT', true);
● Pomaknite wp-config.php datoteku nivo iznad web direktorija WordPress instalacije
3/27/14
Koristite sigurnosne pluginove
– WordPress Firewall
– All in One WordPress Firewall
– Better WP Security
– Wordfence security
– Simple Login Lockdown
3/27/14
Security through obscurity
● Ne koristiti admin username za admin korisnikaNe koristiti admin username za admin korisnika
UPDATE wp_users SET user_login = 'newuser' WHERE user_login = 'admin';UPDATE wp_users SET user_login = 'newuser' WHERE user_login = 'admin';
● Promjena defaultnog WordPress table prefixa wp_Promjena defaultnog WordPress table prefixa wp_
● WordPress Table Prefix Rename PluginWordPress Table Prefix Rename Plugin
3/27/14
Optimizacija
● Svrha Cache mehanizma:Svrha Cache mehanizma:
– Brža isporuka web sadržajaBrža isporuka web sadržaja
– Smanjeno opterećenje web serveraSmanjeno opterećenje web servera● 90% slučajeva sporog učitavanja uzrokovano 90% slučajeva sporog učitavanja uzrokovano
temom i konfiguracijom WordPress-atemom i konfiguracijom WordPress-a
3/27/14
Quick Cache
● Mali plugin, page cache bez kompresijeMali plugin, page cache bez kompresije
● Jednostavan za konfiguracijuJednostavan za konfiguraciju
3/27/14
WP Super Cache
● Relativno lagan za podesiti i ne zahtijeva puno tehničkog znanja
● Kreira cache na tri načina:
– mod_rewrite
– Php
– Legacy cache mode
3/27/14
W3 Total Cache
● Najcjenjeniji i najkompletniji WordPress Najcjenjeniji i najkompletniji WordPress
performance pluginperformance plugin
● Mogućnosti:Mogućnosti:
– Html cache,Html cache,
– Minification,Minification,
– Object cache,Object cache,
– Database cache,Database cache,
– CDN,CDN,
– Etc...Etc...
3/27/14
TIPS and TRICKS
● Zaboravljena lozinkaZaboravljena lozinka
● Preseljenje WordPress aplikacijePreseljenje WordPress aplikacije
● wp-cron.phpwp-cron.php
3/27/14
Zaboravljena lozinka
● Promjena lozinke kroz phpMyAdmin:
3/27/14
Preseljenje aplikacije
● Domenski nazivi i putanje direktorija su definirani unutar WordPress baze:
3/27/14
wp-cron.php● wp-cron.php: virtualni cronjobwp-cron.php: virtualni cronjob
● Namjena:Namjena:
– Automatizacija objave postovaAutomatizacija objave postova
– Provjera pluginovaProvjera pluginova
– Nadogradnja temaNadogradnja tema
– Slanje mail notifikacija …Slanje mail notifikacija …● Problem:Problem:
– Izvršavanje kod svakog otvaranja straniceIzvršavanje kod svakog otvaranja stranice
3/27/14
wp-cron.php - rješenje● Onemogućiti njeno izvršavanje prilikom svakog otvaranja Onemogućiti njeno izvršavanje prilikom svakog otvaranja
kroz wp-config.php:kroz wp-config.php:
define('DISABLE_WP_CRON', 'true');define('DISABLE_WP_CRON', 'true');
● Definirati izvršenje skript preko sistemskog cronjoba:Definirati izvršenje skript preko sistemskog cronjoba:
cd /home/username/public_html; php -q wp-cron.phpcd /home/username/public_html; php -q wp-cron.php
3/27/14
Pitanja?