SlideShare a Scribd company logo
1 of 66
Download to read offline
HARTUJEMY  
WORDPRESSA
Kilka  kroków  do  bezpieczniejszej  instalacji.
marcin  at  chwedziak.pl
WORDUP  WROCŁAW  #2  —  27.06.2013
Aktualizacja:  28.01.2015
@*raeth
WORDUP  WROCŁAW  #2  —  27.06.2013
właściwie  to  Marcin  Chwedziak
twiGer.com/Lraethgithub.com/Lraeth
chwedziak.plsoftware development
użytkownik  ›  moderator  ›  przyjaciel
11  czerwca  2013
securitytracker.com
WordPress  Bug  in  'class-­‐phpass.php'  
Lets  Remote  Users  Deny  Service
15  kwietnia  2013
webmonkey.com
WordPress  Hackers  
Exploit  Username  "Admin"
14  kwietnia  2013
phys.org
Admin  Password  Spells  Trouble  
In  Recent  WordPress  AGacks
12  kwietnia  2013
krebsonsecurity.com
Brute  Force  AGacks  Build  WordPress  Botnet
11  kwietnia  2013
blog.hostgator.com
Global  WordPress  Brute  Force  Flood
Tylko  60%  wszystkich  witryn  WordPressa  
jest  zaktualizowana  do  najnowszej  wersji.
dane  własne  w  oparciu  o  pingoma<c.com
Aż  40%  instalacji  WordPressa  korzysta  z  
potencjalnie  niebezpiecznych  starszych  wersji.
Jednocześnie…
dane  własne  w  oparciu  o  pingoma<c.com
W  internecie  jest  około  670  milionów  stron.
June  2013  Web  Server  Survey,  NetcraG  Ltd.
Ponad  67  milionów  (10%)  korzysta  z  WordPressa!
wordpress.com/stats
Każdej  minuty  atakowanych  jest  
setki  tysięcy  adresów  IP.
W  tym  także  ten,  który  kieruje  
do  twojego  serwera.
Jak  sobie  radzić?
KONTROLA
PLAN  
DZIAŁANIA
OGRANICZANIE
KONTROLA
Ilość  potencjalnych  punktów  wejścia  
do  systemu  powinna  być  zredukowana.
Dostęp  do  systemu  plików.
Dostęp  do  systemu  plików.
Używaj  SFTP  lub  FTPS  zamiast  FTP.
SFTP  (SSH  File  Transfer  Protocol)  
pozwala  zamiast  hasła  użyć  klucza  autentykacji.
Google:  SSH  z  kluczem  publicznym
FTPS  przesyła  nasze  hasło  w  postaci  
zaszyfrowanej,  niejawnej.
Zwykłe  połączenie  FTP  pozwala  podejrzeć  nasze  hasło!
Dostęp  do  systemu  plików.
Mądrze  zarządzaj  uprawnieniami  do  plików.
Katalog  główny:  tylko  ty
.htaccess  jest  wyjątkiem,  ale…
/wp-­‐admin/:  tylko  ty
/wp-­‐includes/:  tylko  ty
/wp-­‐content/:  ty  oraz  Apache
/wp-­‐content/themes/:  ty
Powinniśmy  wyłączyć  możliwość  edycji  plików  z  poziomu  WP:
define('DISALLOW_FILE_EDIT', true);
/wp-­‐content/plugins/:  ty
Dostęp  do  systemu  plików.
Przenieś  wp-­‐config.php  jeden  katalog  wyżej…
<Files wp-config.php>
Order allow,deny
Deny from All
</Files>
…  albo  zablokuj  go  z  użyciem  .htaccess
Dostęp  do  systemu  plików.
Zablokuj  bezpośredni  dostęp  do  plików  PHP.
# Block the include-only files.
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]
# BEGIN WordPress
Nie  działa  z  Mul<site!
Dostęp  do  bazy  danych.
Dostęp  do  bazy  danych.
Odseparuj  bazę  danych  WordPressa.
Dostęp  do  bazy  danych.
Zmień  prefiks  tabeli  z  domyślnego  wp_  na  np.  kraken_.
Zmodyfikuj  stałą  w  pliku  wp-­‐config.php.
Nie  zapomnij  zmienić  tabel  w  MySQL!
Dostęp  do  panelu  administracyjnego.
Dostęp  do  panelu  administracyjnego.
Jeśli  używasz  konta  admin  –  zmień  jego  nazwę!
Dostęp  do  panelu  administracyjnego.
Dodaj  BasicAuth  do  /wp-­‐admin/.
Użyj  .htaccess  oraz  .htpasswd…
<Files admin-ajax.php>
Order allow,deny
Allow from All
Satisfy any
</Files>
…i  nie  zapomnij  udostępnić  admin-­‐ajax.php!
Dostęp  do  panelu  administracyjnego.
Użyj  dodatkowych  wtyczek  blokujących  nieudane  logowania.
OGRANICZANIE
Konfiguracja  systemu  powinna  minimalizować  
liczbę  groźnych  operacji  po  uzyskaniu  dostępu.
Zawsze  miej  aktualną  wersję  WordPressa.
To  samo  dotyczy  wtyczek!  
A  jeśli  jakichś  nie  używasz  –  po  prostu  je  usuń.
Wyłącz  możliwość  edycji  plików  
z  poziomu  panelu  WordPressa.
Niech  użytkownik  MySQL  ma  dostęp  
tylko  do  bazy  z  tabelami  WordPressa.
define('DISALLOW_UNFILTERED_HTML', true);
PLAN  DZIAŁANIA
Powinniśmy  być  zawsze  gotowi  na  
podjęcie  akcji  po  wystąpieniu  zagrożenia.
Zawsze  bądź  gotów  na  odtworzenie  instalacji.
Dokonuj  regularnych  kopii  bezpieczeństwa.
Zarówno  bazy  danych,  jak  i  plików  WordPressa.
Im  częściej  publikujesz,  tym  częściej  rób  kopie.
Wyłącz  wyświetlanie  błędów  PHP.
define('WP_DEBUG', false);
define('WP_DEBUG_LOG', false);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors', 0);
Ale  zadbaj  o  ich  zbieranie  w  celach  analizy.
heps://github.com/ryanbagwell/wordpress-­‐sentry
Przeglądaj  dziennik  zdarzeń.
ModSecurity OSSEC
Monitoring  
plików
Monitoring  
logów
Działania  prewencyjne  
są  bezsprzecznie  kluczowe.
WORDUP  WROCŁAW  #2  —  27.06.2013
Ale  stałe  monitorowanie  witryny  
pozwoli  spać  spokojnie.
WORDUP  WROCŁAW  #2  —  27.06.2013
Pytania?
DZIĘKUJĘ  ZA  UWAGĘ
Hartujemy  WordPressa.  Kilka  kroków  do  bezpieczniejszej  instalacji.
marcin  at  chwedziak.pl
WORDUP  WROCŁAW  #2  —  27.06.2013
Aktualizacja:  28.01.2015

