Professional Documents
Culture Documents
v2.00
SecLab
06
Sigurnost Web servera sa SSL protokolom
Cilj vebe
Cilj ove vebe je upoznavanje sa sigurnou Web servera i implementacija SSL protokola i
samopotpisanih sertifikata sa Apache 2.2.15 serverom na Linux CentOS operativnom sistemu.
SSL predstavlja sutinski deo kreiranja i konfiguracije bezbednog sajta sa Apche serverom. SSL
sertifikti omoguvju enkripciju celokupnog saobraaja koji je poslat n i s Apche web servera.
SSL koristi kriptogrfiju jvnog klju d bi se uspostvila bezbedna veza. Sve to je ifrovno s
jvnim kljuem (SSL sertifikt) moe se deifrovti samo s privtnim kljuem koji se uva smo n
serveru.
SSL sertifikt je potreban za vie funkcija a ne samo za distribuciju jvnog kljua. Npr., ko je
potpisn od strne pouzdne tree strne, on proverv identitet server tko klijenti znju d ne
lju svoje podtke (ifrovne ili ne) pogrenoj osobi.
Samopotpisani sertifikat predstavlja sertifikat koj je izdat od istog entiteta iji identitet potvruje. U
veini sluajeva treba izbegavati upotrebu ovog sertifikata, naroito u sluajevima sa jvnim web
serverom koji poseuje veliki broj anonimnih posetilaca, jer se tako lko postje rtv man-in-the-
middle npd.
Meutim, smopotpisni sertifikti imju svoje mesto, oni se mogu koristiti n Apche serveru na
kome se vri rzvoj softvera. U tom sluaju nem potrebe d se novac potroi kupovinu pouzdanog
sertifikata kd se vri rzvoj ili testirnje plikcije. Samopotpisani sertifikti mogu d se koriste
n Intranet mrei. Takoe, samopotpisani sertifikti mogu d se koriste n linim sjtovim s
malim brojem posetilc.
Import postojee virtuelne maine vri se aktiviranjem opcije menija File > Import Appliance ... ili
kombinacijom tastera Ctrl+I.
Nakon aktiviranja te opcije otvara se sledei prozor. Odabir fajla sa mainom koja e se importovati
vri se klikom na taster Open appliance ...
SecLab 06
v2.00
Posle aktiviranja te opcije potrebno je odabrati fajl na disku koji sadri virtuelnu mainu
pripremljenu za import (to je fajl koji je kreiran u Oracle VirtualBox-u na osnovu postojee
virtualne maine i opcijom Export appliance ...). Za ovu vebu potrebno je odabrati fajl pod nazivom
CentosLab.ova.
Ako je potrebno kreirati vie virtualnih maina do se vri klikom desnog tastera na ikonicu
virtuelne maine i odabirom opcije Clone... Napomena: Kloniranje virtuelne maine nije potrebno za
ovu vebu.
SecLab 06
v2.00
Posle aktiviranja opcije potrebno je odabrati naziv klonirane maine i aktivirati opciju Next.
Za kreiranje klona virtualne maine potrebno je odabrati Full clone i opciju Clone.
Konfigurisanje rutera
Korak 1.1.
SecLab 06
v2.00
Potrebno je kreirati direktorijum pod nazivom ssl na zadatoj lokaciji za smetaj kljua i sertifikata.
mkdir /etc/httpd/ssl
Budui da virtuelna maina nije deo fizike mree te da njeno domensko ime nije konfigurisano u
DNS serveru potrebno je izmeni hosts datoteku tako to e se dodati zadnja linija:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.1 www.securelab.com
vi /etc/hosts
Napomena: rad sa vi editorom poznat je iz prethodne vebe. Sa I se ulazi u Insert mod, sa Esc se
ulazi u komandni mod, sa :wq se izlazi sa snimanjem izmena, a sa :!q bez snimanja izmena.
Korak 1.2.
Zatim je potrebno kreirati samopotpisani sertifikat. Tom prilikom se moe odrediti i vreme
njegovog trajanja (u ovom sluaju 365 dana) tj. vreme njegovog isteka.
Ovom komandom se kreira samopotpisani sertifikat i serverski klju koji ga titi. Istom komandom
se obe datoteke smetaju u kreirani direktorijum.
Ova naredba e traiti od korisnika da unese podatke. Najvaniji od tih podataka je "Common
Name" gde se oekuje unos zvaninog domenskog imena ili IP adrese sajta ukoliko ne postoji
domensko ime. Unete informacije e se uvrstiti u zahtev za izdavanjem sertifikata. Za neke podatke
u uglastim zagradama e postojati ponuene vrednosti.
-----
Country Name (2 letter code) [AU]:RS
State or Province Name (full name) [Some-State]:Serbia
Locality Name (eg, city) []:Zrenjanin
Organization Name (eg, company) [Internet Widgits Pty Ltd]:TFMP
Organizational Unit Name (eg, section) []:IT department
Common Name (e.g. server FQDN or YOUR name) []:www.securelab.com
Email Address []:admin@seclab.com
Korak 1.3.
Sada je u konfiguraciji Apache servera potrebno podesiti upotrebu sertifikata. Sledei korak je
konfiguracija virtuelnog hosta koji e koristi ovaj setifikat. To se vri izmenom SSL konfiguracionog
fajla sa vi editorom.
vi /etc/httpd/conf.d/ssl.conf
Napomena: rad sa vi editorom poznat je iz prethodne vebe. Sa I se ulazi u Insert mod, sa Esc se
ulazi u komandni mod, sa :wq se izlazi sa snimanjem izmena, a sa :!q bez snimanja izmena.
<VirtualHost www.securelab.com:443>
I ime servera
ServerName www.securelab.com:443
SSLEngine on
SSLCertificateFile /etc/httpd/ssl/apache.crt
SSLCertificateKeyFile /etc/httpd/ssl/apache.key
Korak 1.4.
Potrebno je izvriti startovanje ili restart Apache servera da bi se izmene ponovo uitale.
Ili sa komandom:
/etc/init.d/httpd restart
netstat an
Ako je trea linija u prikazu prisutna (linija sa servisom na portu 443) sve je u redu:
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:22 LISTEN
tcp 1 0 *:22 :::* LISTEN
tcp 0 0 *:443 :::* LISTEN
Korak 1.5.
Pristup web serveru preko https protokola moe se izvriti uz pomo tekstualnog web pretraivaa
lynx na sledei nain:
lynx https://www.securelab.com
Ove naredbe se koriste za proveru informacija u sertifikatu, CSR-u ili privatnom kljuu.
Provera sertifikata
openssl x509 -in certificate.crt -text noout
Provera MD5 hash-a za javni klju da bi se uporedio sa CSR ili privatnim kljuem
openssl x509 -noout -modulus -in certificate.crt | openssl md5openssl rsa -
noout -modulus -in privateKey.key | openssl md5openssl req -noout -modulus -
in CSR.csr | openssl md5
Konverzija PKCS#12 fajla (.pfx .p12) koji sadri privatni klju i sertifikat u PEM
SecLab 06
v2.00
openssl pkcs12 -in keyStore.pfx -out keyStore.pem nodes