Professional Documents
Culture Documents
2324 Edin Cenanovic Zavrsni Rad
2324 Edin Cenanovic Zavrsni Rad
Mentor:
Kandidat:
Saetak
Sigurnost web infrastrukture je uvijek bio teak i zahtjevan posao. Koliko god se trudili opet
ne postoji nigdje na svijetu potpuno sigurni informacioni sistem. Cilj ovog projekta je
implementacija i poboljanje sigurnost serverskog okruenja na Windows i Linux platformi.
Kako je na ovim sistemima i dostupnost jako bitna ne udi da se koristi i u poslovne svrhe. U
poslovnim okruenjima je naroito bitno da je serversko okruenje dostupno 24 sata, 7 dana
u sedmici, kako kompanije ne bi gubile novana sredstva. Tim reeno e ovaj projekat imati
naglasak na poslovne informacione sisteme, njihovu implementaciju te poboljanje njihove
sigurnosti i dostupnosti.
Kljune rijei: Windows, Linux, server, servsi
Abstract
Web server security was always a difficult job. As much as we try there are no completely safe
information systems in the world. The objective of this project is the implementation and
hardening of a server environment on the Windows and Linux platform. As the avialability of
these servers are very important, it is also used in business environments. In business
environments it is particularly important that the servers are up 24 hours, 7 days a week,
because of the money loss if they don't. So, this project will have an accent on business
information systems, their implementation with the aspect on avialbility and security.
Keywords: Windows, Linux, server, services
Sadraj:
1.
Uvod ................................................................................................................................................ 1
2.
3.
Analiza cilja...................................................................................................................................... 2
4.
5.
5.1
Tehniki aspekti........................................................................................................................... 4
5.2.
5.3.
5.4.
Projektni tim................................................................................................................................ 7
6.
7.
Implementacija ............................................................................................................................. 10
8.
8.1.
8.1.1.
8.1.2.
8.2.
8.2.1.
8.2.2.
9.
9.1.
9.2.
10.
10.1.
10.1.1.
10.1.2.
10.1.3.
10.1.4.
10.1.5.
11.
Zakljuak.................................................................................................................................... 31
12.
Literatura................................................................................................................................... 32
Slike:
Slika 1: Piramida problema ..................................................................................................................... 2
Slika 2: Pirmida cilja ................................................................................................................................ 3
Slika 3: Raspored zadataka projekta ....................................................................................................... 6
Slika 4: Koritenost najpoznatijih web servera danas........................................................................... 10
Slika 5: Poruka da je Apache web server uspjeno instaliran ............................................................... 12
Slika 6: Server Manager i instalacija IIS web servera ............................................................................ 12
Slika 7: Poruka o uspjeno zavrenoj instalciji IIS web servera............................................................. 13
Slika 8: Apache signature ...................................................................................................................... 14
Slika 9: Apache signature je uspjeno uklonjen .................................................................................... 15
Slika 10: Onemoguen directory listing ................................................................................................ 16
Slika 11: Directory Listing na IIS web serveru ....................................................................................... 18
Slika 12: IIS Manager ............................................................................................................................. 19
Slika 13: Onemoguen Directory Listing ............................................................................................... 19
Slika 14: Autentifikacija na IIS-u ............................................................................................................ 20
Slika 15: Logovi na IIS-u ......................................................................................................................... 21
Slika 16: Provjeravanje potrebnog timeout-a ....................................................................................... 23
Slika 17: Izvravanje napada na IIS web server ..................................................................................... 24
Slika 18: Odbrana sa i bez CloudFLare servisa ...................................................................................... 25
Slika 19: DNS amplifikacijski napad ....................................................................................................... 27
Slika 20: CloudFlare odbrana od DNS amplifikacijskog napada ............................................................ 28
Slika 21: SMURF napad ......................................................................................................................... 29
Slika 22: Challenge stranica................................................................................................................... 30
Tabele:
Tablica 1: Logiki okvir projekta .............................................................................................................. 3
Tablica 2: Resursi projekta ...................................................................................................................... 4
Tablica 3: Zadaci projekta ....................................................................................................................... 5
Tablica 4: Cijena po pojedinim zadacima ................................................................................................ 7
Tablica 5: Ljudski resursi projekta ........................................................................................................... 7
Tablica 6: Ukupni godinji trokovi ......................................................................................................... 8
Tablica 7: Ukupni godinji prihodi ........................................................................................................... 8
Tablica 8: Finansijski efekti projekta ....................................................................................................... 9
1. Uvod
Dananje elektroniko poslovanje je teko zamisliti bez weba i web servera. Iako ovisimo o
ovoj tehnologiji, njenoj se sigurnosti jo uvijek posveuje malo panje. Zbog injenice da je
praktiki danas svaka razvijena aplikacija ovisna o webu kao tehnologiji, s druge strane
zauuje i zabrinjava injenica koliko se malo panje posveuje zatiti ovih kritinih
infrastrukturnih elemenata. Zato s jedne strane i ne treba uditi injenica da danas esto
moemo proitati ili uti o kompromitovanim web stranicama ili njihovoj nedostuposti.
U ovom radu e fokus biti na implementaciji i sigurnosti samih web servera, te e se pokazati
kako moemo zatiti njihove osnovne servise. Najvie panje e se posvetiti, naravno,
Microsoftovom IIS Serveru te Apache web serveru, koji predstavljaju dvije najkoritenije
tehnologije na tritu kad su web serveri u pitanju.
Projektom je predvieno istraiti kako najbolje zatiti web servere i koje su to najbolje prakse
pri zatiti i odbrani. Prvi dio je upoznavanje karakteristika i naina na koji rade web serveri.
Kada se savladaju osnove web servera, fokus e se prebaciti na ranjivosti istih. Izvrit e se
simulacije nekih od najeih napada, i nakon toga i neke od tehnika odbrane.
2. Analiza problema
Svaka kompanija danas bi trebala imati pouzdanu i funkcionalnu serversku infrastrukturu,
posebno ako ta ista kompanija posluje elektronski i svaki trenutak gdje neto ne radi kako
treba je gubitak za kompaniju. Najea greka kod projektovanja jednog poslovnog okruenja
je nekompatibilnost servera i servisa koje pruaju, a isto tako i neprojektovanje sigurnih
okruenja. Tako na primjer, esto se postavlja Apache web servis na Windows platforme. To
su poptuno razliite tehnologije i ne funkcioniraju najbolje zajedno.
Pored gore navednih problema takoer veliki problem predstavljaju neadekvatne prostorije
gdje je smjetena serverska infrastruktura, nemar sistemskih administratora u smislu da
ostavljaju aktivne nepotrebne servise koje sadravaju propuste i samim tim napadaima daju
dodatnu metu za napad.
Problemi koji e se rijeiti ovim projektom su:
Neefikasnost poslovanja
Nedostupnost servera
kompanije
Neefikasno koritenje
hardvera
Nedostatak sigurnosti i
pouzdanosti
3. Analiza cilja
Cilj ovog projekta je projektovati i implementirati visokodostupno serversko okruenje,
bazirano na Windows i Linux operativnim sistemima u hipotetskoj kompaniji srednje veliine,
te omoguiti visok stepen sigurnosti i stabilnosti.
Ciljevi koji e se ostvariti ovim projektom su:
Visoka dostupnost i
sigurnost servera u
kompaniji
Optimalna iskoritenost
harvera
Stabilnost u radu
Koritenje odgovarajueg
softvera
Problemi
Ciljevi
Ulazi
Izlazi
Korisnici projekta
Uposlenici kompanije
Tablica 1: Logiki okvir projekta
5. Upravljanje projektom
Ovim projektom se namjerava izgraditi visokodostupno serversko okruenje za potrebe malih
i srednjih kompanija. Za tu svrhu napravit e se dva servera sa prateom opremom na koje e
se instalirati operativni sistemi kao i potrebne aplikacije, te utvrditi na koji nain je iskorititi
da zadovolji sigurnosne aspekte.
Ono to se moe vidjeti sa prethodne tabele su dodatni SAS1 diskovi koji e omoguiti
povezivanje u RAID polja, to predstavlja dodatni vid zatite podataka, kao i poveanje
performansi. Svi serveri e imati po dva diska za pohranu podataka koji e biti u RAID 1 polju
(redudantnost podataka). Potrebno je naglasiti da je rije o hardverskom RAID polju, koji nije
potrebno podeavati na operativnom sistemu. U prethodnoj tabeli prikazan je i UPS za
Serial Attached SCSI disk ima memoriju i izvrne kontrolere unutar kuita diska i ne troi sistemske resurse za
svoj rad, te koristi serijski interfes za povezivanje
nastavak rada servera u sluaju nestanka elektrine energije. BackTrack Linux e se koristiti u
svhru testiranja okruenja kako bi se provjerila i poboljala sigurnost, a CloudFlare je sistem
koji e se koristiti za odbranu od DoS i DDoS napada kao i za poboljanje performansi web
stranica kompanije.
Pri diskontnoj stopi od 10% projekt pokazuje visoke finansijske prilive, to se moglo i oekivati
uprkos velikim trokovima opreme. Iz prethodnog moemo zakljuiti da bi se ulaganje u
implementaciju visoko dostupnog i sigurnog serverskog okruenja svakako isplatilo.
7. Implementacija
Prije same instalacije sistema trebalo bi rei jo par stvari o odabiru web server tehnologija.
Kako je ve ranije reeno u ovom sistemu e se koristiti Apache Web server, koji radi na Linux
platformi i Microsoftov IIS web server. Razloga je nekoliko, ali najvaniji je da se naa firma
bavi razvijanjem softvera. Tanije, razvija web stranice koje pokreu i Apache, a i IIS. Zbog
toga je veoma bitno da imaju obezbjeene obje platforme kako bi nesmetano mogli testirati
svoje web stranice. Sigurnost i stabilnost je takoer jako vaan aspekt u njihovom razvoju.
Radi ugovora koje potpisuju sa klijentima, moraju biti apsolutno diskretni u toku razvoja i
testiranja, pa bi neautorizovan ulazak u sistem prouzrokovao nepovjerenje i velike probleme.
Apache i IIS su takoer dvije tehnologije koje su do skoro bile dvije najkoritenije tehnologije
kada je u pitanju opsluivanje sadraja na internetu, to se moe vidjeti i iz slike 4, koja
pokazuje koritenost razliitih web server tehnologija danas.
Iz prethodne slike se takoer moe zakljuiti da su ove dvije web server tehnologije i
najpodlonije napadima, iz prostog razloga to su najrasprostranjenije, a samim tim
opsluivaju veliki broj web stranica. Napadai e naravno praviti maliciozni softver i traiti
propuste na onim sistemima koji su najvie u upotrebi.
Radi svih ovih stvari emo se naroito fokusirati na poboljanje sigurnosti, njeno testiranje i
instaliranje dodatnih mehanizama za odbranu.
10
Graphical User Interface GUI je nain interakcije ovjeka sa raunarom kroz manipulaciju grafikim
elementima
4
Linux shell je jedna vrsta programa ili aplikacija koja komande koje korisnik unosi pretvara u nardbe koje
razumije raunar
5
Administratorski raun na Linux operativnim sistemima
11
8.1.2.
12
Kad odaberemo da elimo instalirati IIS, potrebno je i odabrati koje servise elimo instalirati.
Ovdje svakako treba skrenuti panju na to da to vie servisa instalirate to je sistem nesigurniji,
odnosno otvoreniji za napad. Napadai jednostavno imaju veu metu. Zbog toga se
preporuuje da instalirate to manje servisa, odnosno instalirajte smo one za koje ste
apsolutno sigurni da e se i koristiti. U sluaju nae kompanije potrebni servisi su: ASP.NET6
servisi, servisi za logovanje stvari koje se deavaju na IIS-u, te FTP7 servis za koji je takoer
potrebno instalirati IIS 6 Management Compatibility servise. Po odabiru servisa instalacija
moe da pone.
Kad se instalacija zavri, na isti nain kao to smo to uradili i kod Apache web servera
provjeravamo da li smo sve uradili kako treba. Dakle, na drugoj maini ukucavamo ip adresu
servera gdje je IIS instaliran i ako je sve prolo kako treba dobiemo poruku kao na sljedeoj
slici:
13
Idemo redom i svaku od gore navedenih stavki emo instalirati na na Apache web server.
Apache signature su informacije o vaem web serveru koje nikako ne bi trebale biti otkrivene.
Te informacije, kao to je verzija Apache servera, operativnog sistema i ip adresa istog, u
pogrenim rukama mogu dovesti do kompromitovanja sistema.
WebDAV je protokol koji omoguava upload i download fajlova i minjenjanje sadraja web stranice
Konfiguracijski fajl na Apache web serverima koji sadri odreene postavke servera
10
Brute Force je napad gdje se pokuavanjem kombinacijom slova, brojeva i karaktera te uz pomo rjenika
pokua provaliti lozinka
9
14
Ovim takoer iskljuujemo trace HTTP metodu, koja zlonamjernom korisniku moe vratiti
neke podatke koje on potom moe iskoristiti da provali u sistem. Potrebno je restartovati
Apache web server kako bi se promjene primjenile:
# sudo /ect/init.d/apache2 restart
Ako opet provjerimo na web server putem njegove ip adrese vidjeete da je nestao Apache
signature, to se moe vidjeti iz sljedee slike:
15
Na slici 9 moete vidjeti da je na Apache web server izlistao sve iz root (glavnog) direktorija,
to svakako predstavlja veliku prijetnju, jer naravno da ne elite da svaki korisnik tek tako ima
pristup vaim podacima na serveru. Ovaj directory listing iskljuujemo na sljedei nain:
#
#
#
#
cd /etc/apache2/mods-enabled/
sudo rm -f autoindex.conf
sudo rm -f autoindex.load
sudo /etc/init.d/apache2 restart
Sljedee to radimo je iskljuivanje WebDAV protokola. Ovo je protokol koji omoguva upload
i download fajlova i minjenjanje sadraja web stranice. Ono to je vano ovdje napomenuti
jeste da je ovaj protokol vrlo rijetko koriten i stoga ga je bolje iskljuiti. Koristiemo ove
komande:
#
#
#
#
cd /etc/apache2/mods-enabled/
sudo a2dismod dav_fs
sudo a2dismod dav
sudo /etc/init.d/apache2 restart
16
17
8.2.2.
Iako je IIS web server manje podloan napadima zato to je Apache jednostavno zastupljeniji,
te samim tim i podloniji napadima, svakako treba i njemu poboljati sigurnosti koliko god
smo u mogunosti. Ono to emo uraditi jeste:
Poinjemo sa iskljuivanjem nepotrebnih modula. Ako se sjeate instalacije IIS web servera,
sigurno ete se i sjetiti kad smo instalirali web server na poetku smo birali koje module da
instaliramo. Moda ste nakon instalacije uvidjeli da ste ustvari instalirali i neke module koje u
produkcijskom okruenju nee trebati. Ako je ovo sluaj, najbolje bi bilo te module iskljuiti,
kako ne bi od sebe pravili metu za napad. Da bi iskljuili neke module, potrebno je da odete u
Server Manager, pa onda na Role i saekate da se pojavi instalirani IIS web server. Nakon toga
kliknete na Remove Role Services i uklonite kvakice sa onih modula koji vie nisu potrebni.
Restartujete server i moduli su uspjeno onemogueni.
Kao to smo to uradili na Apache web serveru, takoer emo i ovdje iskljuiti directory listing
koji prikazuje datoteke i fajlove na serveru.
18
Potrebno je otii u IIS Manager, pa na na server. Tu e nam se otvoriti opcije, gdje moemo
skoro sve u vezi naeg web servera podeavati.
Nama za sad samo treba opcija Directory Browsing, jer uz pomo nje iskljuujemo
pregledavanje datoteka i fajlova na naem serveru. Sve to je potrebno je kliknuti na Disable
u Directory Browsingu, i ve je onemogueno prelistavanje sadraja.
19
Kao to moete vidjeti na slici 13 nakon iskljuivanja Directory Listinga, server vraa odreene
greke. Ove greke su moda dobre za programere, kako bi znali gdje su u kodu pogrijeili, ali
nikako ne bi bilo dobro da neki maliciozni korisnik vidi te greke, jer bi u protivnom mogao
nainiti tetu. Da bi sakrili greke koje vraa server, potrebno je postaviti tzv. deployment
retail parametar u machine configu-u servera. Ovaj parametar e takoer poboljati
performanse
sistema.
Machine
config
se
nalazi
u
20
U naem sluaju je to eksterni disk, ali bi jo bolje bilo da se logovi uvaju na nekoj udaljenoj
lokaciji na internetu.
21
11
22
23
Dobivamo tri pyhton12 skripte, od kojih emo jednu koristiti za samo vrenje napada.
# python torshammer.py t 192.168.36.131 r 256
Argument t oznaava web server koji napadamo, a r je broj paketa koje emo slati web
serveru u svrhu zaguenja.
Napad se izvrava, a mi, isto kao to smo to radili kad smo vrili napad na Apache web server,
provjeravamo dostupnost istog sa neke druge maine. Ako je web server nedostupan znai
da je napad uspio. Napad e se izvravati sve dok ga ne prekinemo.
12
Python je dinamiki programski jezik koji svojim dizajnom omoguava programerima da uz pomo manje
koda dobiju istu funkcionalnost nego npr. u C jeziku
24
Sistem koji stoji iza CloudFlare-a je tzv. CDN (Content Delivery Network), to je sistem koji uz
pomo cache tehnologije bre dostavlja sadraj. Recimo da imate neki css fajl na vaoj stranici.
Ako koristite CND takoer ete imati odreeni folder na stranici gdje e biti fajlovi koje
korisnici esto pregledavaju. Kada korisnik pristupa tom fajlu on alje zahtjev web serveru,
odnosno CDN-u. CDN potom kupi taj fajl sa vae stranice i isporuuje ga korisniku. Sad
zamislite da mnogo korisnika u isto vrijeme ele isti fajl. CDN ve ima taj fajl koji isporuuje
svakom korisniku ponaosob. Ovo znai da se mnogo manje upita alje direktno na vau web
stranicu, to je u mnogome ubrzava. Jo jedna stvar koja je dobra kod CDN-a je da stranica
praktino vie nikad nee biti offline. Ako naprimjer selite stranicu na drugi server, korisnicima
e
se
stranica
dalje
prikazivati
iz
cache-a.
25
13
User Datagram Protocol UDP je jedan od protokola koji sainjavaju Internet protkol
Internet Control Message Protocol ICMP je protkol koji koriste operativni sistemi umreenih raunara u
razmjeni razliitih poruka
15
Domain Name System DNS je ditribuirani sistem za raunare i servise konektovane na internet koji asocira
odreene informacije sa imenima domena
16
Open System Interconnection OSI model standarizira interne funkcije komunikacijskog sistema tako to ih
dijeli na apstraktne slojeve
14
26
Uz pomo CloudFlare servisa sav saobraaj koji bi inae direktno pogodio va server e se
preusmjeriti na CloudFlare-ovu globalnu mreu sainjenu od mnogo datacentara. Kada se
saobraaj preusmjeri, on se rasporeuje u njihovoj ogromnoj mrei kako bi mogao apsorbirati
tu koliinu saobraaja i malo po malo je neutralisati. Ovo znai da uz pomo CloudFlare-a niti
jedan tetni paket nee doi do vaeg servera.
27
Slika 20: CloudFlare odbrana od DNS amplifikacijskog napada. Preuzeto sa: http://www.cloudflare.com/ddos
Upravo zato to CloudFlare moe preseliti vau ip adresu na neki od svojih servera, napada
ima problema da svoj tetni saobraaj usmjeri na jednu lokaciju. Ovo znai da je mnogoprema-jedan napad, postaje mnogo-prema-mnogo napad to znatno oteava napadau u
svojim zlonamjernim poduhvatima.
17
Paketi koji se alji na broadcast adresu bivaju dostavljeni svim ureajima u mrei, umjesto samo jednom
28
IUAM sistem je dostupan u besplatnoj varijanti servisa. Preporuuje se da ga tek ukljuite ako
ste sigurni da ste pod napadom, da ne optereujete korisnike bez razloga challenge stranicom.
Moete ga ukljuiti tako to odete na: Settings->CloudFlare Settings->Seurity Settings->Basic
Security Level->I'm Under Attack. Za sve normalne korisnike e ovaj sistem biti sasvim
dovoljan da svoje web stranice tite od DDoS napada. Za sve korisnike koji ele vei stepen
sigurnosti i koji imaju problema sa svim gore spomenutim napadima ipak e se morati
pretplatiti na jedan od plaenih CloudFlare paketa, i to na Business ili Enterprise paket.
CloudFlare se ispotavio kao dosta uinkovit sistem u borbi protiv DoS i DDoS napada. Ovdje
treba istai da ne postoji definitivna zatita protiv DoS i DDoS napada, ali uz pomo CloudFlare
servisa ste prilino sigurni, a uz to, ovaj sistem je u svojoj najjednostavnijoj varijanti besplatan.
30
11. Zakljuak
Na poetku su spomenute sve prednosti serverskog okruenja za potrebe jedne kompanije.
Takoer su spomenute mnoge sigurnosne prijetnje koje mogu ugroziti rad jedne ovakve
kompanije a samim tim i dovesti do gubitka klijenata i novca. Vidjeli smo da uz relativno malo
napora moete svoje serversko okruenje dovesti na nivo da je potencijalnim zlonamjernim
korisnicima u mnogome otean nezakonit pristup resursima. Poboljane su performanse,
sistem je prilino siguran i dostupnost je na visokom nivou. Napravili smo okruenje u kojem
e programeri, bez straha da e se neto desiti, moi testirati stranice koje izrauju za klijente.
Isto tako postoji mogunost da zavrene stranice mogu ii u produkciju, i da e one, kad
uzmemo u obzir serversku stranu, biti sigurne i uvijek dostupne.
Uz pomo CoudFlare servisa smo dodali jo jednu novu razinu sigurnost, koja nam pomae u
odbrani od DoS i DDoS napada, te dodatno poboljava performanse sistema i stranica koje su
na sistemu.
Kompletna analiza je pokazala da se ulaganje u ovakvo okruenje sigurno isplati, to je i
predstavljeno u prethodnim dijelovima ovog rada.
31
12. Literatura
1. Internet Information Services (IIS) 7.0 Resource Kit, Mike Volodarsky, Olga Longer,
Brett Hill, Bernard Cheah, Steve Schofield, Carlos Aguilar Mares, Kurt Meyer, Microsoft
IIS Team, March 2008. (http://www.amazon.com/exec/obidos/tg/detail//0735624410/)
2. Apache Security, Ivan Risti, March 2005. (http://www.amazon.com/ApacheSecurity-ebook/dp/product-description/B0061YCT26)
3. Mrea,
asopis
za
IT
profesionalce,
4/XVII
(http://www.bug.hr/mreza/travanj-2012/94329.aspx)
travanj
2012.
32