Tässä artikkelissa oletuksena on että edellisen artikkelin mukaisesti asennus on tehty ja punaisen puolen käyttö luonnistuu.
Perusajatus
Hyökkäävän puolen toimien ehkäisemiseen tarkoitettu sininen puoli asennetaan samalla tavoin kuin punaisen puolen agentti. Koneella on siis kaksi agenttia yhtäaikaa pyörimässä, joista molemmat pitää onnistua ajamaan Windows Defenderin tai muun AV-softan ohi. Sinisen puolen agentti voi käytännössä joko etsiä jos tapahtuneista toimista jälkiä tai pyrkiä estämään käynnissä oleva hyökkäys. Yhtäaikaiseen toimintaan on tarjolla Gameboard-välilehti jossa molempia agentteja voi valvoa yhtäaikaa.
Ikävä kyllä testatessa tuli todettua että mahdollisesti johtuen 4.0.0 pre-release versiosta tai muista tekijöistä, agentit tuppasivat hyvin nopeasti menettämään kohdekoneessa henkensä. Tämä oli etenkin selvää sinisen puolen agenttien kanssa, joissa Incident responder oli varsin herkkä lopettamaan toimintonsa. Myös yksi bugiraporttikin tuli tehtyä agentin oletuskonfiguraatioon liittyen (powershell skriptissä group on red, kun pitäisi olla blue).
Tämä siis varoituksen sanaksi niille, jotka haluavat testata hyvin toimintavarmaa softaa. Kannattaa hieman odottaa.
Kun agentin saa käyntiin luodaan sille operaatio ja profiili samoin kuin punaisella puolella. Lisäksi käytettyyn koneeseen liittyen voi lisätä faktoja siitä mikä on sallittua toimintaa ja mikä ei, esim liittyen avoimiin portteihin. Lisäksi sininen puoli voi automaattisesti kerätä tietoa koneesta. Kohdasta fact sources ja responder löytää oletuksena esim muutamia punaisen puolen oletushakemistoja ja portteja. Niihin voi lisätä omia tunnisteitaan, mikäli haluaa erottaa selvästi omat testit oletustesteistä.
Jos (tai kun) agentin saa pysymään päällä, operaatiota voi seurata reaaliajassa.
Pelilauta
Kokeilin erilaisia vaihtoehtoja siihen, miten kaksi agenttia voi samalla koneella toimia ja totesin että parhaan tuloksen antoi aloittaminen punaisella agentilla ja vasta tämän jälkeen sinisen agentin lisääminen peliin, mutta käyttäen eri kansiota kuin punaisen C:/users/public. Tallensin molemmat skriptit notepadiin kohdekoneelle ja ajoin ylläpitäjän oikeuksin powershell-ikkunaa, josta sitten käynnistin agentit. Kuten mainittua, Defenderille piti kertoa että agentille saavat toimia.
Gameboard- välilehdellä valitetaan mikä operaatio on seurannassa kummallekin agentille.
Kuten kuvasta näkyy, molemmille puolille annetaan pisteitä sen mukaan onnistuuko hyökkäys tai sen havaitseminen. Lisäksi ihminen voi raportoida epäilyttävistä prosesseista, joista myös saa pisteet.
Tämä siis teoriassa, ikävä kyllä käytännössä peli tuotti aivan erilaisia lopputuloksia.
Sininen puoli voittaa ylivoimaisesti skannaamalla avoimia portteja, samalla kun punainen puoli kuoli (operaatio jatkuu ilman eläviä agentteja)!
Punainen puoli kerää tietoa esteettä, samalla kun sininen puoli nukkuu (agentti alhaalla).
Incident response puoli ei ikävä kyllä onnistunut vakuuttamaan, vaikka agentteja olisi luonut useamman molemmille puolille. Entäpä threat hunter?
Ikävä kyllä varsin samaan tapaan agenttien yhtäaikainen toiminta tai toimimattomuus ei mahdollistanut testaamista.
Loppusanat
Calderan konsepti vaikuttaa kiinnostavalle ja selvästi alustassa on paljon mahdollisuuksia räätälöintiin, mutta ainakin tällä versiolla agenttien pysyvyys asetti haasteita. Nopealla testaamisella ei löytynyt yhdistelmää joka olisi tuottanut hyviä lopputuloksia. Siinä missä punainen agentti saattoi pysyä ylhäällä yksinään useita tunteja, sinisen Sandcatin lisääminen tappoi nopeasti joko molemmat tai toisen. Linux-alustalla olisi mahdollista käyttää kahta erilaista agenttia, joka saattaisi ratkaista ongelman.
Mahdollisesti Kalin kautta tehty manuaalinen testaus ja sininen agentti voisi olla toimiva ratkaisu, mutta testausautomaatio oli se kiinnostavin aspekti Calderan käyttöön.
Koska testaukseen tuli valittua pre-release versio, palaan asiaan myöhemmin kun stabiili versio on julkaistu.
Tässä artikkelissa tutustumme Calderan käyttöön ja teemme hyökkäyssimulaation kotilabramme laitteita kohtaan eli käytämme punaisen puolen ominaisuuksia.
Tavoite: Testata kotilabran laitteiden haavoittuvuuksia ja lokituskykyä
Vaikeus: Helppo
Aika: Alle tunti – viikko, riippuen innostuksesta
Hinta: 0 €
Mikä on Caldera?
“CALDERA™ is a cyber security framework designed to easily run autonomous breach-and-simulation exercises. It can also be used to run manual red-team engagements or automated incident response. CALDERA is built on the MITRE ATT&CK™ framework and is an active research project at MITRE.”
Caldera (testattu 4.0.0 pre-release) sisältää siis joukon työkaluja ja viitekehyksiä (Mitre, Atomic), joiden avulla voi testata kohteen puolustuskykyä joko punaisen teamin tai sinisen teamin puolella. Sen etuihin kuuluu kyky automatisoida testausta ja mahdollisuus simuloida päätöksentekoa erilaisissa skenaarioissa. Innokkaalle harrastajalle se antaa mahdollisuuden saada palautetta vaikkapa oman kotilabran koneiden suojauksista, realististen hyökkäysten kautta. Toki vaativampia toimenpiteitä kannattaa suorittaa Metasploitin tai Cobalt Striken kautta. Aloitelllaan!
Asennus
Kerrankin asennus on suoraviivaista ja helppoa. Koska kyseessä on hyökkäyspuolen työkalu, valikoituu sen alustaksi kotilabrassa jo olemassaoleva Kali-asennus. Asennukseen löytyy Calderan dokumentaatiosta muutaman rivin ohjeet, jotka suorittamalla Caldera asentuu. Samalla kannattaa myös asentaa go- ohjelmointikielen paketit esim käyttäen ohjetta:
Asennuttuaan löytyy Caldera osoittesta localhost:8888. Tarvittavat salasanat löytyvät conf/default.yms, hieman selaamalla alaspäin red/admin.
Agentin käyttö
Calderan käyttö perustuu agenttiin, joka uhrikoneella suorittaa erilaisia testejä. Käytössä ovat mm. Mitren Attack tekniikat ja Red Canaryn Atomic testit:
Agentti tulee saada aktiiviseksi uhrikoneella, jotta testit voidaan suorittaa. Kyseessä ei siis ole skanneri, joka ulkoapäin testaisi erilaisia asetuksia, vaan kyseessä on hyökkäyssimulaatio, jossa hyökkääjä on jo saanut koneelle jalansijaa. Tyypillisimpiä keinoja tosielämässä ovat mm kalasteluhyökkäykset, vuotaneiden tunnusten käyttö tai koneen valtaaminen nollapäivähaavoittuvuuksien kautta. Keinoja löytyy.
Agentteja on useaa erilaista ja uhrien käyttöjärjestelmiksi voidaan valita Linux/Windows/Mac. Aloitetaan testaamalla Proxmoxiin asennettua Win10-konetta!
Valitaan ensin sopiva agentti.
Valitaan 54ndc47 agentti, asetetaan Proxmoxissa olevan Kalin IP-osoite ja portti 8888 ja Windows järjestelmäksi ja saamme valmiin Powershell-skriptin ajettavaksi.
Koska omassa Proxmox-labrassa ei leikepöytä toimi koneiden välillä, tiedostojakoja ei ole ja muutamia muitakin rajoituksia viestinnälle on, joudutaan skriptin tiedot viemään internetin kautta. Uhrikoneella on yhteys pastebin-palveluun, johon laitamme skriptin tiedot Kalista.Kuinka ollakaan, katoaa tämä skripti heti tallennuksen jälkeen! Automatiikka huolehtii siitä, ettei haitallista koodia levitetä palvelun kautta. Hyvä asia. Kierrämme ongelman anonpasten kautta ja postaamme anonpasten linkin pastebinin kautta (toki tämänkin olisi voinut hoitaa itsehostatun paste-sivun tai Synologyn kautta).
Päivitys: Tai otetaan uhrikoneelta suoraan yhteys Kaliin IP:8888 kautta ja kopioidaan koodi suoraan selaimesta käyttöön…
Saamme koodin koneelle ja huijaamme itsemme ajamaan sen Powershellissä (social engineering).
Puolustukset toimivat heti ja Microsoft Defender estää haitallisen skriptin suorittamisen. Vaihtoehtona on myös sallia ajaminen, jonka teemme ja ajamme skriptin uudestaan.
Toisella kerralla ongelmia ei enää esiinny ja Calderan puolella agentti löytyy. Olemme siis valmiita jatkoon!
Hyökkäys
Calderassa on monipuoliset kyvykkyydet ajaa läpi erilaisia skenaarioita tai testata suoraan yksittäisiä toimia. Kokeilemme tässä molempia.
Adversaries-puolella voi tarkastella kyvykkyyksiä ja räätälöidä tehtäviä toimenpiteitä. Voimme mennä suoraan Operations-välilehteen ja aloittaa Superspy-hyökkääjällä. Tarkoitus on havainnollistaa kykyä kerätä tietoa kohteesta.
Luodaan operaatio ja käynnistetään se. Samalla nähdään reaaliajassa kun tietoa välittyy Calderaan.
Tässä esimerkkinä vaikkapa tieto käytössä olevasta antivirus-ohjelmasta.
Kerätyt tiedot voi lopuksi ladata JSON-muodossa jatkotoimia varten. Mikäli tiedot haluaa PDF-muodossa, voi Debrief-pluginin kautta saada näppärän loppuraportin.
Tämän lisäksi voi nopeasti testata tiettyjä tekniikoita tai komentoja Access- pluginin kautta.
Puolustautujan analyysi
Vaikka hyökkääminen onkin hauskaa, on puolustautujan puolella tärkeää myös katsoa miten tekniikat näkyivät uhrin koneella ja millaisia hälytyksiä luotiin. Yleensä suurin yllätys on se, miten vähän tietoa saa perus Windows-koneen logeista. Mikäli sysmon ei ole päällä tai lokitusta ei ole suunniteltu, jää pitkäkin hyökkäys usein ilman mitään jälkiä.
Muutamia skenaarioita:
Missä vaiheessa Wazuh / Security Onion saa tiedon hyökkäyksestä?
Missä vaiheessa käyttäjä voisi havaita asian?
Millaisia uhkia Windows Defender esti? Millainen oli tilanne Defender + VoodooShield yhdistelmällä?
Mitä jälkiä koneelle jää? Millaista forensiikkaa voi harrastaa?
Mitä Mitren vastatoimista olisi mahdollista ottaa käyttöön? Mikäli tilanne on tämän jälkeen?
Esimerkkinä käytetyssä kampanjassa koitettiin hakea salasanoja Mimikatz.A varianttia käyttäen. Aiheellisesti toiminta estettiin ja käyttäjälle esitettiin asiasta varoitus.
Analyysityökaluja: Velociraptor
Analyysiin sopii esimerkiksi Velociraptor, ilmainen avoimen lähdekoodin työkalu:
Sen avulla voi koota yhteen lokeja ja tietoa isostakin joukosta koneita.
Meillä on epäilys siitä että Powershelliä olisi ajettu kohdekoneella, joten valitaan artifaktaksi Powershell ja katsotaan mitä löytyy.
Hyökkäyksen ajankohtaan sopivia shell-komentoja löytyykin. On tietysti mahdollista myös pyyhkiä lokit ja peittää omat jälksensä, joka olisi ollut mahdollista Calderan kautta.
Eräs vastakeino tätä vastaan on tallentaa PowerShellin käyttö paikallisesti ja tämän jälkeen lähettää tiedot edelleen keskitettyyn paikkaan. Tässä esimerkki paikallisista kopioista.
Ajankohtaisesti, myös Log4Shell haavoittuvuudesta voi etsiä tietoja:
Taitava hyökkääjä voi luonnollisesti pyrkiä lamauttamaan kaikki palvelut, jotka lokitietoja lähettävät eteenpäin, mutta tämäkin vaatii hieman tiedustelutietoa taakseen. Tässä ajassa osaava puolustaja kykenee omiin vastatoimiinsa. Ja näin kilpajuoksu jatkuu.
Analyysityökaluja: Thor
Nextronin APT skanneri Thor on varsin vakuuttava työkalu, josta on tarjolla community edition Thor Lite.
Se toimii hyvin paikallistason analytiikkaan ja löytää myös jälkiä epäilyttävästä toiminnasta. Skannaus on perinpohjainen ja vie jonkinverran aikaa.
Loppusanat
Calderan (RED) ominaisuudet ovat hyvät ja varsin monipuoliset simuloimaan hyökkäystä testikoneelle. Parhaan hyödyn ohjelmasta saa kun testaa sen avulla systemaattisesti erilaisia tekniikoita ja harjoittelee niihin varautumista ja lokitusta testikoneella. Proxmoxissa voi ajaa rinnakkain konetta perusasetuksilla ja kovennetuilla asetuksilla, jolloin ero on selvä. Hyökkäyksen jälkeen voi tutkia forensiikkapuolella mitä jälkiä hyökkääjä jätti.
Suosittelen kokeilemaan ohjelmaa!
Seuraavalla kerralla kokeillaan mitä Calderan Blue-ominaisuuksista löytyy.
Välillä kaikki ei suju helposti ja se jos mikä on opettavaista. Syitä voi etsiä useista paikoista, vaikka ne yleensä löytyvät tuolin ja ruudun välistä. Tällä kertaa tutustumme allekirjoittaneen kipuiluun saada T-Potin logit Wazuhiin, selvästikin vajavaisella osaamisella. Tällä kertaa kyseessä ei ole varsinainen projekti, vaan muistiinpanoja mahdollisesti muille asian kanssa kipuileville.
Aikaisemmista kirjoituksista on tuttua T-Potin käyttö ja myös Wazuhin asennus.
Yritys 1: T-Potin logstash
T-potin github-ohjeista löytyykin valmista ohjetta malliksi. Joten eihän tässä varmastikaan kauaa mene!
Ei toivottoa nopeaa onnistumista, lokit eivät lähde liikkeelle.
Yritys 3: Toinen Filebeat
Filebeat on jonkin verran tuttu, joten kokeillaan josko sen saisi ei-dockerisoituna välittämään dataa? Tässä esimerkissä välitetään vain Cowrien data (ssh-honeypot).
Versio
Ensimmäisenä pitää luonnollisesti valita sama versio (oss) Filebeatista kuin mitä Wazuh käyttää. Arvaa menikö tämä oikein kerralla?
Huomio tässä kohdassa että Wazuhin asennuksessa portti on 443, eikä yleensä ELKissä oletuksena mainittu 5601.
Indexit
Tiedot voi lähettää joko samaan tai eri indeksiin. Mikäli haluaa pitää honeypotin tiedot erillään testejä varten, voi aivan hyvin käyttää oletuksena olevaa filebeat-indeksiä. Mikäli haluaa että Wazuh lukee T-Potin tietoja, voi indeksin asettaa samaksi, tässä “my-alerts”.
Tämä artikkeli on jatkoa BTB-Projektille: Kotilabran palvelut, jossa pystytimme Proxmox- virtualisoinnin Asus PN50 raudan päälle. Nyt jatkamme syventymällä Wazuhin käyttöön!
Tavoite: Ottaa Wazuh käyttöön kotiverkon valvontaan
Vaikeus: Helppo
Aika: Tunteja
Hinta: 0 €
Olethan tätä ennen jo asettanut varmuuskopioinnin päälle ja osaat ottaa yhteyden virtuaalikoneillesi joko SSH:lla tai konsolin yli.
Mikä on Wazuh?
Wazuh kuvailee itseään seuraavasti:
“Wazuh is a free, open source and enterprise-ready security monitoring solution for threat detection, integrity monitoring, incident response and compliance.”
Wazuh käyttää ELK-stackiä lokien vastaanottamiseen, käsittelyyn ja hälytysten tekemiseen, agenttien tai ulkoisten lokilähteiden syötteistä. Sitä voidaan pitää sekä SIEM / HIDS että EDR järjestelmänä, joten kotilabraan löytyy paljon kiinnostavaa kokeiltavaa.
Miksi siihen kannattaa siis tutustua?
Alla on erilaisia käyttötapauksia, joista näkee mitä kannattaisi omassa käytössä kokeilla:
Omakohtaisesta kokemuksesta voin sanoa että kovalevy tulee ennen ensimmäistä käynnistystä olla ide-muotoisena. Muutoin asennuksessa ei ollut mitään ihmeellistä. Alla näkyvät suhtellisen hyvän suorituskyvyn takaavat asetukset.
Kun kone on valmiina, käynnistyksen jälkeen se vastaa suoraan saamastaan ip-osoitteesta portista 443. Oletussalasana on admin / admin. Mikäli serverille on asiaa, on tunnus root / wazuh.
Pysyvämmässä käytössä nämä tulee vaihtaa, mutta nyt jouduttaisiin myös koskemaan Wazuhin / Elkin asetuksiin, joten jatkamme oletuksilla.
Agenttien käyttö
Agenttien avulla saadaan koneista dataa monipuolisesti ja puskuroidusti. Windows-puolella myös XP:t ovat tuettuja, joka avaa jatkoa varten kiinnostavia mahdollisuuksia 🙂
Wazuh -> Agents sivulta saa suoraan komentokehoitteen agenttien asentamiseksi.
Vaihtoehtoinen tapa on luoda ISO-tiedosto, jonka voi Proxmoxin kautta asettaa kohdekoneille saataville CD-aseman kautta. AnyToISo-ohjelmalla voi Wazuh-agentit sisältävästä hakemistosta tehdä ISO-tiedoston.
Käsin asentamalla ainoa tarvittava tieto on Wazuhin IP-osoite ja tämän jälkeen palvelun käynnistys. Asennetut agentit ottavat yhteyttä Wazuhiin ja muutaman minuutin työn jälkeen tiedonkeräys on jo käynnissä.
Syslog-lokien vastaanotto
Yleisesti käytössä oleva syslog-formaatti mahdollistaa reitittimien, NAS-purkkien ja muiden laitteiden lokien vastaanoton.
Aseta palveluun Wazuhin IP, portti 514 ja muodoksi UDP.
Lokitietojen tarkastelu
Wazuhin valikoiden alapuolelta löydät myös Kibanan omat valikot. Valitse sieltä Discovery, jossa näet lokifeedin ja voit tarkastaa että halutut lokit todellakin tulevat perille.
Voit varmistaa että lokit tulevat perille pudottamalla lokien hälytystasoa esim arvolle 1 tai generoimalla hälytyksiä:
Erittäin näppärä piirre on Wazuhin kyky tarkkailla asennuksia ja niiden todettuja haavoittuvuuksia. Aseta ensin päälle halutut käyttikset (Windows/Ubuntu/redHat jne):
(Kannattaa tosin ensin rauhassa tutustua järjestelmään ja rakentaa se tuotantokäyttöön ajatuksen kanssa. Ota varmuuskopiot ja snapshotit merkittävien muutosten jälkeen).
Omat hälytykset ja säännöt
On luultavaa että aivan haluttua hälytystä ei löydy, joten voit rakentaa sääntöjen avulla oman hälytyksen:
Wazuh tarjoaa nopeasti hyvin monipuolisen ratkaisun verkon laitteiden tapahtumien valvontaan. Tutustumalla ohjeisiin voit laajentaa sitä haluttuun suuntaan ja opettelemalla ELK-stackin toimintaa, voit myös rakentaa raportoinnin haluamaasi suuntaan.
Pikaisen käytön jälkeen huomasin että useasta komponentista koostuvassa järjestelmässä kannattaa olla tarkkana päivttämisen kanssa, tuki uusimmille komponenteille ei ilmesty hetkessä kaikkialle. Suosittelen rakentamaan pysyvään käyttöön erilliset ELK ja Wazuh ympäristöt.
Muutaman haastavamman ELK-konffauksen jälkeen piti turvautua Proxmoxin varmuuskopioiden palautukseen ja palata alkuruutuun, mutta tästä lisää seuraavassa artikkelissa jossa tutustutaan T-Potin ja Wazuhin yhteiselämään!
Tämä artikkeli on jatkoa BTB-Projektille: Oma kotilabra, jossa pystytimme Proxmox- virtualisoinnin Asus PN50 raudan päälle. Nyt jatkamme erilaisten palveluiden pystyttämisellä.
Tavoite: Pystyttää ensimmäiset palvelut Proxmoxin päälle
Vaikeus: Keskitaso
Aika: Riippuu palvelusta
Hinta: 0 €
Olethan tätä ennen jo tutustunut hieman Proxmoxin dokumentaatioon ja huolehtinyt että sinulla on määritettynä storage-asetukset sekä varmuuskopioinnille että ISO / templaattien säilytykseen!
Perusteita
Hierarkia
Huomaa että osa Proxmoxin asetuksista löytyy Datacenter tasolta ja osa noodi-tasolta. Noodi-tason alta löydät storage-asetukset ominaan.
Palvelut
Proxmox ajaa kahdenlaisia palveluita:
Virtuaalikoneita, jotka sisältävät varatut resurssit
LXC kontteja, joissa resurssit ovat jaettuja
Virtualisoinnin hyödyt tulevat esille molemmissa. PN50:n kuusi prosessoria ja muisti voidaan jakaa virtuaalikoneiden ja konttien käyttöön niiden todellisen tarpeen mukaan, sillä käyttämättä jäävä kapasiteetti on muiden koneiden ja konttien käytössä. Käyttötavoilla on kuitenkin vielä eroa tietoturvan suhteen, virtualisoidut koneet ovat eristettyjä kernelin suhteen, kun taas konteissa pitää ottaa huomioon ajetaanko kontteja “Unprivileged” moodissa (suositus), jolloin niitä ajetaan käyttäjäoikeuksin (ei-root) erillisessä nimiavaruudessa. Pääsääntönä siis internetiin näkyvät palvelut kannattaa ajaa omana virtuaalikoneenaan ja sisäverkon palvelut kontteina.
CPU: Host mode on suositeltava tehon ja yhteensopivuuden takia, mikäli et aio tehdä migraatioita. Oletuksena tarjotaan KVM-muotoista prosessoria.
Muisti: Linux tukee suoraan mukautuvaa muistia (ballooning) ja Windows lisäajurien kautta. Voit määrittää minimi- ja maksimimuistimäärän. Huomaa että mikäli ylä- ja alaraja muokkaantuvat yhtäaikaa, määritä ensin yläraja ja sitten klikkaa alarajaa ja editoi siihen haluamasi arvo.
Levy: Levy kannattaa asettaa käyttämään nopeinta varastoa, joka minun tapauksessani on paikallinen local-lvm. Mikäli erehdyksessä levy asentuu esim. Synologylle, voi sen migroida uuteen paikkaan Hardware -> move disk 🙂
Boot order: Kun koneesi on boot-loopissa, mene tarkastamaan Options kohdasta boot order ja katso että kiintolevylläsi on rasti ruudussa 🙂
LXC templaatit
Templaatteihin pääset GUI:n kautta käsiksi kun menet noodin asetuksissa siihen storageen, johon olet määrittänyt CT templaatit talletettavan. Klikkaa Templates.
Isäntäkoneen laitteiden käyttö
Esim GPU:n tehojen parempi hyväksikäyttö salasanojen murtamiseen onnistunee näillä ohjeilla:
Proxmoxin konsolista saat helposti ruutuyhteyden koneelle, mutta leikepöytä ja tiedostojen siirto eivät ole tuettuja no-VNC:llä. Vaihtoehtona on asettaa RDP-palvelu, ottaa yhteys SSH:lla/SFTP:lla, avata yhteinen levyjako esim turnkey-fileserver kontilla tai tehdä CD-asemalle hakemistoista levyjä AnytoISO ohjelmalla. Lisäksi SPICE-ohjelmistot ovat tuettuja, jos ne saa toimimaan.
Pi-Hole virtualisoituna
Luodaan ensimmäisenä Debian templaatin päälle Pi-Hole, jota voidaan käyttää oman kodin mainosten estoon. BlueTeamBuildersin lukijat ovat saattaneet jo aikaisemmin asentaa Pi-Holen Raspberry Pi:n päälle, mutta nyt voidaan helposti lisätä vikasietoisuutta virtualisoidun palvelun kautta.
Luo templaatin pohjalta kontti, aseta salasana / SSH julkinen avain hallintaa varten. Muistia riittää 1000 BiB ja prosessiksi 1 core. Aseta kiinteä IP tai pakota reitittimeltäsi sama IP. Aseta palvelu käynnistymään proxmoxin bootin yhteydessä.
Käynnistä kontti ja siirry siihen Consolen kautta.
Siirrä Teleporter toiminnon kautta vanhasta Pi-Holesta asetukset uuteen.
Voit tehdä asennuksesta templaatin jatkoa ajatellen. Tällöin tee templaatista klooni, joka näkyy nyt samalla IP-osoitteella kuin alkuperäinen (DHCP toimii tässä siis paremmin).
Ota snapshot kloonista palautumista ajatellen
Aseta reitittimessä DHCP-palvelussa myös uusi Pi-Hole kotilaitteidesi käyttöön
Kalin asennus
Tehdään Kalin asennus käyttäen virtuaalikonetta ja Live-CD:tä.
Lataa Kali Linux LiveCD https://www.kali.org/downloads/ ja aseta se saataville ISO-varastoosi. Minun tapauksessani Synologyyn.
Luo virtuaalikone mukautuvalla muistilla esim 2GiB – 8 GiB, neljällä host prosessorilla ja aseta CD-asema käyttämään Kali Live CD:tä.
Käynnistä kone ja avaa Console.
Asenna Linux. Voit myös halutessasi asettaa RDP:n päälle Windowsin käyttöä helpottamaan (leikepöydän kopiointi). Ohjeet: https://www.kali.org/docs/general-use/xfce-with-rdp/ (Minulla Legion lakkasi toimimasta, joten varaudu korjauksiin)
Aseta kerralla oikein levyn SATA /IDE yms asetus Proxmoxilla, jostain syystä esim Wazuh ei toiminut jos asetus oli kerran väärin. Näet asetuksen kun avaat OVA:n esim 7-zipillä ja katsot .ovf-tiedostoa esim Notepad ++:lla.
Proxmoxiin pääset joko noden Shellin kautta tai haluamallasi SSH/SFTP ohjelmalla (esim. Bitwise). Voit siirtää vmdk-levyn koneelle SFTP:llä.
Oma kotilabra tarkoittaa joukkoa laitteita, joiden parissa voi kokeilla uusia teknologioita, palveluita tai harjoitella uusia taitoja. Kotilabran laitteet voi eristää normaalista “tuotannosta” ja niiden poistuminen ei häiritse normaalia elämää. Tässä artikkelissa otetaan ensimmäiset askeleet kohden omaa kotilabraa ja myöhemmissä artikkeleissa seurataan mitä palveluita / palvelimia labraan on otettu käyttöön.
Tavoite: Pystyttää oma kotilabra virtualisoinnin avulla
Virtualisoinnilla tarkoitetaan käyttöjärjestelmätason erottamista rautatasosta, eli sen sijaan että Windows / *nix keskustelisi suoraan prosesorien ja muistin kanssa, keskustelee se virtualisointialustan kanssa. Virtualisointi kotilabrassa mahdollistaa seuraavia:
Resurssien tehokkaampi käyttö eri palveluiden tai palvelinten välillä
Nopeampi asentaminen, templaattien ja levykuvien kautta
Snapshottien ja konetasoisten varmuuskopioiden kautta
Muistin, prosessorien tai levytilan lisääminen tarpeen mukaan
Tarpeettomien palvelinten käynnistäminen ja sulkeminen riippumatta muista palveluista
Itselleni virtualisointi on ollut tuttua lähinnä VirtualBoxin ja Kali Linuxin kautta. Tekniikka toimii hyvin, mutta ongelmana on se ettei alusta ole ollut jatkuvaan käyttöön tarkoitettua, joten läppäriä ei ole voinut jättää päälle serverien käyttöön, käyttiksen uudelleenkäynnistykset ovat katkaisseet työt ja verkkopääsy on ollut pelkän wifin varassa. On siis aika hankkia rautaa, joka toimii nimenomaan kotilabran pohjana. Mutta mikä softa-alusta virtualisointiin?
Alusta
Pienen aiheeseen perehtymisen jälkeen karsintalistalleni päätyivät:
Tämän jälkeen ensimmäisenä karsiutui pois VirtualBox, koska halusin melko pelkistetyn ja suoraan raudan päälle asentuvan virtualisoinnin. Nutanix on varsin vakuuttava, mutta harrastajakäytössä siitä ei löytynyt tarpeeksi vinkkejä ja tukea. Lopullinen valinta tapahtui siis Proxmoxin ja ESXIn välillä. Mutta tämän jälkeen pitikin tehdä tarkastus millaista rautaa alustat tukevat.
Kirjallisuuskatsaus
Erittäin hyviä artikkeleita aiheeseen löytyi seuraavilta tahoilta:
Koska vanhaa laitteistoa ei ollut käytössä, päätin panostaa uuteen settiin ja valita joko Intelin Nucin tai AMD:n barebone-malliston välillä. Nyt pitikin ottaa jo huomioon virtualisointialustan tuki laitteistolle.
Lyhyesti yhteenvedettynä ESXI tukee hyvin Intelin verkkoajureita, mutta ei kovin helposti Realtekin ajureita. Realtekia puolestaan löytyy AMD:n PN50-sarjasta. Tällä hetkellä tehojen suhteen AMD Radeon-sarja menee ohi Intelin vastaavan hinnan tuotteista, joten se puoltaisi investoinnissa AMD PN50-ostosta. Lisäksi jos myöhemmin haluaisin vaihtaa ESXi:iin, voi Intelin piirisarjaa tukevalla USB-Ethernet mokkulalla saada myös ESXin toimintaan. Mutta halusin aloittaa Proxmoxilla, avoimen lähdekoodin ideologiaa tukien. Mikäli se ei toimisi hyvin, olisi ESXi seuraavana vuorossa.
Osien kokoonpanossa ei muuta ongelmaa ollut kuin että en muistia saanut työnnettyä aivan pohjaan, joten ensimmäinen käynnistys ei onnistunut. Tuttuun tapaan 90-luvulta, kone paloiksi ja huolellisesti uudelleenkokoamalla bootti onnistui. Tämän jälkeen proxmoxin ISO-USB kiinni ja käynnistys.
Seuraavana tein kahdelle StarTechin NICille Bridget, joten minulla on nyt yksi managament-käyttöön ja kaksi varattuna tuotantoon. Koko laite siirtyi kolmella verkkopiuhalla kiinni kytkimeen ja kirjahyllyyn piiloon.
Kotilabran pohja on siis valmiina!
Ideoita jatkoon
Sinisen teamin perusajatuksen mukaisesti voi vaikka kokeilla miten hälytykset generoituvat erilaisista hyökkäyksistä tai monitoroida käytössä olevia palveluita. Tai ehkä Pi-Hole pitäisi virtualisoida? Olisi kiva laittaa Paesslerin PRTG pois wifin päästä. Entä jos katsoisi mitä Infection Monkey löytää?
Päivitys 31.5.2021 Lisätty Noden asetusten kopiointi-skripti
Google Cloudissa on ilmainen kokeilujakso loppumassa ja on aika katsoa mitä jäi käteen 12.10.2020 alkaneesta T-Pot hunajapurkin testaamisesta.
Suorituskykyä on jouduttu lisäämään matkan varrella kahteen otteeseen, jotta palvelut pysyisivät saavutettavina. Viimeisin kokoonpano on 4 vCPUta ja 16 GB muistia.
Kokonaismäärät
Ainakin hyökkäysluvut ovat melkoisia ja palvelu joutuu hetken miettimään tietoja haettaessa:
7,678,203
Dionaea – Attacks
Suurta lukua selittää myös se, että Dionaea sisältää koko joukon suosittuja portteja.
4,565,247
Cowrie – Attacks
Cowrie sen sijaan on puhdas SSH- hunejapurkki. Tyypillisesti palvelinten hallintaan käytettynä se on erittäin herkullinen kohde kokeilla oletussalasanoja erilaisiin palveluihin. Portti kannattaa aina vaihtaa johonkin toiseen.
1,124,970
Heralding – Attacks
Heralding on vastuussa salasanojen ja käyttäjätunnusten kokoamisesta.
816,003
Honeytrap – Attacks
Verkkopalvelujen hunajapurkki.
Vielä muistutuksena nimien ja porttien vastaavuus:
Hunajapurkin perusajatuksen mukaisesti kaikki portit näkyvät ulospäin kaikille mahdollisille kysyjille.
Kotioloissa ensimmäinen asia on sallia vain ne portit ulospäin, joita tarvitaan , esim 80/443 webbisivujen julkaisuun ja VPN/Wireguard/Ipsec määritetyt portit palomuuriin.
Mutta kuka on kiinnostunut näistä palveluista?
Kun katsotaan tarpeeksi pitkältä ajalta, ei hyökkäysten alkuperän suhteen voi vetää mitään kovinkaan suuria johtopäätöksiä. Lisäksi VPN-palveluiden käyttäminen hämärtää maakohtaiset erot.
The Corporation for Financing & Promoting Technology
176,050
Mikäli on jo tiedossa että kaikki palveluiden käyttäjät tulevat tietystä maasta tai alueelta, voi maakohtaisilla rajauksilla (ja oletusporttien vaihtamisella toiseen) pienentää hyökkäyskuormaa. Vai olisiko jokin parempi tapa?
IP-mainelistat
Kun erilaiset hunajapurkit lähettävät tietojaan keskitettyihin palveluihin, muodostuu nopeasti tietokanta, jossa korostuvat haitalliset IP-osoitteet. Tämä tuli allekirjoittaneelle selväksi hieman vahingossa, kun testasin erään yrityksen IP:n kautta hyökkäystyökaluja tähän T-Potiin. Asennusvaiheessa olin merkinnyt että tiedot saa jakaa eteenpäin. Luonnollisesti pian yrityksen IP:stä oli merkitty tulevan hyökkäysliikennettä asiaa seuraavissa palveluissa. Onneksi heidän asiakaspalvelunsa poisti tiedot selvityksen jälkeen. Kannattaa siis muistaa tehdä testaukset eristettyihin ympäristöihin!
Kun katsotaan T-Potin listaa, tulee hyvin nopeasti selville että suurin osa hyökkäyksistä tulee jo tunnetuista huonoista lähteistä. Siispä tämä palvelu toimii oivana tietokantana jatkosuodatuksille tai mainehaittapalveluiden käyttö on myös tehokas tapa suodattaa liikennettä. Esim PfSensessä voi omaan palomuuriinsa tilata IP-suodatuslistoja keskitetysti ylläpidetyiltä tahoilta: https://nguvu.org/pfsense/pfSense-pfblockerng-configuration-guide/#Malicious%20IP%20Address%20Blocking
Mitä muuta tietoa olemme saaneet? Luonnollisesti kiinnostavaa on katsoa millä tunnuksilla on sisään koitettu päästä.
Suosituimmat käyttäjätunnukset ja salasanat
Suosituimmat käyttäjätunnukset (vaihda nämä):
root
373,271
test
21,016
admin
19,874
Admin
16,497
nproc
11,300
guest
9,689
sa
5,825
user
5,482
ubuntu
2,574
postgres
1,979
oracle
1,945
git
1,410
support
1,403
ftpuser
1,170
nagios
910
student
874
mysql
838
sh
798
enable
732
deploy
714
ja suosituimmat salasanat (älä käytä näitä):
admin
65,186
root
25,054
123456
20,342
password
17,920
Admin
16,299
test
16,051
nproc
11,297
guest
8,946
123
4,297
12345
3,300
1234
2,955
12345678
2,790
password123
2,023
1
1,836
1,746
qwerty
1,135
1qaz2wsx
1,025
123123
1,012
aqweasdfgfdgfdh
984
1q2w3e4r
976
Ja (huonoja) yhdistelmiä:
Älä siis koskaan salli näin helppojen yhdistelmien käyttöä palveluissa.
Ikävä kyllä oletusportit ja oletustunnukset eivät ole ainoa tapa, jolla hyökkääjät pääsevät sisälle. Tietomurtoja tehdään myös paikkaamattomien haavoittuvuuksien kautta.
Mitkä haavoittuvuudet ovat olleet hyökkääjien suosiossa?
Suricatan kautta saamme tietoon koitetut tekniikat:
cat /proc/cpuinfo | grep model | grep name | wc -l
11,618
which ls
11,618
ls -lh $(which ls)
11,617
uname -m
11,617
Miksi?
Syitä koittaa saada palvelu haltuunsa on lukuisia, aina roskapostittamisesta uusien hyökkäysten tekemiseen. T-Potin kautta saadaan kuitenkin myös tietoa katsomalla latauksia. Tietoturvasyistä en laita tarkemmin tietoa mistä erilaisia paketteja on koitettu ladata. Eräs kiinnostava tieto ovat ladattavien pakettien nimet: dota.tar.gz. Nämä viittaavat erilaisiin virtuaalivaluuttojen louhintaohjelmiin.
Hyökkääjien yksi motivaatio onkin tehdä rahaa valjastamalla palvelimet louhintaan. Näiden hyökkäysten määrä nousee aina virtuaalivaluuttojen kurssin noustessa ja ennakoi myös erilaisia selainhaitakkeita.
Loppusanat
Tämä projekti oli hieman pidempi, mutta tuotti paljon tietoa hyökkääjistä ja käytetyistä tekniikoista.
Kulut olivat:
Lokakuu: $ 31,80
Marraskuu:$ 108,34
Joulukuu: $139,53
Tammikuu $ 39,38
Yhteensä siis: $ 319,05, joka meni kokonaisuudessaan Google Cloudin Trialin ja erilaisten alennusten alle. Suosittelen kokeilemaan, samalla tuli opittua paljon palveluiden monitoroinnista ja hinnan muodostumisesta julkipilvessä.
Todettakoon että seuraavan Honeypotin toteuttaisin dedikoidulla raudalla ja hieman rajatumpana omaan verkkoon DMZ:lle, sisältäen Cowrien, Dionean ja muutaman muun palvelun.
Itselleni tietojen valuminen uhkakantoihin oli hieno osoitus siitä, miten hunajapurkkien verkostolla saadaan aikaan nopea suojaus mainetietokantojen kautta. Lisäksi tiedoilla voidaan visualisoida hyvin esim IT-alan opiskelijoille miksi päivittäminen ja tietoturva on keskeinen osa palveluntuotantoa ja kodin tietoturvaa. Usein hyökkäykset ovat abstrakteja ja niiden ajatellaan kohdentuvan vain “kiinnostaviin tahoihin”. Näin ei ole, vaan kaikki mikä on verkkoon kytkettynä ja näkyvillä, on myös hyökkäyksen kohteena automaattisesti.
Tässä vielä muistilista suojaukseen (* merkityt edistyneille):
*Vaihda oletusportit toisiin
Salli ulospäin vain tarpeelliset (*ja oletusarvoista muihin vaihdetut) portit palomuurissasi
*Suodata liikenne maarajauksilla / mainetietokantoja käyttäen
Vaihda oletuksena olevat *käyttäjätunnukset ja salasanat toisiin
Päivitä palvelut ja palomuurin / reitittimen ohjelmisto aina kun mahdollista
Edellisessä postauksessa BTB Projekti: T-Pot hunajapurkki laitoimme toimintaan T-Pot hunajapurkin ja ensimmäisten 15 min aikana saimme jo napattua talteen paljon dataa hyökkääjistä. Entäpä jos haluaisimme hieman rajatumpaa tietoa siitä, kuka ei ole jo valmiiksi tunnistettu pahantahtoinen IP?
Käytämme seuraavassa Cloudflaren palveluita rajoittamaan skannereita, online-palomuurin tavoin. Asetuksella tavoittelemme seuraavaa:
Teemme caliban.fi domainille alidomainin, johon tuleva liikenne (osa siitä) ohjataan Cloudflaren palveluiden kautta
Cloudflarella asetamme palvelun suodattamaan jo tunnettua haittaliikennetta (1. palomuuri)
Kerromme Google Cloudissa että T-Pot saa ottaa vastaan liikennettä vain Cloudflarelta (2. palomuuri), poislukien hallintapuoli johon voi ottaa yhteyttä vapaammin.
Julkaisemme aliodomainin tiedot, jotta hyökkääjät saavat sen tietoonsa ja voivat kokeilla honeypottia.
Meidän pitäisi nyt vähemmän tietoa, mutta se on hieman arvokkaampaa. Nyt tietoja voi käyttää osana hälytyksiä tai omaa suodatusta.
Cloudflare
Cloudflare tarjoaa harrastajille ilmaiseksi maksuttomia palveluita, mm dns-hallintaan ja sivuston suojaukseen. Heille tästä on etua, koska heidän varsinainen liiketoimintansa on CDN-palvelut.
Teemme aluksi Cloudflaren palveluissa alidomainin webstore.caliban.fi, joka ohjataan honeypotin Google Cloud IP-osoitteeseen, proxytettuna. Tämä tarkoittaa sitä että liikenne kiertää Cloudflaren kautta. Toinen vaihtoehto on pelkkä dns-ohjaus, joka on hyvä esim hallintapaneelin osoitteelle.
Huom! Cloudflare ei välitä eteenpäin kaikkia portteja, joten T-Potin mahdollisista porteista 1-64000, vain tietyt toimivat ilman edelleenohjauksia Google Cloudin puolella (https://cloud.google.com/compute/docs/protocol-forwarding).
Tässä tapauksessa emme tee porttien uudelleenohjauksia heti alkuun, koska olemme kiinnostuneita porteista 80 ja 443. Nämä osuvat Citrix Honeypotin ja Dionean porttiosoitteisiin. Alla näkyvät kaikki T-Potin käyttämät portit.
Cloudflaren puolella voidaan nyt asettaa rajoituksia koko domainin suojaukseen (Firewall->Rules). Oletuksena meillä on jo ollut päällä tietyn tunnistetun riskitason ylittävien IP-osoitteiden automaattinen blokkaus.
Lisäksi palvelussa on päällä automaattisia DDoS suojauksia (Firewall- Managed Rules). Näitä säätämällä voidaan saapuvaa liikennettä kuristaa tarpeen mukaan. Samalla nähdään mikä on sopiva taso, jossa normaalit käyttävät vielä pääsevät sisään.
Googlen puolella meillä on aikaisemmin sallittu kaikki liikenne kaikista porteista. Nyt rajoitetaan sitä vain portteihin 1-64000 koskien, sallien vain proxytetty Cloudflaren liikenne (VPC Network-> Firewall).
Lisäksi meidän tulee sallia T-Potin hallintaan portit 64295-64297. Nämä voi joko asettaa sallituksi omaan osoitteeseen tai kaikkialta. T-Potissa voi asettaa omalle tunnukselleen myös monivaiheisen tunnistautumisen, joka suojaa palvelua.
Huomaa että koska Cloudflare ei proxytettuna välitä näitä portteja eteenpäin, joudumme näille tekemään myös oman dns-ohjauksen ilman proxyä tai käyttämään IP-osoitetta hallintaan. Lisäksi pitää muistaa tällöin ettei näihin portteihin liikenne tule Cloudflaren kautta.
Jos olemme nyt onnistuneet, vastaa osoite https://webstore.caliban.fi hyökkääjille. Sivusto vaihtuu uudelleenkäynnistyksen yhteydessä.
T-Potin puolella puolestaan näkyy nyt paljon vähemmän tapahtumia, mutta nyt ne on suodatettu vastaamaan todellisempaa tilannetta. Koska kaikki liikenne tulee nyt Cloudflaren kautta, ei IP-tiedoilla ole arvoa, mutta käytetyt tekniikat ja kohteet on helpompi nähdä.
Cloudflare näyttää myös jonkinverran tietoa omista suodatuksistaan.
Loppusanat
Rajoittamalla honeypotin liikennettä saadaan hieman siivottua automaattisia skriptejä pois ja tarkennettua honeypotin fokusta. Koska T-Pot on helppo ja nopea asentaa, voi asennuksia tehdä useita ja ajaa samaan aikaan erilaisia konfiguraatioita erilaisia uhkia vastaan. Cloudflaren tapauksessa simuloidaan hyökkäyksiä harrastajan verkkosivustoa kohtaan. Tyypillisesti hyökkääjä näyttää olevan formeja väärinkäyttävä spammeri ja satunnainen oletuskirjautumisten kokeilija.
Eikö olisi kiinnostavaa katsella kuinka palveluihin koitetaan murtautua ja mitä haavoittuvuuksia milloinkin koitetaan käyttää hyväksi? Honeypottien, eli hunajapurkkien avulla tämä on mahdollista turvallisesti. Niiden sisältämät palvelut näyttävät oikeilta, mutta eivät päästä hyökkäjää eteenpäin ja antavat samalla puolustautujalle lisätietoa mistä osoitteista ja millä tekniikoilla palveluihin koitetaan päästä käsiksi.
Tavoite: Havainnoillistaa palveluihin kohdistuvat hyökkäykset ja antaa tietoa puolustautujalle
Vaikeus: Helppo
Aika: 30 min
Hinta: 0- 1 € / vrk (riippuen käytetäänkö pilviratkaisua vai omia laitteita)
T-Pot
T-Pot on itseasiassa kokoelma hunajapurkkeja, jotka simuloivat erilaisia yleisiä palveluita ja portteja. Kokoelma asentuu automaattisesti sisältäen kaikki datan ja lokien keräykseen ja visualisointiin tarvittavat palvelut. Lisäksi se lähettää telemetria-tietoa automaattisesti eteenpäin, tarjoten siten yleishyödyllistä tilannekuvaa tietoturvasta: https://sicherheitstacho.eu/ Lisäksi saadun tiedon voi ohjata omiin lokeihin tai palveluihin näin halutessaan. Projektina sen käyttöönotto on helppo ja palkitseva.
T-Potin voi asentaa joko pilveen tai omalle laitteelle. On huomattava että hunajapurkille pitää sallia kaikki liikenne kaikkiin portteihin, jotta sitä vastaan saataisiin maksimaalinen hyökkäyskiinnostus. Tällöin oman verkon DMZ on tarpeen.
Julkipilvestä tulee kustannuksia, mutta esim Googlen pilvi-palvelut tarjoavat tällä hetkellä 300 € kokeilurahaa. Siksi se oli luonteva valinta päästä heti käsiksi tietoon turvallisesti.
Asennus kestää noin puolisen tuntia ja Cyber-99 tarjoaa tähän hyvät ohjeet:
3. Laita health check hälyttämään koneen toiminnasta ja harkitse uptimerobot.com hälytystä myös
Tulokset
Sisäänkirjautumisen jälkeen Kibanan kautta saat pääsyn valmiiksi luotuihin visualisointeihin.
Jo viidentoista minuutin aikana näkee miten paljon hyökkäyksiä tehdään tätä julkista osoitetta vastaan.
Voit nähdä läpi erilaisten hunajapurkkien millaisia salasanoja palveluihin koitetaan. Luonnollisesti kannattaa varmistaa ettei näitä missään nimessä käytetä,
Vastaavasti myöskin tietyt käyttäjätunnukset kannattaa poistaa tai laittaa automaattisesti blokkaamaan kirjautujan IP-osoite.
Suricatan tunnisteiden kautta näkee mitkä tekniikat ovat tällä hetkellä hyökkääjien suosiossa.
Myös shell komennot tallennetaan automaattisesti.
Kaikkiaan voi todeta että saadut tiedot tukevat hyvin puolustautujan tiedonsaantia.
Kohdatut ongelmat
Kirjautuminen ei varsinaisesti toimi kuin asennuskuvauksessa, vaikka virtuaalikoneelle tekee oman tilin. Tästä huolimatta tietoihin kuitenkin pääsee käsiksi Kibanan kautta. Lisäksi ilmeisesti hyökkäysvoluumista johtuen saattaa kone kipata nurin, jos jokin innostuu kokeilemaan reippaammin bruteforcea. Tällöin virtuaalikoneen voi resetoida Google cloudin kautta ja muutaman minuutin päästä kaikki toimii taas normaalisti.
Loppusanat
Jo muutaman päivän pikakokeilulla T-Pot osoittaa tarjoavansa hyödyllistä tietoa. Muutamia kehitysajatuksia:
Rajoittaa pääsy hyökkääjälle vain tietyn kanavan kautta
Automaattisesti siirtää IP, salasana ja käyttäjänimitieto ajastetusti toiselle palvelimelle
Viimeisten vuosien aikana on käynyt entistä selvemmäksi että viestinnän tietosuojan varmistamista ei voi jättää suurten nettijättien vastuulle. Käyttäjä ja käyttäjän tiedot ovat kauppatavaraa, joilla maksetaan näennäisesti ilmaisten palvelujen kulut. Vaikka palvelua käyttöönottaessa olisi valmis antamaan viestintänsä skannattavaksi tälle yhdelle taholle, onko tilanne enää sama muutaman vuoden aktiivisen käytön ja tuntemattomien alihankkijoiden ilmestyttyä mukaan?
Tämänkertainen projektimme on hieman erilainen. Esittelen siinä palveluita ja tekniikoita, joilla pyritään varmistamaan viestinnän tietoturvan ja tietosuojan toteutuminen pitkäjänteisellä tavalla. Rakennusprojektina on siis kokonaisvaltainen viestinnän suojaus.
Tavoite: Turvata yksityisviestien tietosuoja ja turvallisuus kolmansilta osapuolilta
Vaikeus: Keskivaikea
Aika: Pitkä, vuosia
Hinta: 0-50 € / vuosi
Liikenteen suojaaminen
Aloitamme ensin nettiyhteyden suojaamisesta. Liikenteestä voidaan erotella muutama pääkomponentti:
DNS-kyselyt, joilla selvitetään mihin IP-osoitteeseen esim. mersu.fi liikenne tulisi ohjata
Varsinainen liikenne, esim nettisivujen selailu, sähköpostien lataus tai pikaviestit.
Liikenteen suojaaminen – DNS
DNS-kyselyissä kodin reititin ja mobiililaite tarjoavat yleensä oman palveluntarjoajan DNS-palvelimia. Suomessa ei ole *vielä* tullut esille tilannetta, jossa palveluntarjoaja myisi selailutietoasi mainostajille, mutta USA:ssa tämä on jo arkipäivää. Yhdessä sosiaalisen median profiiliesi kanssa selailuhistoriasi mahdollistaa hyvin kohdennetun mainonnan ja myös henkilöllisyytesi selvittämisen näennäisestä anonymiteetista huolimatta.
Voit vaihtaa dns-palvelimien osoitteet pois ISP:n palvelimista haluamallesi taholle tai hajauttaa niitä useampaan palveluun. Suosittelen vaihtamaan palvelimet suoraan reitittimeltä, jolloin ne tulevat kaikkien verkon laitteiden käyttöön. Mikäli olet jo ottanut Pi-Holen käyttöön, tarjoaa se sinulle verkkotason mainosten poistoa ja yhdessä PiVPN-softan kanssa, toimii myös mobiililaitteillesi.
Moni laite (Chromecast / Älytv:t) käyttävät kovakoodattuja dns-palvelimia, usein Googlen 8.8.8.8 tai 8.8.4.4 osoitteita, ohjaten dns-kyselyt suoraan Googlelle. Halutessasi voit asettaa palomuurillesi säännön, jossa portin 53 liikenne blokataan muilta kuin reitittimeltä ja Pi-Holelta ja portin liikenne ohjataan esim Pi-Holelle.
Vielä uutena mahdollisuutena ja uhkana on dns-over-https (DoH), jossa dns-kyselyt ohjataan normaalin liikenteen seassa salattuna sitä tukeville palvelimille. Oman liikenteen suojaamiseen tämä on tietyissä oloissa oivallinen keino, mutta oman kotiverkon suojaamiseen haittaohjelmilta luonnollisesti vaikeuttava tekijä.
Mikäli reititin sitä tukee, on DNS-over-TLS porttia (DoT) 853 käyttäen myös hyvä tapa suojata dns-kyselyiden yksityisyys.
Liikenteen suojaaminen – VPN
Vaikka nykyään lähes kaikki selaimen http-liikenne on salattua TLS-salauksella (https), on hyvä käytäntö suojata liikenne kokonaisvaltaisesti VPN-tunnelin kautta. Tämä takaa erityisesti mobiililiikenteen tietosuojan. Toki myös kotireitittimen liikenteen voi ohjata vaikkapa ProtonVPN:n Suomen palvelimien kautta, mikäli ei luota palveluntarjoajaansa tai haluaa piilottaa liikenteensä alkuperän.
VPN-yhteyden voi muodostaa myös vain halutuille softille (split tunneling).
Huom: Kannattaa välttää epämääräisiä VPN-palveluntarjoajia ja applikaatioita, jotka lupaavat olla lokittamatta ja suojata tietosuojasi ilmaiseksi. Luotettava VPN-palvelu on aina maksullinen.
Puheluiden suojaaminen
GSM-puheluiden tietoturva on pitkään ollut kyseenalainen ja valtiollisten toimijoiden tai valtioiden seuranta on arkipäivää. Koska artikkelimme uhkakuva on mainostajilta suojautuminen, puheluiden tietosuoja ei ole *vielä* keskiössä.
Esim Signalin kautta tehdyt puhelut ovat salattuja ja laadultaan yleensä hyviä. Rajoitteena on luonnollisesti Signalin hidas yleistyminen, mutta sen käyttäjiä alkaa jo löytyä, varsinkin tietoturvapuolelta.
Mobiililaitteiden kontaktien kerääminen on ollut suosittu tekniikka, jolla on kohdennettu mainontaa ja rakennettu profiileja seurantaa varten. Kannattaa harkita mitkä sovellukset todella tarvitsevat tietoa ja myös miettiä miten kontaktit synkronoi eri laitteiden välillä.
Esim oma NextCloud-palvelin ja DAVx5 synkronointi pitää tiedot omassa hallussasi, mutta saatavilla eri laitteiden välillä.
Sähköpostissa monella on tilanne, jossa aikoinaan on otettu käyttöön Yahoo, Hotmail, Outlook.com tai Gmail ja ajan myötä koko henkilökohtainen elämä on rakentunut tämän osoitteen varaan. Tämän riippuvuuden purkaminen viekin hieman aikaa.
Osoitteen uudelleenohjaus
Suurin ongelma on digitaalisen identiteetin rakentuminen yhden palveluntarjoajan emailin varaan. Vaikka useimmista palveluista voi ohjata emailit uuteen osoitteeseen, kiertäisivät ne kuitenkin turhaan alkuperäisen tarjoajan kautta. Ratkaisuna on käyttää osoitetta, joka ohjaa emailit aina kulloinkin käytössä olevalle palveluntarjoajalle.
oman domainin rekisteröimällä ja sen osoitetta käyttämällä saa täyden hallinnan sähköpostiinsa
mainostajille voi tarjota käyttöön kustomoidun emailin, esim AnonAddyn PGP-salatun palvelun kautta: anonaddy.com
Nyt seuraavien vuosien aikana vanha gmail-osoite tulee korvata jokaisessa mahdollisessa paikassa uudella osoitteella ja asettaa gmailista uudelleenohjaus uuteen osoitteeseen. Vanhasta osoitteesta tulevat mailit kannattaa merkitä tunnisteella ja aina käydä päivittämässä uusi osoite kun huomaa vanhaa emailia käytettävän. Muutaman vuoden kuluttua varsin pienellä työllä on käyttö siirtynyt uudelle palveluntarjoajalle.
Mutta mikä palvelutarjoaja kannattaa valita tilalle?
Uusi sähköposti
Valintakriteerina on yksityisyyden suojaaminen sekä vahva tietoturva. Seuraavassa erilaisia vaihtoehtoja:
Oman palvelun pyörittäminen, esim Synology NAS +oma domain. Vaatii eniten vaivaa ja tietoturvan ylläpitäminen sekä yhteyden varmistaminen on omassa vastuussa.
Ulkoistettu taho, esim kapsi.fi + NextCloud. Hieman vähemmän vaivaa, infra-puoli on hoidettu puolestasi.
Kaupallinen taho, esim Protonmail tai Tutanota. Vähiten vaivaa ja hyvä tietosuojan ja tietoturvan taso PGP-salauksella.
PGP-salattu viestintä
Protonmail tarjoaa muutaman suuren edun. Se rakentuu PGP-salauksen ympärille, jossa viestien sisältö salataan myös palveluntarjoajalta. Lisäksi viestit eivät lähde palvelusta muiden protonmail-käyttäjien välillä. Myös oman domainin käyttö on mahdollista, viestintä ilman salausta muiden palveluiden käyttäjien suuntaan tai “secure-mail” toiminnon käyttö.
Käyttäen Protonmailin bridge-ohjelmaa (maksullinen versio) voi vanhat viestit tuoda vanhalta palveluntarjoajalta ja käyttää Protonmailia vaikkapa Outlookin kanssa.
PGP-salauksen voi ulottaa myös Outlookiin, käyttäen esim työpaikalla Encryptomatic-lisäosaa. Tällöin vaikkapa kodin ja työpaikan väliset sähköpostit kulkevat sisällön osalta salattuina.
Huonoina puolina moni käytettävyyteen liittyvä seikka ei vastaa gmailin käyttäjäkokemusta, esim kalenterin osalta. Ilmaisversiota kokeilemalla pääsee kuitenkin pitkälle arvioinnissa.
Avainten jako
Yksi keskeinen seikka PGP-salauksen marginaaliseen käyttöön on ollut julkisen avaimen jakaminen ja sen vaikeus. Aikaisemmat yritykset käyttäjien avainten löytämiseen keskitettyjen avainpalvelinten kautta eivät ole olleet kovin helppoja. Nyt uutena tapana on WKD: https://wiki.gnupg.org/WKD
Ideana on joko itse tarjota dns-tietueiden kautta sähköpostin julkiset avaimet käyttöön tai käyttää sopivaa palveluntarjoajaa. Esim tämän blogin ylläpitäjän julkiset avaimet löytyvät joko WKD-palvelun kautta tai protonmailista suoraan.
Tällöin käyttäjän ei tarvitse huolehtia avainten etsimisestä ja hakemista, vaan softa tarkastaa automaattisesti löytyykö avainta ja salaa viestin automaattisesti. Tämä helpottaa PGP-salauksen yleistymistä ja automatisointia.
Kohdatut ongelmat
Signalissa käyttäjiä on varsin vähän, mutta kutsumalla aktiivisesti kontaktejaan mukaan, on moni vaihtanut oletus SMS-sovelluksensa Signaliin.
Protonmail ja lisäpalvelut ovat vielä kehitysvaiheessa. Esim kalenteri on vielä beta-testauksessa ja sillä ei voi lähettää kutsuja. Varsinainen posti on toiminut hyvin useita vuosia. Jotkut palvelut eivät hyväksy protonmail.com domainia, jolloin iki.fi tai oma domain tarvitaan.
Joissakin paikoissa vastauksen tuleminen iki.fi osoitteen sijaan pm.me osoitteesta aiheuttaa tietoturvahuolia. Tämän takia olen asentanut Thunderbirdiin iki.fi smtp:n käyttöön ja siihen myös s/mime sertifikaatin Traficomilta (Kansalaisvarmenne).
Maistraatille muuttokieltoa tehdessä Protonmailin oletuksena lähettämä julkinen avain tulkittiin liitetiedostoksi, joka ei avautunut kunnolla. Tämä ohitti koko allekirjoitusprosessin ja virkailija hyväksyi muuttokiellon pelkällä emaililla…
Onnistumisia
Gmailista siirtyminen Protonmailiin onnistui helposti, viestit tuli samalla siivottua tauhkasta ja nyt sähköpostit ovat luotettavammassa palvelussa.
Signalin desktop toimii hyvin pitkissä keskusteluissa.
PGP-salaus on nyt rutiinia ja päällä monessa palvelussa (Facebook, WordPress, Anonaddy jne)
Olen oppinut paljon dns-kyselyistä, salauksesta ja yksityisyydensuojasta konkreettisesti tekemällä ja kokeilemalla.
Loppusanat
“Miksi salata ja suojata omaa viestintäänsä? Eihän minulla ole mitään salattavaa!”
Tässä tapauksessa voit myös hyväksyä riskin, että tuntemattomat tahot analysoivat, lukevat ja mahdollisesti julkaisevat viestintääsi vuosien takaa, sinun voimatta vaikuttaa asiaan millään tapaa. Et välttämättä ole kenenkään kiinnostuksen kohde, mutta tietosi voivat vuotaa osana palvelumurtoja, ilkivaltaa tai mainostajien piittamatonta toiminta osapuolille joista et ole koskaan kuullutkaan.
“Ei kiinnosta, liian vaikeaa!”
Tietosuojan parantaminen vaatii aktiivista vaihtamista palveluihin, joissa et ole kauppatavaraa. Mitä useampi tekee tämän valinnan, sitä helpompi on myös muiden siirtyä tietosuojaa kunnioittaviin palveluihin. Mitä suurempi joukko käytettävyyttä ja helppoutta vaativia käyttäjiä palvelulla on, sitä nopeammin ne tulevat myös yleistymään.