Kohtuullisen kovaa pörräystä

Iso projekti aloitettu

Nyt ollaan jo perjantain puolella ja eletään aamuyötä. Pörräsin torstai-iltana jonkin verran eBayn puolella ja löysin kaipaamani, melko harvinaisen amerikkalaisen aikakauslehden vuodelta 1957. Kyseisessä lehdessä on erään tulevan projektini kannalta tärkeä artikkeli, jonka pituus kuvineen on peräti 15 sivua. Haluan kuitenkin pitää projektini teeman toistaiseksi vain pienen piirin tiedossa, eli en aio tässä kertoa sitä, tai edes tarkentaa minkä lehden ostin.

Luulin jo viikko sitten saavani lehden, sillä ostin sen hintaan 15€ joltain italialaiselta sivustolta, mutta seuraavana päivänä myyjä lähetti minulle sähköpostia, että hänellä ei olekaan lehteä. Vitutukseni oli melkoista, sillä kyseistä lehteä kaupattiin eBayn puolella muistaakseni älyttömään 400 USD lähtöhintaan! Luulin siis, että olin saanut harvinaisen lehden halpaan hintaan, mutta jouduin karvaasti pettymään.

Tänään kuitenkin lehti ja postitus tulivat kustantamaan 120 USD tai jotain sinnepäin. Eli paljon enemmän kuin lehti oli maksanut italialaisella sivulla, mutta silti merkittävästi vähemmän kuin mielipuolinen 400 USD lähtöhinta, jota en edes harkinnut hetkeäkään.

Sen verran voin tulevasta projektistani paljastaa, että olen nyt vaiheessa, jossa lähinnä haalin lähdemateriaalia. Olen polttanut arviolta lähes 2000€ lähdekirjallisuuteen, jota olen hankkinut pääasiassa eBaystä, mutta myös alibris.com verkkokaupasta. Tämä kaikki on kuitenkin sen arvoista. Projektini on todellakin vasta ihan alkutekijöissään ja sen voinen tässä sanoa, että kyse on isohkosta artikkelista. Kirjallisuutta on useita tuhansia sivuja ja aihepiiri on laaja. En ole vielä edes keksinyt artikkelilleni päätason otsikkoa, ja suoraan sanottuna yleisrakenne on muutenkin epäselvä.

Ajattelen tätä projektia välillä, välillä taas en, mutta pikkuhiljaa kaikki tulee hahmottumaan. Perinteisten kirjojen lisäksi aion toki hyödyntää myös nettimateriaalia ja jonkin verran linkkejä olenkin jo ottanut talteen. Olen myös kirjoittanut ylös tiettyjä pääpointteja tai asioita, joita arvioin käyttäväni artikkelissani. Artikkelin pituus on minulle täysi arvoitus sekin. Minun ei tarvitse ainakaan asettaa mitään ylärajaa sen koolle, sillä kyllähän webiin aina dataa sopii. Toisaalta en myöskään väkisin halua venyttää pituutta liiallisuuksiin vaikka haluankin käsitellä aihepiirin mieluummin liian kattavasti kuin liian suppeasti.

Silti on selvää, että aihepiiriä pitää jotenkin pystyä rajaamaan, jotta urakasta ei tulisi ylivoimainen. Realistisesti ajatellen uskon, että tämä projekti tulee viemään ennemminkin kuukausia kuin viikkoja. Lisäksi olen tehnyt itselleni selväksi, että en aio puskea eteenpäin yksinomaan tätä projektia, vaan teen sen rinnalla myös konkreettisia tietoteknisiä juttuja kuten ohjelmointia ja järjestelmäylläpitoa. Vaihtelua pitää kuitenkin olla jonkin verran, eli en halua uppoutua 100% voimalla yhteen ja samaan projektiin tällä kertaa, vaan yritän tilanteen mukaan kuunnella itseäni ja tehdä sitä projektia, joka kulloinkin tuntuu sopivimmalta.

Sähinää eBayssä

Wild Strings

