Bezpieczeństwo systemu e-commerce, czyli jak bez ryzyka ... · systemu e-commerce jest zoone....

21

Transcript of Bezpieczeństwo systemu e-commerce, czyli jak bez ryzyka ... · systemu e-commerce jest zoone....

Page 1: Bezpieczeństwo systemu e-commerce, czyli jak bez ryzyka ... · systemu e-commerce jest zoone. Skada si na nie: bezpieczestwo fizyczne serwerów, na których znajduje si apli-kacja,
Page 2: Bezpieczeństwo systemu e-commerce, czyli jak bez ryzyka ... · systemu e-commerce jest zoone. Skada si na nie: bezpieczestwo fizyczne serwerów, na których znajduje si apli-kacja,

• Kup książkę• Poleć książkę • Oceń książkę

• Księgarnia internetowa• Lubię to! » Nasza społeczność

Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całościlub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione.Wykonywanie kopii metodą kserograficzną, fotograficzną, a także kopiowanieksiążki na nośniku filmowym, magnetycznym lub innym powoduje naruszeniepraw autorskich niniejszej publikacji.

Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymibądź towarowymi ich właścicieli.

Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawartew tej książce informacje były kompletne i rzetelne. Nie biorą jednak żadnejodpowiedzialności ani za ich wykorzystanie, ani za związane z tym ewentualnenaruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELIONnie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłez wykorzystania informacji zawartych w książce.

Autorzy: Leszek Kępa, Paweł Tomasik, Sebastian DobrzyńskiRedaktor prowadzący: Barbara Gancarz-WójcickaProjekt okładki: Jan Paluch

Fotografia na okładce została wykorzystana za zgodą Shutterstock.

Wydawnictwo HELIONul. Kościuszki 1c, 44-100 GLIWICEtel. 32 231 22 19, 32 230 98 63e-mail: [email protected]: http://onepress.pl (księgarnia internetowa, katalog książek)

Drogi Czytelniku!Jeżeli chcesz ocenić tę książkę, zajrzyj pod adreshttp://onepress.pl/user/opinie/bezsecMożesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.

ISBN: 978-83-246-3873-4

Copyright © Helion 2012

Printed in Poland.

Page 3: Bezpieczeństwo systemu e-commerce, czyli jak bez ryzyka ... · systemu e-commerce jest zoone. Skada si na nie: bezpieczestwo fizyczne serwerów, na których znajduje si apli-kacja,

SPIS TRE�CI

PRZEDMOWA 9

WST�P 15Podstawowe informacje o e-commerce 18

Czego chc� cyberprzest�pcy? 21

Podstawy bezpiecze�stwa 24

1. PRAWO WOBEC E-COMMERCE 33Jakie prawo dotyczy e-handlu? 34

Regulamin serwisu 37

wiadcz�c us�ugi drog� elektroniczn� 54

Przetwarzanie danych osobowych 57

Zawarcie umowy mi�dzy stronami 60

O czym nale�y informowa� 65

Kodeks spó�ek handlowych 72

Prawo wobec cyberprzest�pców 72

2. BEZPIECZE�STWO OGÓLNE 77Informacje o systemie 78

Zapasowe kopie danych 82

3. BEZPIECZNY HOSTING 89Hosting czy w�asny serwer? 89

DirectAdmin 90

4. ZABEZPIECZENIA SERWERA WWW 97Zabezpieczenia hosta 98

Zabezpieczenia Apache 102

Page 4: Bezpieczeństwo systemu e-commerce, czyli jak bez ryzyka ... · systemu e-commerce jest zoone. Skada si na nie: bezpieczestwo fizyczne serwerów, na których znajduje si apli-kacja,

6 | B E Z P I E C Z E � S T W O S Y S T E M U E - C O M M E R C E

Konfiguracja PHP 108

Zabezpieczenie kodu PHP 116

Przegl�danie logów 117

Obs�uga komunikatów 403, 404 etc. 118

Zabezpieczanie plików konfiguracyjnych 119

Tripwire 120

Obrona przed atakami DoS — Fail2ban 122

5. BAZA DANYCH 125Po��czenie z baz� 128

