Linux-palvelimet, harjoitus 5

Tehtävät tehty Tero Karvisen “Linux-Palvelimet”-kurssille.

a) Messuraportti. Kirjoita arvioiva kuvaus kolmesta tuotteesta tai esityksestä. Muista myös arvioida ja vertailla – ei pelkästään toistaa mainoslauseita. Käytä arvioidessa kaikkia aiempia, esimerkiksi töissä ja kursseilla oppimiasi tietoja.

Vierailin Cyber Security Nordic-messuilla ja tutustutuin muutamalla kojulla eri yritysten tuotteisiin. Mieleeni jäivät erityisesti F-Securen ja Ciscon tarjoamat tuotteet, jotka lähestyivät verkkojen monitorointia ja hyökkäysten torjuntaa eri kulmista, sekä Rugged Toolingin stressitestaustyökalut.

F-Secure oli messuilla esittelemässä F-Secure Rapid Detection Service-palveluaan. Palvelu keskittyy pitkälti työpaikkojen verkkojen ja päätteiden vahtimiseen. Koneille asennettava ohjelma valvoo tekemisiä, ja raportoi niistä ohjelmalle joka taasen näyttää ne käyttöliittymässä (se esimerkiksi kirjaa ylös, jos jollain työasemalla avataan Word-dokumentti jonka makrot ajavat Powershell-komentoja). Mutta se osa joka tästä palvelusta tekisi erityisen, tulee vasta tämän jälkeen – F-Secure lupaa, että asiantuntijat valvovat verkon tapahtumia 24/7, ja reagoivat välittömästi epätavallisiin tapahtumiin ja liikenteseen.

Nämä saattavat tietenkin olla vain markkinointimiesten ja -naisten tyhjiä lupauksia, mutta ainakin messuilla livenä pyörinyt seurantanäkymä näytti olevan todella perinpohjainen ja selkeä. Messupromon ja pienen demon perusteella on myöskin mahdoton päätellä, ovatko “asiantuntijat” asiantuntijoita vai lähempänä Elisan teknistä asiakaspalvelua. Eikä messuilla myyntipuheita kuunnellessa ja esitteitä lukiessa myöskään selviä, onko 30 minuutissa reagointi realistinen lupaus.

Cisco esitteli messuilla ostamansa yrityksen, OpenDNS:n, kehittämää Umbrella-järjestelmää. Kyseessä on yrityksen verkkoon ja päätteisiin asennettava palvelu, jonka mahdollistaa verkon tarkan valvonnan vaikkapa käyttäjäkohtaisesti, tai esimerkiksi pyyntöjen perusteella. Toisin kuin F-Securen järjestelmä, Umbrella nojaa täysin automaattiseen analysointiin ja datan esittämiseen ihmisten ymmärtämällä tavalla. Verkkoa ei seuraakkaan värikäs joukkio asiantuntijoita, vaan sitä seuraakin tietokone – tietokone, joka ryhmittelee verkon tapahtumat tavalla, joka aukeaa ei-asiantuntijoillekin. Ketä tahansa sihteeriä ei toki voi vain istuttaa kojelaudan eteen ja odottaa hänen ymmärtävän mitä ruudulla tapahtuu, mutta diagnostiikkaa ymmärtääkseen ei kuitenkaan pidä olla kovan luokan kyberammattilainen.

Sekä Ciscon että F-Securen ratkaisut puuttuvat yhteen suurimmista verkkojen vaaroista – käyttäjien typeryyteen. Jos käyttäjä käy epäilyttävillä siuilla, Umbrella huomaa tämän. Jos käyttäjä avaa epäilyttäviä Word-dokumentteja, F-Securen Rapid Detection Service reagoi tähän. Todellisesta laadusta, nopeudesta ja kattavuudesta on mahdoton tietää kokeilematta tai näkemättä tai oikeasti in action – molemmilla esillepanijoilla olisi ollut messuilla paikalla myös asiantuntijoita jotka olisivat voineet demota hyökkäystä, mutta F-Securen esittelijöiden sanoja lainatakseni “Kali-Linux -mies on lounaalla”

Messuilta löytyi myös pienempi, Rugged Tooling-niminen yritys, jonka erikoisalaa on verkkojen stressitestaus. He kertoivat messsuilla kahdesta tuotteesta, joista toinen emuloi realistista verkkorasitusta, ja toinen mahdollisimman suurta rasitusta – käytännössä sillä testataan, kuinka hyvin verkko kestäisi DDoS-hyökkäystä. Messuedustaja kertoikin meille tarinan siitä, kuinka laite toimii: Hän menee esimerkiksi toimistolle, kytkee laiteen kiinni verkkoon ja alkaa säätämään laitteen ulos puskemaa liikenteen määrää nuppia säätämällä. Verkko hidastuu hetki hetkeltä, ja lopulta suurimmassa osassa tapauksista myös kaatuu. Edustajan sanojen mukaan laitteen tuottaman datan määrä liikkuu gigoissa per sekunti ja miljoonissa samanaikaisissa sessioissa. Tämä saa lähes verkon kuin verkon polvilleen, ellei jopa kokonaan kaatumaan. Rugged Toolingilla on myös verkkoliikenteen valvontaan ja filtteröintiin liittyviä palveluja, mutta niistä emme messumiehen kanssa keskustelleet.

j5) (ryhmä 5-to) Kirjoita oma “hei maailma” Flaskin testipalvelimella.
f5) (ryhmä 5-to) Tee tuotantotyyppinen asennus Python Flaskista (Apache mod_wsgi).
g5) (ryhmä 5-to) Lue tietueita Postgre-tietokannasta Flaskilla.

Minulla oli jo valmiiksi palvelimelleni asennettuna Python 3, Flask ja Postgresql. Aloitin harjoituksen tekemisen kirjoittamalla Flaskilla pienen ohjelman, joka vastasin polkuun ‘/’ tehtyihin pyyntöihin yhdellä sanalla tietääkseni että ympäristö toimii. Tämän ajoin vielä alkuun testipalvelimella. Kun olin saanut tämän toimimaan, siirryin itselleni uuteen asiaan: Flaskin ajamiseen tuotantopalvelimella. Tämän kohdan tein seuraten tarkkaan Tero Karvisen ohjeita.

Testattuani sovellusta avaamalla sivun selaimella, siirryin itse asiaan. Etenin sovelluksen kirjoittamisessa tehden ensin siitä osat jotka ottavat yhteyden tietokantaan ja luovat taulun. Tämän jälkeen etenin tekemään sekä tietokanaan tallentavan että sieltä lataavan osan, ja näiden vaatimat templatet.

Tässä sovelluksen kansiorakenne ja itse koodi. Koetin kommentoida Python-koodin tavalla, joka kertoo selkeästi mitä kukin rivi tekee niin että myös ne joille kieli on vieraampi ymmärtävät mitä tapahtuu. Itse sovellus on löytyy (toistaiseksi) täältä.