0TD02S_Informasjonssikkerhet_K06_v2 - itnett/FTD02H-N GitHub Wiki
Kapittel 6: Nettverkssikkerhet - Studentressurs
Innholdsfortegnelse
- Oversikt
- Sikkerhetsprotokoller
- Hva er en sikkerhetsprotokoll?
- Eksempler på sikkerhetsfunksjoner/tjenester
- Velkjente sikkerhetsprotokoller
- TLS og IPSec i internettstakken
- Brannmurer
- Formålet med DMZ
- Beskyttelse av indre nettverkssegmenter
- Brannmurer i internettstakken
- Typer brannmurer
- TLS-Inspeksjon
- Legitimitet av TLS-inspeksjon
- Trusselscenarioer
- Oppdagelse av TLS-inspeksjon
- Fremoverhemmelighold
- Hva er fremoverhemmelighold?
- Hvordan oppnås fremoverhemmelighold?
- Protokoller som støtter/ikke støtter fremoverhemmelighold
- TLS
- TLS-port og URL-prefiks
- TLS i OSI og TCP/IP protokollagene
- Formålet med TLS Handshake-protokollen
- Sikkerhetstjenester støttet av TLS Record-protokollen
- Relasjon mellom TLS Handshake og TLS Record-protokollen
- VPN
- Trafikkdata skjult for ISP ved bruk av sky-VPN
- Trafikkdata tilgjengelig for VPN-tilbyder
- Trafikkdata skjult for ISP ved bruk av Tor
- Trafikkdata tilgjengelig for Tor access-server
- Hvordan forhindre at ISP vet at du bruker Tor
- Pakkefilter og inntrengingsdeteksjon
- Typisk sikker konfigurasjon for brannmurer
- Plassering av nettverks inntrengingsdeteksjon (NIDS)
- Oppgaver og refleksjoner
- Oppgaver fra kapittel 6
- Videre Læring og Kilder
- Appendix: Introduksjon til TLS-kryptering
Oversikt
Kapittel 6 dekker grunnleggende konsepter og teknikker innen nettverkssikkerhet, inkludert sikkerhetsprotokoller, brannmurer, TLS-inspeksjon, fremoverhemmelighold, VPN, og pakkefilter. Det gir en omfattende forståelse av hvordan man sikrer nettverkskommunikasjon og beskytter mot ulike trusler.
Sikkerhetsprotokoller
Hva er en sikkerhetsprotokoll?
En sikkerhetsprotokoll er et sett med regler som styrer hvordan data overføres sikkert over et nettverk. De sikrer konfidensialitet, integritet, autentisering og tilgjengelighet.
Eksempler på sikkerhetsfunksjoner/tjenester
- Konfidensialitet: Kryptering av data for å forhindre uautorisert tilgang.
- Integritet: Sikre at data ikke blir endret under overføring.
- Autentisering: Verifisere identiteten til brukere eller enheter.
- Tilgjengelighet: Sikre at tjenester er tilgjengelige når de trengs.
Velkjente sikkerhetsprotokoller
- TLS (Transport Layer Security)
- IPSec (Internet Protocol Security)
- SSH (Secure Shell)
- HTTPS (Hypertext Transfer Protocol Secure)
TLS og IPSec i internettstakken
- TLS opererer på transportlaget og applikasjonslaget i OSI-modellen.
- IPSec opererer på nettverkslaget.
Lenker for videre lesing:
Brannmurer
Formålet med DMZ
En DMZ (Demilitarized Zone) er et fysisk eller logisk subnett som skiller et internt lokalt nettverk (LAN) fra andre ufortrengte nettverk, vanligvis internett. DMZ gir et ekstra lag med sikkerhet til LAN ved å begrense eksponeringen av interne tjenester til eksterne trusler.
Beskyttelse av indre nettverkssegmenter
Indre nettverkssegmenter beskyttes ved å plassere kritiske tjenester (som DNS, web og e-post servere) i DMZ, og bruke brannmurer for å kontrollere trafikken mellom internett, DMZ og det interne nettverket.
Brannmurer i internettstakken
- Pakkefilter opererer på nettverkslaget og transportlaget.
- Applikasjonsbrannmurer opererer på applikasjonslaget.
Typer brannmurer
- Tilstandsløse brannmurer: Inspekterer individuelle datapakker uavhengig av tidligere pakker.
- Tilstandsbaserte brannmurer: Holder oversikt over tilstanden i forbindelser.
- Applikasjonsbrannmurer: Inspekterer innholdet i datapakker og støtter spesifikke applikasjonsprotokoller.
Lenker for videre lesing:
- Rapporten "Ti sårbarheter i norske IKT-systemer"
- "Nasjonalt digitalt risikobilde 2023"
TLS-Inspeksjon
Legitimitet av TLS-inspeksjon
TLS-inspeksjon kan være nødvendig for:
- Beskytte mot malware som bruker HTTPS for å skjule trafikk.
- Forhindre datalekkasjer.
- Sikre at ansatte følger selskapets retningslinjer for internettbruk.
Trusselscenarioer
TLS-inspeksjon kan misbrukes til:
- Avlytte sensitiv informasjon.
- Falske nettsider som utgir seg for å være legitime.
- Injisere malware i trafikken.
Oppdagelse av TLS-inspeksjon
En bruker kan oppdage TLS-inspeksjon ved å:
- Kontrollere sertifikatkjeden for HTTPS-tilkoblinger.
- Bruke verktøy som
openssl
for å inspisere sertifikater.
Lenker for videre lesing:
Fremoverhemmelighold
Hva er fremoverhemmelighold?
Fremoverhemmelighold sikrer at kompromittering av en langsiktig nøkkel ikke kompromitterer tidligere øktnøkler.
Hvordan oppnås fremoverhemmelighold?
Oppnås ved bruk av protokoller som Diffie-Hellman nøkkelutveksling, som genererer midlertidige nøkler for hver økt.
Protokoller som støtter/ikke støtter fremoverhemmelighold
- Støtter: TLS 1.3
- Støtter ikke: TLS 1.2 uten ephemeral nøkkelutveksling
TLS
TLS-port og URL-prefiks
- Port: 443
- URL-prefiks:
https://
TLS i OSI og TCP/IP protokollagene
TLS opererer mellom transportlaget og applikasjonslaget.
Formålet med TLS Handshake-protokollen
TLS Handshake-protokollen etablerer en sikker forbindelse ved å autentisere parter og forhandle krypteringsalgoritmer.
Sikkerhetstjenester støttet av TLS Record-protokollen
- Konfidensialitet
- Integritet
- Autentisering
Relasjon mellom TLS Handshake og TLS Record-protokollen
TLS Handshake protokollen forhandler sikkerhetsparametrene som TLS Record-protokollen bruker til å beskytte data.
Lenker for videre lesing:
VPN
Trafikkdata skjult for ISP ved bruk av sky-VPN
- IP-adresser og domenenavn til nettsteder du besøker.
- Innholdet i trafikken.
Trafikkdata tilgjengelig for VPN-tilbyder
- IP-adresser og domenenavn til nettsteder du besøker.
- Innholdet i trafikken.
Trafikkdata skjult for ISP ved bruk av Tor
- Innholdet i trafikken.
- Destinasjonen til trafikken.
Trafikkdata tilgjengelig for Tor access-server
- IP-adresser til inngangsnoder.
- Mengde trafikk.
Hvordan forhindre at ISP vet at du bruker Tor
- Bruk en VPN før du kobler til Tor.
- Bruk Tor Bridges.
Lenker for videre lesing:
Pakkefilter og inntrengingsdeteksjon
Typisk sikker konfigurasjon for brannmurer
- Utgående forbindelser: Tillat alle
- Innkommende forbindelser: Tillat port 80, 443 til webserver, port 53 til DNS-server, port 25 til e-postserver; forby alt annet.
Plassering av nettverks inntrengingsdeteksjon (NIDS)
NIDS kan plasseres både i DMZ og i det interne nettverket.
Lenker for videre lesing:
- "ENISA Study Best Practices Cyber Crisis Management"
- Snort IDS
Oppgaver og refleksjoner
Oppgave 1: Sikkerhetsprotokoller
a. Eksempler på bruksområder for sikkerhetsprotokoller:
Sikkerhetsprotokoller brukes i mange forskjellige områder, inkludert:
- E-handel: Sikre transaksjoner mellom kjøpere og selgere.
- Kommunikasjon: Sikre e-post og meldinger.
- Banking: Beskytte bankkontoer og transaksjoner.
- Helsetjenester: Beskytte pasientinformasjon.
b. Implementering av sikkerhetsprotokoller:
Sikkerhetsprotokoller kan implementeres på forskjellige måter, avhengig av applikasjonen og behovene til brukeren. For eksempel kan SSL/TLS brukes til å sikre webtrafikk, mens IPSec kan brukes til å sikre nettverkstrafikk på et lavere nivå.
c. Evaluering av sikkerhetsprotokoller:
Når du evaluerer sikkerhetsprotokoller, er det viktig å vurdere faktorer som:
- Sikkerhetsnivå: Hvor godt beskytter protokollen mot trusler?
- Ytelse: Hvordan påvirker protokollen systemets ytelse?
- Brukervennlighet: Hvor lett er det å implementere og bruke protokollen?
- Kompatibilitet: Er protokollen kompatibel med eksisterende systemer og protokoller?
Oppgave 2: Brannmurer
a. Hva er en brannmur?
En brannmur er en sikkerhetsenhet som overvåker og kontrollerer innkommende og utgående nettverkstrafikk basert på forhåndsbestemte sikkerhetsregler.
b. Typer brannmurer:
Det finnes flere typer brannmurer, inkludert:
- Pakkefilterbrannmurer: Overvåker og kontrollerer individuelle datapakker basert på forhåndsbestemte regler.
- Tilstandsbaserte brannmurer: Holder oversikt over tilstanden i forbindelser og tar beslutninger basert på tilstanden.
- Applikasjonsbrannmurer: Overvåker og kontrollerer spesifikke applikasjoner og protokoller.
c. Bruk av brannmurer:
Brannmurer kan brukes på flere måter for å beskytte nettverk, inkludert:
- Beskytte mot eksterne angrep.
- Kontrollere tilgang til sensitive ressurser.
- Overvåke og loggføre nettverkstrafikk.
Oppgave 3: TLS
a. Hva er TLS?
Transport Layer Security (TLS) er en sikkerhetsprotokoll som gir konfidensialitet, integritet og autentisering av data som overføres mellom datamaskiner i et nettverk.
b. Hvordan fungerer TLS?
TLS fungerer ved å bruke kryptografiske teknikker for å sikre kommunikasjon mellom klienter og servere. Dette inkluderer bruk av sertifikater for autentisering og bruk av symmetrisk kryptering for å beskytte data.
c. Implementering av TLS:
TLS kan implementeres på flere måter, avhengig av behovene til brukeren. For eksempel kan det brukes til å sikre webtrafikk ved hjelp av HTTPS, eller det kan brukes til å sikre e-posttrafikk ved hjelp av SMTPS.
Videre Læring og Kilder
Offisielle Rapporter
-
ENISA Reports
-
Nasjonal Sikkerhetsmyndighet (NSM)
Akademiske Artikler og Bøker
- Jøsang, A. (2023). Informasjonssikkerhet: Teori og praksis. Universitetsforlaget.
- Schneier, B. (2015). Data and Goliath: The Hidden Battles to Collect Your Data and Control Your World. W.W. Norton & Company.
Nettressurser
- NIST Cybersecurity Framework - NIST
- OWASP (Open Web Application Security Project) - OWASP
- SANS Institute - SANS
Verktøy og Ressurser for Læring og Trening
- Wireshark - Nettverkstrafikk analyse verktøy.
- Snort - Nettverksinntrengingsdeteksjonssystem (NIDS).
- OpenSSL - Verktøy for å generere og administrere SSL/TLS-sertifikater.
appendix
Appendix: Introduksjon til TLS-kryptering
Introduksjon
Nettleserkryptering og kryptering generelt er avgjørende for sikker kommunikasjon på internett. Dette appendikset gir en introduksjon til TLS-kryptering, som er en standard for å sikre dataoverføring mellom nettlesere og servere.
Nettleserkrypteringsprotokoller
Nesten alle moderne nettlesere bruker HTTPS for å sikre dataoverføring. HTTPS er en kombinasjon av HTTP og en sikkerhetsprotokoll som enten kan være SSL (Secure Socket Layer) eller TLS (Transport Layer Security). Disse protokollene forhandler en kryptert økt mellom en klient og en server for å sikre at dataene ikke kan avlyttes eller manipuleres av tredjeparter.
Historien om SSL/TLS
- SSLv2 og SSLv3: SSLv2 ble utviklet av Netscape i 1994, men hadde sikkerhetsfeil som førte til utviklingen av SSLv3 i 1995.
- TLS 1.0: I 1999 ble TLS 1.0 ratifisert som en mindre oppdatering til SSLv3, og ble standarden for sikker kommunikasjon på internett.
- TLS 1.3: Ratifikasjonen av TLS 1.3 i 2018 representerte en betydelig forbedring i sikkerheten, inkludert raskere håndtrykksprosess og sterkere krypteringsalgoritmer.
Data Encryption Basics
For å sikre dataoverføring, krypterer TLS meldinger ved hjelp av en hemmelig nøkkel. Denne nøkkelen må være kjent av både klienten og serveren, men utfordringen er å utveksle nøkkelen på en sikker måte. Dette oppnås gjennom en nøkkelutvekslingsprosess.
Nøkkelutveksling i TLS
TLS bruker forskjellige nøkkelutvekslingsprotokoller som RSA, Diffie-Hellman, og Elliptic-Curve Diffie-Hellman (ECDHE). Disse protokollene sikrer at en hemmelig nøkkel kan utveksles sikkert mellom klienten og serveren uten at noen andre kan fange den opp.
Diffie-Hellman Key Exchange
Diffie-Hellman nøkkelutveksling tillater to parter å generere en delt hemmelig nøkkel over en usikker kanal. Den matematiske prosessen involverer:
- Valg av to store primtall, p og g, som er offentlige.
- Klienten og serveren velger hver sin private nøkkel.
- Klienten og serveren beregner sine offentlige nøkler basert på deres private nøkler og de offentlige tallene.
- Offentlige nøkler utveksles og brukes til å generere en felles hemmelig nøkkel.
Elliptic-Curve Diffie-Hellman (ECDHE)
ECDHE er en variant av Diffie-Hellman som bruker elliptiske kurver for å generere nøkler. Denne metoden er mer effektiv og gir samme sikkerhetsnivå som tradisjonell Diffie-Hellman, men med mindre nøkkelstørrelser.
Implementering av TLS
For å implementere TLS kan verktøy som OpenSSL brukes. OpenSSL lar brukere generere nøkler, opprette sertifikater, og etablere sikre forbindelser.
Generering av RSA-nøkkelpar med OpenSSL
# Generer et privat nøkkelpar
openssl genpkey -algorithm RSA -out private_key.pem
# Ekstraher den offentlige nøkkelen
openssl rsa -in private_key.pem -pubout -out public_key.pem
Signering og verifisering av en melding med OpenSSL
# Signer en fil med en privat nøkkel
openssl dgst -sha256 -sign private_key.pem -out signature.bin message.txt
# Verifiser signaturen med den offentlige nøkkelen
openssl dgst -sha256 -verify public_key.pem -signature signature.bin message.txt
Fremoverhemmelighold
Fremoverhemmelighold sikrer at kompromittering av en langsiktig nøkkel ikke kompromitterer tidligere øktnøkler. Dette oppnås ved bruk av ephemeral nøkler som genereres for hver økt.
Ressurser og Verktøy
- Wireshark: Verktøy for å analysere nettverkstrafikk.
- Snort: Inntrengingsdeteksjonssystem.
- OpenSSL: Verktøy for administrasjon av SSL/TLS-sertifikater.
Lenker for videre lesing:
Ved å bruke denne ressursen, kan studenter få en dypere forståelse av nettverkssikkerhet og praktisk erfaring med å implementere kryptering ved hjelp av verktøy som OpenSSL.