- COMP.SEC.100
- 20. Verkon tietoturva
- 20.4 Verkkoprotokollat ja niiden turvallisuus
Verkkoprotokollat ja niiden turvallisuus¶
Tiedonsiirron kokonaisuus muodostaa monimutkaisen järjestelmän. Hajautettujen sovellusten, verkkotekniikoiden ja tiedonsiirtoyhteyksien ymmärtäminen onnistuu kerrosmallin avulla. Kuva esittää 4-kerroksisen TCP/IP-pinon, joka saa nimensä kuljetus- ja internetkerrostensa protokollista TCP ja IP. Kuvassa näkyy kolme laitetta: asiakaskone, reititin ja palvelin, sekä tiedon fyysinen ja looginen reitti osapuolten välillä. Eri kerrosten tasoilla voi toimia useita verkkoprotokollia. Osa on yleisiä ja osa on räätälöity tietyille verkkoarkkitehtuureille. Protokolla eli yhteyskäytäntö on säännöstö eli standardi, joka kertoo miten eri kerrosten välistä tiedonsiirtoa käsitellään.
Tässä luvussa tarkastellaan tietoverkon turvallisuutta kerroksittain ylhäältä alas. Seuraava luku täydentää vielä erityisillä tietoturvamekanismeilla.
Sovelluskerroksen tietoturva¶
Tässä tarkastellaan sähköpostin ja verkkoselaamisen suojaamista. Tässä esitettyjen protokollien lisäksi sovellustasolle kuuluu sellaisia tärkeitä suojattavia “työkalu”protokollia kuin NTP ja DNS, Network Time Protocol ja Domain Name System.
Email (S/MIME) ja viestiohjelmien tietoturva¶
MIME määrittelee tavan, jolla sähköpostiviestejä pystytään välittämään erilaisia merkistöjä käyttäen ja viesteihin voidaan sisällyttää liitetiedostoina kuvia tai muita dokumentteja. Secure MIME eli S/MIME-standardi kuvaa sähköpostin ja allekirjoituksen paketoinnin MIME-standardin mukaisesti lähetettävään sähköpostiin. S/MIME määrittelee sähköpostin salauksen ja allekirjoittamisen julkisen avaimen salausta käyttäen. Se tarjoaa viesteille luottamuksellisuuden, autenttisuuden ja eheyden. Jotta kaksi käyttäjää voisivat luotettavasti vaihtaa viestejä S/MIME-standardin mukaisesti, kummallakin on oltava luotetun tahon allekirjoittama varmenne. Useimmiten ei ole olemassa erillisiä S/MIME-ohjelmia, vaan eri ohjelmissa on sisäänrakennettuna omat S/MIME-toteutuksensa ilman että ohjelmassa yleensä edes mainitaan lyhennettä “S/MIME”.
HTTPS¶
HTTPS eli HTTP over TLS (RFC2818) tarjoaa WWW-ympäristöön suojatun yhteyden kommunikointiosapuolten välille, käyttäen autentikointiin ja salaukseen TLS-protokollaa (tai vanhentunutta miltei samanlaista SSL-protokollaa). TLS on esillä jäljempänä, “puoli kerrosta alempana”. Selaimessa käytetty protokolla on HTTPS, kun osoite alkaa “https://”. Normaalisti HTTPS-protokolla käyttää TCP-porttia numero 443.
Anonyymi ja sensuurivapaa kommunikointi (syventävä)¶
Anonyymi viestintä on kaksijakoinen ilmiö: se tukee sananvapautta, mutta vaikeuttaa osapuolten vastuullisuuden varmistamista. Sitä voidaan käyttää esimerkiksi tilanteissa, joissa halutaan viestiä sortavia järjestelmiä vastaan ilman pelkoa seuraamuksista.
Anonymiteettiä voidaan lisätä hajauttamalla tiedonsiirtoa ja ohjaamalla se useiden verkkojen kautta. Tätä lähestymistapaa edustavat anonyymit viestintäverkot, joista tunnetuin on Tor. Nimi tulee alunperin sanoista The Onion Router, ja sipuli kuvaa sisäkkäisiä salauksia. Torissa liikenne kulkee useiden (tyypillisesti kolmen) välisolmun kautta kerroksittain salattuna. Asiakas valitsee sisääntulosolmun, keskisolmun (tai useita) ja poistumissolmun ja rakentaa viestin näitä varten, mutta lähettää sen vain sisääntulosolmuun. Solmuista muodostuu niin sanottu piiri, jonka kautta kaikki tiedonsiirto kulkee molempiin suuntiin. Menomatkalla kukin solmu purkaa salauksesta vain oman osuutensa ja saa selville seuraavan solmun, mikä auttaa säilyttämään lähettäjän anonymiteetin. Vastaavasti paluumatkalla solmut lisäävät salauskerroksen.
Sovellus- ja kuljetuskerroksen välissä¶
Oikeastaan TLS, Transport Layer Security, on nimensä mukaisesti kuljetuskerroksella, mutta sitä on luontevinta tarkastella omana välikerroksenaan, johon liittyy myös julkisen avaimen systeemin PKI.
TLS¶
Seuraavassa kuvataan TLS-protokollan perustoteutus - täydentäen esitystä, joka löytyy sovelletun kryptografian luvusta.
Uusimmista ja suosituimmista TLS-versioista 1.2 ja 1.3 keskittyvät erityisesti kättelytapahtumaan, joka edustaa sovelluskerrokselle ominaista toimintaa. Yksityiskohtia siinä ovat mm. liikennöivien osapuolien todentaminen, käytettävistä salakirjoitusalgoritmeista, tarvittavista salausavainten toiminnoista ja salausavainten vaihdoista sopiminen.
Kättely: TLS 1.2 vasemmalla ja TLS 1.3 oikealla. Pois on jätetty valinnainen asiakkaan todentaminen.
Tarkastellaan ensin kättelyä TLS:n versiossa 1.2. Asiakas ja palvelin neuvottelevat, mitä TLS-versiota, salausalgoritmeja, salausmenetelmiä jne. ne käyttävät. Varmenteet vaihdetaan molemminpuolista autentikointi varten, joskin asiakkaan autentikointi on valinnainen toiminto eikä sitä eikä asiakkaan varmennetta näy kuvassa. Seuraavaksi tapahtuu yhteisen symmetrisen avaimen muodostaminen. Asiakas voi salata luomansa symmetrisen avaimen palvelimen julkisella avaimella (esim. RSA), ja palvelin purkaa salauksen yksityisellä avaimellaan. Vaihtoehtoisesti kumppanit voivat yhdessä luoda avaimen käyttämällä Diffie-Hellman-Merkle avaintenvaihtoa (DHKE). :abbr:`DHKE (Diffie-Hellman Key Exchange)`tarjoaa TLS:lle täydellisen salauksen eteenpäin. Se estää hyökkääjiä purkamasta aiempaa viestintää, vaikka palvelimen yksityinen avain vuotaisikin. Lopuksi kättelytapahtuma vahvistaa tiedonsiirtoistunnon eheyden. Tästä lähtien osana tiedonsiirtovaihetta TLS-kumppanit käyttävät muodostettuja avaimia salaamaan ja todentamaan myöhemmän viestinnän.
TLS 1.3 -versiossa kättelytapahtuma on toteutettu tehokkaammin. Edestakaisten viestinvaihtojen määrä on vähennetty yhdeksi turvallisuudesta tinkimättä. TLS 1.3 ei enää tue RSA-pohjaista avainten vaihtoa DHKE:n sijasta. Siksi asiakas “arvaa” valitun avainprotokollan (esim. juuri DHKE) ja lähettää sen avainosuuden heti ensimmäisessä vaiheessa. Tähän palvelin vastaa valituilla parametreilla, joilla määritellään kättelytapahtumassa käytettävät protokollat, salausavaimet, varmenne ja allekirjoitus (CertificateVerify -viestissä). Jos palvelimeen yhteyttä ottava asiakas on ollut yhteydessä palvelimeen jo aiemmin, TLS 1.3 tukee kättelyä jopa ilman ylimääräistä edestakaista pakettiliikennettä. Tarpeettoman pakettiliikenteen toistamatta jättäminen ehkäisee/vaikeuttaa hyökkäyksiä sekä lisää turvallisuutta kommunikointiyhteyttä muodostettaessa.
Seuraavaksi lyhyesti siitä, kuinka TLS tarjoaa suojaa yleisiä verkkohyökkäyksiä vastaan. Ensin ajatellaan verkossa olevan hyökkääjän, joka salakuuntelee viestiliikennettä. Hyökkääjä haluaa saada tietoonsa salaisuuksia seuratusta/kaapatusta TLS-suojatusta liikenteestä. Koska käyttäjätiedot on salattu, salaisuuksia ei voida päätellä. Toiseksi IP-spoofing hyökkäyksessä hyökkääjä voi hyökätä minkä tahansa TLS-kumppanin liikenteeseen yrittäen saada tätä hyväksymään vääriä tietoja. Jos hyökkääjä syöttää liikennöintiosapuolelle tietoja, hyökkääjältä puuttuu tarvittava salainen avain salatun sisällön syöttämiseen. Kolmanneksi tietoja ei voida myöskään muuttaa, koska TLS suojaa tietojen eheyttä käyttämällä todennettuja salaus- tai viestitodennuskoodeja.
Lopuksi, jopa vahva MITM-hyökkäys estetään todentavien varmenteiden avulla varmistaen kommunikointiosapuolet - ellei MITM-hyökkääjä kykene antamaan oikeita varmenteita, joihin TLS-kumppanit luottavat. TLS-protokolla takaa myös, että hyötykuorma saapuu sovellukseen oikeassa järjestyksessä, havaitsee pudonneen ja muokatun sisällön ja estää tehokkaasti myös toistohyökkäykset, mikäli yritetään lähettää sama liikenne uudelleen hyötykuorman kopioimiseksi. Tästä huolimatta TLS ei estä hyökkääjiä viivästyttämästä tiedonsiirtopaketteja tai estämästä koko viestintää.
PKI¶
Turvallisessa viestinnässä keskeinen haaste on, miten osapuolet voivat luottaa toistensa julkisiin avaimiin epävarman verkon yli. Julkisen avaimen infrastruktuuri (PKI) ratkaisee tämän ongelman tarjoamalla järjestelmän, jossa luotetut tahot (varmentajat, CA) myöntävät ja hallinnoivat varmenteita. Varmentajat vastaavat varmenteiden oikeellisuuden tarkistamisesta, voimassaolon seurannasta sekä tarvittaessa niiden peruuttamisesta.
Käytännössä käyttäjä luo itse julkisen ja yksityisen avaimen muodostaman parin, säilyttää yksityisen avaimen salassa ja lähettää julkisen avaimen varmentajalle allekirjoituspyynnön osana. Varmentaja varmistaa käyttäjän identiteetin ennen varmenteen allekirjoittamista. Identiteetti tarkoittaa HTTPS-varmenteessa verkkotunnuksen hallussapitoa ja S/MIME-varmenteessa henkilötunnusta. Muodostettava varmenne yhdistää identiteetin julkiseen avaimeen ja sisältää myös varmentajan tiedot sekä voimassaoloajan. Kuka tahansa voi nyt tarkistaa varmenteen käyttämällä varmentajan julkista avainta. Varmenteen muoto ja PKI-hallintatiedot on määritelty RFC 1422:ssä ja ITU-X.509:ssä.
PKI-järjestelmään liittyy kuitenkin haasteita. Varmenteita on joskus myönnetty virheellisesti tai hyökkäysten seurauksena, mikä on mahdollistanut väärennettyjen varmenteiden käytön. Tämän vuoksi käytössä ovat peruutuslistat (CRL) ja OCSP-protokolla, joilla varmenteiden tila voidaan tarkistaa.
Sen lisäksi että tarkistavat voimassaoloa CRL:stä tai OCSP:llä, selaimet ja varmentajat käyttävät Certificate Transparencyä (CT, ja viime aikoina skaalautuvampia “static‑CT”‑rajapintoja). Se on julkinen lokitiedosto (siis append-only) myönnetyistä varmenteista ja auttaa havaitsemaan virheellisesti myönnettyjä varmenteita. Erityisesti sivuston omistajat ja muut voivat havaita nimiinsä liittyvät odottamattomat varmenteet. Lokipalvelut antavat pieniä allekirjoitettuja todisteita, joita kutsutaan SCT:iksi (Signed Certificate Timestamps), ja joita varmentajat voivat sisällyttää varmenteisiin tai joita palvelimet voivat toimittaa TLS:n/OCSP:n kautta, jotta selaimet voivat tarkistaa CT‑yhteensopivuuden.
Vaihtoehtona keskitetylle PKI:lle on hajautettu luottamusverkko, jossa käyttäjät itse allekirjoittavat ja varmentavat toistensa avaimia. Tunnettu esimerkki tästä mallista on PGP/GPG, jossa luottamus perustuu käyttäjien välisiin varmentamissuhteisiin.
Lisää PKI-asiaa löytyy sovelletusta kryptografiasta.
Kuljetuskerroksen tietoturva¶
Kuljetuskerroksen protokollilla TCP ja UDP on omiakin turvaominaisuuksia.
TCP-tietoturva (syventävä)¶
TLS suojaa TCP-yhteyksien hyötykuormaa, mutta itse TCP-protokollaan kohdistuu silti hyökkäyksiä. Yksi keskeinen uhka on TCP-nollaus, jossa hyökkääjä pyrkii katkaisemaan yhteyden arvaamalla oikean sekvenssinumeron ja lähettämällä väärennetyn RST-segmentin. Jos numero osuu vastaanottajan liukuikkunaan, yhteys sulkeutuu. Tähän on kaksi keskeistä suojauskeinoa:
- sekvenssinumeroiden riittävä satunnaistaminen ja
- estetään RST-segmentit järjestysnumeroilla, jotka kuuluvat liukuikkunan keskelle.
Nämä eivät kuitenkaan täysin estä hyökkäyksiä, erityisesti jos hyökkääjä pystyy manipuloimaan liikennettä tai päättelemään sekvenssinumeroita.
Toinen merkittävä uhka on SYN flooding, jossa hyökkääjä kuormittaa palvelinta lähettämällä suuren määrän yhteyspyyntöjä, jolloin resurssit sitoutuvat puoliksi avoimiin yhteyksiin. Tämä voi estää oikeita asiakkaita muodostamasta yhteyksiä. Yksinkertainen torjunta on puoliksi avattujen yhteyksien rajoittaminen, myös niin, että satunnainen aiempi pudotetaan kuin uutta luodaan. Tällainen voi vaikuttaa myös lailliseen liikenteeseen.
Tehokkaampi ratkaisu on SYN-evästeet. Tällöin palvelin ei varaa resursseja heti, vaan koodaa yhteyspyyntöön liittyvät tiedot (IP-osoitteet, portit, karkean aikaleiman) sekä salaisen numeronsa tiivistefunktiolla sekvenssinumeroon ISN. Asiakas saa ISN:n haasteena Syn/Ack-sanomassa ja saa yhteyden auki vasta kun vastaa siihen Ack-sanomassa (lisää ykkösen). Palvelin ei tallenna ISN:ää eikä muutakaan ennen tätä, mutta voi tarkistaa Ack-sanoman tiedoilla, että vastaus on oikein. Näin palvelin kuluttaa resursseja vasta avattavien yhteyksien tapauksessa (paitsi hiukan laskentaa). Tämä lähestymistapa vaikeuttaa DoS-hyökkäyksiä ja tasaa resurssien käyttöä, koska hyökkääjän täytyy käyttää enemmän omia resurssejaan onnistuakseen.
UDP-tietoturva (syventävä)¶
DTLS tekee UDP:lle saman kuin TLS TCP:lle, mutta UDP:n lähtökohta on erilainen: se on yhteydetön protokolla, jossa sovelluskerroksen on huolehdittava luotettavuudesta, järjestyksestä ja tunnistamisesta.
Koska UDP ei muodosta yhteyttä eikä varmista osapuolten tietoja, se on altis IP-osoitteiden väärentämiselle (IP spoofing). UDP-päätelaitteet eivät tarkista toistensa osoitteita ennen vastausten lähettämistä, mikä mahdollista heijastavat DDoS-hyökkäykset: hyökkääjä lähettää paketteja väärennetyllä lähdeosoitteella (uhrin osoitteella), jolloin vastaukset ohjautuvat uhrille ja kuormittavat tämän verkkoa. Hyökkäys voimistuu entisestään, jos vastaukset ovat suurempia kuin pyynnöt (amplifikaatio).
Ilman osoitteiden varmennusta tai tunnistamista UDP-pohjaiset protokollat pysyvät haavoittuvina. Suojauskeinoja ovat esimerkiksi:
- osapuolten todentaminen sovelluskerroksessa
- vasteiden koon ja lähetysnopeuden rajoittaminen
- erilliset vahvistus- tai tarkistusmekanismit ennen suurten vastausten lähettämistä
Näillä keinoilla voidaan vähentää väärinkäytön mahdollisuuksia ja rajoittaa hyökkäysten vaikutusta.
QUIC (HTTP/2 + TLS) (syventävä)¶
QUIC on moderni siirtokerroksen protokolla, jota tuetaan laajasti nykyaikaisissa verkkoselaimissa. Se nopeuttaa tiedonsiirtoa käyttämällä UDP:tä TCP:n sijaan ja vähentämällä viiveitä. Protokolla kehitettiin alun perin Googlessa ja standardoitiin IETF:ssä vuonna 2021.
Keskeinen suorituskykyetu syntyy multipleksoinnista, jossa useita tietovirtoja yhdistetään yhdeksi siirtokanavaksi. Lisäksi QUIC on suunniteltu alusta alkaen tietoturva huomioiden: se hyödyntää pitkälti TLS 1.3:n mekanismeja, mutta korvaa TLS:n Record Layerin omalla rakenteellaan. Näin voidaan salata paitsi hyötykuorma myös suuri osa otsaketiedoista.
QUIC myös yhdistää yhteydenmuodostuksen (koska ei tarvitse TCP:n 3-tiekättelyä) ja TLS-kättelyn, mikä vähentää viestinvaihtokierroksia ja nopeuttaa yhteyden muodostamista. Palvelimet validoivat asiakkaan osoitteen jo kättelyn aikana ja rajoittavat tiedonsiirtoa ennen validointia, mikä parantaa suojausta väärinkäyttöä vastaan.
Verkkokerroksen tietoturva¶
Vaikka sovellus- ja kuljetuskerroksen suojaus auttavat tarjoamaan kokonaisvaltaisen suojauksen, ne eivät välttämättä suojaa organisaation sisäisiä verkkoyhteyksiä haitalliselta liikenteeltä. Jos ja kun haittaliikennettä havaitaan pääkoneissa, on liian myöhäistä, kun kaistanleveys on jo käytetty. Toinen suuri ongelma on, että TLS ei voi kätkeä eikä suojata IP-otsikoita, jolloin salakuuntelijat näkee ne ja MITM-hyökkääjä voi muokata niitä. Tarvitaan siis turvamekanismeja myös verkkokerroksella.
IPv4 tietoturva¶
IP-spoofing: IP-spoofing johtuu Internet-protokollan rakenteesta, ja se koskee sekä IPv4:ää että IPv6:ta: lähettäjä voi käyttää väärennettyä IP-osoitetta. Uhkaa lieventävät palveluntarjoajien suodatukset sekä reitittimien uRPF-tarkistukset, jotka hylkäävät epäloogisista lähteistä tulevan liikenteen.
Sirpalehyökkäykset: IPv4 pilkkoo liian suuret paketit MTU-rajan mukaisesti, mutta niiden uudelleenkokoaminen voi aiheuttaa tietoturvaongelmia. Hyökkäykset, kuten Teardrop, hyödyntävät tätä kuormittamalla järjestelmiä tai rikkomalla kokoamislogiikkaa. Paloittelu mahdollistaa myös DNS-välimuistin myrkyttämisen sekä yksinkertaisten tarkistusten kiertämisen jakamalla hyötykuorman useisiin osiin.
VPN:t ja IPSec: Organisaatiot tarvitsevat usein suojatun tiedonsiirron myös oman verkon ulkopuolella, esimerkiksi yhdistäessään toimipisteitä internetin yli tai mahdollistaessaan etä- tai matkatyön. Tätä varten käytetään virtuaalisia yksityisverkkoja (VPN), jotka muodostavat salatun ja autentikoidun yhteyden epäluotettavan verkon läpi.
VPN voidaan toteuttaa useilla protokollilla, kuten TLS-pohjaisilla ratkaisuilla (esim. OpenVPN) tai muilla tunnelointitekniikoilla (esim. SSTP). Yksi keskeinen ratkaisu on IPSec, jossa liikenne kapseloidaan, salataan ja välitetään turvallisesti verkon yli. Esimerkiksi etäkäyttäjän laite salaa lähtevän liikenteen IPSec-kehykseen, ja organisaation yhdyskäytävä purkaa sen ennen edelleenlähetystä. Vastaukset kulkevat takaisin samalla tavalla suojattuina.
Kuva havainnollistaa VPN-toteutuksesta IPSecillä. Työntekijä työskentelee kotiverkossaan, työntekijän asiakaslaite (VPN-asiakas) kapseloi lähtevät IPv4-datagrammit IPSec-kehykseen ja salaa IPv4-hyötykuorman, joka sisältää TCP- tai UDP-segmenttejä tai tiedonsiirron ohjaussanomia. Yrityksen yhdyskäytävä tunnistaa saapuvan IPSec-datagrammin, purkaa sen salauksen ja purkaa sen IPv4-datagrammin ennen sen välittämistä kohdepalvelimelle. Yhdyskäytävät salaa myös palvelimen vastaukset. IPSec tarjoaa tiedonsiirrossa myös tietojen eheyden, alkuperätodennuksen ja uusintahyökkäyksen estämisen.
IPSec tukee kahta toimintamoodia: tunnelointi ja kuljetus. Näitä on verrattu rinnakkain seuraavassa kuvassa. Kuljetusmoodi suojaa IP-hyötykuorman mutta ei IP-otsikoita (kuten edellisessä kuvassa). Tunnelointi muodostaa uudet IP-otsikot ja suojaa alkuperäiset. Tämän on hyödyllistä, jos kahden verkon reunalaitteet (reitittimet/yhdyskäytävät) ovat IPSec-kykyisiä. Silloin muiden palvelimien ja isäntäkoneiden ei tarvitse huolehtia IPSecistä. Reunalaitteet kapseloivat jokaisen siirretyn IP-paketin otsikot mukaan lukien ja kahden verkon ulkopuolella näkyvät vain reunalaitteiden IP-osoitteet.
Kun suuri määrä päätepisteitä käyttää IPSeciä, IPSec-avainten manuaalisesta jakamisesta tulee haastavaa. RFC 7296 määrittää IKEv2-protokollan, joka hoitaa sovelluskerroksella IPSecille samankaltaisen autentikoivan ja avaimia muodostavan kättelyn kuin TLS.
NAT: IPv4-osoitteiden niukkuuden vuoksi kehitetty NAT mahdollistaa yksityisten IP-osoitteiden käytön yhdistämällä ne yhteen julkiseen osoitteeseen. Lähtevässä liikenteessä NAT-laite korvaa sisäisen osoitteen omalla julkisella osoitteellaan. NAT tuo myös epäsuoria tietoturvahyötyjä:
- Sisäverkon laitteiden todelliset IP-osoitteet eivät näy ulospäin.
- Ulkopuolinen liikenne ohjautuu NAT-laitteelle, ei suoraan sisäisiin laitteisiin.
Lisäksi kotireitittimien kaltaiset NAT-laitteet estävät oletusarvoisesti suorat yhteydet sisäverkkoon. Suojaus kuitenkin heikkenee, jos verkkoon avataan poikkeuksia, esimerkiksi porttiohjauksella tai UPnP:n avulla.
Linkkikerroksen tietoturva¶
Tässä osassa käsitellään linkkikerroksen turvallisuutta, enimmäkseen linkkikerroksen loogisia osia. Fyysistä osaa käsitellään tarkemmin myöhemmässä luvussa
Porttiperusteinen pääsynvalvonta (IEEE 802.1X) (syventävä)¶
IEEE 802.1X tarjoaa porttipohjaisen autentikoinnin sekä langallisiin että langattomiin verkkoihin. Ennen kuin laite saa pääsyn verkkoon, sen on tunnistauduttava kytkimen tai tukiaseman kautta.
Toiminta perustuu kolmeen osapuoleen: asiakaslaitteeseen, verkon liityntäpisteeseen (kytkin tai tukiasema) sekä erilliseen autentikointipalvelimeen (kuvassa Radius-palvelin). Asiakas käyttää EAP-protokollaa, jonka avulla tunnistautuminen välitetään autentikointipalvelimelle liityntäpisteen kautta. Kuva näyttää myös EAP:n sijainnin protokollapinossa.
Kun uusi laite liittyy verkkoon, sen portti (liityntäpisteessä) asetetaan rajoitettuun tilaan, jossa sallitaan vain autentikointiin liittyvä liikenne ja kaikki muu estetään. Autentikoinnin onnistuessa portti avataan normaalille liikenteelle. Kun yhteys päättyy, portti palautetaan takaisin rajoitettuun tilaan. Näin 802.1X varmistaa, että vain tunnistetut ja hyväksytyt laitteet pääsevät käyttämään verkkoa, mikä parantaa merkittävästi verkon turvallisuutta.
Ulkoverkkojen linkkikerroksen tietoturva (syventävä)¶
IEEE 802.1X soveltuu erityisesti lähiverkkoihin, kun taas ulkoverkoissa (WAN) vastaavia tehtäviä hoitavat protokollat, kuten PPPoE ja HDLC. Näiden avulla käyttäjät muodostavat yhteyden internetiin palveluntarjoajan kautta, ja erityisesti PPPoE on erittäin laajasti käytössä.
Keskeinen tavoite on varmistaa, että vain valtuutetut käyttäjät pääsevät verkkoon. Siksi palveluntarjoajat edellyttävät yleensä käyttäjän tunnistautumista ennen yhteyden avaamista. Tähän käytetään PPP:n yhteydessä erilaisia todennusprotokollia, kuten PAP, CHAP sekä EAP-pohjaiset ratkaisut.
Näistä PAP on tietoturvan kannalta heikoin, koska se välittää tunnistetiedot käytännössä suojaamattomina. CHAP parantaa tilannetta käyttämällä haaste–vaste-mekanismia, mutta ei sekään ole ongelmaton: tallennetut istuntotiedot voivat mahdollistaa esimerkiksi brute force -hyökkäykset, jos tunnistetiedot ovat heikkoja.
Kokonaisuutena ulkoverkkojen linkkikerroksessa korostuu vahvojen todennusmenetelmien tarve, jotta pääsy verkkoon voidaan rajata luotettavasti ja estää asiattomien käyttäjien pääsy.
Verkon segmentointi (syventävä)¶
MAC- ja ARP-spoofing osoittavat, kuinka haavoittuva verkkokerroksen suojaus voi olla. Siksi verkkoja pyritään jakamaan pienempiin, erillisiin kokonaisuuksiin – tätä kutsutaan verkon segmentoinniksi. Kriittisissä ympäristöissä segmentointi toteutetaan usein fyysisesti, mutta kustannussyistä yleisempi ratkaisu on virtuaalinen segmentointi. VLAN-verkot ovat käytännön standardi tässä: niiden avulla voidaan erottaa esimerkiksi sisäiset palvelimet ja vierasverkot toisistaan loogisesti, vaikka ne käyttäisivät samaa fyysistä infrastruktuuria.
Segmentointi pakottaa liikenteen kulkemaan reitittimien kautta, jolloin sitä voidaan hallita ja rajoittaa. Tämä pienentää hyökkäysten vaikutusta, koska ne eivät leviä vapaasti koko verkkoon. On myös tärkeää huomata, että segmentointi ei edellytä VPN-ratkaisuja: jos segmentit ovat samassa paikallisverkossa, reititin voi yhdistää ne hallitusti. Parhaimmillaan tätä täydennetään palomuurisäännöillä, jotka ohjaavat ja rajoittavat verkkojen välistä liikennettä.
VLAN-hyppyhyökkäykset (VLAN hopping) mahdollistavat pääsyn yhdestä VLAN-verkosta toisiin, jolloin hyökkääjä voi kiertää segmentoinnin rajoituksia ja hyödyntää suojattuja resursseja. Tämä heikentää VLAN-segmentoinnin perusideaa, eli verkkojen eristämistä toisistaan. Hyökkäyksiä on kaksi päätyyppiä: kytkimen spoofing ja kaksoiskoodaus.
Kytkimen spoofingissa hyökkääjä esiintyy kytkimenä ja hyödyntää protokollia, kuten IEEE 802.1Q tai Dynamic Trunking Protocol, saadakseen trunk-yhteyden. Tällöin hyökkääjä voi tarkastella useiden VLAN-verkkojen liikennettä. Riskiä voidaan pienentää määrittämällä porttien roolit kiinteästi ja estämällä automaattinen trunk-neuvottelu.
Kaksoiskoodauksessa hyökkääjä lisää kehykseen kaksi VLAN-tunnistetta. Ensimmäinen VLAN käsittelee ulomman tunnisteen ja välittää kehyksen eteenpäin, jolloin sisempi tunniste ohjaa sen toiseen VLAN-verkkoon. Hyökkäys toimii käytännössä vain yhteen suuntaan, mutta mahdollistaa silti liikenteen tarkkailun ja väärinkäytön.
VLAN-verkkojen noin 4096 verkon rajoitus tulee nopeasti vastaan erityisesti voimakkaasti virtualisoiduissa ympäristöissä. Tätä ongelmaa ratkaisee VXLAN, joka käyttää kapselointia ja siirtää segmentoinnin verkkokerrokseen. Näin voidaan luoda jopa miljoonia erillisiä verkkoja ja yhdistää niitä joustavasti myös VLAN-rakenteisiin.
VXLAN, kuten VLAN, keskittyy verkon segmentointiin eikä itsessään tarjoa tietoturvaominaisuuksia, kuten luottamuksellisuutta tai eheyttä. Se tuo kuitenkin uuden riskin: koska VXLAN-liikenne voi kulkea laajojen verkkojen, kuten internetin, yli, hyökkääjät voivat yrittää lisätä väärennettyä tietoa paketteihin.
Siksi VXLAN-ympäristöissä korostuu liikenteen hallinta ja suodatus. Erityisesti verkon reunoilla tulee varmistaa, että vain luotetut ja oikein osoitetut VXLAN-paketit pääsevät verkkoon, jotta väärinkäytösten riski pysyy hallinnassa.
Langaton tietoturva (syventävä)¶
Langattomat lähiverkot ovat alttiita tietoturvariskeille, koska siirtomedia on avoin ja mahdollistaa helpon salakuuntelun. Varhainen suojaus, WEP, osoittautui vakavasti haavoittuvaksi, ja sitä kehitettiin edelleen WPA-ratkaisuksi, jossa otettiin käyttöön muun muassa esijaettu avain, PSK.
Wi-Fi Alliance standardoi WPA2-päivityksen vuonna 2004. WPA2 perustuu aiempaa tehokkaampiin laitteistoihin ja tukee vahvempaa salausta käyttäen AES-algoritmia CCMP-tilassa. Tämä parantaa merkittävästi sekä luottamuksellisuutta että eheyden suojaa. Lisäksi WPA2 hyödyntää parannettua nelivaiheista kättelyä istuntoavainten muodostamiseen. Vaikka yksittäisissä toteutuksissa on havaittu haavoittuvuuksia, itse kättelyprotokollan rakennetta pidetään edelleen turvallisena.
Vuonna 2018 hyväksyttiin WPA3 -standardi, johon siirtyminen tapahtuu asteittain. WPA3 korjaa aiempien standardien puutteita erityisesti salassapidon osalta. Esijaettu avain korvataan uudella avainvaihtomekanismilla, SAE, joka perustuu vahvaan avaintenvaihtoon ja estää tehokkaasti sanakirjahyökkäyksiä. WPA3-Personal käyttää 128-bittistä salausta, kun taas WPA3-Enterprise tukee 192-bittistä salausta korkeamman turvallisuustason ympäristöihin.
Edellä on oletettu, että WLAN-käyttäjien ja tukiasemien välillä on jaettu salaisuus, jonka perusteella istuntoavaimet voidaan muodostaa. Yritysverkoissa pääsynhallinta toteutetaan tyypillisesti vahvan todennuksen avulla, esimerkiksi käyttämällä IEEE 802.1X-standardia (eli edellä käsiteltyä porttipohjaista autentikointia). Tällöin käyttäjillä on usein henkilökohtaiset asiakassertifikaatit, jotka tarjoavat huomattavasti paremman suojan kuin salasanapohjaiset ratkaisut.
Avoimissa verkoissa (esimerkiksi lentokentillä ja kahviloissa) ei yleensä voida käyttää esijaettuja avaimia tai sertifikaatteja. Tällöin on tärkeää erottaa toisistaan tiedonsiirron suojaaminen ja verkkoon pääsyn rajoittaminen. Ilman salausta viestintä jää suojaamattomaksi. Tätä ongelmaa ratkaisee OWE, jossa asiakas ja tukiasema muodostavat salatun yhteyden ilman erillistä ennakkoon jaettua salaisuutta. OWE perustuu Diffie–Hellman-avaintenvaihtoon ja tarjoaa suojan passiivista salakuuntelua vastaan myös avoimissa verkoissa.