This is an old revision of the document!
Ovaj dokument sadrži preporuke za filtriranje IPv4 saobraćaja u AMRESu.
AMRES BPD no | 110 |
---|---|
Version | 1 |
Status | Završen (uslediće još jedna revizija nakon usvajanja Pravilnika o filtriranju saobraćaja u AMRESu) |
Date | 30.5.2010 |
Title | Best practice for packet filtering |
Working group | Security |
Responsible | AMRES/RCUB/UNIC |
Category | Recommendation |
Cilj ovog dokumenta je da ponudi pravila za filtriranje saobraćaja u krajnjim institucijama, imajući u vidu skup najčešće korišćenih servisa u tim mrežama.
Svaka institucija članica AMRES mreže bi trebalo da, na perimetru svoje mreže, samostalno kontroliše dolazni i odlazni saobraćaj po pravilima usklađenim sa važećim pravilima u AMRESu i upotrebom tehnologije po sopstvenom izboru. Praksa je pokazala da primena minimalnog skupa dobro odabranih pravila za filtriranje saobraćaja, može značajno da umanji broj sigurnosnih incidenata u jednoj mreži. U krajnjem, primena preporuka iz ovog dokumenta, trebalo bi da podigne nivo bezbednosti i efikasnost filtriranja saobraćaja u celom AMRESu.
U dokumentu su navedene karakteristike saobraćaja za najčešće korišćene servise u lokalnim mrežama i preporuke za podešavanje odgovarajućih paketskih filtara. Opisani su različiti postupci razvoja i primene paketskih filtara i predstavljene prednosti i mane njihove implementacije. Na kraju su dati primeri koji ilustruju primenu preporuka i delovi konfiguracionih fajlova, uključujući komande za paketske filtere na IOS operativom sistemu.
Dokument je namenjen prvenstveno IT osoblju u krajnjim insituticijama, koje učestvuje u izradi i implementaciji pravila filtriranja.
Veliki broj radnih stanica, servera i drugih uređaja u AMRES mreži je svakodnevno izložen negativnim uticajima, kako unutar same AMRES mreže, tako i sa Interneta. Zbog toga se pred AMRES administratore mreža postavlja zadatak, da omoguće normalno funkcionisanje svoje mreže, a da sa druge strane, maksimalno onemoguće negativne uticaje na njih. Pored toga, potrebno je onemogućiti i širenje negativnih uticaja sa mreže za koju je odgovoran AMRES administrator, ka ostalim mrežama unutar AMRES mreže, kao i na Internet.
Praksa je pokazala da primena minimalnog skupa dobro odabranih pravila za filtriranja saobraćaja može značajno umanjiti broj sigurnosnih incidenata u jednoj mreži.
Cilj ovog dokumenta je da administratore koji upravljaju mrežama, upozna sa osnovnim pravilima i praksom filtriranja najčešće korišćenih servisa u AMRES-u. Opisan je postupak razvoja i primena paketskih filtara u krajnjim institucijama/organizacijama.
Važno je napomenuti da dokument ne sadrži zahteve ka institucijama/organizacijama. Dokument sadrži isključivo preporuke, i ne obavezuje pojedinačne institucije/organizacije da ih primene. U tom smislu dokument je pravljen sa ciljem da opiše postupke u razvoju i primeni paket filtera, a ne da bude iscrpan i potpun u opisu najčešće korišćenih sevisa. U krajnjem, primena preporuka iz ovog dokumenta, treba da podigne nivo bezbednosti i efikasnost filtriranja saobraćaja u AMRES mreži.
Sva pravila se mogu implementiranih na ruterima i/ili firewall uređajima. Time se ne isključuje primena i drugih tehnologija.
Preporučujemo da predhodno pogledate sadržaj dokumenta AMRES BPD 102 „Filtriranje saobraćaja – uvid u tehnologije i mesta njihove primene u AMRESu”, u kome su opisane raspoložive tehnologije filtriranja saobraćaja, a razmatrana je i njihova upotreba i preporuke za primenu u okviru hijerarijske strukture AMRES mreže.
Da bi se smanjile sigurnosne pretnje u nekoj mreži, koriste se različiti uređaji, tehnologije i tehnike za filtriranje saobraćaja. Svaka institucija/organizacija koja želi da poboljša efikasnost filtriranja i nivo bezbednost svoje mreže, treba da primeni sledeće preporuke:
Važno je primetiti da se ove preporuke mogu primeniti u bilo kojoj organizaciji, pa i u AMRESu kao celini.
Dokument AMRES BPD 102a „Filtriranje saobraćaja – uvid u tehnologije i mesta njihove primene u AMRESu” je pripremljen da podrži implemenatciju preporukom broj 2, dok je AMRES BPD 102 „Filtriranje saobraćaja u krajnjim institucijama” pripremljen u vezi sa implementacijom preporukama 1 i 3 u krajnjim institucijama.
Perimetar mreže institucije članice AMRES-a – nalazi se na vezi pojedine institucije/organizacije i regionalnog servisnog centara kome pripada i na koji je povezana. U odnosu na ovu poziciju se definiše termin odlazni i dolazni saobraćaj.
Odlazni saobraćaj – saobraćaj koji generiše resurs iz interne mreže AMRES članice u pokušaju pristupa eksternoj usluzi. Alternativni termini za odlazni saobraćaj su izlazni ili egress saobraćaj.
Dolazni saobraćaj – saobraćaj koji generiše eksterni resurs u pokušaju pristupa usluzi (servisu) u internom delu AMRES članice. Alternativni termini za dolazni saobraćaj su ulazni ili ingress saobraćaj.
Već uspostavljen saobraćaj – saobraćaj iniciran sa resursa iz interne mreže u pokušaju pristupa eksternoj usluzi, koji, u slučaju upotrebe TCP protokola, omogućava uspostavljanje pravila o propuštanju povratnih paketa (reply packet), a blokiranju svih ostalih paketa. Termin je vezan za statefull packet inspection proces na firewall uređajima. Alternativno se koristi i termin „već uspostavljen saobraćaj”.
Svaka institucija članica AMRES mreže bi trebalo da, na perimetru svoje mreže, samostalno kontroliše dolazni i odlazni saobraćaj po važećim pravilima u AMRESu, koja mogu biti proširena definisanjem sopstvenih pravila i upotrebom tehnologije po sopstvenom izboru. To, od institucija/organizacija članica AMRESa, zahteva izvesno angažovanje na ovim aktivnostima, u procesu definisanja i konfigurisanja, a kasnije i održavanja pravila u formi paketskih filtara.
Kada shvate da im proces održavanja paketskih filtara uzima dosta radnog vremena, administratori u naučnoistraživačkim i obrazovnim ustanovama, ionako već preoterećeni poslom, pri definisanju pravila filtriranja primenjuju različite “prečice” (npr. otvaranje svih portova za određeni skup IP adresa itd.). Ovaj pristup samo prividno olakšava proces konfiguracije i održavanja paketskih filtera. “Prečice” često dovode do veće ranjivosti lokalne mreže na različite sigurnosne pretnje koje se pojavljuju iz spoljnjeg sveta, što dalje zahteva dodatno angažovanje na oklanjanju posledica nastalih sigurnosnih incidenata.
Praksa je pokazala da primena minimalnog skupa dobro odabranih pravila za filtriranja saobraćaja na perimteru mreže, može značajno umanjiti broj sigurnostnih incidenata u toj mreži.
Inicijalno, definisanje i implementacija pravila filtriranja ne bi trebalo da bude složen postupak. Objasnit ćemo ga na primeru najjednostavnije, ali i najrasprostranjenije konfiguracije u AMRESu - na perimetru mreže institucije se koristi ruter (ili neki drugi L3 mrežni uređaj) na kome želimo implementirati pravila filtriranja. Cilj je postići smanjenje sigurnosnih pretnji na interne resurse u mreži, a da se pri tome zadrži transparentnost servisa za korisnike.
Proces definisanja pravila filtriranja zahteva da se inicijalno odrede bar dve grupe servisa: grupa servisa koji su raspoloživi korisnicima u mreži. Oni bi trebalo da čine skup (apsolutno) dozvoljenih servisa. Drugu grupu čine servisi koji sa sobom nose odgovarajuće sigurnosne pretnje.
Predlog skupa (apsolutno) dozvoljenih servisa može se naći u dodataku A ovog dokumenta, koji je dostupan samo na srpskom jeziku u on-line verziji dokumenta na AMRES wikiju. Preuzet je iz nacrta Pravilnika o filtriranju saobraćaja u AMRES mreži, u kome je pored ostalog definisan minimalan skup pravila koje će institucije AMRES-a morati da primene, kako bi se obezbedio zadovoljavajući stepen zaštite u mreži. Svi predlozi su do usvajanja pravilnika, a i naknadno podložni izmenama.
Sledeći važan korak je opredeljivanje za strategiju “dozvoli sve” ili “zabrani sve” u razvoju paketskog filtra, definisanju i dodavanju pravila.
Postoje dva osnovna pristupa koja bitno utiču na proces razvoja paketskog filtra i definisanje pravila:
Obe navedene strategije zahtevaju da administrator definiše skup servisa koji će u slučaju strategije “dozvoli sve” biti zabranjeni, a u slučaju strategije “zabrani sve” biti dozvoljeni.
Izbor strategije filtriranja saobraćaja koju će neka institucija da primeni je važan korak pri razvoju paketskog filtra. Opredeljivanje za jednu ovih strategija ima direktan uticaj na nivo bezbednosti u mreži date institucije.
Praksa pokazuje da je većini administratora lakše da se opredele za strategiju “dozvoli sve” i da definišu servise koje će da zabrane, a da svi ostali servisi budu dozvoljeni. Izbor ove strategije, olakšava upravljanje i održavanje samog paketskog filtra, jer nema naknadnih zahteva korisnika za otvaranjem novih portova i dopuštanjem novih servisa. Međutim, ova strategija pruža niži stepen sigurnosti u mreži u odnosu na pristup “zabrani sve”.
Strategija “zabrani sve” pruža viši nivo bezbednosti i zbog toga se ona preporučuje za implementaciju u svim krajnjim institucijama AMRESa. Da bi svi servisi, važni za krajnje korisnike i rad same institucije, bili prepoznati i dozvoljeni pri definisanju filtra, korištenje pristupa “zabrani sve” zahteva od administratora veću pripremljenost i bolje poznavanje svih raspoloživih resursa u mreži (ne samo mrežne infrastruktre, već i servisa koji se u njoj koriste).
ICmyNet.Flow je alat koji može pomoći administratorima u AMRES članicama, da bolje upoznaju strukturu saobraćaja u svojoj mreži i utvrde način na koji se pojedinačni servisi koriste u njihovoj mreži. Ovaj alat je besplatan za sve akademske institucije i za njegovu implementaciju se možete obratiti na e-mail adresu helpdesk@rcub.bg.ac.rs.
Poznavanje skupa najčešće korišćenih servisa je od velike važnosti i omogućava neometano funkcionisanje mreže i nakon primene paketskog filtra. Ipak, može se očekivati da neki ređe korišćen servis bude nenamerno izostavljen. Logovanje podataka o saobraćaju je svima dostupan mehanizam, koji pruža nezamenljivu pomoć u definisanju pravila filtriranja. U slučaju, da se neki servis i zaboravi pri definisanju pravila, logovanje može pomoći da se to prepozna i da se izostavljeni servis naknadno doda u listu dozvoljenih servisa.
Implementacija paketskog filtera podrazumeva sledeće korake:
Opšte preporuke:
Svi naredni koraci u odbrani mreže od spoljnih uticaja zahtevaju segmentaciju mreže, odnosno razdvajanje internih resursa u različite sigurnosne zone, za koje je potrebno obezbediti različite nivoe sigurnosti. Protok saobraćaja iz jedne u drugu sigurnosnu zonu je potrebno regulistati odgovarajućim skupom pravila. Samim tim, implementacija ovog rešenja zahteva primenu nešto složenenijih pravila za filtriranje saobraćaja.
Mreža mora biti podeljena na mrežne segmente, a za svaki pojedini mrežni segment mora biti definisano kojoj sigurnosnoj zoni pripada. U odgovarajućem najjednostavnijem, ali i često korištenom rešenju - na perimetru mreže institucije se nalazi firewall na kome su implementirana pravila filtriranja saobraćaja između tri sigurnosne zone.
Insitucije članice AMRESa koje odluče da koriste firewall uređaj, sem interne i eksterne zone, treba da uvedu minimalno još jedu zonu, tj. demilitarizovanu zonu (Demilitarised zone – DMZ).
Pristup servisima u svakoj zoni mora biti pod kontrolom odogovarajućih sirunosnih pravila, odnosno paketskog filtra. Institucije mogu primeniti paketske filtre bazirane na “dozvoli sve” ili “zabrani sve” (poglavlje 2.4), kao i njihovu kombinaciju. Za pojedine delove mreže se može primeniti jedna strategija filtriranja, a za ostale delove mreže druga. Najčešće se kombinuju sa medotom koja omogućava razmena saobraćaja samo za “već uspostavljeni veze“.
Prepoznavanje početnih paketa, omogućava uspostavljanje veza koje su inicirane iz interne mreže pri pristupu spoljašnjem servisu, ali ne i obrnuto. Dakle, početni paket se prihvata za odlazni saobraćaj iz interne zone, dok se odbija za dolazni saobraćaj. Primenom ovog metoda, dalja razmena saobraćaja se omogućava samo za “već uspostavljene veze“.
Uspostavljanjem pravila o razmeni saobraćaja izmedju pojedinih zona ne bi trebalo da se naruši minimalni nivo bezbednosti definisan za svaku zonu pojedinačno. Pristup resursima u zoni na višem nivou bezbednosti, iz zona na nižem nivou, bi trebalo biti omogućeno samo uz specifičnu dozvolu i proveru. Uz to, nije neophodno da iz određene zone postoji mogućnost pristupa svim zonama na nižem nivou bezbednosti. Primena preporuke na primeru tri preložene zone je sledeća: pristup iniciran iz interne zone može biti omogućen ka servisima u DMZ zoni, ali ne nužno i servisima u eksternoj zoni. Pristup resursima u internoj zoni iz DMZ zone može biti dozvoljen uz dodatnu autentifikaciju ili autorizaciju, ne samo primenom pravila o filtriranju saobraćaja.
Preporučuje se i sledeće:
U ovom poglavlju, opisan je saobraćaj karakterističan za pojedine servise. Analizom je obuhvaćen skup najčešće korišćenih servisa u mrežama krajnjih institucija. Pažnja je posvećena kontroli dolaznih konekcija, dok su za odlazne konekcije naglašene uglavnom zabrane (kada se preporučuju). Objašnjenja su prilagođena implementaciji preporuka u osnovnoj konfiguraciji (vidi poglavlje 2.3). Kao takva, ne mogu se direktno koristiti u naprednijim konfiguracijama, ali ih je lako prilagoditi konkretnoj konfiguraciji sa sigurnosnim (branjenim) zonama. Za primenu u naprednijim konfiguracijama, u tabelama je istaknuto i kada postoji mogućnost kontrole saobraćaja preko ACK flega (pogledati objašnjenje u poglavlju 2.6 Naprednije konfiguracije).
Napomena: Poglavlje sadrži isključivo preporuke, koje ne obavezuju pojedinačne institucije da ih primene. Dakle, tekst ne treba tumačiti kao zahtev za institucije članice AMRES-a.
SMTP (Simple Mail Transport Protocol) je TCP protokol koji služi za prenos pošte između mail servera i između klijenata i mail servera. SMTP server sluša na portu 25. Danas, većina servera koristi ESMTP (Extended SMTP) koji takodje koristi port 25.
Računari koji primaju poštu pomoću SMTP protokola koriste port 25, dok računari koji šalju poštu koriste slučajno odabran port iznad 1023.
Direction | Source addr. | Dest. addr. | Protocol | SourcePort | Dest.port | ACK set* | Notes |
---|---|---|---|---|---|---|---|
In | Ext | Int | TCP | >1023 | 25 | ** | Incoming mail, sender to recipient |
Out | Int | Ext | TCP | 25 | >1023 | Yes | Incoming mail, recipient to sender |
Out | Int | Ext | TCP | >1023 | 25 | ** | Outgoing mail, sender to recipient |
In | Ext | Int | TCP | 25 | >1023 | Yes | Outgoing mail, recipient to sender |
* Ukoliko postoji mogućnost kontrole ACK flega
** ACK is not set on the first packet of this type (establishing connection) but will be set on the rest.
Preporuke:
Standardni SMTP protokol ne vrši enkripciju poruka koje prenosi. Zbog takvog načina rada, e-mail saobraćaj je podložan različitim vrstama sigurnosnih pretnji. Da bi se to sprečilo, koristi se SMTP sa TLS/SSL enkripcijom. TLS/SSL enkripcija sa sobom donosi mehanizme koji obezbeđuju da se utvrdi tačan identitet SMTP servera, obezbedi enkripcija podataka koji se koriste za autentifikaciju klijenata na SMTP serveru (username i password) i zaštiti tajnost samih podataka, u porukama koje se prenose, na putanji od klijentskog računara do SMTP servera.
Upotreba SMTP TLS/SSL protokola je svakako preporuka prilikom slanja e-mail poruka ka serverima van AMRES mreže, ali i prilikom slanja e-mail poruka sa klijenata van AMRES mreže na e-mail servere u AMRES mreži. Na taj način su zaštićene i poruke koje se prenose i podaci koji se koriste za autentifikaciju na samom serveru (username i password). Standardizovani broj porta, za SMTP SSL/TLS komunikaciju je 587. Ovo je odredišni port koji klijenti koriste za slanje podataka ka e-mail serveru.
Primena TLS/SSL enkripcije zahteva instalaciju sertifikata na samom serveru, zahteva dodatnu konfiguraciju e-mail servera i zahteva veće hardverske kapacitete (procesorska snaga itd.) samog servera.
POP3 (Post Office Protocol Version 3) je klijent/server protokol za transport pošte od servera do elektronskih poštanskih sandučića (mailboxes).
Pri korišćenju ovog servisa preko Interneta nameće se osnovno pitanje bezbednosti odnosno mogućnost otkrivanja lozinke. U komunikaciji između klijenta i servera lozinka se šalje preko Interneta tako da oni koji “osluškuju” komunikaciju mogu da snime lozinku. U većini slučajeva POP3 lozinka je ista kao i lozinka koja služi za logovanje na server takoda mogu da dobiju privilegije korisnika na serveru.
Da bi se zaštitili od prisluškivanja POP3 Internet komunikacije koristi se POP preko SSL-a (Secure POP) koji kriptuje celu komunikaciju ali to zahteva upotrebu drugog porta.
Klasični POP3 koristi port 110, dok POP3 preko SSL-a (POP3S) koristi port 995. POP3 klijenti koriste portove iznad 1023.
Direction | Source addr. | Dest. addr. | Protocol | SourcePort | Dest.port | ACK set* | Notes |
---|---|---|---|---|---|---|---|
In | Ext | Int | TCP | >1023 | 110/995 | ** | Incoming POP/SSL connection, client to server. |
In | In | Ext | TCP | 110/995 | >1023 | Yes | Answer the incoming POP/SSL connection, server to client. |
Out | In | Ext | TCP | >1023 | 110/995 | ** | Outgoing POP/SSL connection, client to server. |
Out | Ext | Int | TCP | 110/995 | >1023 | Yes | Answer the outgoing POP/SSL connection, server to client. |
* Ukoliko postoji mogućnost kontrole ACK flega
** ACK is not set on the first packet of this type (establishing connection) but will be set on the rest.
Napomena: Mail server i POP/POP3S server se koriste u paru za slanje/prijem pošte, pa se naziv koristi iteretivno.
Preporuke:
IMAP slično kao POP3 protokol služi preuzimanje elektronske pošte sa mail servera. IMAP je noviji protokol, pruža veću fleksibilnost, uključujući i podršku za višestruke poštanske sandučiće.
IMAP je nebezbedan protokol jer se korisničko ime i lozinka prenose kao običan tekst odnosno nisu kriptovani. Postoji i verzija IMAP-a preko SSL-a (IMAPS) koja kriptuje celu komunikaciju i koja koristi poseban port.
Klasični IMAP koristi port 143, dok IMAP preko SSL-a (IMAPS) koristi port 993. IMAP klijenti koriste portove iznad 1023.
Direction | Source addr. | Dest. addr. | Protocol | SourcePort | Dest.port | ACK set* | Notes |
---|---|---|---|---|---|---|---|
In | Ext | Int | TCP | >1023 | 143/993 | ** | Incoming IMAP/IMAPS connection, client to server. |
Out | Int | Ext | TCP | 143/993 | >1023 | Yes | Answer the incoming IMAP/IMAPS connection, server to client. |
Out | Int | Ext | TCP | >1023 | 143/993 | ** | Outgoing IMAP/IMAPS connection, client to server. |
In | Ext | Int | TCP | 143/993 | >1023 | Yes | Answer the outgoing IMAP/IMAPS connection, server to client. |
* Ukoliko postoji mogućnost kontrole ACK flega
** ACK is not set on the first packet of this type (establishing connection) but will be set on the rest.
Napomena: Mail server i IMAP/IMAPS server se koriste u paru za slanje/prijem pošte, pa se i naziv koristi iterativno.
Preporuke:
HTTP (HyperText Transfer Protocol) je osnovni protokol na kome se bazira web i sam po sebi predstavlja relativno siguran protokol. Web klijenti tradicionalno koriste http protokol za komunikaciju sa web serverima za preuzimanje I slanje podataka bez enkripcije. Za osetljive transakcije razvijeni su HTTPS I SHTTP protokoli koji koriste enkriptovanu komunikaciju između klijenta I servera. HTTPS je kombinacija HTTP protokola I SSL/TLS protokola koji obezbeđuju šifrovanje podataka i ima pre svega za cilj da zaštiti komunikacioni kanal prilikom slanja I preuzimanja podataka. SHTTP ima za cilj pre svega da bolje zaštiti pojedinane objekte nego kanal komunikacije. Ovo omogućava, na primer, da pojedinačne stranice na serveru budu digitalno potpisane.
HTTP saobraćaj se bazira na TCP protokolu. Većina servera koristi port 80 ali ne svi. HTTPS koristi TCP konekcije na portu 443. Secure HTTP je dizajniran da radi preko porta 80. Proxy serveri tradicionalno koriste port 8080.
Direction | Source addr. | Dest. addr. | Protocol | SourcePort | Dest.port | ACK set* | Notes |
---|---|---|---|---|---|---|---|
In | Ext | Int | TCP | >1023 | 80/443 | ** | Request, external client to internal server |
Out | Int | Ext | TCP | 25 | >1023 | Yes | Response, internal server to external client |
Out | Int | Ext | TCP | >1023 | 25 | ** | Request, internal client to external server |
In | Ext | Int | TCP | 25 | >1023 | Yes | Response, external server to internal client |
* Ukoliko postoji mogućnost kontrole ACK flega
** ACK is not set on the first packet of this type (establishing connection) but will be set on the rest.
Preporuke:
Generalno posmatrano, većina institucija ima autoritativne DNS (Domain Name System) servere koji odgovaraju za njihov domen. Oni moraju da odgovore na upite sa Internet-a, na rekurzivne upite iz lokalne mreže i da vrše transfer zonskih fajlova.
Zbog brzine, DNS upiti se obično izvršavaju koristeći UDP. Ako se neki od paketa izgubi tokom prenosa upit može biti ponovljen korišćenjem TCP. Ukoliko DNS transakcija zahteva više podataka nego što se uklapa u UDP paket, DNS može automatski da prebaci konekciju na TCP port umesto UDP.
DNS serveri, standardno, osluškuju na portu 53 za UDP i TCP upite. Uobičajeno je da serveri koriste portove iznad 1024 za TCP zahteve. Neki serveri koriste port 53 kao izvorni port za UDP upite, dok drugi koriste port iznad 1023. DNS klijenti koriste slučajno izabran port iznad 1023 za UDP i TCP.
Da bi se pokrenuo transfer zone potrebno je da sekundarni DNS uputi zahtev primarnom DNS-u ili da dobije notify poruku od primarnog DNS-a. Zahtev za transferom zone se inicira od sekundarnog DNS-a, UDP protokolom, na slučajno odabranom portu iznad 1023 ka primarnom DNS-u na portu 53. Kada se ustanovi potreba za transferom zone, sam transfer se vrši korišćenjem TCP.
Notify poruke ponašaju se kao standarni upiti između dva servera.
Direction | Source addr. | Dest. addr. | Protocol | SourcePort | Dest.port | ACK set* | Notes |
---|---|---|---|---|---|---|---|
In | Ext | Int | UDP/TCP | >1023 | 53 | *** | Query via UDP/TCP, external client to internal server |
Out | Int | Ext | UDP/TCP | 53 | >1023 | Yes | Response via UDP/TCP, internal server to external client |
Out | Int | Ext | UDP/TCP | >1023 | 53 | *** | Query via UDP/TCP, internal client to external server |
In | Ext | Int | UDP/TCP | 53 | >1023 | *** | Response via UDP/TCP, external server to internal client |
In | Ext | Int | UDP | 53 | 53 | *** | Query or response between two servers via UDP |
Out | Int | Ext | UDP | 53 | 53 | *** | Query or response between two servers via UDP |
In | Ext | Int | TCP | >1023 | 53 | ** | Query or zone transfer request from external server to internal server via TCP |
Out | Int | Ext | TCP | 53 | >1023 | ** | Response (including zone transfer response) from internal server to external server via TCP |
Out | Int | Ext | TCP | >1023 | 53 | ** | Query or zone transfer request from internal server to external server via TCP |
In | Ext | Int | TCP | 53 | >1023 | Yes | Response (including zone transfer response) from external server to internal server via TCP |
* Ukoliko postoji mogućnost kontrole ACK flega
** ACK is not set on the first packet of this type (establishing connection) but will be set on the rest.
*** UDP ne koristi ACK fleg
Preporuke:
Telnet omogućava pristup sa udaljenog računara do komandne linije na drugom kompjuteru. Podržan je u skoro svim platformama na Internetu. Telnet komunikacija između računara odvija se u ne-kriptovanom modu (otvoren tekst) što je osnovni nedostatak ovog servisa.
Telnet serveri koriste port 23, osim u izuzetnim slučajevima kada se koristi neki drugi port. Telnet klijenti koriste slučajno odabran port iznad 1023.
Direction | Source addr. | Dest. addr. | Protocol | SourcePort | Dest.port | ACK set* | Notes |
---|---|---|---|---|---|---|---|
In | Ext | Int | TCP | >1023 | 23 | ** | Incoming session, client to server. |
Out | Int | Ext | TCP | 23 | >1023 | Yes | Incoming session, server to client. |
Out | Int | Ext | TCP | >1023 | 23 | ** | Outgoing session, client to server. |
In | Ext | Int | TCP | 23 | >1023 | Yes | Outgoing session, server to client. |
* Ukoliko postoji mogućnost kontrole ACK flega
** ACK is not set on the first packet of this type (establishing connection) but will be set on the rest.
Preporuke:
SSH slično kao i telnet omogućava remote pristup do komandne linije na drugom kompjuteru. Za razliku od telnet-a komunikacija izmeđju klijenta i servera odvija se u enkriptovanom obliku, zbog čega se preporučuje za primenu umesto telnet protokola gde god je to moguće.
SSH serveri koriste port 22. SSH klijenti koriste slučajno odabran port iznad 1023, osim u slučaju kada koriste .rhost-based authentication methods kada mogu da koriste i portove ispod 1024.
Direction | Source addr. | Dest. addr. | Protocol | SourcePort | Dest.port | ACK set* | Notes |
---|---|---|---|---|---|---|---|
In | Ext | Int | TCP | Any *** | 22 | ** | Incoming SSH connection, client to server. |
Out | Int | Ext | TCP | 22 | Any *** | Yes | Incoming SSH connection, server to client. |
Out | Int | Ext | TCP | Any *** | 22 | ** | Outgoing SSH connection, client to server. |
In | Ext | Int | TCP | 22 | Any *** | Yes | Outgoing SSH connection, server to client. |
* Ukoliko postoji mogućnost kontrole ACK flega
** ACK is not set on the first packet of this type (establishing connection) but will be set on the rest.
*** SSH clients use a port below 1024 when using .rhost-based authentication methods, and a port above 1023 otherwise.
Preporuke:
Ping i druge alate za dijagnostiku mreže koji se baziraju na ICMP protokolu koriste administratori mreža za rešavanje problema na mreži. Ping aplikacija generiše “echo request” paket. Ciljni uređaj odgovara sa “echo response” paketom. ICMP je uglavnom implementiran u operativni sistem tako da nije potreban poseban server na odredišnom računaru.
ICMP poruke nemaju broj porta ali zato imaju naziv i oznaku poruke. Mnogi sistemi za filtriranje paketa omogućavaju da filtrirate ICMP pakete navođeći tip poruke umesto UDP/TCP portova.
Iako su ping i drugi alati koji se baziraju na ICMP protokolu korisni za dijagnostiku mreže, ICMP protokol se može iskoristiti za napade na računare i druge uređaje na mreži (DoS attack, ICMP Smurf attack, ICMP Flood attack, Ping of Death attack, …).
Direction | Source addr. | Dest. addr. | Protocol | Message Type | Notes |
---|---|---|---|---|---|
In | Ext | Int | ICMP | 8 | Incoming ping |
Out | Int | Ext | ICMP | 0 | Response to incoming ping |
Out | Int | Ext | ICMP | 8 | Outgoing ping |
In | Ext | Int | ICMP | 0 | Response to outgoing ping |
Preporuke:
NTP (Network Time Protocol) se koristi za sinhronizaciju vremena na računarima.
NTP serveri koriste UDP port 123 za komunikaciju sa drugim serverima i sa klijentima. NTP klijenti koriste slučajno odabran port iznad 1023.
Direction | Source addr. | Dest. addr. | Protocol | SourcePort | Dest.port | Notes |
---|---|---|---|---|---|---|
In | Ext | Int | UDP | >1023 | 123 | Query, external client to internal server |
Out | Int | Ext | UDP | 123 | >123 | Response, internal server to external client |
Out | Int | Ext | UDP | >1023 | 123 | Query, internal client to external server |
In | Ext | Int | UDP | 123 | >123 | Response, external server to internal client |
In | Ext | Int | UDP | 123 | 123 | Query or response between two servers |
Out | Int | Ext | UDP | 123 | 123 | Query or response between two servers |
NTP koristi UDP, pa je osetljiv na IP spoofing.
Strategija filtriranja NTP saobraćaja zavisi od toga gde se nalazi server odnosno serveri koje koriste klijenti unutar vaše lokalne mreže.
Najbolja varijanta je da imate NTP server unutar vaše lokalne mreže koji sinhronizuje vreme pomoću GPS časovnika ili nekog drugog uređaja koji ne koristi Internet za sinhronizaciju. Tada možeta da zatvorite portove za NTP saobraćaj (dolazni i odlazni) prema Internetu. Ovo rešenje je retko primenjivo u AMRESu.
Druga varijanta podrazumeva da u okviru svoje mreže imate NTP server koji se sinhronizuje preko interneta a klijenti u okviru vaše mreže koriste usluge samo tog servera. U tom slučaju treba dopustiti vašem serveru da sinhronizuje vreme samo sa određenog broja eksternih servera. Zabraniti klijentima da komuniciraju sa NTP serverima na Internetu.
Treća varijanta je kada nemate svoj NTP server nego računari iz vaše mreže koriste usluge eksternih NTP servera. Tada treba odabrati eksterne servere i klijentima iz vaše mreže dopustiti da kominiciraju samo sa odabranim serverima.
Preporuke:
SNMP (Simple Network Management Protocol) je standarni protokol za nadgledanje i upravljanje mrežnim uređajima. SNMP arhitektura se sastoji od dva ključna elementa: agenta i menadžera. Radi se o klijent-server arhitekturi u kojoj je agent server, a menadžer klijent. Agent je program koji se izvršava na nekom nadziranom čvoru mreže. To je u stvari server proces, koji šalje podatke menadžeru i prima upravljačke naredbe. Menadžer je program koji se izvršava na stanici za nadzor mreže (klijent proces) i njegova uloga je da kontaktira razne agente i prikuplja podatke od njih. SNMP agent može da šalje poruke i bez prethodnog zahteva od strane menadžera (trap poruke).
Trenutno su u upotrebi dve verzije SNMP protokola, v2 i v3. SNMP v3 ima poboljšane karakteristike sa aspekta bezbednosti.
SNMP koristi UDP kao transportni mehanizam za SNMP poruke, mada može da koristi i TCP. SNMP agenti koriste UDP portove 161 i 162 (za trap). SNMP menadžeri (klijenti) koriste portove iznad 1023 za komunikaciju sa agentima (serverima). Sve verzije SNMP koriste iste brojeve za portove.
Direction | Source addr. | Dest. addr. | Protocol | SourcePort | Dest.port | ACK | Notes |
---|---|---|---|---|---|---|---|
In | Ext | Int | UDP | >1023 | 161 | * | Query from external management station to internal SNMP device |
Out | Int | Ext | UDP | 161 | >1023 | * | Response from internal SNMP device to external management station |
Out | Int | Ext | UDP | >1023 | 161 | * | Query from internal management station to external SNMP device |
In | Ext | Int | UDP | 161 | >1023 | * | Response from external SNMP device to internal management station |
In | Ext | Int | UDP | 162 | >1023 | * | Trap from external SNMP device to internal management station |
Out | Int | Ext | UDP | >1023 | 162 | * | Trap from internal SNMP device to external management station |
* UDP ne koristi ACK fleg
Najbolja zaštita je ako onemogućite da neko spolja uzima podatke sa vaših uređaja odnosno nadgleda vašu mrežu.
Preporuke:
FTP (File Transfer Protocol) je najčešće korišćen protokol za prenos podataka između dva računara na mreži. Za svoj rad korist TCP. Autentifikacija i sva komunikacija se prenose kao otvoren tekst što ovaj protokol čini ne tako bezbednim.
FTP sesija se sastoji od dve konekcije: kontrolne konekcije i konekcije za prenos podataka. Kontrolna konekcija se pokreće prva i šalje zahtev za uspostavljanje veze udaljenom računaru. Nakon provere identiteta i uspostavljanja dvosmerne veze, klijent je u mogućnosti da šalje komande za obavljanje različitih zadataka. Kada klijent napravi zahtev za prenos podataka, tada se aktivira konekcija za prenos podataka (na drugom portu) koja vrši sam prenos. Za to vreme kontrolna sesija mora ostati aktivna kako bi se komande i poruke mogle razmenjivati između klijenta i servera.
FTP radi u dva režima i važno je razumeti razliku između ova dva režima zbog firewall pravila.
Aktivni režim
U aktivnom režimu klijent inicira konekciju sa slučajno izabranog porta iznad 1023 (N) ka FTP serveru na portu 21. Zatim salje serveru naredbu PORT N+1, gde je N+1 port na kome će klijent da prima podatke. Server zatim otvara kanal za prenos podataka sa porta 20 ka portu N+1 na strani klijenta.
Pasivni rezim
U pasivnom režimu klijent alocira dva porta za sebe (N, N+1) i prvi port (N) koristi da inicira konekciju sa FTP serverom na portu 21. Zatim šalje serveru naredbu PASV što govori serveru da alocira port za prenos podataka (iznad 1023) i šalje klijentu ovaj broj porta. Zatim, klijent otvara konekciju za prenos podataka sa porta (N+1) ka portu za prenos podataka na strani servera.
Direction | Source addr. | Dest. addr. | Protocol | SourcePort | Dest.port | ACK * | Notes |
---|---|---|---|---|---|---|---|
In | Ext | Int | TCP | >1023 | 21 | ** | Incoming FTP request, active mode |
Out | Int | Ext | TCP | 21 | >1023 | Yes | Response to incoming request, active mode |
Out | Int | Ext | TCP | 20 | >1203 | ** | Data channel creation for incoming FTP request, active mode |
In | Ext | Int | TCP | >1023 | 20 | Yes | Data channel response for incoming FTP request, active mode |
In | Ext | Int | TCP | >1023 | 21 | ** | Incoming FTP request, passive mode |
Out | Int | Ext | TCP | 21 | >1023 | Yes | Response to incoming request, passive mode |
In | Ext | Int | TCP | >1023 | >1023 | ** | Data channel creation for incoming FTP request, passive mode |
Out | Int | Ext | TCP | >1023 | 20 | Yes | Data channel response for incoming FTP request, passive mode |
Out | Int | Ext | TCP | >1023 | 21 | ** | Outgoing FTP request, active mode |
In | Ext | Int | TCP | 21 | >1023 | Yes | Response to outgoing request, active mode |
In | Ext | Int | TCP | 20 | >1203 | ** | Data channel creation for outgoing FTP request, active mode |
Out | Int | Ext | TCP | >1023 | 20 | Yes | Data channel response for outgoing FTP request, active mode |
Out | Int | Ext | TCP | >1023 | 21 | ** | Outgoing FTP request, passive mode |
In | Ext | Int | TCP | 21 | >1023 | Yes | Response to outgoing request, passive mode |
Out | Int | Ext | TCP | >1023 | >1203 | ** | Data channel creation for outgoing FTP request, passive mode |
In | Ext | Int | TCP | >1023 | >1023 | Yes | Data channel response for outgoing FTP request, passive mode |
* Ukoliko postoji mogućnost kontrole ACK flega
** ACK is not set on the first packet of this type (establishing connection) but will be set on the rest.
Preporuke:
Razmotrićemo još nekoliko servisa koji su od značaja za bezbednost računara unutar mreže:
Pored toga što generišu dodatni saobraćaj u mreži, kod ovih servisa, u prošlosti, otkriveni su brojni bezbednosni propusti koji su uzrokovali povećanu ranjivost računara u mreži.
Preporuke:
IP spoofing je tehnika napada kada napadač zamenjuje (lažira) izvorišnu ili odredišnu IP adressu paketa.
U slučaju falsifikovanja adrese izvora paketa, paket se pojavljuje kao da je poslat sa druge adrese ili sa više različitih adresa. Računar koji prima pakete svoje odgovore šalje na falsifikovane adrese. U određenim slučajevima je moguće da napadač preusmeri odgovor na svoj računar.
Ova tehnika se koristi u cilju izvođena različitih vrsta napada na uređaje u okviru jedne mreže. Filtriranje paketa je jedan od načina za odbranu od IP Spoofinga.
Preporuke:
Pravila o filtriranju saobraćaja moraju podržavi različite scenarije korištenja VPN tehnologije.
Dva najčešća modela implementacije VPN arhitekture su gateway-to-gateway i host-to-gateway.
Gateway-to-gateway
Gateway-to-gateway model omogućava povezivanje dve mreže, preko njihovih gateway uređaja koji međusobno uspostavljaju VPN konekciju. Gateway uređaj može biti firewall uređaj, VPN server ili ruter. VPN konekcija pruža zaštitu komunikaciji između hostova, u ove dve, različite mreže, ali samo u delu između gateway uređaja. Komunikacija između hosta i njegovog gateway uređaja nije zaštićena. Ovakav tip arhitekture se najčešće primenjuje u povezivanju udaljenih i obezbeđenih mreža preko Interneta. Gateway-to-gateway model rada je transparentan za krajnje hostove i ne zahteva instalaciju ili konfiguraciju dodatnog softvera na krajnjim računarima da bi ostvarili komunikaciju.
Host-to-gateway
Host-to-gateway model omogućava povezivanje hostova iz udaljenih mreža sa hostovima unutar neke organizacije, primenom VPN gateway uređaja (npr. firewall uređaj, VPN server ili ruter). Hostovi iz udaljenih mreža, uspostavljaju individualne VPN konekcije sa gateway uređajem. Na ovaj način, VPN konekcija pruža zaštitu komunikaciji između udaljenog hosta i gateway uređaja, ali ne i između gateway uređaja i odredišnog hosta, koji se nalaze u mreži te organizacije. Najčešća primena ovog modela, jeste u povezivanju hostova iz neobezbeđenih mreža sa resursima i hostovima u obezbeđenim mrežama (npr. povezivanje zaposlenih od kuće, iz hotela ili aerodroma) na mrežu institucije preko Internet infrastrukture. Host-to-gateway model rada nije transparentan za krajnje korisnike, jer zahteva da se svaki korisnik autentifikuje pre uspostavljanja VPN konekcije, a takođe zahtevaju i instalaciju i konfiguraciju VPN klijent softvera na korisničkim uređajima.
Na osnovu dokumenta AMRES 2008 – “D02. Realizacija VPN servisa za AMRES pojedinačne korisnike”, možemo izdvojiti sledeća VPN rešenja, kao preporuke za realizaciju u okviru AMRES mreže:
SSL VPN
Secure Socets Layer (SSL) VPN omogućava bezbedan način pristupa udaljenim reursima neke mreže. Saobraćaj između SSL klijenta i SSL servera je enkriptovan pomoću SSL/TLS protokola.
Da bi se omogućilo nesmetano funkcionisanje SSL VPN servisa, potrebno je omogućiti komunikaciju ka VPN gateway uređaju po TCP portu 443.
Direction | Source IP address | Destination IP address | Protocol | Source port | Destination port | Notes |
---|---|---|---|---|---|---|
In | Ext | Int | TCP | >1023 | 443 | Komunikacija eksternih klijenta ka internom VPN serveru |
Out | Int | Ext | TCP | 443 | >1023 | Komunikacija internog VPN servera ka eksternim klijentima |
Out | Int | Ext | TCP | >1023 | 443 | Komunikacija internih klijenta ka eksternom VPN serveru |
In | Ext | Int | TCP | 443 | >1023 | Komunikacija eksternog VPN servera ka internim klijentima |
PPTP
PPTP (Point-to-point Tunneling Protocol) osigurava komunikaciju između PPTP klijenta i PPTP servera i koristi GRE protokol za transport podataka između njih. Protokoli i TCP/UDP portovi neophodni za funkcionisanje ovg servisa su predstavljeni u tabeli ispod.
Direction | Source IP address | Destination IP address | Protocol | Source port | Destination port | Notes |
---|---|---|---|---|---|---|
In | Ext | Int | TCP | >1023 | 1723 | This filter allows PPTP tunnel maintenance traffic from the external PPTP client to the internal PPTP server. |
In | Ext | Int | GRE | - | - | This filter allows PPTP tunneled data from the external PPTP client to the internal PPTP server. |
Out | Int | Ext | TCP | 1723 | >1023 | This filter allows PPTP tunnel maintenance traffic from the internal VPN server to the external VPN client. |
Out | Int | Ext | GRE | - | - | This filter allows PPTP tunneled data from the internal VPN server to the external VPN client. |
Out | Int | Ext | TCP | >1023 | 1723 | This filter allows PPTP tunnel maintenance traffic from the internal PPTP client to the external PPTP server. |
Out | Int | Ext | GRE | - | - | This filter allows PPTP tunneled data from the internal PPTP client to the external PPTP server. |
In | Ext | Int | TCP | 1723 | >1023 | This filter allows PPTP tunnel maintenance traffic from the external VPN server to the internal VPN client. |
In | Ext | Int | GRE | - | - | This filter allows PPTP tunneled data from the external VPN server to the internal VPN client. |
L2TP/IPSec
L2TP (Layer 2 Transport Protocol) je jedan od enkapsulacionih protokola, koji se koristi za formiranje tunela u IP mrežama. Ovaj protokol ne enkriptuje poruku koju prenosi. Zbog te svoje osobine, u IP mrežama se najčešće koristi u kombinaciji sa IPSec protokol stekom koji pruža mehanizme enkripcije. TCP/UDP portovi i odgovarajući protokoli potrebni za funkcionisanje L2TP/IPSec VPN servisa su prikazani u tabeli ispod.
Direction | Source IP address | Destination IP address | Protocol | Source port | Destination port | Notes |
---|---|---|---|---|---|---|
In | Ext | Int | UDP | >1023 | 500 | This filter allows IKE traffic to the internal VPN server. |
In | Ext | Int | UDP | >1024 | 4500 | This filter allows IPSec NAT-T traffic to the internal VPN server. |
In | Ext | Int | ESP | - | - | This filter allows IPSec ESP traffic from the VPN client to the VPN server. |
In | Ext | Int | AH | - | - | This filter allows IPSec AH traffic from the VPN client to the VPN server. |
Out | Int | Ext | UDP | 500 | >1023 | This filter allows IKE traffic to the external VPN server. |
Out | Int | Ext | UDP | 4500 | >1023 | This filter allows IPSec NAT-T traffic to the external VPN server. |
Out | Int | Ext | ESP | - | - | This filter allows IPSec ESP traffic from the internal VPN client to the external VPN server. |
Out | Int | Ext | AH | - | - | This filter allows IPSec AH traffic from the internal VPN client to the external VPN server. |
Za svoje funkcionisanje, L2TP protokol koristi UDP port 1701. Prilikom prolaska kroz firewall uređaj, sav L2TP saobraćaj je enkriptovan i enkapsuliran u ESP protokol. Zbog toga, na samom firewall uređaju nije neophodno otvoriti UDP port 1701, da bi L2TP/IPSec VPN servis funkcionisao.
U tabeli ispod su predstavljene generalne preporuke, za dopuštanje TCP/UDP servisa i odgovarajućih protokola, kroz firewall uređaje, koje treba da obezbede normalno funkcionisanje VPN servisa.
VPN Protokol | IP protokoli |
---|---|
IPSec | 50 (Authentication Header, for AH connections) 51 (for Encapsulating Security Payload, for ESP connections) 17 (UDP), port 500 (for Internet Key Exchange, whether or not NAT-Traversal is used) 17 (UDP), port 4500 (for Internet Key Exchange using NAT-Traversal) |
PPTP | 47 (GRE - Generic Routing Encapsulation) 6 (TCP), port 1723 |
L2TP | 17 (UDP), port 1701 |
SSL/TLS | 6 (TCP), port 443 |
GRE | 47 (GRE - Generic Routing Encapsulation) |
Većina institucija u AMRES-u koristi Cisco mrežne uređaje na poziciji tri. Zbog toga su, u nastavku ovog poglavlja, prikazani primeri konfiguracija ACL, korišćenjem IOS komandi.
Ovo je predlog liste pristupa, koja bi se primenila na mrežnom uređaju u AMRES servisnom centaru/PoP-u. Lista je konfigurisana po tekstu “Pravilnika o filtriranju saobraćaja u AMRES-u”, koji se odnosi na fitriranje saobraćaja na internim vezama. Lista se može primeniti na interfejsu, preko koga je povezana institucija/organizacija članica AMRES-a.
! ========================================================= ! ! ACCESS-LIST SITE_in ! za dolazni saobracaj sa udaljene lokacije ! na Akademsku mrezu ! ! ========================================================= no ip access-list extended SITE_in ip access-list extended SITE_in ! ********************************************************* ! GENERALNE ZABRANE ! ********************************************************* ! !---------------------------------------------------------- ! Antispoofing !---------------------------------------------------------- ! deny ip 10.0.0.0 0.255.255.255 any deny ip 172.16.0.0 0.31.255.255 any deny ip 192.168.0.0 0.0.255.255 any deny ip 127.0.0.0 0.255.255.255 any deny ip 0.0.0.0 0.255.255.255 any deny ip 224.0.0.0 31.255.255.255 any ! !---------------------------------------------------------- ! Protokoli u LAN mrezama !---------------------------------------------------------- ! deny tcp any range 135 139 any deny udp any range 135 139 any deny tcp any any range 135 139 deny udp any any range 135 139 ! deny tcp any eq 445 any deny udp any eq 445 any deny tcp any any eq 445 deny udp any any eq 445 ! deny tcp any eq 1434 any deny udp any eq 1434 any deny tcp any any eq 1434 deny udp any any eq 1434 ! ! ********************************************************* ! KONTROLISANI SERVISI ! ********************************************************* ! !---------------------------------------------------------- ! SNMP !---------------------------------------------------------- ! permit udp any eq 161 host 147.91.3.12! ICmyNet.IS server deny udp any eq 161 any ! permit udp any host 147.91.3.12 eq 162! ICmyNet.IS server deny udp any any eq 162 ! !---------------------------------------------------------- ! SMTP !---------------------------------------------------------- permit tcp host 147.91.0.1 any eq 25 permit tcp host 147.91.0.1 eq 25 any ! permit tcp 147.91.0.0 0.0.0.255 host 147.91.1.120 eq 25 ! slanje poste ka RCUB Afrodita e-mail serveru permit tcp 147.91.0.0 0.0.0.255 host 147.91.1.119 eq 25 ! slanje poste ka RCUB Tesla e-mail serveru ! deny tcp any any eq 25 deny tcp any eq 25 any ! !---------------------------------------------------------- ! ICMP !---------------------------------------------------------- permit icmp host x.x.x.x any echo permit icmp any 147.91.4.0 255.255.255.0 echo-reply deny icmp any any ! ! ********************************************************* ! Antispoofing ! ********************************************************* permit ip 147.91.0.0 0.0.0.255 any deny ip any any !----------------------------------------------------------
U ovom poglavlju su dati primeri komandi za konfiguraciju ACL na Cisco ruterima. Konfiguracija ACL je bazirana na preporukama datim u okviru poglavlja ” Najcesce korisceni servisi”. Za svaki servis je dat primer filtriranja u izlaznom (egress) i ulaznom (ingress) smeru.
U tekstu ispod je dat primer ACL, koja filtrira saobracaj u smeru od lokalne mreže neke AMRES institucije, prema eksternim mrežama (egress traffic filtar). Data ACL je zasnovana na strategiji filtriranja dozvoli sve tj. sav saobraćaj koji nije eksplicitno zabranjen se dopušta. ACL je zasnovana na odgovarajućim pretpostavkama, koje se tiču korišćenja pojedinih servisa od strane AMRES institucije(npr. koristi se eksterni proxy server, lokalni NTP server se sinhroniše sa eksternim NTP serverima, koristi se aktivni mod rada FTP-a, koristi se PPTP VPN servis itd.). Navedena ACL je samo jedan od primera implementacije filtriranja saobraćaja u odlaznom (egress) smeru.
Napomena: U primeru ACL se za IP adresni opseg LAN mreže AMRES institucije, koristi opseg 147.91.0.0/24. Sve IP adrese eksternih hostova su označene kao x.x.x.x.
! -------------------------------------------------------------------------------------------------- ! ! ACCESS-LIST INSTITUCIJA_out ! filtriranje saobracaja u smeru od LAN mreze institucije prema eksternim mrežama ! ! -------------------------------------------------------------------------------------------------- ! no ip access-list extended INSTITUCIJA_out ip access-list extended INSTITUCIJA _out ! !--------------------------------------------------------------------------------------------------- ! E-mail servis !--------------------------------------------------------------------------------------------------- ! !---- SMTP ---- ! permit tcp host 147.91.0.1 gt 1023 any eq 25 permit tcp host 147.91.0.1 eq 25 any gt 1023 ! permit tcp any gt 1023 host x.x.x.x eq 25 ! slanje pošte ka identifikovanim, eksternim e-mail serverima ! deny tcp any gt 1023 any eq 25 ! zabrana slanja pošte sa klijenata koji nisu identifikovani kao e-mail serveri ! deny tcp any eq 25 any gt 1023! zabrana slanja pošte sa klijenata koji nisu identifikovani kao e-mail serveri ! ! !---- POP3/POP3S ---- ! permit tcp any gt 1023 host x.x.x.x eq 995 ! primanje pošte sa identifikovanih, eksternih e-mail servera ! deny tcp any gt 1023 any eq 995 deny tcp any gt 1023 any eq 110 ! permit tcp host 147.90.0.1 eq 995 any gt 1023 ! slanje pošte ka eksternim klijentima ! deny tcp any eq 995 any gt 1023 ! zabrana slanja pošte sa klijenata koji nisu identifikovani kao e-mail serveri deny tcp any eq 110 any gt 1023 ! zabrana slanja pošte sa klijenata koji nisu identifikovani kao e-mail serveri ! !---- IMAP/IMAPS ---- ! permit tcp any gt 1023 host x.x.x.x eq 993 ! primanje pošte sa identifikovanih, eksternih e-mail servera ! deny tcp any gt 1023 any eq 993 deny tcp any gt 1023 any eq 143 ! permit tcp host 147.90.0.1 eq 993 any gt 1023 ! slanje pošte ka eksternim klijentima ! deny tcp any eq 993 any gt 1023 ! zabrana slanja pošte sa klijenata koji nisu identifikovani kao e-mail serveri deny tcp any eq 143 any gt 1023 ! zabrana slanja pošte sa klijenata koji nisu identifikovani kao e-mail serveri ! !--------------------------------------------------------------------------------------------------- ! WEB servis !--------------------------------------------------------------------------------------------------- ! !---- HTTP/HTTPS ---- ! ! AMRES institucija koristi eksterni proxy server ! permit tcp any gt 1023 host x.x.x.x eq 8080 deny tcp any gt 1023 any eq 80 deny tcp any gt 1023 any eq 443 deny tcp any gt 1023 any eq 8080 ! ! AMRES institucija poseduje lokalni WEB server ! permit tcp host 147.91.0.3 eq 80 any gt 1023 permit tcp host 147.91.0.3 eq 443 any gt 1023 deny tcp any eq 80 any gt 1023 ! !--------------------------------------------------------------------------------------------------- ! DNS servis !--------------------------------------------------------------------------------------------------- ! !---- DNS ---- ! permit tcp any gt 1023 any eq 53 ! upiti na eksterne DNS servere permit udp any gt 1023 any eq 53 ! permit tcp host 147.91.0.4 eq 53 any gt 1023 ! odgovor lokalnog DNS servera na eksterne upite, transfer zonske tabele ka eksternim DNS serverima permit udp host 147.91.0.4 eq 53 any gt 1023 ! permit udp host 147.91.0.4 eq 53 any eq 53 ! komunikacija internog sa eksternim DNS serverima ! deny tcp any eq 53 any gt 1023 deny udp any eq 53 any gt 1023 deny udp any eq 53 any eq 53 ! !--------------------------------------------------------------------------------------------------- ! Remote Access servis !--------------------------------------------------------------------------------------------------- ! !---- Telnet ---- ! permit tcp any gt 1023 any eq 23 permit tcp host 147.91.0.5 eq 23 host x.x.x.x gt 1023 deny tcp any eq 23 any gt 1023 ! !---- SSH ---- ! permit tcp any any eq 22 permit tcp host 147.91.0.5 eq 22 any deny tcp any eq 22 any ! !--------------------------------------------------------------------------------------------------- ! VPN servis !--------------------------------------------------------------------------------------------------- ! !---- PPTP VPN ---- ! permit gre any any permit tcp any gt 1023 host x.x.x.x eq 1723 ! permit tcp host 147.91.0.7 eq 1723 any gt 1023 ! deny tcp any gt 1023 any eq 1723 deny tcp any eq 1723 any gt 1023 ! !--------------------------------------------------------------------------------------------------- ! Ostali servisi !--------------------------------------------------------------------------------------------------- ! !---- Ping ---- ! permit icmp any any echo permit icmp any 147.91.4.0 255.255.255.0 echo-reply! primer administratorske mreže ka kojoj su dozvoljeni icmp echo-reply odgovori deny icmp any any echo-reply ! !---- NTP ---- (pretpostavka da nema klijenata sa eksternih mreža koje se sinhronišu sa lokalnim NTP serverom) ! ! lokalni NTP server sa sinhronizacijom na Internetu ! permit udp host 147.91.0.5 eq 123 host x.x.x.x eq 123 deny udp any gt 1023 any eq 123 deny udp any eq 123 any gt 1023 deny udp any eq 123 any eq 123 ! !---- SNMP ---- ! deny udp any eq 161 any gt 1023 deny udp any eq 162 any gt 1023 ! !---- FTP (aktivni mod) ---- ! permit tcp any gt 1023 any eq 21 permit tcp any gt 1023 any eq 20 ! permit tcp host 147.91.0.6 eq 21 any gt 1023 permit tcp host 147.91.0.6 eq 20 any gt 1023 ! deny tcp any eq 21 any gt 1023 deny tcp any eq 20 any gt 1023 ! !---- NetBIOS, RPC, SMB/CIFS ---- ! deny tcp any any range 135 139 deny udp any any range 135 139 ! deny tcp any range 135 139 any deny udp any range 135 139 any ! deny tcp any any eq 445 deny udp any any eq 445 ! deny tcp any eq 445 any deny udp any eq 445 any ! !--------------------------------------------------------------------------------------------------- ! Antispoofing !--------------------------------------------------------------------------------------------------- ! permit ip 147.91.0.0 0.0.0.255 any deny ip any any ! !--------------------------------------------------------------------------------------------------
U tekstu ispod je dat primer ACL, koja filtrira saobracaj u smeru od eksternih mreža, prema lokalnoj mreži AMRES institucije (ingress traffic filtar). Data ACL je zasnovana na strategiji filtriranja dozvoli sve tj. sav saobraćaj koji nije eksplicitno zabranjen se dopušta. ACL je zasnovana na odgovarajućim pretpostavkama, koje se tiču korišćenja pojedinih servisa od strane AMRES institucije(npr. koristi se eksterni proxy server, lokalni NTP server se sinhroniše sa eksternim NTP serverima, koristi se aktivni mod rada FTP-a, koristi se PPTP VPN servis itd.). Navedena ACL je samo jedan od primera implementacije filtriranja saobraćaja u dolaznom (ingress) smeru.
Napomena: U primeru ACL se za IP adresni opseg LAN mreže AMRES institucije, koristi opseg 147.91.0.0/24. Sve IP adrese eksternih hostova su označene kao x.x.x.x.
! -------------------------------------------------------------------------------------------------- ! ! ACCESS-LIST INSTITUCIJA_in ! filtriranje saobracaja u smeru od eksternih mreža prema lokalnoj mreži AMRES institucije ! ! -------------------------------------------------------------------------------------------------- ! no ip access-list extended INSTITUCIJA_in ip access-list extended INSTITUCIJA _in ! !--------------------------------------------------------------------------------------------------- ! E-mail servis !--------------------------------------------------------------------------------------------------- ! !---- SMTP ---- ! permit tcp any eq 25 host 147.91.0.1 gt 1023 ! odlazni mail permit tcp any gt 1023 host 147.91.0.1 eq 25 ! dolazni mail ! permit tcp host x.x.x.x eq 25 any gt 1023 ! u slucaju externih mail servera ! deny tcp any eq 25 any gt 1023 ! dolazni mail saobraćaj (prijem pošte) samo na te servere. deny tcp any gt 1023 any eq 25 ! dolazni mail saobraćaj (prijem pošte) samo na te servere. ! !---- POP3/POP3S ---- ! permit tcp host x.x.x.x eq 995 any gt 1023 ! deny tcp any eq 995 any gt 1023 deny tcp any eq 110 any gt 1023 ! permit tcp any gt 1023 host 147.91.0.1 eq 995 ! deny tcp any gt 1023 any eq 995 deny tcp any gt 1023 any eq 110 ! !---- IMAP/IMAPS ---- ! permit tcp host x.x.x.x eq 993 any gt 1023 ! deny tcp any eq 993 any gt 1023 deny tcp any eq 143 any gt 1023 ! permit tcp any gt 1023 host 147.91.0.1 eq 995 ! deny tcp any gt 1023 any eq 993 deny tcp any gt 1023 any eq 143 ! !--------------------------------------------------------------------------------------------------- ! WEB servis !--------------------------------------------------------------------------------------------------- ! !---- HTTP/HTTPS ---- ! ! AMRES institucija koristi eksterni proxy server ! permit tcp host x.x.x.x eq 8080 any eq 1023 deny tcp any eq 80 any gt 1023 deny tcp any eq 443 any gt 1023 deny tcp any eq 8080 any gt 1023 ! ! AMRES institucija poseduje lokalni WEB server ! permit tcp any gt 1023 host 147.91.0.3 eq 80 permit tcp any gt 1023 host 147.91.0.3 eq 443 deny tcp any gt 1023 any eq 80 deny tcp any gt 1023 any eq 443 ! !--------------------------------------------------------------------------------------------------- ! DNS servis !--------------------------------------------------------------------------------------------------- ! !---- DNS ---- ! permit tcp any gt 1023 host 147.91.0.4 eq 53 permit udp any gt 1023 host 147.91.0.4 eq 53 ! permit tcp any eq 53 any gt 1023 permit udp any eq 53 any gt 1023 ! permit udp any eq 53 host 147.91.0.4 eq 53 ! deny tcp any gt 1023 any eq 53 deny udp any gt 1023 any eq 53 deny udp any eq 53 any eq 53 ! !--------------------------------------------------------------------------------------------------- ! Remote Access servis !--------------------------------------------------------------------------------------------------- ! !---- Telnet ---- ! permit tcp any eq 23 any gt 1023 permit tcp host x.x.x.x gt 1023 host 147.91.0.5 eq 23 deny tcp any gt 1023 any eq 23 ! !---- SSH ---- ! permit tcp any eq 22 any permit tcp any host 147.91.0.5 eq 22 deny tcp any any eq 22 ! !--------------------------------------------------------------------------------------------------- ! VPN servis !--------------------------------------------------------------------------------------------------- ! !---- PPTP VPN ---- ! permit gre any any permit tcp host x.x.x.x eq 1723 any gt 1023 ! permit tcp any gt 1023 host 147.91.0.7 eq 1723 ! deny tcp any eq 1723 any gt 1023 deny tcp any gt 1023 any eq 1723 ! !--------------------------------------------------------------------------------------------------- ! Ostali servisi !--------------------------------------------------------------------------------------------------- ! !---- Ping ---- ! permit icmp any any eq echo-reply permit icmp 147.91.4.0 255.255.255.0 any echo deny icmp any any echo ! !---- NTP ---- (pretpostavka da nema klijenata sa eksternih mreža koje se sinhronišu sa lokalnim NTP serverom) ! ! lokalni NTP server sa sinhronizacijom na Internetu ! permit udp host x.x.x.x eq 123 host 147.91.0.5 eq 123 deny utp any gt 1023 any eq 123 deny utp any eq 123 any gt 1023 deny utp any eq 23 any eq 23 ! ! !---- SNMP ---- ! deny udp any gt 1023 any eq 161 deny udp any gt 1023 any eq 162 ! !---- FTP (aktivni mod) ---- ! permit tcp any gt 1023 host 147.91.0.6 eq 21 permit tcp any gt 1023 host 147.91.0.6 eq 20 ! permit tcp any eq 21 any gt 1023 permit tcp any eq 20 any gt 1023 ! deny tcp any gt 1023 any eq 21 deny tcp any gt 1023 any eq 20 ! !---- NetBIOS, RPC, SMB/CIFS ---- ! deny tcp any any range 135 139 deny udp any any range 135 139 ! deny tcp any range 135 139 any deny udp any range 135 139 any ! deny tcp any any eq 445 deny udp any any eq 445 ! deny tcp any eq 445 any deny udp any eq 445 any ! !--------------------------------------------------------------------------------------------------- ! Antispoofing !--------------------------------------------------------------------------------------------------- ! permit ip any 147.91.0.0 0.0.0.255 deny ip any any ! !---------------------------------------------------------------------------------------------------
Pravila filtriranja se po pravilu definišu imajući u vidu protokole transportnog (TCP, UDP) i/ili mrežnog sloja (IP, ICMP). Radi kompletnosti, u ovom poglavlju će biti pomenuti i osnovni razlozi filtriranja saobraćaja na aplikativnom sloju i sloju prenosa podataka (data link layer).
Aplikativni sloj
Aplikativni sloj je najviši sloj u hijararhiji TCP/IP referentnog modela. On predstavlja interfejs između aplikacija koje koristimo pri komunikaciji i mrežnih resursa koji omogućavaju prenos korisničkih poruka. Njegova glavna uloga je da pripremi poruke, svojstvene međuljudskoj komunikaciji, za prenos preko mreže.
Protokoli, razvijeni na ovom sloju, su zaduženi za razmenu podataka između pokrenutih programa na izvorišnom i odredišnom hostu. Primer protokola aplikativnog sloja su HTTP, SMTP, DNS, FTP itd.
Unutar aplikativnog sloja mogu se naći i dodatni slojevi protokola. Primer je SMTP protokol koji koristi RFC 2822 sintaksu poruke, da bi mogla da se ubaci ekstenzija MIME (Multipurpose Internet Mail Extensions), koja dalje omogućava korišćenje različitih formata poruke (npr. HTML). Ti dublji slojevi protokola, mogu se filtrirati samo na aplikativnom sloju.
Filtriranje poruka aplikativnog sloja, je najsloženiji vid filtriranja saobraćaja u mrežama. Ono se može vršiti na osnovu redosleda razmenjenih poruka određenog protokola ili čak na osnovu sadržaja samih poruka koje se prenose. Zbog toga, filtriranje saobraćaja na ovom sloju, pruža i najviši stepen zaštite nekoj mreži.
Transportni sloj
Transportni sloj je odgovoran za prenos poruka aplikativnog sloja sa-kraja-na-kraj mreže. Funkcionalnosti implementirane na ovom sloju omogućavaju, da više aplikacija, pokrenutih na istom uređaju, vrše istovremenu komunikaciju kroz mrežu. Takođe, ovaj sloj omogućava i pozdan prenos poruka koje se prenose, a pruža i odgovarajuće mehanizme za detekciju grešaka, koje se mogu javiti pri prenosu.
Da bi bio u mogućnosti, da podatke koje prenosi, i prosledi pravoj aplikaciji, transportni sloj mora identifikovati destinacionu aplikaciju. Zbog toga, transportni sloj svakoj aplikaciji dodeljuje i odgovarajući identifikator, koji se još naziva i broj porta. Portovi pružaju mehanizam za efikasno filtriranje pojedinih servisa.
Zbog različitih zahteve i potreba koje imaju različite aplikacije, razvijeno je nekoliko protokola transportnog sloja. Najznačajniji protokoli su TCP (Transmission Control Protocol) i UDP (User Datagram Protocol).
TCP (Transmission Control Protocol) je zasnovan na procesu uspostavljanja konekcije između krajnjih hostova u komunikaciji. Jedna od najbitnijih njegovih uloga je da obezbedi pouzdan prenos podataka u IP okruženju.
UDP (User Datagram Protocol) je jednostavniji protokol u odnosu na TCP, ali i pruža dosta uži skup funkcionalnosti u odnosu na njega. Koristi se za aplikacije kojima je važna brzina prenosa paketa (DNS, Video Streaming, VoIP itd.)
Korišćenjem odgovarajućih brojeva portova, moguće je dozvoliti ili zabraniti tok podataka nekog protokola aplikativnog sloja, kroz mrežu. Filtriranjem saobraćaja na ovom sloju, može se efikasno povećati nivo bezbednosti neke mreže.
Mrežni sloj
Za razliku od transportnog sloja , čija je uloga da omogući prenos podataka između krajnjih aplikacija, mrežni sloj je zadužen za obezbeđivanje komunikacije između krajnjih hostova. Njegova uloga je da pruži servis razmene paketa kroz mrežu identifikovanim, krajnjim uređajima. Da bi pružio ovaj servis, mrežni sloj koristi mehanizme adresiranja i rutiranja paketa kroz mrežu. Najznačajniji protokoli ovoga sloja su IP (Internet Protocol) i ICMP (Internet Control Message Protocol).
IP (Internet Protocol) je najrasprostranjeniji protokol mrežnog sloja na Internetu. On pruža samo osnovne funkcionalnosti, koje su neophodne za slanje paketa od izvorišnog do odredišnog uređaja u mreži. Osnovne karakteristike IPv4 protokola su da nema uspostavljanja konekcije između krajnjih hostova u komunikaciji, ovaj protokol, kao i UDP, ne pruža servis pouzdanog prenosa i nezavisan je od medijuma preko koga se odvija komunikacija.
Da bi mogli uspešno da komuniciraju, milioni različitih hostova na Internetu moraju biti jedinstveno identifikovani. Servis identifikacije uređaja na Internetu (adresiranje) pruža upravo IP protokol, preko IP adresa koje se nalaze u zaglavlju svakog paketa. U zaglavlju svakog paketa se nalazi IP adresa izvorišnog hosta (hosta koji šalje paket) i IP adresa odredišnog hosta (hosta koji prima poslati paket).
Pored adresiranja, IP protokol omogućava i rutiranje paketa na Internetu. Proces rutiranja podrazumeva pronalaženje putanje kroz mrežu do odredišnog uređaja. Rutiranje se obavlja na osnovu informacija o dostupnim mrežama, a koje se dobijaju preko različitih ruting protokola (BGP, OSPF, IS-IS, EIGRP itd.). Na osnovu odredišne IP adrese u paketu i informacija o dostupnim mrežama smeštenim u ruting tabeli, mrežni uređaji obavljaju funkciju rutiranja u mrežama.
Iako, IP protokol ne pruža servis pouzdanog prenosa, on omogućava slanje poruka o odgovarajućim vrstama problema koji se javljaju pri prenosu. Ove poruke se šalju zahvaljujući ICMP (Internet Control Message Protocol) protokolu.
ICMP protokol je protokol mrežnog sloja, koji za slanje svojih poruka koristi IP pakete. Namena ICMP poruka je da pruže informacije o problemima koji se odnose na obradu IP paketa duž putanje prenosa. ICMP koristi kontrolne poruke i poruke o grešci koje se označavaju brojevima od 0 do 255 (za sada ih ima oko 40). Mrežni alati, kao što su ping i traceroute, koriste ICMP protokol za svoje funkcionisanje.
Data-Link sloj
Da bi bili transportovani od izvorišnog do odredišnog hosta, paketi mrežnog sloja moraju preći preko različitih fizičkih mreža. Fizičke mreže se sastoje od različitih tipova medijuma za prenos, kao što su bakarni provodnici, elektromagnetni talasi, optička vlakna itd. Paketi mrežnog sloja nemaju implementirane mehanizme za direktan pristup različitim medijumima za prenos i ta funkcionalnost je implementirana na Data-Link sloju. Uloga Data-Link sloja je da pripremi pakete mrežnog sloja za transmisiju i izvrši kontrolu pristupa fizičkom medijumu. Najznačajniji protokoli ovoga sloja su Ethernet, PPP, HDLC, Frame Relay, ATM itd.
Pravila filtriranja se retko definišu na Data-Link sloju, ali je moguće koristiti Ethernet MAC addess access liste, da bi se zabranio saobraćaj adresi koja je dodeljena mrežnom interfejsu, tzv. MAC adresa (media access control address).
[1] Karen Scarfone, Paul Hoffman, Guidelines on Firewalls and Firewall Policy, Recommendations of the NIST, September 2009.
[2] Eizabet D. Zwicky, Simon Cooper & D. Brent Chapman, Buidling Internet Firewalls, O'Reilly Media, Second Edition, June 2000.
[3] Brian Morgan, Neil Lovering, CCNP ISCW Official Exam Ceerification Guide, Cisco Press, July 2007.
[4] NIST SP 800-95, Guide to Secure Web Services, http://csrc.nist.gov/publications/PubsSPs.html.
[5] NIST SP 800-94, Guide to Intrusion Detection and Prevention Systems (IDPS) http://csrc.nist.gov/publications/PubsSPs.html.
Zoran Mihailović, UNIC/Univerzitet u Kragujevcu Bojan Jakovljević, RCUB/AMRES Mara Bukvić, RCUB/AMRES UNIC/Univerzitet u Kragujevcu Jovana Cvijica bb 34000 Kragujevac Srbija RCUB/AMRES Kumanovska bb 11 000 Beograd Srbija Phone : +381 34 335709, +381 11 3031 Email : zoran@kg.ac.rs, bojan.jakovljevic@rcub.bg.ac.rs, mara@rcub.bg.ac.rs