Szyfrowanie danych 130

6. BEZPIECZNA TRANSMISJA DANYCH 133Dlaczego warto szyfrowa�? 136

Szyfrowanie komunikacji webowej 137

A je�li nie ma szans na SSL? 153

Komunikacja przez e-mail 154

Administrowanie poprzez sie� 156

Integralno�� danych podczas transmisji 159

7. IDENTYFIKACJA STRON W BIZNESIE 165Wiarygodny sprzedawca 166

Zidentyfikowany u�ytkownik 168

8. KONTA I HAS�A 177Data wprowadzenia danych 177

Hasz zamiast has�a 179

Provisioning — zak�adanie konta 184

Cookies 185

Sesje w aplikacji 189

Sprawdzanie, czy po��czenie odbywa si� „po SSL” 195

Autoryzacja transakcji 196

9. ZABEZPIECZENIA KODU APLIKACJI 197Specyfika j�zyka 198

Jak przesy�a� dane — GET czy POST? 198

Walidowanie danych przesy�anych do serwera 201

Zabezpieczenia przed automatami 208

Page 5: Bezpieczeństwo systemu e-commerce, czyli jak bez ryzyka ... · systemu e-commerce jest zoone. Skada si na nie: bezpieczestwo fizyczne serwerów, na których znajduje si apli-kacja,

S P I S T R E � C I | 7

SQL injection 212

File inclusions 222

Ataki XSS 226

Ataki CSRF i XSRF 230

HTTP_REFERER 232

Badanie kodu PHP 233

10. KODOWANIE DANYCH 235

ZAKO�CZENIE 239

O AUTORACH 240

Page 6: Bezpieczeństwo systemu e-commerce, czyli jak bez ryzyka ... · systemu e-commerce jest zoone. Skada si na nie: bezpieczestwo fizyczne serwerów, na których znajduje si apli-kacja,

8 | B E Z P I E C Z E � S T W O S Y S T E M U E - C O M M E R C E

Page 7: Bezpieczeństwo systemu e-commerce, czyli jak bez ryzyka ... · systemu e-commerce jest zoone. Skada si na nie: bezpieczestwo fizyczne serwerów, na których znajduje si apli-kacja,

Rozdzia� 2.

BEZPIECZE�STWO OGÓLNE

Wspomnieli�my ju� wcze�niej, �e zagadnienie bezpieczestwa

systemu e-commerce jest z�o�one. Sk�ada si� na nie:

� bezpiecze�stwo fizyczne serwerów, na których znajduje si� apli-

kacja, serwer WWW, baza danych itd.;

� zabezpieczenie systemów operacyjnych, w których s� zainsta-

lowane aplikacja, serwer WWW i baza danych;

� takie bezpiecze�stwo transmisji, aby danych w trakcie przesy-

�ania nikt nie pods�ucha� ani nie zmieni�;

� bezpiecze�stwo serwera DNS i domeny — to, �eby nikt nie

ukrad� „nazwy internetowej” serwisu ani nie przekierowa� ruchu

do innego, podrobionego systemu;

� bezpiecze�stwo aplikacji, a wi�c takie jej utworzenie, aby nie

mo�na by�o ni� manipulowa�;

� ci�g�o�� dzia�ania, tj. takie zorganizowanie systemu i uzyskanie

takiej jego odporno�ci, aby nawet mimo ataku móg� on dalej

funkcjonowa� lub wznowi� aktywno��;

� bezpiecze�stwo organizacyjne, czyli procesy zwi�zane z admi-

nistrowaniem aplikacj�, zarz�dzanie zmianami i wszystko to,

co jest dooko�a systemu, a ma na niego (znacz�cy) wp�yw;

� bezpiecze�stwo prawne, a wi�c zarz�dzanie stanem zgodno�ci

z prawem.

Page 8: Bezpieczeństwo systemu e-commerce, czyli jak bez ryzyka ... · systemu e-commerce jest zoone. Skada si na nie: bezpieczestwo fizyczne serwerów, na których znajduje si apli-kacja,

7 8 | B E Z P I E C Z E � S T W O S Y S T E M U E - C O M M E R C E

