biznes i ekonomia bezpieczenstwo systemu e commerce czyli jak bez ryzyka prowadzic biznes w internecie leszek kepa ebook

background image
background image

Kup książkę

Poleć książkę

Oceń książkę

Księgarnia internetowa

Lubię to! » Nasza społeczność

:V]HONLHSUDZD]DVWU]HĪRQH1LHDXWRU\]RZDQHUR]SRZV]HFKQLDQLHFDáRĞFL

OXEIUDJPHQWXQLQLHMV]HMSXEOLNDFMLZMDNLHMNROZLHNSRVWDFLMHVW]DEURQLRQH

:\NRQ\ZDQLHNRSLLPHWRGąNVHURJUDILF]QąIRWRJUDILF]QąDWDNĪHNRSLRZDQLH

NVLąĪNLQDQRĞQLNXILOPRZ\PPDJQHW\F]Q\POXELQQ\PSRZRGXMHQDUXV]HQLH

SUDZDXWRUVNLFKQLQLHMV]HMSXEOLNDFML

:V]\VWNLH]QDNLZ\VWĊSXMąFHZWHNĞFLHVą]DVWU]HĪRQ\PL]QDNDPLILUPRZ\PL

EąGĨWRZDURZ\PLLFKZáDĞFLFLHOL

$XWRURUD]:\GDZQLFWZR+(/,21GRáRĪ\OLZV]HONLFKVWDUDĔE\]DZDUWH

ZWHMNVLąĪFHLQIRUPDFMHE\á\NRPSOHWQHLU]HWHOQH1LHELRUąMHGQDNĪDGQHM

RGSRZLHG]LDOQRĞFLDQL]DLFKZ\NRU]\VWDQLHDQL]D]ZLą]DQH]W\PHZHQWXDOQH

QDUXV]HQLHSUDZSDWHQWRZ\FKOXEDXWRUVNLFK$XWRURUD]:\GDZQLFWZR+(/,21

QLHSRQRV]ąUyZQLHĪĪDGQHMRGSRZLHG]LDOQRĞFL]DHZHQWXDOQHV]NRG\Z\QLNáH

]Z\NRU]\VWDQLDLQIRUPDFML]DZDUW\FKZNVLąĪFH

$XWRU]\/HV]HN.ĊSD3DZHá7RPDVLN6HEDVWLDQ'REU]\ĔVNL

5HGDNWRUSURZDG]ąF\%DUEDUD*DQFDU]:yMFLFND

3URMHNWRNáDGNL-DQ3DOXFK

)RWRJUDILDQDRNáDGFH]RVWDáDZ\NRU]\VWDQD]D]JRGą6KXWWHUVWRFN

:\GDZQLFWZR+(/,21

XO.RĞFLXV]NLF*/,:,&(

WHO

HPDLORQHSUHVV#RQHSUHVVSO

:::KWWSRQHSUHVVSONVLĊJDUQLDLQWHUQHWRZDNDWDORJNVLąĪHN

'URJL&]\WHOQLNX

-HĪHOLFKFHV]RFHQLüWĊNVLąĪNĊ]DMU]\MSRGDGUHV

KWWSRQHSUHVVSOXVHURSLQLHEH]VHF

0RĪHV]WDPZSLVDüVZRMHXZDJLVSRVWU]HĪHQLDUHFHQ]MĊ

,6%1

&RS\ULJKW‹+HOLRQ

3ULQWHGLQ3RODQG

background image

SPIS TRE"CI

PRZEDMOWA

9

WST P

15

Podstawowe informacje o e-commerce

18

Czego chc$ cyberprzest%pcy?

21

