Brannmurer
Brannmurer fire wall (noun): A fireproof wall used as a barrier to prevent spread of fire. -American Heritage Dictionary fire wall (noun, internet): Internet firewalls are intended to keep the flames of Internet hell out of your private LAN. -Mark Grennan
Brannmur System som utøver en aksesskontoll politikk mellom to nettverk. Brannmur egenskaper En brannmur har typisk to nettverkskort, et internt og et eksternt. Sikkerhetspolitikk på brannmur bestemmer hvilken trafikk som kan passere og hvillken som forkastes En brannmur kan være en svart boks eller et program på en datamaskin.
TCP/IP lagmodell Client Application level TCP/UDP IP Hardware Server Application level TCP/UDP IP Hardware Internet
TCP/IP applikasjonslag Client Application level TCP/UDP IP Hardware Server Application level TCP/UDP IP Hardware Internet
Ruting av applikasjonsprotokoll Client Application level TCP/UDP Router Router Router IP IP IP IP Hardware Hardware Hardware Hardware Server Application level Router Router TCP/UDP IP IP IP Hardware Hardware Hardware
Applikasjonslag Application level TCP or UDP IP Ethernet, etc. Kommunikasjon til et annet system, som oftest klient/tjener basert Eksempel SMTP, POP3, IMAP (mail) telnet, rlogin (login) HTTP (web access) DNS (name service) RIP, BGP4, OSPF (routing) NFS, SMB (network file access) Hvem som helst kan lage sin egen protokoll mellom to systemer.
TCP Application level TCP or UDP IP Ethernet, etc. TCP tilbyr en pålitelig og feilfri forbindelse mellom sender og mottaker Setter opp forbindelse mellom klient og tjener Sender bryter ned datastrømmer til pakker Mottaker setter sammen pakker til datastrøm Tjeneste porter 1 65535 1-1024 er priviligerte porter
UDP Application level TCP or UDP IP Forbindelsesløse meldinger Ingen feil korrigering Ingen flyt kontroll Passer for noen nettverkstjenester som benytter få meldinger for kommunikasjon Tjeneste portnummer 1-65535 1-1024 er priviligerte porter UDP s forbindelsesløse natur gjør protokollen farlig sett fra et sikkerhetsmessig synspunkt Ethernet, etc.
IP Application level TCP or UDP IP Ethernet, etc. En forbindelsesløs upålitelig datagram tjeneste Adressering med IP nummer Ingen garanti for at senderadressen er riktig Pakker har begrenset størrelse Pakker kan forkastes av nettverket underveis Pakker kan ankomme mottaker i uriktig rekkefølge IP/SEC gir sikker autentisering av sender og mottaker + evt. kryptering Kan tunneleres
ICMP Application level TCP or UDP IP + ICMP Tilbyr diverse kontoll og andre funksjoner: ping (echo request) ping svar (echo reply) TTL time exceeded, benyttes av traceroute source quench (TCP only) for flow control net unreachable host unreachable Ethernet, etc.
Hardware nivå Application level TCP or UDP Kan avlyttes(sniffing) når på samme nettverk. Nettverksmonitorer følger med OS som et feilsøkingsverktløy IP Ethernet, ATM, wireless
IP IP pakke inneholder følgende informasjon benyttet ved pakkefiltrering IP kildeadresse IP destinasjonsadresse IP protokoll type TCP, UDP eller ICMP IP opsjoner IP fragmentering Kan skape problemer for pakkefiltrering
TCP TCP benyttes av mange tjenester HTTP, SMTP, FTP, NNTP, SSH etc. Kilde port og destinasjons port benyttes v/filtrering ACK og SYN biter viktige i forbindelse med oppsett av TCP forbindelse 3-way handshake ACK=0 kjennetegner første oppkobling av TCP forbindelse Alle andre TCP meldinger har ACK=1 Kan benyttes i pakkefiltrering for å hindre oppkoblinger
TCP TCP opsjoner (flagg) ACK benyttes av brannmurer for å identifisere en oppkobling første pakke SYN RST Reset, lukker forbindelsen, benyttes av brannmurer for å stenge forbindelser FIN Avslutter forbindelsen, samstemt handling PSH URG
UDP Kjennetegn: Lav overhead, Forbindelsesløs, alle pakker er selvstendige Ingen leveringsgaranti Kilde port og destinasjons port benyttes v/filtrering
Brannmur begreper Brannmur En komponent som legger begrensninger på aksessen mellom to eller flere nettverk, typisk mellom Internett og et internt nettverk Host Et system tilkoblet nettverket Bastion host Et system med høy grad av sikkerhet på grunn av fare for angrep, som oftest på grunn av at systemet er tilkoblet Internet og tilbyr tjenester til brukere.
Brannmur begreper Dual-homed host Et system med minst to nettverkskort Pakke filtrering Kontroll av pakker mellom ulike nettverk som medfører at pakker videresendes eller forkastes. Beslutninger om dette settes opp i regelverk på system som utfører pakkefiltreringen Perimeter network Et nettverk mellom et beskyttet nettverk og et ytre nettverk, opprettet med tanke på økt sikkerhet. Benevnes også DMZ (De- Militarized Zone). Proxy En stedfortreder, et program som opererer på vegne av andre
Pakke filtrering Pakkefiltrering utføres av ruter/host Kontroll av alle utgående og innkommende pakker
Pakke filtrering Pakkeinformasjon som benyttes ved filtrering IP kildeadresse IP destinasjonsadresse Protokolltype (TCP, UDP,ICMP) TCP/ UDP kildeport TCP/ UDP destinasjonsport ICMP meldingstype Pakkestørrelse Annen informasjon som har betydning Hvilket nettverkskort som pakken kommer inn på og hvilket nettverkskort pakken vil forlate systemet på
Pakke filtrering Tilstandsfull (stateful) pakke filtrering Filtreringen kan ta hensyn til historiske data, dvs. systemet husker om en innkommende pakke kan være svaret på en pakke som tidligere har forlatt systemet Systemet tar vare på historiske data en viss tid, deretter forkastes disse
Pakke filtrering Pakkefiltrering resulterer i følgende Pakken videresendes Pakken forkastes, ingen melding tilbake til mottaker Pakken forkastes, send en feilmelding tilbake til avsender (Reject) Log informasjon om pakken Sett opp alarm, varsling
Filtrering fordeler & ulemper Fordeler En pakkefiltrerende ruter kan beskytte et helt nettverk Enkle pakkefiltre er effektive Lett tilgjengelig på rutere og datasystemer Ulemper Ytelse på ruter avtar Filtreringsverktøy vanskelig å benytte, regler vanskelig å konfigurere Ønsket sikkerhetspolitikk kan ikke alltid bli utført av pakkefiltrerings rutere
Proxy Proxy tjenere opptrer på vegne av brukerne som benytter en proxy klient Ingen direkte vei må eksistere slik at bruker kan unngå bruk av proxy tjener Proxy tjener skjønner protokollen som benyttes og kan utføre mer intelligent filtrering ut fra kjennskap til protokoll, for eksempel en HTTP proxy kan filtrere webadresser.
Proxy fordeler & ulemper Fordeler Smart logging Caching, webcaching vanlig Intelligent filtrering, vet hva den skal se etter i og med at proxy kjenner protokollen Ulemper Må ha en proxy tjener for hver protokoll Klient program må kunne benytte proxy Nye tjenester mangler proxy tjenere
Network Address Translation NAT NAT tillater bruk av et sett med nettverksadresser internt og et annet sett eksternt NAT ruter inspiserer (kan også utøve pakkefiltrering) og modifiserer alle utgående og innkommende IP pakker Utgående pakker Kilde IP adresse og portnummer endres også som oftest før utsending av pakken til mottakersystemet Innkommende pakker Inkommende IP og portnummer destinasjon endres før videresending til klient NAT ruter må vedlikeholde tabell over lokale portnummer og hvilke klienter (IP og portnummer) som er mappet til denne
Network Address Translation NAT Eksempelet viser NAT ruter med ekstern IP 195.112.12.161 som betjener nettverket 138.201.0.0/16 Kilde: http://www.suse.de/~mha/hypernews/get/linux-ip-nat.html
NAT fordeler Fordeler Skjuler internt nettverk NAT ruter eneste system med tilgang til eksternt nettverk, lettere med kontroll NAT ruter begrenser innkommende trafikk Systemer som benytter dynamisk NAT tabell tillater kun innkommende trafikk mot port hvor trafikken er initiert innenfra Dynamisk mapping har kort levetid
NAT ulemper Ulemper Vedlikehold av tilstand for forbindelse enkelt for TCP, vanskeligere for UDP Fungerer ikke med systemer som benytter kryptering Logging, vanskeligere å lese/tolke logg, hvilken IP var ansvarlig for denne trafikken? Dynamisk allokering av porter kan komme i konflikt med systemer som foretar pakkefiltrering
Brannmur toplogier Pakkefiltrering på ruter Screening ruter (pakkefiltrering) passer bra når Systemer på eksisterende nettverk har god sikkerhet Antall protokoller er begrenset og enkle, ingen krav til avansert filtrering God ytelse viktig Kun 1 nivå forsvarsverk, dersom ruter kompromitteres ingen ytterligere sikring
Screened Host Bastion host Bastion Host er det eneste systemet som systemer på Internet kan åpne forbindelser mot, for eksempel levering av post eller webforespørsler. Filtrering begrenser hvilke oppkoblinger som kan foretas Bastion host kan foreta oppkoblinger mot Internett på vegne av klienter (proxy) Filtrering kan tillate klienter å gå mot Internet for enkelte tjenester, mens andre må gå via proxy på bastion host Passer best der trafikk utenfra er lav og interne systemer har god sikkerhet
Belt an suspenders Benytter flere forsvarsverk Perimeter network mellom ytre og indre nett Systemer som skal tilby tjenester mot Internett settes opp på dette nettverket som bastion hosts
Belt an suspenders Bastion hosts Kjører tjenester som er tilgjengelige utenfra, som epost (SMTP), Web, DNS og FTP. Kjører evt. proxy tjenester på vegne av klienter på internt nettverk Kompromittering av bastion host medfører ingen tilgang til internt nettverk Trafikk på perimeter network er kun ekstern trafikk Intern trafikk på internt nett kan ikke sniffes (avlyttes)
Belt an suspenders Intern ruter Foretar det meste av pakkefiltreringen Tillater forbindelser fra internt nettverk til Internett Enkelte tjenester kan benytte proxy Trafikk mellom bastion hosts i DMZ og interne systemer begrenses Kun tillatte protokoller for eksempel SMTP og DNS Ytterligere begrensninger på hvilke systemer som kan benytte visse protokoller, for eksempel kun SMTP fra bastion host til/fra intern epost tjener Gjøres med tanke på beskytte interne systemer ved kompromittering av bastion host
Belt an suspenders Ekstern ruter Foretar lite pakkefiltrering Kan sjekke for false IP adresser IP adresser på inkommende pakker fra Internett som har IP adresser for det interne eller DMZ nettverket Kan evt. sjekke at alle utgående pakker har gyldig adresse Sammenslåing av ekstern og intern ruter mulig Introdusere et single point of failure sikkerhetsmessig
Pakkefiltrering Konfigurering av pakkefilter: Ha en veldefinert sikkerhetspolitikk som forteller hva som skal tillates og hva som ikke tillates Dersom en ikke har en sikkerhetspolitikk vil innføringen av en brannmur medføre at en sikkerhetspolitikk må etableres Trusselvurdering/risikoanalyse definerer nivå for sikkerhet som er nødvendig Sikkerhetspolitikk må dokumenteres Regler for pakkefiltrering må legges inn på brannmur i språk som denne benytter og testes Uttesting av politikk ofte vanskelig
Pakke filtrering eksempel FTP Internt nettverk X 192.168.20.5 SMTP 192.168.20.0/24 Ruter 192.168.20.6 20.0.0.0/8 10.0.0.0/8 Typiske regler for pakkefiltrering Type Src. Addr Src Port Dest. Add Dest Port Action tcp 10.0.0.0/8 * * * DENY tcp 20.0.0.0/8 * 192.168.20.5 20 ALLOW tcp 20.0.0.0/8 * 192.168.20.6 25 ALLOW tcp 192.168.20.6 25 * * ALLOW
Pakkefiltrering Filtrering basert på IP adresse Enkelt Fare for falsk IP adresse begrenser bruk Benyttes oftest for filtrering av pakker med interne adresser som kommer inn utenfra Filtrering basert på tjenestetype Noe mer komplisert, må kjenne til virkemåte for tjeneste/protokoll som benyttes
Normal TCP forbindelse handshake Klient SYN,SEQ 0 Tjener Oppsett av TCP forbindelse er en tre-delt prosess. Klient og tjener har hver sine sekvensnummer for TCP pakker. 1. Klienten sender SYN pakke med sekvensnummer SEQ 0
TCP forbindelse halv åpen Klient SYN,SEQ 0 Tjener SYN,ACK, SEQ 0 +1,SEQ 0 Tjener svarer med SYN og ACK på SEQ 0 +1 og eget sekvensnummer SEQ 0
Klient fullfører handshake, TCP forbindelsen er nå åpen Klient SYN,SEQ 0 SYN,ACK, SEQ 0 +1,SEQ 0 ACK, SEQ 0 +1,SEQ 0 +1 Tjener Klienten svarer med ACK på SEQ 0 +1 og sender eget sekvensnummer SEQ 0 +1
Pakke filtrering Telnet eksempel Utgående Telnet klient Telnet tjener 192.168.0.16 Innkommende Brannmur 158.39.26.222 Utgående Telnet klient Klienten kontakter tjeneren, dette genererer utgående pakker fra Telnet klienten Kjennetegn: IP kilde (192.168.0.16) og IP destinasjonsadresse (158.39.26.222), TCP protokoll, TCP port 23, TCP kildeport er tilfeldig >1023, Første pakke vil ikke ha ACK bit satt Innkommende pakker tilbake til klient fra tjeneren (svaret fra tjeneren) Kjennetegn: IP kilde (158.39.26.222) og destinasjonsadresse (192.168.0.16), TCP pakke, TCP kildeport 23, TCP destinasjonsport tilsvarende som for utgående pakke, ACK bit satt for alle innkommende pakker
Pakke filtrering Telnet eksempel Inkommende Telnet klient Telnet tjener 192.168.0.16 Brannmur Utgående 158.39.26.222 Telnet tjener Inkommende pakker på Telnet tjener fra klient Kjennetegn: IP kilde (192.168.0.16) og IP destinasjonsadresse (158.39.26.222), TCP protokoll, TCP port 23, TCP kildeport er tilfeldig >1023, Første pakke vil ikke ha ACK bit satt Utgående pakker tilbake til klient fra tjeneren Kjennetegn: IP kilde (158.39.26.222) og destinasjonsadresse (192.168.0.16), TCP pakke, TCP kildeport 23, TCP destinasjonsport tilsvarende som for innkommende pakke, ACK bit satt for alle utgående pakker
Pakke filtrering Telnet eksempel Telnet oppsummering System Pakke retning Kilde adresse Dest adresse Pakke type Kilde port Dest Port ACK set Klient Ut Intern Ekstern TCP >1023 23 * Klient Inn Ekstern Intern TCP 23 >1023 Ja Tjener Inn Ekstern Intern TCP >1023 23 * Tjener Ut Intern Ekstern TCP 23 >1023 Ja * ACK vil være satt for alle bortsett fra første pakke
Pakke filtrering Telnet eksempel klient regler Telnet pakke filtrering regler på klient systemet Regel A tillater utgående forbindelse til Telnet tjener fra klienten Regel B tillater returnerende pakker å komme tilbake inn til klienten, pga. krav til ACK satt aksepteres ikke oppkoblinger utenfra mot hvilken som helst port >1023 Regel C avslår alt annet, dette er standard politikk Regel Pakke retning Kilde adresse Dest adresse Pakke type Kilde port Dest Port ACK set Aksjon A Ut Intern Any TCP >1023 23 Either Tillat B Inn Any Intern TCP 23 >1023 Ja Tillat C Begge Any Any Any Any Any Either Avslå
Pakke filtrering Telnet eksempel tjener regler Telnet pakke filtrering regler på tjener Regel A tillater innkommende forbindelse til Telnet tjener Regel B tillater returnerende pakker å komme tilbake. Krav til ACK satt medfører at dette må være svar på en forespørsel, nye forespørsler tillates ikke fra port 23. Regel C avslår alt annet, dette er standard politikk Regel Pakke retning Kilde adresse Dest adresse Pakke type Kilde port Dest Port ACK set Aksjon A Inn Any Intern TCP >1023 23 Either Tillat B Ut Intern Any TCP 23 >1023 Ja Tillat C Begge Any Any Any Any Any Either Avslå