Tutaj chcemy przedstawi� najogólniejsze zagadnienia zwi�za-

ne z bezpiecze�stwem systemu e-commerce.

INFORMACJE O SYSTEMIE

Zapewne nieraz si� zastanawia�e�, jak to si� dzieje, �e haker w ko�cu

„dopada” okre�lon� witryn�. Mog� by� tego dwa g�ówne powody.

Pierwszy mo�e by� taki, �e witryna jest s�abo zabezpieczona i stanowi

dla hakera �atwy �up — b�dzie on móg� jej zhakowanie wpisa� do

ewidencji swoich sukcesów. Drugi to celowy atak na w�a�nie ten,

a nie inny serwis. Na pewno jednak nieod��cznym elementem

ka�dego ataku jest rekonesans, czyli rozpoznanie. Odbywa si� to

zupe�nie tak jak w „realu” — zanim z�odziej przyst�pi do dzia�ania,

obserwuje i zbiera informacje. Ka�da informacja mo�e by�

dla hakera przydatna, a szczególnie o:

� systemie operacyjnym (rodzaj, wersja, uruchomione programy

i us�ugi);

� bazie danych (rodzaj i wersja);

� kodzie aplikacji;

� chronionych cz��ciach aplikacji;

� konfiguracji i zabezpieczeniach systemu.

Znajomo�� wersji oprogramowania pozwala hakerowi znale�

luki w zabezpieczeniach — przy odrobinie szcz��cia mo�e on trafi�

na wersj�, w której nie zosta�y one za�atane. Do wyszukania luk za-

bezpiecze� w okre�lonej wersji oprogramowania haker mo�e u�y�

np. bazy CVE1. Ty z niej korzystasz, aby wiedzie�, co jest dziurawe,

i �eby to zaktualizowa�, a cyberprzest�pcy u�ywaj� jej, aby mie� in-

formacje o tym, jakie systemy (i jakie ich wersje) „choruj�”, s� po-

datne na atak.

1 https://cve.mitre.org/

Page 9: Bezpieczeństwo systemu e-commerce, czyli jak bez ryzyka ... · systemu e-commerce jest zoone. Skada si na nie: bezpieczestwo fizyczne serwerów, na których znajduje si apli-kacja,

B E Z P I E C Z E � S T W O O G Ó L N E | 7 9

Wiedza o rodzaju bazy danych pozwala z kolei dostosowa� ata-

ki polegaj�ce na wstrzykiwaniu kodu SQL — ju� sama ta informacja

jest istotna, bo niektóre ataki s� specyficzne dla rodzaju bazy da-

nych, np. dzia�aj� w przypadku PostgreSQL, ale nie z MySQL.

Nawet rodzaj j�zyka, w którym napisano aplikacj�, ma znaczenie.

Sprawdmy, jak mo�e wygl�da� atak cyberprzest�pcy, który

dla zabawy chce spróbowa� swoich si� w hackingu. Pierwsze, co mo�e

on zrobi�, to wpisanie w wyszukiwarce ci�gu sql dorks. Oto przy-

k�adowe ci�gi tego typu:

allinurl:showimg.php?id=allinurl:view.php?id=allinurl:website.php?id=allinurl:hosting_info.php?id=allinurl:gallery.php?id=

Haker kopiuje i wkleja jeden z nich do wyszukiwarki, a nast�pnie

otwiera strony b�d�ce wynikami wyszukiwania i przeprowadza re-

konesans. Naj�atwiej jest zacz�� od sprawdzenia, czy dany ci�g (okre-

�lany mianem SQL dorka) zadzia�a. Przyk�adowo http://www.

witryna.com/gallery.php?id=1 zawiera SQL dork gallery.php?id=.

Wystarczy w pasku adresowym na ko�cu doda� znak apostrofu

i w wyniku otrzymujemy:

Fatal error: Uncaught exception 'Exception' with message 'SQL Queryfailed: SELECT image,title,location,description,height,width fromtblSCAImages WHERE id=83\\\'You have an error in your SQL syntax; checkthe manual that corresponds to your MySQL server version for the rightsyntax to use near '\\\'' at line 1' in/home/sca/wwwlib/gallery_lib.php:16 Stack trace: #0/home/sca/www/gallery.php(21): sca_gallery_get_image_meta('83\'') #1{main} thrown in /home/sca/wwwlib/gallery_lib.php on line 16

