SlideShare a Scribd company logo
1 of 26
Całkiem przyzwoity backup
Czyli jak robić kopie zapasowe z lekko
paranoicznym podejściem do zagadnienia
Niedoszły
Bibliotekarzprzedstawia:
http://am.vj.pl
Paranoik
Paranoja
1. «choroba psychiczna charakteryzująca się stopniowo
pogłębiającymi się logicznie powiązanymi urojeniami,
ale bez większych zmian osobowości i bez osłabienia
intelektu»
2. pot. «coś absurdalnego, niedorzecznego»
Cele robienia kopii bezpieczeństwa
•Ochrona danych przed utratą i zniszczeniem
•Minimalizacja przerw w działaniu instytucji
•Zapewnienie zgodności z narzuconymi wymogami
formalnymi np. przez GIODO
•Zamrożenie stanu serwisu na dany moment w celu
możliwości jego odtworzenia
Wymagania dla kopii
bezpieczeństwa•Jest aktualna (harmonogram) i odtwarzalna (testy)
•Robi się sama, jeżeli się nie wykona, alarmuje
odpowiedzialne za jej wykonanie osoby
•Jest wiarygodna (bez możliwości ingerencji
w dane przez osoby z zewnątrz)
•Jest zabezpieczona przed możliwością odczytu
przez osoby nieuprawnione
Typologia kopii bezpieczeństwa
Ze względu na miejsce składowania
• lokalna na innym dysku partycji
• zdalna na innym zasobie sieciowym
• na nośniku wymiennym
Ze względu na sposób wykonania
• ręczna
• automatyczna
Ze względu na rodzaj wykonywania
• pełna
• przyrostowa (pełna + cyklicznie robione przyrosty)
• różnicowa (pełna + różnica pomiędzy stanem aktualnym)
Zawartość kopii bezpieczeństwa
Zrzut zawartości bazy danych (dane z tablic używanych
przez daną instalację WordPressa)
Zawartość katalogów użytkownika (pliki w upload, pliki
w katalogach dodatkowych)
Zawartość katalogów systemowych (pliki Wordpressa,
pliki wtyczek, pliki motywów)
Backup w wersji łatacz sumienia
Serwer WWW
Na serwer ze WWW
Instalujemy, autoryzujemy i konfigurujemy wtyczkę np. „WordPress
Backup to Dropbox”
Testujemy działanie wtyczki wywołując backup ręcznie
Cieszymy się że coś zrobiliśmy dla bezpieczeństwa naszych danych
Na Dropbox
Zakładamy konto :)
Dropbox
Łatacz sumienia - dlaczego go nie
polecam
Np. Arturowi Kurasińskiemu wyciął ¾ plików
Nie nadaje się w przypadku gromadzenia danych osobowych
Nie mamy wpływu na dostępność i prędkość działania
1. Dropbox
2. Wtyczka do Wordpressa
Każda wtyczka jest podatna na wszystkie te same niebezpieczeństwa
i problemy co WordPress więc może nie zadziałać
Mając dostęp do php można dowolnie modyfikować działanie wtyczki a więc
też ingerować w zawartość backupu
Może trafić na limity czasu i zasobów php
Nie szyfruje danych, nie powiadamia o problemach
Backup jako część zewnętrznych usług
Gruntowna weryfikacja czy nasze dane są w kolejnej
firmie bezpieczne
Na ile to poważna / wiarygodna firma
Czy instalują backdora żeby mieć dostęp
Czy technologia której używają do robienia zdalnego backupu jest
bezpieczna (ssh, szyfrowanie backupów, jak składują kopie zapasowe)
Kto naprawdę ma dostęp do naszych danych
Jakie dają gwarancje bezpieczeństwa / poufności
Poziomy wykonywania kopii
Sprzęt fizyczny
sterowniki urządzeń, RAID
System operacyjny
Przetwarzanie potokowe
Oprogramowanie
Rsync, SCP, mysqldump
Procesy w oprogramowaniu
Wtyczka WordPressa wywołująca
PHP działające w Apache
Uczestnicy imprezy ”Backup”
Serwer WWW
Backup_srv
Stacja robocza
Serwer WWW przygotowanie danych
Zrzut zawartości bazy z WordPressem
Kopia plików do katalogu roboczego
Wygenerowanie skrótów md5
Tworzenie i kompresja paczki do transmisji
Szyfrowanie paczki przed wysyłką
Serwer WWW przygotowanie danych
#cron
15 1 * * * /home/kopista/kopiuj_pakuj.sh
##zawartość kopiuj_pakuj.sh
#!/bin/bash
mysqldump -u kopista -phasło_kopisty nazwa_bazy > 
/kopia_zapasowa/nazwa_bazy_kopia.sql
cp -r /var/www/* /kopia_zapasowa/
find /kopia_zapasowa -type f -print0 | 
xargs -0 md5sum > /home/kopista/sumy_kontrolne.md5
tar -zcP - /kopia_zapasowa/ /home/kopista/sumy_kontrolne.md5 | 
openssl des3 -salt -k hasło:ssl*a | 
dd of=/home/kopista/w_swiat/paczka.zaszyfrowana
Backup_srv pobieranie i przesyłanie
danych
Serwer WWW Backup_srv
Stacja robocza
Na Backup_srv
•Zassanie paczki z Serwer WWW
•W przypadku problemów zapisz błąd do logów
powiadom admina
•Jeżeli 10, 20, 30 wysłanie paczki na Stacja robocza
Backup_srv pobieranie danych
#cron
* 2 * * * /home/kopista/ciagnij.sh
## zawartość ciagnij.sh
#!/bin/bash
rsync -avz -e "ssh -i /home/kopista/.ssh/id_rsa" 
kopista@serwer_www:/home/kopista/w_swiat/ /serwer_www/w_swiat/
Backup zapisany można świętować
Backup_srv wysyłanie danych 10-ty,
…
#cron
30 8 10,20,30 * * /home/kopista/pchaj_do_testu.sh
##zawartość pchaj_do_testu.sh
#!/bin/bash
rsync -avz -e "ssh -i /home/kopista/.ssh/id_rsa" 
/serwer_www/w_swiat/ tester@stacja_robocza:/home/tester/do_testu
Stacja robocza odtwarzanie danych
10-tego , 20-tego, 30-tego:
Rozpakowanie i odszyfrowanie paczki z
Backup_srv
Import zawartości bazy danych z pliku
Przekopiowanie pobranych plików w miejsca
docelowe
Stacja robocza odtwarzanie danych
#cron
45 9 10,20,30 * * /home/tester/przygotuj_test.sh
##zawartość przygotuj_test.sh
#!/bin/bash
cd /
dd if=/home/tester/do_testu/paczka.zaszyfrowana | 
openssl des3 -d -k hasło:ssl*a | tar zxv
md5sum -c --quiet /home/kopista/sumy_kontrolne.md5
mysql -u tester -phasło_testera nazwa_bazy < 
/home/tester/do_testu/kopia_zapasowa/wpdb_kopia.sql
cp -r /home/tester/do_testu/kopia_zapasowa/var/www/* /var/www/
Z praktyki warto wdrożyć
Procedury sprawdzające wykonanie poszczególnych
kroków wykonywanego backupu i przekazujące
status do bazy danych
if błąd wykonania kroku nr 3
then
dodaj do bazy ”krok nr 2 ERROR”
mail –s ”awaria w kroku nr 3” awaria@admin < /log_z_błędem.log
fi
if wykonanie kroku nr 3 == OK
then
dodaj do bazy ”krok nr 2 OK”
fi
Kilkukrotną iterację wykonania skryptu backupu w
przypadku błędu realizacji kroku
Warto też wspomnieć o:
Samodokumentujacych się nazwach plików
2017-05-03_źródło-backupu.zaszyfrowana
Innych automatycznych testach przy odtwarzaniu
danych
Harmonogramie kasowania nadmiarowych kopii
zapasowych
Wizualizacji wykonania kopii zapasowej
Podsumowanie
Na SerwerWWW zgrywamy pliki i zrzucamy bazę
danych
Dodajemy mechanizm weryfikacyjny
Szyfrujemy, pakujemy
Backup_srv zaciąga dane
// Admini Backup_srv nie mają dostępu do treści danych
// Admini SerwerWWW i Stacja robocza nie mają dostępu do Backup_srv
Z Backup_srv wysyłamy co 10 backup do testów
odtworzeniowych
Na Stacja robocza rozpakowujemy backup, weryfikujemy
sumy kontrolne, importujemy zawartość bazy danych
Uruchamiamy przeglądarkę i porównujemy oczkami stronę
Koniec opowieści
/bibliotekarz
arek@bibliotekarz
.com
Licencja
Prezentacja:
„ Całkiem przyzwoity backup”
autorstwa Niedoszły Bibliotekarz
jest udostępniana na licencji Creative Commons
Uznanie autorstwa Użycie niekomercyjne Na tych samych
warunkach 3.0 Unported License.
Linkownia
• http://sjp.pwn.pl/szukaj/paranoik.html
• http://www.giodo.gov.pl/plik/id_p/1057/j/pl/
• http://www.giodo.gov.pl/144/id_art/1002/j/pl
• https://wordpress.org/plugins/wordpress-backup-to-dropbox/
• https://www.facebook.com/akurasinski/posts/75720529769737
4
• https://www.rijksmuseum.nl/en/collection/RP-P-OB-36.293
• http://kochampuszcze.pl/informacje/

More Related Content

What's hot

A Guide To Fume Extraction Systems & Components
A Guide To Fume Extraction Systems & ComponentsA Guide To Fume Extraction Systems & Components
A Guide To Fume Extraction Systems & ComponentsAxair Fan (UK) Ltd.
 
Apache Druid Auto Scale-out/in for Streaming Data Ingestion on Kubernetes
Apache Druid Auto Scale-out/in for Streaming Data Ingestion on KubernetesApache Druid Auto Scale-out/in for Streaming Data Ingestion on Kubernetes
Apache Druid Auto Scale-out/in for Streaming Data Ingestion on KubernetesDataWorks Summit
 
Enabling a Zero Trust Architecture in Smart Grids through a Digital Twin
Enabling a Zero Trust Architecture in Smart Grids through a Digital TwinEnabling a Zero Trust Architecture in Smart Grids through a Digital Twin
Enabling a Zero Trust Architecture in Smart Grids through a Digital TwinMassimiliano Masi
 
FreeSWITCH Cluster by K8s
FreeSWITCH Cluster by K8sFreeSWITCH Cluster by K8s
FreeSWITCH Cluster by K8sChien Cheng Wu
 
Extreme fabric connect
Extreme fabric connectExtreme fabric connect
Extreme fabric connectMUK Extreme
 
Servidor de Correo Postfix/Dovecot
Servidor de Correo Postfix/Dovecot Servidor de Correo Postfix/Dovecot
Servidor de Correo Postfix/Dovecot Javier Martin Rivero
 
Thyristor theory and design considerations
Thyristor theory and design considerationsThyristor theory and design considerations
Thyristor theory and design considerationsDavid López
 
OpenStack Architecture
OpenStack ArchitectureOpenStack Architecture
OpenStack ArchitectureMirantis
 
Service Discovery & Load-Balancing under Docker 1.12.0 @ Docker Meetup #22
Service Discovery & Load-Balancing under Docker 1.12.0 @ Docker Meetup #22Service Discovery & Load-Balancing under Docker 1.12.0 @ Docker Meetup #22
Service Discovery & Load-Balancing under Docker 1.12.0 @ Docker Meetup #22Ajeet Singh Raina
 
Your Linux AMI: Optimization and Performance (CPN302) | AWS re:Invent 2013
Your Linux AMI: Optimization and Performance (CPN302) | AWS re:Invent 2013Your Linux AMI: Optimization and Performance (CPN302) | AWS re:Invent 2013
Your Linux AMI: Optimization and Performance (CPN302) | AWS re:Invent 2013Amazon Web Services
 
OpenWRT manual
OpenWRT manualOpenWRT manual
OpenWRT manualfosk
 
Hacking Lab con ProxMox e Metasploitable
Hacking Lab con ProxMox e MetasploitableHacking Lab con ProxMox e Metasploitable
Hacking Lab con ProxMox e MetasploitableAndrea Draghetti
 
Building Windows Images with Packer
Building Windows Images with PackerBuilding Windows Images with Packer
Building Windows Images with PackerMatt Wrock
 
BPF Hardware Offload Deep Dive
BPF Hardware Offload Deep DiveBPF Hardware Offload Deep Dive
BPF Hardware Offload Deep DiveNetronome
 
Midac motivepower
Midac motivepowerMidac motivepower
Midac motivepowerSAMCO VINA
 
Servidor de Repos & Actualizaciones Spacewalk 2.1
Servidor de Repos & Actualizaciones Spacewalk 2.1Servidor de Repos & Actualizaciones Spacewalk 2.1
Servidor de Repos & Actualizaciones Spacewalk 2.1Andrez12
 
Steps to build and run oai
Steps to build and run oaiSteps to build and run oai
Steps to build and run oaissuser38b887
 

What's hot (20)

A Guide To Fume Extraction Systems & Components
A Guide To Fume Extraction Systems & ComponentsA Guide To Fume Extraction Systems & Components
A Guide To Fume Extraction Systems & Components
 
Apache Druid Auto Scale-out/in for Streaming Data Ingestion on Kubernetes
Apache Druid Auto Scale-out/in for Streaming Data Ingestion on KubernetesApache Druid Auto Scale-out/in for Streaming Data Ingestion on Kubernetes
Apache Druid Auto Scale-out/in for Streaming Data Ingestion on Kubernetes
 
Enabling a Zero Trust Architecture in Smart Grids through a Digital Twin
Enabling a Zero Trust Architecture in Smart Grids through a Digital TwinEnabling a Zero Trust Architecture in Smart Grids through a Digital Twin
Enabling a Zero Trust Architecture in Smart Grids through a Digital Twin
 
FreeSWITCH Cluster by K8s
FreeSWITCH Cluster by K8sFreeSWITCH Cluster by K8s
FreeSWITCH Cluster by K8s
 
Extreme fabric connect
Extreme fabric connectExtreme fabric connect
Extreme fabric connect
 
Servidor de Correo Postfix/Dovecot
Servidor de Correo Postfix/Dovecot Servidor de Correo Postfix/Dovecot
Servidor de Correo Postfix/Dovecot
 
Thyristor theory and design considerations
Thyristor theory and design considerationsThyristor theory and design considerations
Thyristor theory and design considerations
 
OpenStack Architecture
OpenStack ArchitectureOpenStack Architecture
OpenStack Architecture
 
Service Discovery & Load-Balancing under Docker 1.12.0 @ Docker Meetup #22
Service Discovery & Load-Balancing under Docker 1.12.0 @ Docker Meetup #22Service Discovery & Load-Balancing under Docker 1.12.0 @ Docker Meetup #22
Service Discovery & Load-Balancing under Docker 1.12.0 @ Docker Meetup #22
 
Your Linux AMI: Optimization and Performance (CPN302) | AWS re:Invent 2013
Your Linux AMI: Optimization and Performance (CPN302) | AWS re:Invent 2013Your Linux AMI: Optimization and Performance (CPN302) | AWS re:Invent 2013
Your Linux AMI: Optimization and Performance (CPN302) | AWS re:Invent 2013
 
OpenWRT manual
OpenWRT manualOpenWRT manual
OpenWRT manual
 
Hacking Lab con ProxMox e Metasploitable
Hacking Lab con ProxMox e MetasploitableHacking Lab con ProxMox e Metasploitable
Hacking Lab con ProxMox e Metasploitable
 
PT Arung karunia sejati company profile
PT Arung karunia sejati company profilePT Arung karunia sejati company profile
PT Arung karunia sejati company profile
 
Building Windows Images with Packer
Building Windows Images with PackerBuilding Windows Images with Packer
Building Windows Images with Packer
 
S emb t13-freertos
S emb t13-freertosS emb t13-freertos
S emb t13-freertos
 
BPF Hardware Offload Deep Dive
BPF Hardware Offload Deep DiveBPF Hardware Offload Deep Dive
BPF Hardware Offload Deep Dive
 
Midac motivepower
Midac motivepowerMidac motivepower
Midac motivepower
 
Servidor de Repos & Actualizaciones Spacewalk 2.1
Servidor de Repos & Actualizaciones Spacewalk 2.1Servidor de Repos & Actualizaciones Spacewalk 2.1
Servidor de Repos & Actualizaciones Spacewalk 2.1
 
Steps to build and run oai
Steps to build and run oaiSteps to build and run oai
Steps to build and run oai
 
Kata:: Open Closed Principle
Kata:: Open Closed PrincipleKata:: Open Closed Principle
Kata:: Open Closed Principle
 

Similar to Calkiem przyzwoity backup

Podążając śladami użytkownika Windows – elementy informatyki śledczej
Podążając śladami użytkownika Windows –elementy informatyki śledczejPodążając śladami użytkownika Windows –elementy informatyki śledczej
Podążając śladami użytkownika Windows – elementy informatyki śledczejKrzysztof Binkowski
 
Mts2009 krzysztof binkowski - metody pozyskiwania i zabezpieczania danych w...
Mts2009   krzysztof binkowski - metody pozyskiwania i zabezpieczania danych w...Mts2009   krzysztof binkowski - metody pozyskiwania i zabezpieczania danych w...
Mts2009 krzysztof binkowski - metody pozyskiwania i zabezpieczania danych w...Krzysztof Binkowski
 
Bezpieczeństwo danych
Bezpieczeństwo danychBezpieczeństwo danych
Bezpieczeństwo danychBogdan Miś
 
PHP5. Bezpieczne programowanie. Leksykon kieszonkowy
PHP5. Bezpieczne programowanie. Leksykon kieszonkowyPHP5. Bezpieczne programowanie. Leksykon kieszonkowy
PHP5. Bezpieczne programowanie. Leksykon kieszonkowyWydawnictwo Helion
 
[CONFidence 2016] Artur Kalinowski - Wyciek danych z pespektywy atakującego
[CONFidence 2016] Artur Kalinowski - Wyciek danych z pespektywy atakującego [CONFidence 2016] Artur Kalinowski - Wyciek danych z pespektywy atakującego
[CONFidence 2016] Artur Kalinowski - Wyciek danych z pespektywy atakującego PROIDEA
 
ansible kmonticolo bezlogo
ansible kmonticolo bezlogoansible kmonticolo bezlogo
ansible kmonticolo bezlogoKamil Monticolo
 
Wyciek danych w aplikacjach - Artur Kalinowski, 4Developers
Wyciek danych w aplikacjach - Artur Kalinowski, 4DevelopersWyciek danych w aplikacjach - Artur Kalinowski, 4Developers
Wyciek danych w aplikacjach - Artur Kalinowski, 4DevelopersLogicaltrust pl
 
Krytyczne błędy konfiguracji
Krytyczne błędy konfiguracjiKrytyczne błędy konfiguracji
Krytyczne błędy konfiguracjiLogicaltrust pl
 
Linux. Bezpieczeństwo. Receptury
Linux. Bezpieczeństwo. RecepturyLinux. Bezpieczeństwo. Receptury
Linux. Bezpieczeństwo. RecepturyWydawnictwo Helion
 
4Developers: Artur Kalinowski- Wycieki danych w aplikacjach
4Developers: Artur Kalinowski- Wycieki danych w aplikacjach4Developers: Artur Kalinowski- Wycieki danych w aplikacjach
4Developers: Artur Kalinowski- Wycieki danych w aplikacjachPROIDEA
 
4Developers2016: Artur Kalinowski Wyciek Danych w aplikacjach
4Developers2016: Artur Kalinowski Wyciek Danych w aplikacjach4Developers2016: Artur Kalinowski Wyciek Danych w aplikacjach
4Developers2016: Artur Kalinowski Wyciek Danych w aplikacjachPROIDEA
 
Co Zrobić By PożąDnie Zabezpieczyć Serwer W Sieci
Co Zrobić By PożąDnie Zabezpieczyć Serwer W SieciCo Zrobić By PożąDnie Zabezpieczyć Serwer W Sieci
Co Zrobić By PożąDnie Zabezpieczyć Serwer W Siecibystry
 
C i C++. Bezpieczne programowanie. Receptury
C i C++. Bezpieczne programowanie. RecepturyC i C++. Bezpieczne programowanie. Receptury
C i C++. Bezpieczne programowanie. RecepturyWydawnictwo Helion
 
Co z bezpieczeństwem aplikacji mobilnych? - studium przypadków (KrakWhiteHat ...
Co z bezpieczeństwem aplikacji mobilnych? - studium przypadków (KrakWhiteHat ...Co z bezpieczeństwem aplikacji mobilnych? - studium przypadków (KrakWhiteHat ...
Co z bezpieczeństwem aplikacji mobilnych? - studium przypadków (KrakWhiteHat ...Logicaltrust pl
 
Testowanie bezpieczenstwa aplikacji mobilnych
Testowanie bezpieczenstwa aplikacji mobilnychTestowanie bezpieczenstwa aplikacji mobilnych
Testowanie bezpieczenstwa aplikacji mobilnychSecuRing
 

Similar to Calkiem przyzwoity backup (20)

Podążając śladami użytkownika Windows – elementy informatyki śledczej
Podążając śladami użytkownika Windows –elementy informatyki śledczejPodążając śladami użytkownika Windows –elementy informatyki śledczej
Podążając śladami użytkownika Windows – elementy informatyki śledczej
 
Devops security
Devops securityDevops security
Devops security
 
7
77
7
 
Tworzenie kopii bezpieczeństwa danych
Tworzenie kopii bezpieczeństwa danychTworzenie kopii bezpieczeństwa danych
Tworzenie kopii bezpieczeństwa danych
 
Mts2009 krzysztof binkowski - metody pozyskiwania i zabezpieczania danych w...
Mts2009   krzysztof binkowski - metody pozyskiwania i zabezpieczania danych w...Mts2009   krzysztof binkowski - metody pozyskiwania i zabezpieczania danych w...
Mts2009 krzysztof binkowski - metody pozyskiwania i zabezpieczania danych w...
 
Bezpieczeństwo danych
Bezpieczeństwo danychBezpieczeństwo danych
Bezpieczeństwo danych
 
PHP5. Bezpieczne programowanie. Leksykon kieszonkowy
PHP5. Bezpieczne programowanie. Leksykon kieszonkowyPHP5. Bezpieczne programowanie. Leksykon kieszonkowy
PHP5. Bezpieczne programowanie. Leksykon kieszonkowy
 
Bezpieczenstwo to podstawa
Bezpieczenstwo to podstawaBezpieczenstwo to podstawa
Bezpieczenstwo to podstawa
 
[CONFidence 2016] Artur Kalinowski - Wyciek danych z pespektywy atakującego
[CONFidence 2016] Artur Kalinowski - Wyciek danych z pespektywy atakującego [CONFidence 2016] Artur Kalinowski - Wyciek danych z pespektywy atakującego
[CONFidence 2016] Artur Kalinowski - Wyciek danych z pespektywy atakującego
 
ansible kmonticolo bezlogo
ansible kmonticolo bezlogoansible kmonticolo bezlogo
ansible kmonticolo bezlogo
 
Wyciek danych w aplikacjach - Artur Kalinowski, 4Developers
Wyciek danych w aplikacjach - Artur Kalinowski, 4DevelopersWyciek danych w aplikacjach - Artur Kalinowski, 4Developers
Wyciek danych w aplikacjach - Artur Kalinowski, 4Developers
 
Krytyczne błędy konfiguracji
Krytyczne błędy konfiguracjiKrytyczne błędy konfiguracji
Krytyczne błędy konfiguracji
 
Linux. Bezpieczeństwo. Receptury
Linux. Bezpieczeństwo. RecepturyLinux. Bezpieczeństwo. Receptury
Linux. Bezpieczeństwo. Receptury
 
4Developers: Artur Kalinowski- Wycieki danych w aplikacjach
4Developers: Artur Kalinowski- Wycieki danych w aplikacjach4Developers: Artur Kalinowski- Wycieki danych w aplikacjach
4Developers: Artur Kalinowski- Wycieki danych w aplikacjach
 
4Developers2016: Artur Kalinowski Wyciek Danych w aplikacjach
4Developers2016: Artur Kalinowski Wyciek Danych w aplikacjach4Developers2016: Artur Kalinowski Wyciek Danych w aplikacjach
4Developers2016: Artur Kalinowski Wyciek Danych w aplikacjach
 
Devops/Sysops security
Devops/Sysops securityDevops/Sysops security
Devops/Sysops security
 
Co Zrobić By PożąDnie Zabezpieczyć Serwer W Sieci
Co Zrobić By PożąDnie Zabezpieczyć Serwer W SieciCo Zrobić By PożąDnie Zabezpieczyć Serwer W Sieci
Co Zrobić By PożąDnie Zabezpieczyć Serwer W Sieci
 
C i C++. Bezpieczne programowanie. Receptury
C i C++. Bezpieczne programowanie. RecepturyC i C++. Bezpieczne programowanie. Receptury
C i C++. Bezpieczne programowanie. Receptury
 
Co z bezpieczeństwem aplikacji mobilnych? - studium przypadków (KrakWhiteHat ...
Co z bezpieczeństwem aplikacji mobilnych? - studium przypadków (KrakWhiteHat ...Co z bezpieczeństwem aplikacji mobilnych? - studium przypadków (KrakWhiteHat ...
Co z bezpieczeństwem aplikacji mobilnych? - studium przypadków (KrakWhiteHat ...
 
Testowanie bezpieczenstwa aplikacji mobilnych
Testowanie bezpieczenstwa aplikacji mobilnychTestowanie bezpieczenstwa aplikacji mobilnych
Testowanie bezpieczenstwa aplikacji mobilnych
 

More from Arkadiusz Stęplowski

Landing page prosto z gutenberga (wersja uaktualniona)
Landing page prosto z gutenberga (wersja uaktualniona)Landing page prosto z gutenberga (wersja uaktualniona)
Landing page prosto z gutenberga (wersja uaktualniona)Arkadiusz Stęplowski
 
WordCamp 2016 Najdłuższe wdrożenie świata
WordCamp 2016 Najdłuższe wdrożenie świataWordCamp 2016 Najdłuższe wdrożenie świata
WordCamp 2016 Najdłuższe wdrożenie świataArkadiusz Stęplowski
 
Aleksandra Łączek – Niezbędnik Admina
Aleksandra Łączek – Niezbędnik AdminaAleksandra Łączek – Niezbędnik Admina
Aleksandra Łączek – Niezbędnik AdminaArkadiusz Stęplowski
 
Gdzie są umiejscowione polskie wordpressy
Gdzie są umiejscowione polskie wordpressyGdzie są umiejscowione polskie wordpressy
Gdzie są umiejscowione polskie wordpressyArkadiusz Stęplowski
 
Blaszane pudelko z grami, Mr.Google odpowie
Blaszane pudelko z grami, Mr.Google odpowieBlaszane pudelko z grami, Mr.Google odpowie
Blaszane pudelko z grami, Mr.Google odpowieArkadiusz Stęplowski
 
Cyfrowy świat nas otacza, więc weźmy z niego coś dla siebie
Cyfrowy świat nas otacza, więc weźmy z niego coś dla siebieCyfrowy świat nas otacza, więc weźmy z niego coś dla siebie
Cyfrowy świat nas otacza, więc weźmy z niego coś dla siebieArkadiusz Stęplowski
 
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
 
Kwerenda biblioteczna do pracy licencjackiej
Kwerenda biblioteczna do pracy licencjackiejKwerenda biblioteczna do pracy licencjackiej
Kwerenda biblioteczna do pracy licencjackiejArkadiusz Stęplowski
 

More from Arkadiusz Stęplowski (19)

Wordpress i nagłówki
Wordpress i nagłówkiWordpress i nagłówki
Wordpress i nagłówki
 
Es jak FTPS SFTP
Es jak FTPS SFTPEs jak FTPS SFTP
Es jak FTPS SFTP
 
Landing page prosto z gutenberga (wersja uaktualniona)
Landing page prosto z gutenberga (wersja uaktualniona)Landing page prosto z gutenberga (wersja uaktualniona)
Landing page prosto z gutenberga (wersja uaktualniona)
 
Landing page prosto z gutenberga
Landing page prosto z gutenbergaLanding page prosto z gutenberga
Landing page prosto z gutenberga
 
Jaki hosting pod wordpressa
Jaki hosting pod wordpressaJaki hosting pod wordpressa
Jaki hosting pod wordpressa
 
WordCamp 2016 Najdłuższe wdrożenie świata
WordCamp 2016 Najdłuższe wdrożenie świataWordCamp 2016 Najdłuższe wdrożenie świata
WordCamp 2016 Najdłuższe wdrożenie świata
 
Aleksandra Łączek – Niezbędnik Admina
Aleksandra Łączek – Niezbędnik AdminaAleksandra Łączek – Niezbędnik Admina
Aleksandra Łączek – Niezbędnik Admina
 
Gdzie są umiejscowione polskie wordpressy
Gdzie są umiejscowione polskie wordpressyGdzie są umiejscowione polskie wordpressy
Gdzie są umiejscowione polskie wordpressy
 
Historia i budowa komputera
Historia i budowa komputeraHistoria i budowa komputera
Historia i budowa komputera
 
Cyfrowy świat wprowadzenie
Cyfrowy świat wprowadzenieCyfrowy świat wprowadzenie
Cyfrowy świat wprowadzenie
 
Blaszane pudelko z grami, Mr.Google odpowie
Blaszane pudelko z grami, Mr.Google odpowieBlaszane pudelko z grami, Mr.Google odpowie
Blaszane pudelko z grami, Mr.Google odpowie
 
Cyfrowy świat nas otacza, więc weźmy z niego coś dla siebie
Cyfrowy świat nas otacza, więc weźmy z niego coś dla siebieCyfrowy świat nas otacza, więc weźmy z niego coś dla siebie
Cyfrowy świat nas otacza, więc weźmy z niego coś dla siebie
 
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
 
WordCamp 2011 Informacja Rulez!
WordCamp 2011 Informacja Rulez!WordCamp 2011 Informacja Rulez!
WordCamp 2011 Informacja Rulez!
 
Warszawski quiz biblioteczny
Warszawski quiz bibliotecznyWarszawski quiz biblioteczny
Warszawski quiz biblioteczny
 
Kwerenda biblioteczna do pracy licencjackiej
Kwerenda biblioteczna do pracy licencjackiejKwerenda biblioteczna do pracy licencjackiej
Kwerenda biblioteczna do pracy licencjackiej
 
Dominik Ghirlandaio
Dominik GhirlandaioDominik Ghirlandaio
Dominik Ghirlandaio
 
Wirtualnywydawca.pl analiza wortalu
Wirtualnywydawca.pl analiza wortaluWirtualnywydawca.pl analiza wortalu
Wirtualnywydawca.pl analiza wortalu
 
Historia Bibliotek
Historia BibliotekHistoria Bibliotek
Historia Bibliotek
 

Calkiem przyzwoity backup

  • 1. Całkiem przyzwoity backup Czyli jak robić kopie zapasowe z lekko paranoicznym podejściem do zagadnienia Niedoszły Bibliotekarzprzedstawia: http://am.vj.pl
  • 2. Paranoik Paranoja 1. «choroba psychiczna charakteryzująca się stopniowo pogłębiającymi się logicznie powiązanymi urojeniami, ale bez większych zmian osobowości i bez osłabienia intelektu» 2. pot. «coś absurdalnego, niedorzecznego»
  • 3. Cele robienia kopii bezpieczeństwa •Ochrona danych przed utratą i zniszczeniem •Minimalizacja przerw w działaniu instytucji •Zapewnienie zgodności z narzuconymi wymogami formalnymi np. przez GIODO •Zamrożenie stanu serwisu na dany moment w celu możliwości jego odtworzenia
  • 4. Wymagania dla kopii bezpieczeństwa•Jest aktualna (harmonogram) i odtwarzalna (testy) •Robi się sama, jeżeli się nie wykona, alarmuje odpowiedzialne za jej wykonanie osoby •Jest wiarygodna (bez możliwości ingerencji w dane przez osoby z zewnątrz) •Jest zabezpieczona przed możliwością odczytu przez osoby nieuprawnione
  • 5. Typologia kopii bezpieczeństwa Ze względu na miejsce składowania • lokalna na innym dysku partycji • zdalna na innym zasobie sieciowym • na nośniku wymiennym Ze względu na sposób wykonania • ręczna • automatyczna Ze względu na rodzaj wykonywania • pełna • przyrostowa (pełna + cyklicznie robione przyrosty) • różnicowa (pełna + różnica pomiędzy stanem aktualnym)
  • 6. Zawartość kopii bezpieczeństwa Zrzut zawartości bazy danych (dane z tablic używanych przez daną instalację WordPressa) Zawartość katalogów użytkownika (pliki w upload, pliki w katalogach dodatkowych) Zawartość katalogów systemowych (pliki Wordpressa, pliki wtyczek, pliki motywów)
  • 7. Backup w wersji łatacz sumienia Serwer WWW Na serwer ze WWW Instalujemy, autoryzujemy i konfigurujemy wtyczkę np. „WordPress Backup to Dropbox” Testujemy działanie wtyczki wywołując backup ręcznie Cieszymy się że coś zrobiliśmy dla bezpieczeństwa naszych danych Na Dropbox Zakładamy konto :) Dropbox
  • 8. Łatacz sumienia - dlaczego go nie polecam Np. Arturowi Kurasińskiemu wyciął ¾ plików Nie nadaje się w przypadku gromadzenia danych osobowych Nie mamy wpływu na dostępność i prędkość działania 1. Dropbox 2. Wtyczka do Wordpressa Każda wtyczka jest podatna na wszystkie te same niebezpieczeństwa i problemy co WordPress więc może nie zadziałać Mając dostęp do php można dowolnie modyfikować działanie wtyczki a więc też ingerować w zawartość backupu Może trafić na limity czasu i zasobów php Nie szyfruje danych, nie powiadamia o problemach
  • 9. Backup jako część zewnętrznych usług Gruntowna weryfikacja czy nasze dane są w kolejnej firmie bezpieczne Na ile to poważna / wiarygodna firma Czy instalują backdora żeby mieć dostęp Czy technologia której używają do robienia zdalnego backupu jest bezpieczna (ssh, szyfrowanie backupów, jak składują kopie zapasowe) Kto naprawdę ma dostęp do naszych danych Jakie dają gwarancje bezpieczeństwa / poufności
  • 10. Poziomy wykonywania kopii Sprzęt fizyczny sterowniki urządzeń, RAID System operacyjny Przetwarzanie potokowe Oprogramowanie Rsync, SCP, mysqldump Procesy w oprogramowaniu Wtyczka WordPressa wywołująca PHP działające w Apache
  • 11. Uczestnicy imprezy ”Backup” Serwer WWW Backup_srv Stacja robocza
  • 12. Serwer WWW przygotowanie danych Zrzut zawartości bazy z WordPressem Kopia plików do katalogu roboczego Wygenerowanie skrótów md5 Tworzenie i kompresja paczki do transmisji Szyfrowanie paczki przed wysyłką
  • 13. Serwer WWW przygotowanie danych #cron 15 1 * * * /home/kopista/kopiuj_pakuj.sh ##zawartość kopiuj_pakuj.sh #!/bin/bash mysqldump -u kopista -phasło_kopisty nazwa_bazy > /kopia_zapasowa/nazwa_bazy_kopia.sql cp -r /var/www/* /kopia_zapasowa/ find /kopia_zapasowa -type f -print0 | xargs -0 md5sum > /home/kopista/sumy_kontrolne.md5 tar -zcP - /kopia_zapasowa/ /home/kopista/sumy_kontrolne.md5 | openssl des3 -salt -k hasło:ssl*a | dd of=/home/kopista/w_swiat/paczka.zaszyfrowana
  • 14. Backup_srv pobieranie i przesyłanie danych Serwer WWW Backup_srv Stacja robocza Na Backup_srv •Zassanie paczki z Serwer WWW •W przypadku problemów zapisz błąd do logów powiadom admina •Jeżeli 10, 20, 30 wysłanie paczki na Stacja robocza
  • 15. Backup_srv pobieranie danych #cron * 2 * * * /home/kopista/ciagnij.sh ## zawartość ciagnij.sh #!/bin/bash rsync -avz -e "ssh -i /home/kopista/.ssh/id_rsa" kopista@serwer_www:/home/kopista/w_swiat/ /serwer_www/w_swiat/
  • 16. Backup zapisany można świętować
  • 17.
  • 18. Backup_srv wysyłanie danych 10-ty, … #cron 30 8 10,20,30 * * /home/kopista/pchaj_do_testu.sh ##zawartość pchaj_do_testu.sh #!/bin/bash rsync -avz -e "ssh -i /home/kopista/.ssh/id_rsa" /serwer_www/w_swiat/ tester@stacja_robocza:/home/tester/do_testu
  • 19. Stacja robocza odtwarzanie danych 10-tego , 20-tego, 30-tego: Rozpakowanie i odszyfrowanie paczki z Backup_srv Import zawartości bazy danych z pliku Przekopiowanie pobranych plików w miejsca docelowe
  • 20. Stacja robocza odtwarzanie danych #cron 45 9 10,20,30 * * /home/tester/przygotuj_test.sh ##zawartość przygotuj_test.sh #!/bin/bash cd / dd if=/home/tester/do_testu/paczka.zaszyfrowana | openssl des3 -d -k hasło:ssl*a | tar zxv md5sum -c --quiet /home/kopista/sumy_kontrolne.md5 mysql -u tester -phasło_testera nazwa_bazy < /home/tester/do_testu/kopia_zapasowa/wpdb_kopia.sql cp -r /home/tester/do_testu/kopia_zapasowa/var/www/* /var/www/
  • 21. Z praktyki warto wdrożyć Procedury sprawdzające wykonanie poszczególnych kroków wykonywanego backupu i przekazujące status do bazy danych if błąd wykonania kroku nr 3 then dodaj do bazy ”krok nr 2 ERROR” mail –s ”awaria w kroku nr 3” awaria@admin < /log_z_błędem.log fi if wykonanie kroku nr 3 == OK then dodaj do bazy ”krok nr 2 OK” fi Kilkukrotną iterację wykonania skryptu backupu w przypadku błędu realizacji kroku
  • 22. Warto też wspomnieć o: Samodokumentujacych się nazwach plików 2017-05-03_źródło-backupu.zaszyfrowana Innych automatycznych testach przy odtwarzaniu danych Harmonogramie kasowania nadmiarowych kopii zapasowych Wizualizacji wykonania kopii zapasowej
  • 23. Podsumowanie Na SerwerWWW zgrywamy pliki i zrzucamy bazę danych Dodajemy mechanizm weryfikacyjny Szyfrujemy, pakujemy Backup_srv zaciąga dane // Admini Backup_srv nie mają dostępu do treści danych // Admini SerwerWWW i Stacja robocza nie mają dostępu do Backup_srv Z Backup_srv wysyłamy co 10 backup do testów odtworzeniowych Na Stacja robocza rozpakowujemy backup, weryfikujemy sumy kontrolne, importujemy zawartość bazy danych Uruchamiamy przeglądarkę i porównujemy oczkami stronę
  • 25. Licencja Prezentacja: „ Całkiem przyzwoity backup” autorstwa Niedoszły Bibliotekarz jest udostępniana na licencji Creative Commons Uznanie autorstwa Użycie niekomercyjne Na tych samych warunkach 3.0 Unported License.
  • 26. Linkownia • http://sjp.pwn.pl/szukaj/paranoik.html • http://www.giodo.gov.pl/plik/id_p/1057/j/pl/ • http://www.giodo.gov.pl/144/id_art/1002/j/pl • https://wordpress.org/plugins/wordpress-backup-to-dropbox/ • https://www.facebook.com/akurasinski/posts/75720529769737 4 • https://www.rijksmuseum.nl/en/collection/RP-P-OB-36.293 • http://kochampuszcze.pl/informacje/

Editor's Notes

  1. Weryfikacja md5sum żeby sprawdzić wiarygodność
  2. Weryfikacja md5sum żeby sprawdzić wiarygodność
  3. Weryfikacja md5sum żeby sprawdzić wiarygodność