Studenti: dipl. inž. Filip Živanović, Elektronski fakultet, dipl. inž. Lazar Veljović, Elektronski fakultet  
Mentor: dipl inž. Marko Živković

Niš, april 2014.

 

Sadržaj

1. Uputstvo za konfigurisanje firewall - a na Cisco 1841 ruteru
2. Opis problema
3. Definisanje rešenja
4. Implementacija
5. Dodavanje, brisanje i pomeranje hostova u okviru klasa
6. Kompletna konfiguracija primera

 

Uputstvo za konfigurisanje firewall – a na Cisco 1841 ruteru

U ovom dokumentu biće detaljno opisana procedura za konfigurisanje firewall-a na Cisco ruteru  1841.  Naime,  najpre  će  biti  ukratko  objašnjen  problem  usled  koga  se  javila  potreba  za ovakvom vrstom zaštite, nakon toga će biti detaljno objašnjena implementacija projektovanog rešenja, i na kraju će biti prikazani mogući problemi koji se mogu desiti korisniku, kao i njihova rešenja.

 

Opis problema

Ukoliko postoji potreba za bilo kakvim vidom ograničavanja korisnika Internet mreže, najefikasnije je to obaviti koristeći firewall računara. Međutim, ukoliko postoji mreža koja sadrži veći broj hostova, veoma je neefikasno ograničavati ih na ovaj način. Posao bi sa jedne strane bio dug i mukotrpan,  a  sa  druge  strane  ovakav  način  ograničavanja  bi  ostavljao  prostora  korisniku  da
„zaobiđe“ zadata ograničenja predefinisanjem firewall-a na svom računaru.

Rešenje se ogleda u korišćenju firewall-a rutera. Naime, njegovim korišćenjem moguće je indirektno zadati određena ograničenja korisnicima mreže, tj. Vršiti filtriranje saobraćaja koji stiže do njihovih hostova. U ovom slučaju, konfiguracija se obavlja veoma brzo i lako, a sam korisnik nema mogućnost izbegavanja ograničenja jer se nalazi, hijerarhijski, jedan sloj „niže“ od dela mreže u kome su definisana ograničenja.

 

Definisanje rešenja

Da bi se svi korisnici mreže ograničili na neki način, potrebno ih je najpre grupisati, kako bi samo ograničavanje bilo efikasnije. U primeru koji će biti prikazan u ovom korisničkom uputstvu, svi korisnici mreže će biti podeljeni u 10 grupa. Uzimajući u obzir da će u okviru mreže postojati kako klijentski hostovi, tako i serveri, biće definisane sledeće grupe korisnika :

praksa cisco router tabela

Za svaku od ovih grupa su definisana prava pristupa, odnosno dozvoljen je protok saobraćaja samo  za  određene  protokole,  tj.  Samo  na  određenim  portovima.  Gore  definisanim  grupama korisnika će u ovom primeru biti otvoreni sledeći portovi :

Secure Client – 80 (HTTP), 25 (SMTP), 110 (POP3) ... Remote Client – 21 (FTP), 22 (SSH), 23 (TELNET) ... Advanced Client – Secure Client + Remote Client
Non-Secure Client – Ovoj grupi klijenata je dozvoljen sav saobraćaj.

Internal Server – ping (ICMP) ...

Web Server – 80 (HTTP), 443 (HTTPS) ...

Production Server – 80 (HTTP), 443 (HTTPS), 22 (SSH), 23 (TELNET) ...

Mail Server – 25 (SMTP), 465 (SMTPS), 110 (POP3), 21 (FTP) ...

DNS Server – 53 (DNS) ...

Non-Secure Server – Ovoj grupi servera je dozvoljen sav saobraćaj.

Nakon strogog definisanja grupa korisnika i prava pristupa, tj. Korišćenja mreže, može se pristupiti samoj implementaciji firewall-a koji će sve to omogućiti.

 

Implementacija

Prilikom implementacije korišćen je Zone Based Firewall. Ovaj tip implementacije firewall-a podrazumeva definisanje klasa u okviru kojih se definišu protokoli koje administrator dozvoljava/zabranjuje korisnicima, zatim definisanje polisa koje određuju osobine definisanim klasama, i na kraju određivanje zonskih parova nad kojima se primenjuju definisane polise.

Pre početka implementacije neophodno je ažurirati IOS na Cisco ruteru 1841. Ovaj oblik implementacije firewall-a je moguć počev od verzije 12.4(15), ali s obzirom da je to jedna od prvih

15.1(4). Ažuriranje je najjednostavnije obaviti korišćenjem TFTP servera (SolarWinds TFTP server).

Implementacija podrazumeva nekoliko ključnih koraka:

1.   Definisanje klasa,

2.   Definisanje access-list-i,