Mamy tu informacje o b��dach i ju� co� wiemy o witrynie —

wiemy, �e jest to MySQL, a tak�e o nazwach tabel i ich kolumn,

o funkcjach PHP, a nawet o systemie plików. To si� przyda.

Sprawdmy, jak witryna internetowa zareaguje na wpisanie b��dnego

Page 10: Bezpieczeństwo systemu e-commerce, czyli jak bez ryzyka ... · systemu e-commerce jest zoone. Skada si na nie: bezpieczestwo fizyczne serwerów, na których znajduje si apli-kacja,

8 0 | B E Z P I E C Z E � S T W O S Y S T E M U E - C O M M E R C E

adresu strony http://www.witryna.com/coscokolwiek. Tu te� otrzy-

mujemy komunikat:

Not Found

The requested URL /coscokolwiek was not found on this server.Apache/2.2.3 (CentOS) Server at www.allspeedperformance.com Port 80

Znamy ju� wersj� serwera Apache. Zobaczmy jeszcze, jakie

cz��ci witryny s� chronione. Wpiszmy http://www.witryna.com/

robots.txt. Otrzymamy:

User-agent: *Disallow: /checkout/

To tylko przyk�ad tego, jak mo�na zacz��. Dalej mo�na „grze-

ba�” w cookies, u�y� programu sqlmap, r�cznie wstrzykiwa� kod…

Mo�liwo�ci jest wiele. To pokazuje, �e ujawnianie zbyt wielu infor-

macji mo�e dzia�a� na szkod� systemu, bo pozwala przeprowadzi�

rekonesans. Dla hakera mo�e by� przydatna w zasadzie ka�da infor-

macja, zadbaj wi�c o to, aby nie wypuszcza� na zewn�trz komuni-

katów o b��dach wraz z ich detalami oraz informacjami o wersji

oprogramowania. Pozwala to hakerowi odnale� s�abe punkty da-

nej wersji.

Jak wprowadzi� hakera w b�d

Uwa�amy, �e skoro podstaw� ataków jest rekonesans, to mo�e warto

atakuj�cego wyprowadzi� w pole. Gdy wida� wyranie, �e co� jest

porz�dnie chronione, to pewnie jest warte tego, aby to ukra��.

Mo�na to wykorzysta� do stworzenia pu�apki na cyberprzest�pc�.

B�dzie on d�ugo �ama� zabezpieczenia, aby w efekcie uzyska� do-

st�p do nic nie wartych informacji lub uruchomi� alarm informuj�cy,

�e dzieje si� co� z�ego. Takie rozwi�zanie nazywa si� z angielskiego

honeypot. Tak� pu�apk� mo�na przyk�adowo zastawi�, korzystaj�c

z pliku robots.txt, który s�u�y do zezwalania na indeksowanie lub

Page 11: Bezpieczeństwo systemu e-commerce, czyli jak bez ryzyka ... · systemu e-commerce jest zoone. Skada si na nie: bezpieczestwo fizyczne serwerów, na których znajduje si apli-kacja,

B E Z P I E C Z E � S T W O O G Ó L N E | 8 1

do wykluczania z indeksowania tych cz��ci witryny, na których

przeszukiwanie nie chcemy pozwoli� tzw. robotom (np. botowi in-

deksuj�cemu strony dla Google). Plik ten znajduje si� w roocie (ka-

talogu g�ównym) witryny, np. http://ecommerce/robots.txt. Mo�na

go u�y� do zmylenia przeciwnika, wpisuj�c w nim fa�szywe odnie-

sienia, a nast�pnie monitorowa� te fa�szywie podstawione punkty.

User-agent: *Crawl-delay: 10Disallow: /strona_administracyjna/Disallow: /admin_password.txt

Inn� mo�liwo�ci� „wkr�cania” atakuj�cego jest wprowadzanie go

w b��d co do wykorzystanego oprogramowania. Przyk�adowo po