Jokin aika sitten bongasin jostain Mahavishnu Orchestran bootleg-julkaisun nimeltä Wild Strings. Kyseessä on siis epävirallinen julkaisu ja se on käsittääkseni nauhoitettu Clevelandissä vuonna 1972. Olen kuunnellut kyseisen levyn YouTuben kautta ja äänenlaatu on erityisesti bootlegiksi varsin hyvä. Muistelen lukeneeni, että nauhoitus on tehty suoraan ns. soundboardista eli siksi siinä on kunnolliset soundit.

Tässä levy YouTuben kautta:

Mahavishnu John McLaughlin tuntuu olevan todella liekeissä heti alkuun. Wild Strings CD-levy lähtee jyräämään pelottavan kuuloisella versiolla biisistä Meeting Of The Spirits The Inner Mounting Flame levyltä. Ei kestä kauankaan kun McLaughlin alkaa tykittämään hyvin armotonta, dissonanttia soololinjaa - tämä levy on todellakin uskomaton! Hulluhan tuo mies selvästi on, mutta hyvällä tavalla eikä tunnu häpeävän outoja sävelvalintojaan ollenkaan. Ihailtava asenne kaikinpuolin, ei voi muuta sanoa.

Etsin tätä bootleggiä eBaystä heti kun olin kuunnellut sen, mutta silloin sitä ei löytynyt ollenkaan. Tuo oli ehkä noin kuukausi tai pari taaksepäin. Tänään CD-levy kuitenkin osui "mahavishnu" hakusanalla silmiini ja ostin sen heti. Hinta taisi olla noin 25 USD ja ehkä 15 USD postikuluja päälle.

Boulder Dash PC-koneille

Tein myös eBayssä haun "boulder dash" ja törmäsin PC-lerppuversioon Boulder Dash-pelistä. Tiukka periaatteeni on ollut se, että kerään vain ja ainoastaan 8-bittisiä julkaisuita tästä pelistä, mutta nyt lyhyen harkinnan jälkeen tein poikkeuksen. Koska lerppu maksoi vain noin 40€ ja se tulee Saksasta ilman tullimaksuja melko pienillä postituskuluilla, niin ajattelin, että ostetaan nyt se pois kuljeksimasta vaikka se ei olekaan kasibittisille koneille tehty. On se kuitenkin kai vuodelta 1986 ja siinä mielessä jotenkin sopivakin Boulder Dash kokoelmaani.

En silti aio ottaa tavaksi tätä linjastani lipsumista. Siitä ei tule mitään jos periaatteet ovat liian laveita, koska silloin keräilyllä ei ole selkeää suuntaa ja kohdejoukko paisuu äkkiä liiallisen suureksi. Jo tämä poikkeus periaatteeseen tuotti jonkin verran ahdistusta, mutta ajattelin lopulta, että ehkä linjan ei tarvitse olla niin ehdoton sittenkään. Oloni on silti vähän ristiriitainen tuon päätöksen suhteen ja olen vieläkin aavistuksen epävarma siitä oliko tämä hyvä ratkaisu.

Vanha sanonta tietysti kuuluu: "Poikkeus vahvistaa säännön", mutta sanonnan sisältö tuntuu aika järjettömältä. Ei siinä vaikuttaisi olevan kunnollista logiikkaa takana, vaan kyseessä on ennemminkin kummallinen sanahelinä. Joka tapauksessa tehty mikä tehty, eli peli on nyt ostettu enkä sitä todellakaan aio palauttaa tai myydä poiskaan.

Kerberos - The Definitive Guide

Olen myös aloittanut sivustoni migraation kokonaan uudelle hostaajalle. Ostin noin pari viikkoa sitten käyttööni oman, dedikoidun virtuaalikoneen, joka pyörii Xen-hypervisorin alaisuudessa. Käyttöjärjestelmänä on Red Hat Enterprise Linux 7, jonka päivitin äskettäin uusimpaan julkaisuun 7.6.