3.   Definisanje polise,

4.   Definisanje zona bezbednosti,

5.   Definisanje zonskog para.

1.  Prvi korak implementacije podrazumeva definisanje protokola u okviru klasa koje administrator želi da dozvoli određenim korisnicima. Ukoliko se protokol ne nalazi u listi protokola koji su unapred definisani od strane Cisco IOS – a, potrebno je u okviru access – list-e definisati port koji administrator želi da omogući.

praksa cisco router sl1
Slika 1. Podešavanje klasa

 U okviru SecureProtocols klase definisani su svi protokoli koje administrator dozvoljava određenom hostu-u. Jedini promenljiv deo kod kreiranja klase jeste match-any, koji osim te vrednosti može biti i match-all. Razlika između ova dva tipa poklapanja je ta što je kod prvog potrebno zadovoljiti samo jedan uslov kako bi se odredilo da pristigli paket pripada ovoj klasi, dok je kod drugog tipa poklapanja potrebno zadovoljiti sve uslove koji su navedeni u okviru klase.

Dakle, u ovom slučaju, da bi pristigli paket pripao ovoj klasi, mora biti poslat po jednom od protokola navedenih u okviru nje, kao i u okviru access liste navedene na kraju klase.

implementirati klasu SecureClass koja se sastoji iz dva pravila, da se izvrši poklapanje sa klasom Secure Protocols i sa access listom u kojoj se nalazi spisak hostova nad kojima će ova pravila biti primenjena. Kao što je već rečeno, zbog dela match-any potrebno je da oba ova pravila budu zadovoljena, tj. Da paket bude poslat nekom hostu iz ove access liste i po nekom od ovde definisanih protokola.

2.   Opisane access-list – e definišu se na sledeći način:

Za konfigurisanje firewall-a na ruteru, access lista se koristi u dve svrhe – može služiti za definisanje protokola, ili za definisanje IP adresa hostova nad kojima se primenjuju pravila klase u kojima se nalazi access lista.

praksa cisco router sl2
Slika 2. Primeri access listi

U ovom slučaju, access lista 101 služi za definisanje hostova. Dakle, na hostove sa navedenim

IP adresama se primenjuju pravila klase u kojima se nalazi njihova access lista.

Sa druge strane, access lista 199 se koristi za dodatno definisanje protokola, tj portova.

Takođe, u okviru ove access liste moguće je definisati i opseg portova.

Ukoliko je potrebno da se za neki host primenjuju pravila iz više klasa, to se postiže jednostavnim definisanjem tog hosta u access listama željenih klasa. Takođe, ukoliko želimo da neki host „prebacimo“ iz jedne klase u drugu, potrebno je obrisati IP adresu željenog hosta iz stare access liste i dopisati je u novu.

Ovo je moguće i pomoću Cisco Configuration Proffesional  alata, što će biti kasnije opisano.

3.   U polisama se definiše da li se saobraćaj koji se match-uje pomoću klasa propušta ili ne.

Primer definisanja polise dat je u nastavku:

praksa cisco router sl3
Slika 3. Primer definisanja polise

Ukoliko se saobraćaj određen klasom propušta, koristi se opcija pass, u suprotnom postoji opcija drop. Na kraju, sav saobraćaj koji ne spada u klase koje su prethodno definisane se zabranjuje korišćenjem podrazumevane klase (class-default).

4.   U ovom slučaju implementirane su dve zone. Prva, private zona podrazumeva sve korisnike u privatnom delu mreže, dok public zona predstavlja javni deo mreže.

praksa cisco router sl4
Slika 4. Firewall zone u mreži

Svaka od definisanih zona dodeljuje se određenom interfejsu na ruteru.

praksa cisco router sl5
Slika 5. Dodeljivanje zona interfejsima

5.   Moguće je definisati dva zonska para koja definišu saobraćaj u oba smera: saobraćaj iz privatnog  u  javni  deo  mreže  i  obrnuto,  iz  javnog  u  privatni.  Radi  lakšeg  testiranja konfiguracije, sav saobraćaj iz privatnog u javni deo mreže je dozvoljen, dok je saobraćaj od javnog ka privatnom delu selektivno propuštan.

praksa cisco router sl6
Slika 6. Primeri zonskih parova

 

Dodavanje, brisanje i pomeranje hostova u okviru klasa

Korišćenjem alata Cisco Configuration Proffesional   moguće je jednostavno dodavanje, brisanje i pomeranje hostova iz jedne klase u drugu. Naime, ovaj alat omogućava modifikaciju konfiguracije rutera putem grafičkog intefejsa.

Nakon jednostavne instalacije alata, potrebno je povezati host sa ruterom i dodati adresu
gateway - a, korisničko ime i lozinku.

 praksa cisco router sl7