zmianie rozszerzenia i nag�ówków kod PHP mo�e udawa� inny kod:

<?phperror_reporting(0);header("X-Powered-By: ASP.NET");?>

Nale�y wtedy jeszcze pami�ta�, aby korzystaj�c z session_name(),

ustawi� nazw� sesji na przyk�ad na SessionID, poniewa� domy�lne

PHPSESSID od razu wskazuje na PHP.

Rewrite

Parametry kategorii, subkategorii i rozmaitych podstron wyst�puj�ce

w adresie URL mo�na z �atwo�ci� ukry�, korzystaj�c z mod_rewrite2.

Je�li Twój system prezentuje adres w postaci http://strona/news.

php?kategoria=10&rodzaj=4, to mo�na to zmieni�, zapisuj�c przy-

k�adowo w .htaccess3 na serwerze nast�puj�cy ci�g:

2 Coraz cz��ciej pojawiaj� si� opinie, �e modu� ten umiarkowanie wp�ywa

na bezpiecze�stwo, dlatego trzeba mie� zainstalowan� aktualn� wersj�

i stosowa� go ostro�nie.3 Nazwa pliku .htaccess zaczyna si� od kropki. Obecno�� kropki na po-

cz�tku nazwy pliku (lub folderu) oznacza, �e jest to plik (folder) ukryty.

Page 12: Bezpieczeństwo systemu e-commerce, czyli jak bez ryzyka ... · systemu e-commerce jest zoone. Skada si na nie: bezpieczestwo fizyczne serwerów, na których znajduje si apli-kacja,

8 2 | B E Z P I E C Z E � S T W O S Y S T E M U E - C O M M E R C E

RewriteEngine OnRewriteRule ^([a-z0-9-_]+),([a-z0-9-_]+),([a-z0-9-_]+).html$$1.php?kategoria=$2&rodzaj=$3 [L,NC,NS]

Zmienne $ z cyfr� odpowiadaj� poszczególnym nawiasom regu�-

ki, natomiast ^ rozpoczyna, a $ ko�czy wyra�enie regularne. Jesz-

cze ciekawszy wydaje si� zapis

RewriteRule ^artykul/([0-9]+)_(.*)\.html$ articles.php?id=$1

W tym przyk�adzie /artykul/24_wielka_wojna i /artykul/24_protesty_

�acta zostan� zamienione na /articles.php?id=24 (odniesienie $2

jest ignorowane). Jak widzisz, je�li dobrze wykorzystasz ten modu�,

to ci�gi sql-dork nie b�d� w serwisie widoczne.

ZAPASOWE KOPIE DANYCH

Znamy osoby, które pisz�c prac� magistersk�, nie wykona�y zapa-

sowej kopii danych. Po stracie plików (pó�rocznej pracy) musia�y

napisa� j� w ci�gu miesi�ca. W takich przypadkach zwykli�my

�artowa�, �e ludzie dziel� si� na tych, którzy robi� kopie za-

pasowe, i na tych, którzy b�d� je robi�. Bezpowrotna utrata

danych jest jedn� z najgorszych rzeczy, jakie si� mog� przedsi�-

biorcy przydarzy� — mo�e to prowadzi� nawet do bankructwa. Skra-

dzione komputery mo�na kupi�, a danych niestety nie. W tej materii

�wiadomo�� nie jest jednak zbyt wysoka, a sam temat kopii zapaso-

wych (zwanych backupami) staje si� wa�ny dopiero wtedy, gdy co�

si� wydarzy. Tak samo jest w przypadku systemów e-commerce,

szczególnie tych ma�ych i �rednich. Tymczasem ci�g�y i poprawny

proces wykonywania kopii zapasowych oraz testowania, czy da si�

z nich odtworzy� dane konieczne do prowadzenia biznesu, pozwala

zminimalizowa� ryzyko ich bezpowrotnej utraty. Wiedz� to bez

w�tpienia ci, którzy interesuj� si� zagadnieniami zachowania ci�-

g�o�ci dzia�ania (tzw. BCM4).

4 BCM — ang. business continuity management.