More Related Content

Similar to Hartujemy WordPressa. Kilka kroków do bezpieczniejszej instalacji.

Wielomilonowy ruch na wordpressie wordpress wordcamp gdynia 2016
Wielomilonowy ruch na wordpressie   wordpress wordcamp gdynia 2016Wielomilonowy ruch na wordpressie   wordpress wordcamp gdynia 2016
Wielomilonowy ruch na wordpressie wordpress wordcamp gdynia 2016Lukasz Wilczak
 
Wielomilionowy Ruch na Wordpressie - Łukasz Wilczak & Piotr Federowicz (WordC...
Wielomilionowy Ruch na Wordpressie - Łukasz Wilczak & Piotr Federowicz (WordC...Wielomilionowy Ruch na Wordpressie - Łukasz Wilczak & Piotr Federowicz (WordC...
Wielomilionowy Ruch na Wordpressie - Łukasz Wilczak & Piotr Federowicz (WordC...Grand Parade Poland
 
Wordpress dla początkujących szkolenie / warsztat 10/10 bezpieczeństwo, anali...
Wordpress dla początkujących szkolenie / warsztat 10/10 bezpieczeństwo, anali...Wordpress dla początkujących szkolenie / warsztat 10/10 bezpieczeństwo, anali...
Wordpress dla początkujących szkolenie / warsztat 10/10 bezpieczeństwo, anali...Mariusz Szatkowski
 
Laravel workshops 1
Laravel workshops 1Laravel workshops 1
Laravel workshops 1Kamil Fojuth
 
WordUp Trójmiasto - Sage 9 w praktyce
WordUp Trójmiasto - Sage 9 w praktyceWordUp Trójmiasto - Sage 9 w praktyce
WordUp Trójmiasto - Sage 9 w praktyceDawid Urbański
 
Serwer internetowy w systemie Linux
Serwer internetowy w systemie LinuxSerwer internetowy w systemie Linux
Serwer internetowy w systemie Linuxbm9ib2r5
 
Błędy userów, niedoróbki koderów
Błędy userów, niedoróbki koderówBłędy userów, niedoróbki koderów
Błędy userów, niedoróbki koderówArkadiusz Stęplowski
 
Motywy Wordpressa Historia Prawdziwa
Motywy Wordpressa Historia PrawdziwaMotywy Wordpressa Historia Prawdziwa
Motywy Wordpressa Historia PrawdziwaTomasz Dziuda
 
WordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistom
WordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistomWordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistom
WordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistomTomasz Dziuda
 
Wtyczkowe kompendium - WordUp Warszawa
Wtyczkowe kompendium - WordUp WarszawaWtyczkowe kompendium - WordUp Warszawa
Wtyczkowe kompendium - WordUp WarszawaTomasz Dziuda
 
Poznaj wp-config.php "Ukryte" możliwości.
Poznaj wp-config.php  "Ukryte" możliwości.Poznaj wp-config.php  "Ukryte" możliwości.
Poznaj wp-config.php "Ukryte" możliwości.Marcin Jóźwiak
 
Aktualizacja i kopia zapasowa strony WordPress z WPvivid
Aktualizacja i kopia zapasowa strony WordPress z WPvividAktualizacja i kopia zapasowa strony WordPress z WPvivid
Aktualizacja i kopia zapasowa strony WordPress z WPvividDawidGicalaStronyInt
 
WordPress - od blogów do portali społecznościowych
WordPress - od blogów do portali społecznościowychWordPress - od blogów do portali społecznościowych
WordPress - od blogów do portali społecznościowychJakub Milczarek
 
Zhakuj swojego Wordpressa, WordUP Trojmiasto
Zhakuj swojego Wordpressa, WordUP TrojmiastoZhakuj swojego Wordpressa, WordUP Trojmiasto
Zhakuj swojego Wordpressa, WordUP Trojmiastosecman_pl
 
Wtyczkowe Kompendium - WordUp Łódź #12
Wtyczkowe Kompendium - WordUp Łódź #12Wtyczkowe Kompendium - WordUp Łódź #12
Wtyczkowe Kompendium - WordUp Łódź #12Tomasz Dziuda
 
Motywy dla WordPressa - historia prawdziwa - WordUp Warszawa
Motywy dla WordPressa - historia prawdziwa - WordUp WarszawaMotywy dla WordPressa - historia prawdziwa - WordUp Warszawa
Motywy dla WordPressa - historia prawdziwa - WordUp WarszawaTomasz Dziuda
 
Bezpieczna i szybka strona statyczna z funkcjonalnością Wordpressa. Czy to m...
Bezpieczna i szybka strona statyczna  z funkcjonalnością Wordpressa. Czy to m...Bezpieczna i szybka strona statyczna  z funkcjonalnością Wordpressa. Czy to m...
Bezpieczna i szybka strona statyczna z funkcjonalnością Wordpressa. Czy to m...Lukasz Wilczak
 
WP-API - teoria i praktyka - WordUp Trójmiasto #2
WP-API - teoria i praktyka - WordUp Trójmiasto #2WP-API - teoria i praktyka - WordUp Trójmiasto #2
WP-API - teoria i praktyka - WordUp Trójmiasto #2Tomasz Dziuda
 
Word up warszawa 2015
Word up warszawa 2015Word up warszawa 2015
Word up warszawa 2015Tomasz Dziuda
 

Similar to Hartujemy WordPressa. Kilka kroków do bezpieczniejszej instalacji. (20)

Wielomilonowy ruch na wordpressie wordpress wordcamp gdynia 2016
Wielomilonowy ruch na wordpressie   wordpress wordcamp gdynia 2016Wielomilonowy ruch na wordpressie   wordpress wordcamp gdynia 2016
Wielomilonowy ruch na wordpressie wordpress wordcamp gdynia 2016
 
Wielomilionowy Ruch na Wordpressie - Łukasz Wilczak & Piotr Federowicz (WordC...
Wielomilionowy Ruch na Wordpressie - Łukasz Wilczak & Piotr Federowicz (WordC...Wielomilionowy Ruch na Wordpressie - Łukasz Wilczak & Piotr Federowicz (WordC...
Wielomilionowy Ruch na Wordpressie - Łukasz Wilczak & Piotr Federowicz (WordC...
 
Wordpress dla początkujących szkolenie / warsztat 10/10 bezpieczeństwo, anali...
Wordpress dla początkujących szkolenie / warsztat 10/10 bezpieczeństwo, anali...Wordpress dla początkujących szkolenie / warsztat 10/10 bezpieczeństwo, anali...
Wordpress dla początkujących szkolenie / warsztat 10/10 bezpieczeństwo, anali...
 
WordPress dla początkujących
WordPress dla początkującychWordPress dla początkujących
WordPress dla początkujących
 
Laravel workshops 1
Laravel workshops 1Laravel workshops 1
Laravel workshops 1
 
WordUp Trójmiasto - Sage 9 w praktyce
WordUp Trójmiasto - Sage 9 w praktyceWordUp Trójmiasto - Sage 9 w praktyce
WordUp Trójmiasto - Sage 9 w praktyce
 
Serwer internetowy w systemie Linux
Serwer internetowy w systemie LinuxSerwer internetowy w systemie Linux
Serwer internetowy w systemie Linux
 
Błędy userów, niedoróbki koderów
Błędy userów, niedoróbki koderówBłędy userów, niedoróbki koderów
Błędy userów, niedoróbki koderów
 
Motywy Wordpressa Historia Prawdziwa
Motywy Wordpressa Historia PrawdziwaMotywy Wordpressa Historia Prawdziwa
Motywy Wordpressa Historia Prawdziwa
 
WordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistom
WordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistomWordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistom
WordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistom
 
Wtyczkowe kompendium - WordUp Warszawa
Wtyczkowe kompendium - WordUp WarszawaWtyczkowe kompendium - WordUp Warszawa
Wtyczkowe kompendium - WordUp Warszawa
 
Poznaj wp-config.php "Ukryte" możliwości.
Poznaj wp-config.php  "Ukryte" możliwości.Poznaj wp-config.php  "Ukryte" możliwości.
Poznaj wp-config.php "Ukryte" możliwości.
 
Aktualizacja i kopia zapasowa strony WordPress z WPvivid
Aktualizacja i kopia zapasowa strony WordPress z WPvividAktualizacja i kopia zapasowa strony WordPress z WPvivid
Aktualizacja i kopia zapasowa strony WordPress z WPvivid
 
WordPress - od blogów do portali społecznościowych
WordPress - od blogów do portali społecznościowychWordPress - od blogów do portali społecznościowych
WordPress - od blogów do portali społecznościowych
 
Zhakuj swojego Wordpressa, WordUP Trojmiasto
Zhakuj swojego Wordpressa, WordUP TrojmiastoZhakuj swojego Wordpressa, WordUP Trojmiasto
Zhakuj swojego Wordpressa, WordUP Trojmiasto
 
Wtyczkowe Kompendium - WordUp Łódź #12
Wtyczkowe Kompendium - WordUp Łódź #12Wtyczkowe Kompendium - WordUp Łódź #12
Wtyczkowe Kompendium - WordUp Łódź #12
 
Motywy dla WordPressa - historia prawdziwa - WordUp Warszawa
Motywy dla WordPressa - historia prawdziwa - WordUp WarszawaMotywy dla WordPressa - historia prawdziwa - WordUp Warszawa
Motywy dla WordPressa - historia prawdziwa - WordUp Warszawa
 
Bezpieczna i szybka strona statyczna z funkcjonalnością Wordpressa. Czy to m...
Bezpieczna i szybka strona statyczna  z funkcjonalnością Wordpressa. Czy to m...Bezpieczna i szybka strona statyczna  z funkcjonalnością Wordpressa. Czy to m...
Bezpieczna i szybka strona statyczna z funkcjonalnością Wordpressa. Czy to m...
 
WP-API - teoria i praktyka - WordUp Trójmiasto #2
WP-API - teoria i praktyka - WordUp Trójmiasto #2WP-API - teoria i praktyka - WordUp Trójmiasto #2
WP-API - teoria i praktyka - WordUp Trójmiasto #2
 
Word up warszawa 2015
Word up warszawa 2015Word up warszawa 2015
Word up warszawa 2015
 

Hartujemy WordPressa. Kilka kroków do bezpieczniejszej instalacji.