Podstawy bezpiecze(stwa

24

1. PRAWO WOBEC E-COMMERCE

33

Jakie 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 nale1y informowa2

65

Kodeks spó,ek handlowych

72

Prawo wobec cyberprzest%pców

72

2.

BEZPIECZE#STWO OGÓLNE

77

Informacje o systemie

78

Zapasowe kopie danych

82

3.

BEZPIECZNY HOSTING

89

Hosting czy w,asny serwer?

89

DirectAdmin

90

4.

ZABEZPIECZENIA SERWERA WWW

97

Zabezpieczenia hosta

98

Zabezpieczenia Apache

102

Kup ksi

ąĪkĊ

Pole

ü ksiąĪkĊ

background image

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

125

Po,$czenie z baz$

128

Szyfrowanie danych

130

6.

BEZPIECZNA TRANSMISJA DANYCH

133

Dlaczego warto szyfrowa2?

136

Szyfrowanie komunikacji webowej

137

A je;li nie ma szans na SSL?

153

Komunikacja przez e-mail

154

Administrowanie poprzez sie2

156

Integralno;2 danych podczas transmisji

159

7.

IDENTYFIKACJA STRON W BIZNESIE

165

Wiarygodny sprzedawca

166

Zidentyfikowany u1ytkownik

168

8. KONTA I HAS$A

177

Data 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

197

Specyfika j%zyka

198

Jak przesy,a2 dane — GET czy POST?

198

Walidowanie danych przesy,anych do serwera

201

Zabezpieczenia przed automatami

208

Kup ksi

ąĪkĊ

Pole

ü ksiąĪkĊ

background image

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

Kup ksi

ąĪkĊ

Pole

ü ksiąĪkĊ

background image

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

Kup ksi

ąĪkĊ

Pole

ü ksiąĪkĊ

background image

Rozdzia6 2.

BEZPIECZE%STWO OGÓLNE

Wspomnieli;my ju1 wcze;niej, 1e zagadnienie bezpiecze;stwa
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, 1eby 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

mo1na by,o ni$ manipulowa2;

ci$g,o;2 dzia,ania, tj. takie zorganizowanie systemu i uzyskanie

takiej jego odporno;ci, aby nawet mimo ataku móg, on dalej
funkcjonowa2 lub wznowi2 aktywno;2;

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.

Kup ksi

ąĪkĊ

Pole

ü ksiąĪkĊ

background image

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 przedstawi2 najogólniejsze zagadnienia zwi$za-

ne z bezpiecze(stwem systemu e-commerce.

INFORMACJE O SYSTEMIE

Zapewne nieraz si% zastanawia,e;, jak to si% dzieje, 1e haker w ko(cu
„dopada” okre;lon$ witryn%. Mog$ by2 tego dwa g,ówne powody.
Pierwszy mo1e by2 taki, 1e witryna jest s,abo zabezpieczona i stanowi
dla hakera ,atwy ,up — b%dzie on móg, jej zhakowanie wpisa2 do
ewidencji swoich sukcesów. Drugi to celowy atak na w,a;nie ten,
a nie inny serwis. Na pewno jednak nieod,$cznym elementem
ka1dego 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;2 wersji oprogramowania pozwala hakerowi znaleU2

luki w zabezpieczeniach — przy odrobinie szcz%;cia mo1e on trafi2
na wersj%, w której nie zosta,y one za,atane. Do wyszukania luk za-
bezpiecze( w okre;lonej wersji oprogramowania haker mo1e u1y2
np. bazy CVE

1

. Ty z niej korzystasz, aby wiedzie2, co jest dziurawe,

i 1eby to zaktualizowa2, a cyberprzest%pcy u1ywaj$ jej, aby mie2 in-
formacje o tym, jakie systemy (i jakie ich wersje) „choruj$”, s$ po-
datne na atak.

1

https://cve.mitre.org/

Kup ksi

ąĪkĊ

Pole

ü ksiąĪkĊ

background image

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 dostosowa2 ata-

ki polegaj$ce na wstrzykiwaniu kodu SQL — ju1 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.

SprawdUmy, jak mo1e wygl$da2 atak cyberprzest%pcy, który

dla zabawy chce spróbowa2 swoich si, w hackingu. Pierwsze, co mo1e
on zrobi2, 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$2 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 doda2 znak apostrofu
i w wyniku otrzymujemy:

Fatal error: Uncaught exception 'Exception' with message 'SQL Query
failed: SELECT image,title,location,description,height,width from
tblSCAImages WHERE id=83\\\'You have an error in your SQL syntax; check
the manual that corresponds to your MySQL server version for the right
syntax 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 ju1 co; wiemy o witrynie —

wiemy, 1e jest to MySQL, a tak1e o nazwach tabel i ich kolumn,
o funkcjach PHP, a nawet o systemie plików. To si% przyda.
SprawdUmy, jak witryna internetowa zareaguje na wpisanie b,%dnego

Kup ksi

ąĪkĊ

Pole

ü ksiąĪkĊ

background image

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 te1 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 ju1 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 mo1na zacz$2. Dalej mo1na „grze-

ba2” w cookies, u1y2 programu

sqlmap

, r%cznie wstrzykiwa2 kod…

Mo1liwo;ci jest wiele. To pokazuje, 1e ujawnianie zbyt wielu infor-
macji mo1e dzia,a2 na szkod% systemu, bo pozwala przeprowadzi2
rekonesans. Dla hakera mo1e by2 przydatna w zasadzie ka1da infor-
macja, zadbaj wi%c o to, aby nie wypuszcza2 na zewn$trz komuni-
katów o b,%dach wraz z ich detalami oraz informacjami o wersji
oprogramowania. Pozwala to hakerowi odnaleU2 s,abe punkty da-
nej wersji.

Jak wprowadziG hakera w b6Ld

Uwa1amy, 1e skoro podstaw$ ataków jest rekonesans, to mo1e warto
atakuj$cego wyprowadzi2 w pole. Gdy wida2 wyraUnie, 1e co; jest
porz$dnie chronione, to pewnie jest warte tego, aby to ukra;2.
Mo1na to wykorzysta2 do stworzenia pu,apki na cyberprzest%pc%.
B%dzie on d,ugo ,ama, zabezpieczenia, aby w efekcie uzyska2 do-
st%p do nic nie wartych informacji lub uruchomi2 alarm informuj$cy,
1e dzieje si% co; z,ego. Takie rozwi$zanie nazywa si% z angielskiego
honeypot. Tak$ pu,apk% mo1na przyk,adowo zastawi2, korzystaj$c
z pliku robots.txt, który s,u1y do zezwalania na indeksowanie lub

Kup ksi

ąĪkĊ

Pole

ü ksiąĪkĊ

background image

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 pozwoli2 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. Mo1na
go u1y2 do zmylenia przeciwnika, wpisuj$c w nim fa,szywe odnie-
sienia, a nast%pnie monitorowa2 te fa,szywie podstawione punkty.

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

Inn$ mo1liwo;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 mo1e udawa2 inny kod:

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

Nale1y wtedy jeszcze pami%ta2, aby korzystaj$c z

session_name()

,

ustawi2 nazw% sesji na przyk,ad na

SessionID

, poniewa1 domy;lne

PHPSESSID

od razu wskazuje na PHP.

Rewrite

Parametry kategorii, subkategorii i rozmaitych podstron wyst%puj$ce
w adresie URL mo1na z ,atwo;ci$ ukry2, korzystaj$c z

mod_rewrite

2

.

Je;li Twój system prezentuje adres w postaci http://strona/news.
php?kategoria=10&rodzaj=4
, to mo1na to zmieni2, zapisuj$c przy-
k,adowo w .htaccess

3

na serwerze nast%puj$cy ci$g:

2

Coraz cz%;ciej pojawiaj$ si% opinie, 1e modu, ten umiarkowanie wp,ywa
na bezpiecze(stwo, dlatego trzeba mie2 zainstalowan$ aktualn$ wersj%
i stosowa2 go ostro1nie.

3

Nazwa pliku .htaccess zaczyna si% od kropki. Obecno;2 kropki na po-
cz$tku nazwy pliku (lub folderu) oznacza, 1e jest to plik (folder) ukryty.

Kup ksi

ąĪkĊ

Pole

ü ksiąĪkĊ

background image

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 On
RewriteRule ^([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 wyra1enie 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
napisa2 j$ w ci$gu miesi$ca. W takich przypadkach zwykli;my
1artowa2, 1e ludzie dzielc sid na tych, którzy robic kopie za-
pasowe, i na tych, którzy bddc je robi_
. Bezpowrotna utrata
danych jest jedn$ z najgorszych rzeczy, jakie si% mog$ przedsi%-
biorcy przydarzy2 — mo1e to prowadzi2 nawet do bankructwa. Skra-
dzione komputery mo1na kupi2, a danych niestety nie. W tej materii
;wiadomo;2 nie jest jednak zbyt wysoka, a sam temat kopii zapaso-
wych (zwanych backupami) staje si% wa1ny 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 odtworzy2 dane konieczne do prowadzenia biznesu, pozwala
zminimalizowa2 ryzyko ich bezpowrotnej utraty. Wiedz$ to bez
w$tpienia ci, którzy interesuj$ si% zagadnieniami zachowania ci$-
g,o;ci dzia,ania (tzw. BCM

4

).

4

BCM — ang. business continuity management.

Kup ksi

ąĪkĊ

Pole

ü ksiąĪkĊ

background image

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 mo1e si% przyda2? Chyba najle-

piej odpowiedzie2, 1e w ka1dej:

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);

sabota1 — utrata danych w wyniku celowego szkodliwego

dzia,ania na przyk,ad niezadowolonego pracownika;

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

mo1e by2 usuni%cie b$dU zaszyfrowanie danych, aby uniemo1-
liwi2 do nich dost%p;

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

czenie danych.

kradzie1 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, 1e je0li co0 mo1e pój02 3le, to

z pewno0ci5 pójdzie 3le, wi%c nie ma co liczy2, 1e nic si% nie zda-
rzy. Na pewno si% zdarzy — to tylko kwestia czasu.

Co naleYy backupowaG?

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
te1 urz$dze( sieciowych.

Kup ksi

ąĪkĊ

Pole

ü ksiąĪkĊ

background image

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 — mo1liwo02 wykonania samodzielnie
backupu z poziomu panelu hostingowego (DirectAdmin)

To, jak cz%sto nale1y wykonywa2 zapasow$ kopi% danych biz-

nesowych, zale1y od systemu i jego specyfiki. Trzeba odpowiedzie2
sobie na pytanie o to, z jakiego okresu dane mog$ zosta2 utracone.
Je;li serwis jest ma,o aktywny, to zapasowa kopia danych wyko-
nywana raz na tydzie( te1 mo1e by2 dobra, jednak w przypadku
aktywnych systemów na pewno powinna ona by2 tworzona co-
dziennie. Pami%taj, 1e serwisy pracujcce w klastrze to nie
backup
; nie stanowi go te1 np. disk mirroring.

Dane dotycz$ce konfiguracji mo1na backupowa2 nieco rza-

dziej, ale nale1y to robi2 przed ka1d$ zmian$ i po niej.

Kup ksi

ąĪkĊ

Pole

ü ksiąĪkĊ

background image

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;2 hostingodawców — je;li nie

wszyscy — tworzy zapasowe kopie danych i udost%pnia je u1yt-
kownikowi (rysunek 2.2).

Rysunek 2.2. Backup danych dost=pny w us>udze hostingu

W wi%kszo;ci przypadków dost%pny jest tak1e backup na 1$-

danie. Przydaje si% on na przyk,ad przed dokonaniem w serwisie
istotnych zmian, które s$ na tyle ryzykowne, 1e lepiej zapewni2
sobie kopi%. Operacj$ tak$ jest cho2by aktualizacja systemu czy
zmiana struktury bazy danych. System informatyczny to nie cz,o-
wiek — wi%kszo;ci operacji nie powinno si% wykonywa2 na „1y-
wym organizmie”.

Kopia zapasowa mo1e by2 niewiele warta, je1eli oka1e si%, 1e

zosta,a nieprawid,owo wykonana, dlatego okresowo nale1y spraw-
dza2, czy w kopii zapisane s$ potrzebne dane i czy da si% je odtwo-
rzy2. Za bardzo wa1ne uwa1amy to, aby backup by, przechowywany
tak1e poza siedzib$ firmy, nawet w domu, je;li zostan$ zapewnione
odpowiednie warunki. Dzi%ki temu w przypadku du1ej awarii b%dzie

Kup ksi

ąĪkĊ

Pole

ü ksiąĪkĊ

background image

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

mo1liwe 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 by2 cenn$ zdoby-
cz$ dla konkurencji. W zwi$zku z tym backup powinien by2 chro-
niony na poziomie nie ni1szym ni1 sam system e-commerce.
Dost%p do niego powinny mie2 tylko wybrane osoby. Dobrze by by,o,
aby dane na no;nikach by,y szyfrowane, szczególnie je1eli maj$
by2 one przechowywane w domu. Zapewnienie tego jest akurat
proste, bo ca,y backup mo1na zabezpieczy2 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 te1 spakowanie danych do
pliku ZIP i zabezpieczenie go has,em. Dzi%ki temu jest ma,e ryzy-
ko, 1e dane, za pomoc$ których mo1na by utworzy2 „duplikat fir-
my”, wpadn$ w niepowo,ane r%ce.

Warto te1 zauwa1y2, 1e do zabezpieczania plików mo1na u1y2

pakietu openssl. Przyk,adem s$ nast%puj$ce polecenia do szyfro-
wania i (póUniej) odszyfrowywania danych:

~# openssl aes-128-cbc -salt -in plik.tar -out plik.tar.aes
enter 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

Mo1na te1 zrobi2 to nieco inaczej — „starowa2” katalog, spa-

kowa2 do pliku ZIP, póUniej zaszyfrowa2:

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

a w ko(cu odszyfrowa2:

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

Kup ksi

ąĪkĊ

Pole

ü ksiąĪkĊ

background image

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

Nie zalecamy u1ywania opcji

-k "hasvo"

po wyra1eniu

aes-128-cbc

— wtedy co prawda unikamy interaktywnego pytania o has,o, ale
prowadzi to do zapisania go na przyk,ad w pliku .history

5

. Mo1na

te1 u1y2

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 mo1e si% te1

zdarzy2, 1e pracuj$c na pojedynczych plikach (np. kodzie PHP),
b%dziesz w trakcie ich modyfikacji tworzy, podr%czne kopie zapaso-
we. Chodzi nam o 1ywy organizm, tj. dzia,aj$cy system e-commerce.
Przyk,adowo edytuj$c plik dbconnect.inc, mo1esz zrobi2 kopi% te-
go pliku i zapisa2 j$ jako dbconnect.inc.old. Jest to bardzo niebez-
pieczne, gdy1 mo1e si% okaza2, 1e o ile pliki *.inc serwer mo1e bloko-
wa2 przy u1yciu dyrektywy

<Files "*.inc">

, to mo1e tego nie robi2 dla

plików *.old czy *.backup. Wtedy atakuj$cy b%dzie móg, je odczyta2
przez przegl$dark%, wpisuj$c na przyk,ad adres http://ecommerce/
dbconnect.inc.old
. Powiniene; wi%c doda2 do konfiguracji webserwe-
ra odpowiedni$ dyrektyw% i konsekwentnie trzyma2 si% nazewnic-
twa takich „backupów” tymczasowych (podr%cznych).

Backup hase6

Has,o mo1na zapomnie2, wi%c je te1 warto w pewien sposób bac-
kupowa2, czyli zapisywa2. Najlepiej u1y2 to tego oprogramowania
— nie zalecamy przechowywania hase, w postaci jawnej w note-
sach, na „1ó,tych karteczkach” etc. Korzy;ci zwi$zane z ich zapi-
sywaniem z u1yciem elektronicznego sejfu s$ do;2 du1e — mo1esz
tworzy2 unikalne, z,o1one has,a dla ka1dego serwisu i nie przej-
mowa2 si% tym, 1e je zapomnisz. Elektroniczny sejf to po prostu
zaszyfrowany plik z has,ami; pisali;my ju1 wcze;niej o programie
KeePass. Musisz mie_ jego backup! Najlepiej mie2 ich kilka

5

W pliku .history przechowywana jest historia wszystkich polece( wy-
dawanych w oknie terminalu.

Kup ksi

ąĪkĊ

Pole

ü ksiąĪkĊ

background image

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ó1nych 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 poniewa1 jed-
nocze;nie je zachowa, nie b%dziesz musia, przejmowa2 si% tym,
jakie ono jest, i b%dziesz móg, pozwoli2 sobie na to, by by,o hard-
core’owe
— d,ugie i wr%cz niemo1liwe do zapami%tania. Zalecamy,
aby tworzy2 z u1yciem tego programu przede wszystkim has,a
administracyjne (a najlepiej wszystkie).

Rysunek 2.3. Generowanie hase> przy u1yciu programu KeePass

Na koniec warto jeszcze wspomnie2 o tym, 1e plik z has,ami

powinien by2 zabezpieczony porz$dnym has,em i przechowywany
poza serwerem, na którym znajduje si% Twoja aplikacja.

Kup ksi

ąĪkĊ

Pole

ü ksiąĪkĊ

background image

Czytaj dalej...

Kup ksi

ąĪkĊ

Pole

ü ksiąĪkĊ


Wyszukiwarka

Podobne podstrony:
biznes i ekonomia garnitur kontra garsonka czyli jak zbudowac dobre relacje w pracy joanna sajko ebo
biznes i ekonomia zostan swoja szefowa czyli jak stworzyc i prowadzic wlasna firme anna konarzewska
biznes i ekonomia pogromca stresow czyli jak przejac kontrole nad wlasnymi emocjami katarzyna lorek
biznes i ekonomia niezbednik karierowicza czyli jak zrobic blyskotliwa kariere w wielkim miescie agn
biznes i ekonomia hiperswazja czyli jak pisac zabojczo skuteczne teksty reklamowe jakub wozniak eboo
Ostrosłup prawidłowy czworokątny (piramida Cheopsa), czyli jak bez katowania się pierwiastkami polic
Bezpiecznie przez życie czyli jak uczyć dzieci unikania zagrożeń cz 1
biznes i ekonomia kariera na wysokich obcasach jak z wdziekiem i klasa osiagnac sukces zawodowy beat
Efektywny System Pracy czyli jak skutecznie zarzadzac soba w czasie efsysp
Efektywny System Pracy czyli jak skutecznie zarzadzac soba w czasie
Jak zostać wziętym trenerem, czyli jak zarabiać na prowadzeniu szkoleń
Alchemia uwodzenia czyli jak hipnotycznie kontrolowac umysly uczucia i zachowania seksualne kobiet e
Alchemia uwodzenia czyli jak hipnotycznie kontrolowac umysly uczucia i zachowania seksualne kobiet e
Alchemia uwodzenia czyli jak hipnotycznie kontrolowac umysly uczucia i zachowania seksualne kobiet e
Alchemia uwodzenia, czyli jak hipnotycznie kontrolować umysły, uczucia i zachowania seksualne kobiet
Alchemia uwodzenia czyli jak hipnotycznie kontrolowac umysly uczucia i zachowania seksualne kobiet e

więcej podobnych podstron