Page 13: Bezpieczeństwo systemu e-commerce, czyli jak bez ryzyka ... · systemu e-commerce jest zoone. Skada si na nie: bezpieczestwo fizyczne serwerów, na których znajduje si apli-kacja,

B E Z P I E C Z E � S T W O O G Ó L N E | 8 3

W jakiej sytuacji kopia danych mo�e si� przyda�? Chyba najle-

piej odpowiedzie�, �e w ka�dej:

� awaria urz�dze� (najcz��ciej ulegaj� jej no�niki danych — dys-

ki twarde);

� b��d ludzki, czyli utrata danych w wyniku niecelowego dzia�a-

nia pracownika (co� si� niechc�cy usun��o);

� sabota� — utrata danych w wyniku celowego szkodliwego

dzia�ania na przyk�ad niezadowolonego pracownika;

� dzia�anie wirusów (oprogramowania z�o�liwego), których celem

mo�e by� usuni�cie b�d zaszyfrowanie danych, aby uniemo�-

liwi� do nich dost�p;

� atak hakerów, czyli celowe usuni�cie, zmodyfikowanie czy znisz-

czenie danych.

� kradzie� sprz�tu i utrata no�ników danych;

� zdarzenie losowe — uszkodzenie sprz�tu w wyniku przepi�cia,

zalania itp.

Jedno z praw Murphy’ego mówi, �e je�li co� mo�e pój�� �le, to

z pewno�ci� pójdzie �le, wi�c nie ma co liczy�, �e nic si� nie zda-

rzy. Na pewno si� zdarzy — to tylko kwestia czasu.

Co nale�y backupowa�?

Przede wszystkim wykonuje si� kopie zapasowe danych bizneso-

wych. B�d� to bazy danych, pliki i katalogi serwisu e-commerce.

W przypadku hostingu zajmuje si� tym hostingodawca, ale je�li ser-

wery s� w ca�o�ci pod Twoim w�adaniem, to zadanie to spada na

Ciebie (rysunek 2.1).

Je�li zarz�dzasz ca�ym systemem, niezb�dny b�dzie backup

konfiguracji aplikacji, bazy danych, systemów operacyjnych czy

te� urz�dze� sieciowych.

Page 14: Bezpieczeństwo systemu e-commerce, czyli jak bez ryzyka ... · systemu e-commerce jest zoone. Skada si na nie: bezpieczestwo fizyczne serwerów, na których znajduje si apli-kacja,

8 4 | B E Z P I E C Z E � S T W O S Y S T E M U E - C O M M E R C E

Rysunek 2.1. Hosting — mo�liwo�� wykonania samodzielniebackupu z poziomu panelu hostingowego (DirectAdmin)

To, jak cz�sto nale�y wykonywa� zapasow� kopi� danych biz-

nesowych, zale�y od systemu i jego specyfiki. Trzeba odpowiedzie�

sobie na pytanie o to, z jakiego okresu dane mog� zosta� utracone.

Je�li serwis jest ma�o aktywny, to zapasowa kopia danych wyko-

nywana raz na tydzie� te� mo�e by� dobra, jednak w przypadku

aktywnych systemów na pewno powinna ona by� tworzona co-

dziennie. Pami�taj, �e serwisy pracuj�ce w klastrze to nie

backup; nie stanowi go te� np. disk mirroring.

Dane dotycz�ce konfiguracji mo�na backupowa� nieco rza-

dziej, ale nale�y to robi� przed ka�d� zmian� i po niej.

Page 15: Bezpieczeństwo systemu e-commerce, czyli jak bez ryzyka ... · systemu e-commerce jest zoone. Skada si na nie: bezpieczestwo fizyczne serwerów, na których znajduje si apli-kacja,

B E Z P I E C Z E � S T W O O G Ó L N E | 8 5

Je�li chodzi o hosting, to wi�kszo�� hostingodawców — je�li nie

wszyscy — tworzy zapasowe kopie danych i udost�pnia je u�yt-

kownikowi (rysunek 2.2).

Rysunek 2.2. Backup danych dost�pny w us�udze hostingu

W wi�kszo�ci przypadków dost�pny jest tak�e backup na ��-

danie. Przydaje si� on na przyk�ad przed dokonaniem w serwisie