Ajan koneessa mm. sähköpostipalveluita (Sendmail, Cyrus IMAP, OpenDKIM), webiä (Apache), relaatiotietokantoja (PostgreSQL, SQLite), LDAP-hakemistopalvelua (OpenLDAP) ja tietenkin Secure Shelliä (SSH).

En nyt muista onko virtuaalikoneessani noiden lisäksi jotain muutakin oleellista, mutta eilen tai toissapäivänä mieleeni tuli ajatus, että miksi en laittaisi sinne myös MIT Kerberos-palvelua. Kerberos siis tarjoaa eräänlaisen autentikointitiketin avulla Single sign-on mahdollisuuden käyttäjille.

Linuxissa esimerkiksi palvelinohjelmistot ja asiakasohjelmistot saattavat tukea GSSAPI-ohjelmointirajapintaa. Se abstrahoi alla olevan autentikointitototeuksen geneerisiksi, läpinäkymättömiksi tokeneiksi, joiden avulla asiakas ja palvelin voivat autentikoitua ja mahdollisesti myös muodostaa security layerin välilleen. Kerberos-toteuksia on useampia erilaisia ja ne eivät ole yhteensopivia, mutta GSSAPI:n kautta siitäkin ongelmasta voidaan päästä eroon.

GSSAPI ei kuitenkaan ole sidottu vain Kerberokseen, vaan tosiaankin alla oleva autentikointimekanismi voinee olla oikeastaan mitä tahansa kunhan se toteuttaa ylemmille kerroksille näkyvän GSSAPI:n spesifikaation mukaisesti.

GSSAPI ei ole yksinkertainen ja sama pätee Kerberokseen. En vielä hahmota noita kunnolla, mutta tilanne korjaantunee ajan myötä. Pitää myös konkreettisesti tutkia jotain ohjelmaa, joka käyttää GSSAPI:a, sillä pelkän RFC-dokumentin pänttääminen tuntui liian raskaalta puuhalta vähän aikaa sitten kun tein pikavilkaisun. Siihen pitää perehtyä ajan kanssa tai muuten homma ei tule onnistumaan.

OpenLDAP ja Kerberos toimivat hyvin yhteen, eli minun pitää lisätä OpenLDAP:in tietoon Kerberos-skeema ja tehdä paljon muutakin säätöä noiden suhteen, jotta tulos olisi toivomani autentikointi- ja auktorisointijärjestelmä. Kerberos siis tarjoaa ainoastaan autentikoinnin.

Tämän pitkän jaarittelun ja pohjustuksen jälkeen päädymme viimeinkin alaotsikon aiheeseen. Ostin siis eBaystä O'Reillyn teknisen ohjekirjan Kerberos - The Definitive Guide ja toivon, että se selkeyttäisi minulle noita Kerberos-asioita vielä lisää. Olen kyllä jo päntännyt joitakin dokumentteja netistä, mutta kaaviokuvistakin huolimatta toimintaperiaate Kerberoksen takana ei ole minulle totaalisen selvä jokaisen yksityiskohdan osalta. Iso kokonaiskuva sen sijaan alkaa jo tuntua kohtuullisen ymmärrettävältä.

Olen siitä lähes 100% varma, että saan kyllä Kerberoksen ja OpenLDAP:in avulla kertakirjautumisen toimimaan, mutta en ole tyytyväinen vielä siihen. Ohjeita apinoimalla tuo onnistuu taatusti moneltakin, mutta tarkoitukseni on myöskin ymmärtää mahdollisimman perinpohjaisesti miten tämä systeemi toimii.

Palveluista aion varmuudella laittaa Sendmailin ja Cyrus IMAPin tukemaan GSSAPI:n kautta Kerberosta. SSH-palvelusta en ole ihan varma. Minusta tuntuu, että siihen kyllä riittää se tilanne mikä nytkin on. Eli olen estänyt salasanalla tehdyt SSH-autentikoinnit kokonaan, rajannut pääsyn vain yhteen käyttäjään ja autentikointiin kelpaa vain RSA-avain. Jos laittaisin SSH:nkin Kerberoksen taakse, niin joku OpenLDAP- tai Kerberos-sotku voisi estää kirjautumiset virtuaalikoneeseen SSH:n kautta, ja sitä en halua.