Slika 7. Dodavanje rutera u CCP – u

U meniju za podešavanja rutera, potrebno je odabrati opciju za konfigurisanje access listi. Liste koje su dodate u okviru klasa nalaze se u kategoriji Externally-defined Rules.

praksa cisco router sl8
Slika 8. Primer izmene access listi preko CCP – a

Izmena access listi na ovaj način je veoma jednostavna. Kako bi pomeranje hosta iz jedne u drugu klasu bilo uspešno obavljeno, potrebno je ukloniti adresu tog hosta iz stare access liste i dodati tu adresu u novu access listu. Na taj način, definisana su nova pravila, tj. host je uspešno pomeren iz jedne u drugu klasu.

Korišćenje ovog alata je neophodno, jer u suprotnom, preko konzole rutera potrebno je najpre obrisati kompletnu listu, a zatim je modifikovati.

praksa cisco router sl9
Slika 9. Primer konfigurisanja access liste preko CCP – a

 

Kompletna konfiguracija primera

version 15.1
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname Router
!
spanning-tree mode pvst
!
class-map type inspect match-any SecureClientProtocol
match protocol http match protocol smtp match protocol pop3
 
class-map type inspect match-all SecureClientClass match access-group 101
match class-map SecureClientProtocol
class-map type inspect match-all DenyAllClass
match any
class-map type inspect match-any RemoteClientProtocol
match protocol ftp
match protocol ssh match protocol telnet
class-map type inspect match-all RemoteClientClass match access-group 102
match class-map RemoteClientProtocol
class-map type inspect match-any AdvancedClientProtocol match class-map SecureClientProtocol
match class-map RemoteClientProtocol
class-map type inspect match-all AdvancedClientClass
match access-group 103
match class-map AdvancedClientProtocol
class-map type inspect match-all NonSecureClientProtocol
match any
class-map type inspect match-all NonSecureClientClass
match access-group 104
match class-map NonSecureClientProtocol
class-map type inspect match-any InternalServerProtocol
match protocol icmp
class-map type inspect match-all InternalServerClass
match class-map InternalServerProtocol
match access-group 151
class-map type inspect match-any WebServerProtocol
match protocol http match access-group 180
class-map type inspect match-all WebServerClass
match class-map WebServerProtocol match access-group 152
class-map type inspect match-any ProductionServerProtocol match protocol http
match protocol ftp
match protocol ssh match protocol telnet
class-map type inspect match-all ProductionServerClass match class-map ProductionServerProtocol
match access-group 153
class-map type inspect match-any MailServerProtocol match protocol smtp
match protocol pop3 match protocol ftp
class-map type inspect match-all MailServerClass
match class-map MailServerProtocol match access-group 154
class-map type inspect match-any DnsServerProtocol match protocol dns
class-map type inspect match-all DnsServerClass
match class-map DnsServerProtocol match access-group 155
class-map type inspect match-all NonSecureServerProtocol match any
class-map type inspect match-all NonSecureServerClass
match class-map NonSecureServerProtocol match access-group 156
!
policy-map type inspect pub-priv-pmap
 
class type inspect SecureClientClass pass
class type inspect RemoteClientClass pass
class type inspect AdvancedClientClass pass
class type inspect NonSecureClientClass pass
class type inspect InternalServerClass
pass
class type inspect WebServerClass pass
class type inspect ProductionServerClass pass
class type inspect MailServerClass pass
class type inspect DnsServerClass
pass
class type inspect NonSecureServerClass
pass
class type inspect DenyAllClass
drop
!
zone security public zone security private
zone-pair security pub-priv source public destination private
service-policy type inspect pub-priv-pmap
!
interface FastEthernet0/0
ip address 100.0.0.2 255.255.255.252 zone-member security private
duplex auto
speed auto
!
interface FastEthernet0/1
ip address 10.0.0.1 255.255.255.252
zone-member security public
duplex auto speed auto
!
interface Vlan1
no ip address
shutdown
!
router rip
network 10.0.0.0
network 100.0.0.0
!
ip classless
!
access-list 101 permit ip any host 192.168.1.2 access-list 102 permit ip any host 192.168.1.10
access-list 103 permit ip any host 192.168.1.18 access-list 104 permit ip any host 192.168.1.26 access-list 151 permit ip any host 172.16.0.2 access-list 152 permit ip any host 172.16.0.10 access-list 153 permit ip any host 172.16.0.18 access-list 154 permit ip any host 172.16.0.26 access-list 155 permit ip any host 172.16.0.34 access-list 156 permit ip any host 172.16.0.42 access-list 180 permit tcp any any eq 443
 
access-list 180 permit tcp any any eq 8080
!
line con 0
!
line aux 0
!
line vty 0 4
login
!
end