istotnych zmian, które s� na tyle ryzykowne, �e lepiej zapewni�

sobie kopi�. Operacj� tak� jest cho�by aktualizacja systemu czy

zmiana struktury bazy danych. System informatyczny to nie cz�o-

wiek — wi�kszo�ci operacji nie powinno si� wykonywa� na „�y-

wym organizmie”.

Kopia zapasowa mo�e by� niewiele warta, je�eli oka�e si�, �e

zosta�a nieprawid�owo wykonana, dlatego okresowo nale�y spraw-

dza�, czy w kopii zapisane s� potrzebne dane i czy da si� je odtwo-

rzy�. Za bardzo wa�ne uwa�amy to, aby backup by� przechowywany

tak�e poza siedzib� firmy, nawet w domu, je�li zostan� zapewnione

odpowiednie warunki. Dzi�ki temu w przypadku du�ej awarii b�dzie

Page 16: Bezpieczeństwo systemu e-commerce, czyli jak bez ryzyka ... · systemu e-commerce jest zoone. Skada si na nie: bezpieczestwo fizyczne serwerów, na których znajduje si apli-kacja,

8 6 | B E Z P I E C Z E � S T W O S Y S T E M U E - C O M M E R C E

mo�liwe szybkie odtworzenie systemu na przyk�ad na innym sprz�cie

i (lub) w innej lokalizacji.

Kopia zapasowa danych zawiera wszystko to, co jest w orygi-

nalnym �rodowisku e-commerce, wi�c mog�aby by� cenn� zdoby-

cz� dla konkurencji. W zwi�zku z tym backup powinien by� chro-

niony na poziomie nie ni�szym ni� sam system e-commerce.

Dost�p do niego powinny mie� tylko wybrane osoby. Dobrze by by�o,

aby dane na no�nikach by�y szyfrowane, szczególnie je�eli maj�

by� one przechowywane w domu. Zapewnienie tego jest akurat

proste, bo ca�y backup mo�na zabezpieczy� has�em:

~# gpg -c backup.tar #zaszyfrowanie~# gpg backup.tar.gpg #odszyfrowanie

Nawiasem mówi�c, polecenie gpg domy�lnie kompresuje dane

przed szyfrowaniem. Wystarczaj�ce jest te� spakowanie danych do

pliku ZIP i zabezpieczenie go has�em. Dzi�ki temu jest ma�e ryzy-

ko, �e dane, za pomoc� których mo�na by utworzy� „duplikat fir-

my”, wpadn� w niepowo�ane r�ce.

Warto te� zauwa�y�, �e do zabezpieczania plików mo�na u�y�

pakietu openssl. Przyk�adem s� nast�puj�ce polecenia do szyfro-

wania i (póniej) odszyfrowywania danych:

~# openssl aes-128-cbc -salt -in plik.tar -out plik.tar.aesenter aes-128-cbc encryption password:Verifying - enter aes-128-cbc encryption password:~# openssl aes-128-cbc -d -salt -in plik.tar.aes -out plik.tar

Mo�na te� zrobi� to nieco inaczej — „starowa�” katalog, spa-

kowa� do pliku ZIP, póniej zaszyfrowa�:

~# tar -zcf - caly_katalog | openssl aes-128-cbc -salt -outcaly_katalog.tar.gz.aes

a w ko�cu odszyfrowa�:

~# openssl aes-128-cbc -d -salt -in caly_katalog.tar.gz.aes | tar -xz -f-

Page 17: Bezpieczeństwo systemu e-commerce, czyli jak bez ryzyka ... · systemu e-commerce jest zoone. Skada si na nie: bezpieczestwo fizyczne serwerów, na których znajduje si apli-kacja,

B E Z P I E C Z E � S T W O O G Ó L N E | 8 7

Nie zalecamy u�ywania opcji -k "has�o" po wyra�eniu aes-128-cbc

— wtedy co prawda unikamy interaktywnego pytania o has�o, ale

prowadzi to do zapisania go na przyk�ad w pliku .history5. Mo�na

te� u�y� aes-256-cbc zamiast aes-128-cbc, je�li jest potrzebne silniejsze