Huomasin muuten myös, että sudo-ohjelmankin saisi käyttämään OpenLDAP:ia, mutta sitäkään ominaisuutta en aio kytkeä päälle. On parempi, että sudo käyttää paikallista, tiedostojärjestelmässä olevaa konfiguraatiotiedostoa kuin että se olisi sidoksissa OpenLDAP:in toimintaan. Perusteeni siis on sama kuin SSH:n tapauksessa, eli haluan niiden olevan mahdollisimman vähän riippuvaisia muiden palvelujen toiminnasta. Haluan päästä luotettavasti sisään SSH:lla ja kun olen sisällä, haluan päästä root käyttäjäksi ilman pelkoa siitä, että se ei onnistukaan.

En ole varma miten pääsen virtuaalikoneeni konsolille, mutta kaipa se mahdollista on, ja sitä kautta tietysti pääsee hoitamaan asioita jos mikään muu ei auta.

PC-8800 emulaatio

Noiden ostosten jälkeen aloin tutkia saisiko xm8 emulaattorin käännettyä, toimimaan ja paketoitua Fedora Linuxissa. Sen verran etenin, että xm8 binääri kääntyi kun olin tylysti löyhentänyt g++ C++ kääntäjän varoitustasoa salliakseni emulaattorin sisältämän heikkolaatuisen koodin menevän läpi kääntäjästä. Eihän sellainen "korjaus" hienoa ole, mutta en jaksanut alkaa käymään läpi jokaista valitusta. Yhden virheen taisin korjata, ja luulen, että korjaus oli oikea, mutta muuten vain tosiaan laiskasti pienensin varoituksien joukkoa.

Sen jälkeen tuhlasin yli kaksi tuntia etsien netistä system ROM:meja PC8800-sarjan koneille, mutta täysin tuloksetta. Voi vittu! Netti on täynnä paskoja, typeriä, mainosten täyttämiä sivustoja, joista ei tule kuin vihaiseksi. Kaikenlaiset pellet ja sekopäät yrittävät rahastaa retroilusta innostuneita nettisurffaajia houkuttelemalla heitä sivuilleen mainostulojen takia.

Heidän säälittävät sivustonsa tosiaan saattavat sisältääkin ROM-imageita, mutta joukossa on järkyttävä määrä kaikenlaista ällöttävää roskaa ja käyttökokemus on ihan hirvittävä. Ei noilla idiooteilla ole oikeasti halua palvella ihmisiä, vaan he yrittävät vain hyötyä toisten harrastuksista ja mielenkiinnon kohteista. Voiko moista toimintaa puolustella tai jopa arvostaa? Tuskinpa vain. Se on ihan täyttä paskaa koko touhu.

Kysyin apuja system ROM:mien löytämiseen, mutta en ole varma miten tässä käy.


LISÄYS YLLÄ OLEVAAN BLOGIKIRJOITUKSEEN 2018-11-09: Unohtuihan minulta tietysti jotain. Eli virtuaalikoneessani on myös git repository-palvelu, jota lähestytään Apachen kautta https-yhteyden yli. Virittelin Apachen konfiguraatioon virtuaalihostin git.kolttonen.fi, joka nyt on testikäytössä. Laitoin samaan konfiguraatioon myös autentikoinnin ja auktorisoinnin OpenLDAP:ista.

Toisin sanoen, loin LDAP-hakemistoon erillisen haaran koskien git repositoryja ja lukijoiden joukkoon kuuluvat käyttäjät saavat vain lukea repoa ja kirjoittajat saavat vain kirjoittaa. Yhdistetty luku- ja kirjoitusoikeus vaatii tässä keksimässäni mallissa kuulumisen sekä lukijoiden että kirjoittajien ryhmään. Access Control on repositoryn tarkkuudella eli mitään geneeristä luku- tai kirjoitusoikeutta kaikkiin repoihin ei ole.