szyfrowanie, ale naszym zdaniem rzadko kiedy jest to konieczne.

Mówili�my o backupie wszystkich danych, ale mo�e si� te�

zdarzy�, �e pracuj�c na pojedynczych plikach (np. kodzie PHP),

b�dziesz w trakcie ich modyfikacji tworzy� podr�czne kopie zapaso-

we. Chodzi nam o �ywy organizm, tj. dzia�aj�cy system e-commerce.

Przyk�adowo edytuj�c plik dbconnect.inc, mo�esz zrobi� kopi� te-

go pliku i zapisa� j� jako dbconnect.inc.old. Jest to bardzo niebez-

pieczne, gdy� mo�e si� okaza�, �e o ile pliki *.inc serwer mo�e bloko-

wa� przy u�yciu dyrektywy <Files "*.inc">, to mo�e tego nie robi� dla

plików *.old czy *.backup. Wtedy atakuj�cy b�dzie móg� je odczyta�

przez przegl�dark�, wpisuj�c na przyk�ad adres http://ecommerce/

dbconnect.inc.old. Powiniene� wi�c doda� do konfiguracji webserwe-

ra odpowiedni� dyrektyw� i konsekwentnie trzyma� si� nazewnic-

twa takich „backupów” tymczasowych (podr�cznych).

Backup hase�

Has�o mo�na zapomnie�, wi�c je te� warto w pewien sposób bac-

kupowa�, czyli zapisywa�. Najlepiej u�y� to tego oprogramowania

— nie zalecamy przechowywania hase� w postaci jawnej w note-

sach, na „�ó�tych karteczkach” etc. Korzy�ci zwi�zane z ich zapi-

sywaniem z u�yciem elektronicznego sejfu s� do�� du�e — mo�esz

tworzy� unikalne, z�o�one has�a dla ka�dego serwisu i nie przej-

mowa� si� tym, �e je zapomnisz. Elektroniczny sejf to po prostu

zaszyfrowany plik z has�ami; pisali�my ju� wcze�niej o programie

KeePass. Musisz mie� jego backup! Najlepiej mie� ich kilka

5 W pliku .history przechowywana jest historia wszystkich polece� wy-

dawanych w oknie terminalu.

Page 18: Bezpieczeństwo systemu e-commerce, czyli jak bez ryzyka ... · systemu e-commerce jest zoone. Skada si na nie: bezpieczestwo fizyczne serwerów, na których znajduje si apli-kacja,

8 8 | B E Z P I E C Z E � S T W O S Y S T E M U E - C O M M E R C E

i w ró�nych miejscach — wtedy prawdopodobie�stwo jednocze-

snej utraty ich wszystkich jest niewielkie.

Piszemy o tym, bo przy tworzeniu has�a na przyk�ad do po��-

czenia z baz� systemu e-commerce niekiedy brakuje nam fantazji.

KeePass „wymy�li” has�o za Ciebie (rysunek 2.3), a poniewa� jed-

nocze�nie je zachowa, nie b�dziesz musia� przejmowa� si� tym,

jakie ono jest, i b�dziesz móg� pozwoli� sobie na to, by by�o hard-

core’owe — d�ugie i wr�cz niemo�liwe do zapami�tania. Zalecamy,

aby tworzy� z u�yciem tego programu przede wszystkim has�a

administracyjne (a najlepiej wszystkie).

Rysunek 2.3. Generowanie hase� przy u�yciu programu KeePass

Na koniec warto jeszcze wspomnie� o tym, �e plik z has�ami

powinien by� zabezpieczony porz�dnym has�em i przechowywany

poza serwerem, na którym znajduje si� Twoja aplikacja.

Page 19: Bezpieczeństwo systemu e-commerce, czyli jak bez ryzyka ... · systemu e-commerce jest zoone. Skada si na nie: bezpieczestwo fizyczne serwerów, na których znajduje si apli-kacja,
Page 21: Bezpieczeństwo systemu e-commerce, czyli jak bez ryzyka ... · systemu e-commerce jest zoone. Skada si na nie: bezpieczestwo fizyczne serwerów, na których znajduje si apli-kacja,