Arkisto aiheelle ‘Sekalaista’

Konesali muutettu

lauantaina 30. marraskuuta 2019

Muutoksen jälkeen asiat ovat toisella tavalla. Tässä tapauksessa myös paremmalla mallilla; vanhaa kalustoa on vaihdettu uuteen, kuten kalustosivulta on nähtävissä. Enemmän ja vähemmän anonyymit yhdistyksen säätäjä-ässät polttivat aikaa vaivojaan säästämättä; sivusta katsoen on ihmetyttänyt miten määrätietoisesti ja sujuvasti muutto tapahtui, ja miten vähän ongelmia muutosta seurasi.

Ylläpitoporukka muuttaa tätä kirjoitettaessa viikonloppunsa tunteja taustajärjestelmien remontiksi. Työn alla on Matrix-viestintätyökalun käyttöönotto, Jabberin poisto, uuden webbipalvelun taustajärjestelmien nosto tuotantokelpoiselle tasolle. Merkittävä osa asioista on käyttäjätasolla suoraan näkymättömiä, valvonnan kehittäminen kohentaa käyttäjäkokemusta häiriötilanteiden ehkäisyn sekä nopeamman toipumisen kautta.

Kuten aina tapahtumissa, keskustellaan myös siitä miten asioita voisi tehdä paremmin niin teknisellä kuin yhdistyksen tasolla. Mikäli mieleesi tulee jotain mitä haluaisit nähdä Kapsin tekevän, älä toki pidä kynttilää vakan alla, vaan kerro ajatuksistasi.

Vaalikokous 2019 pidetty

lauantaina 5. lokakuuta 2019

Kapsi Internet-käyttäjät ry:n vuosikokous on pidetty menestyksekkäästi jälleen kerran. Kiitos osallistuneille.

Yhdistyksen kuulumisia / Elokuu 2019

tiistaina 20. elokuuta 2019

Heinäkuun lämmin viikko on ohi ja muutoin kylmänkalsea kesä kääntyy pikkuhiljaa lopuilleen. Elämä palailee tavallisiin uomiinsa ja yhdistysrutiinit jatkavat arkista kulkuaan.

Jäseniltä tulleiden pyyntöjen pohjalta selvitimme taas E-laskujen käyttömahdollisuuksia jäsenlaskutuksessa. Valitettavasti tilanne näyttää edelleen sille, ettemme voi modernisoida laskutusta ainakaan tällä tavalla. Järjestelyn kustannukset sekä käyttöönoton osalta että laskua kohden ovat yksiselitteisesti liian korkeat. E-lasku tuo mukanaan myös laskun siirtymisen perintään mikäli suoritusta ei näy eräpäivään mennessä, mikä tuntuu suhteettoman tylylle tavalle periä harrasteyhdistyksen jäsenmaksua.

Vuosia tekeillä ollut toimitilan hankinta on saatu kuluvana vuonna maaliin, eli yhdistys on siirtynyt tilavuokran maksusta vastikkeen maksuun. Toimitilan hankinta on ollut vireillä vuoden 2013 vuosikokouksesta lähtien, jolloin periaatepäätös hankinnasta tehtiin. Toimitila toimii nykyisen käyttönsä lisäksi jatkossa, tarpeen niin vaatiessa, reaalivakuutena mikäli rahoitusjärjestelyitä tarvitaan. Tila on ikäänsä nähden kohtuullisen hyväkuntoinen kerrostalo-osake. Tilaa tullaan muun remontoinnin yhteydessä muuttamaan helpommin yhdistyskäyttöön mukautuvaksi muunneltavaksi tilaksi.

Konesalimuutto lähestyy aikataulun kiristyttyä. Nykyisen palveluntarjoajan konesalituotteessa tapahtuu muutoksia, joiden myötä sali tulee vaihtumaan. Palvelun muutoksiin sekä tarjolla oleviin vaihtoehtoihin tutustuminen on vielä tässä vaiheessa kesken. Muuton yhteydessä tapahtunee kalustomuutoksia luonnollisen poistuman sekä uuden kaluston käyttöönoton myötä. Muutto suunnitellaan siten, että jäsenresurssien käyttö häiriintyy mahdollisimman vähän. Odotettavissa on kuitenkin melkoisen iso rypistys.

Katkokset, haavoittuvuudet ja somehiljaisuus

tiistaina 30. tammikuuta 2018

Heti alkuun pahoittelemme syvää hiljaisuutta blogirintamalla ja kaikkialla sosiaalisessa mediassa. Kapsin viestinnässä on ollut viime vuoden aikana hiljaista väenpuutteen ja/tai henkilökohtaisten kiireitten takia. Viestinnän ja tiedotuksen väheneminen tai olemattomuus ei tietenkään ole hyväksyttävää ja pyrimme parantamaan tiedotusta muun muassa automatisoimalla vikatilanteiden viestintää, jotta vikatiedotteet saataisiin ulos heti vian ilmettyä. 

Viime aikaiset katkokset ovat johtuneet lakan käyttöjärjestelmäytimen ongelmista, joita korjattiin uudelleen käynnistämisen yhteydessä vaihtamalla käyttöjärjestelmän ydin uudempaan. 

Ylläpito on myös huomioinut Meltdown ja Spectre haavoittuvuudet, jotka ovat vaikuttaneet niin Kapsin, kuin miljoonien muiden palvelinten toimintaan. Kyseisiltä haavoittuvuuksilta on suojauduttu asianmukaisesti, eikä niiden osalta ole siis syytä huoleen. Kapsin laitteita joudutaan kuitenkin käynnistelemään uudelleen näihin haavoittuvuuksiin liittyen, mutta näistä katkoksista pyritään ilmoittamaan aikasempaa paremmin.

 

 

Kapsin vaalikokous 2016

keskiviikkona 26. lokakuuta 2016

Kapsi Internet-käyttäjät ry:n vaalikokous järjestettiin 15.10.2016 Oulussa, Ruskon Tropiikissa. Kokouksessa hyväksyttiin esitetty sääntömuutosehdotus, jonka muutoksina ovat alle 21-vuotiaiden edullisempi juniorijäsenyys, joka sisältää samat oikeudet kuin varsinainen jäsenyys, sekä sallittiin etäosallistuminen hallituksen kokouksiin ja mahdollistettiin tulevaisuudessa yhdistyksen jäsenten osallistuminen etänä yhdistyksen kokouksiin etäosallistumisratkaisun avulla.
Hallituksen puheenjohtajan kausi pidennettiin yhdestä vuodesta kahteen sekä valittiin ensimmäistä kertaa kaksi varajäsentä korvaamaan tarvittaessa varsinaisia jäseniä. Yhdistyksen nimenkirjoitusoikeutta muutettiin siten, että lisättiin taloudenhoitaja nimenkirjoitusoikeuden haltijaksi ja lisäksi kuka tahansa hallituksen varsinaisista jäsenistä voi kirjoittaa yhdistyksen nimen yhdessä puheenjohtajan, varapuheenjohtajan, taloudenhoitajan tai sihteerin kanssa.

Yhdistyksen voi jatkossa kutsua ylimääräiseen kokoukseen entisen kymmenesosan (1/10) sijaan vähintään kahdeskymmenesosa (1/20) tai 100 äänioikeutettua jäsentä. Sääntöihin lisättiin myös mahdollisuus ohjata yhdistyksen toimintaa hallituksen hyväksymillä ohjesäännöillä.

Uudet säännöt löydät kokonaisuudessaan kotisivuiltamme, osoitteesta www.kapsi.fi/yhdistys/saannot.html

Yhdistyksen uuden hallituksen puheenjohtajaksi valittiin Tuomas Haarala ja hallituksen varsinaisiksi jäseniksi Jessica Mennander, Markus Kannisto ja Jante Jomppanen sekä varajäseniksi Jarkko Räsänen ja Henri Strand. Heidän lisäksi uudella hallituskaudella jatkavat edellisestä hallituksesta Mikko Rytilahti, Jarkko Vääräniemi ja Veli-Matti Leppänen.

Kokouksen pöytäkirjan, toimintasuunnitelman, sekä talousarvion löydät osoitteesta https://www.kapsi.fi/poytakirjat/vaalikokous2016.html

kapsi-vaalikokous-15-10-2016-07554

Kuva, Mikael ”Elderx” Peltomaa

Uuden jäsenen fiiliksiä tapahtumasta

Vaalikokous ja sitä seurannut illanvietto järjestettiin Ruskon Tropiikissa, Oulussa. Kokouspaikka oli miellyttävä ja kaikille osanottajille riitti tilaa. Tapahtumassa oli hyvä yhteishenki, ja uudet jäsenet toivotettiin lämpimästi tervetulleiksi. Kepeämielinen puheensorina täytti neuvotteluhuoneen ennen kokousta.

Kokouksen alkaessa kaikki hiljentyivät kuuntelemaan kokouksen puheenjohtajaa. Juniorijäsenyyden mahdollistaminen ilahdutti kokouksen osanottajia koska nuorien mukanaolo on tärkeää yhdistyksen tulevaisuuden kannalta. Kokouksessa keskusteltiin rakentavasti ja kaikki huomioonottaen, joihinkin kokouksessa käsiteltyihin asioihin löydettiin keskustelun tuloksena parempia ratkaisuja. Kehittävän keskustelun ja hyvän yhteistyön siivittämänä kokous saatiin päätökseen hyvissä ajoin.

Kokouksen jälkeen nautittiin kahvia sekä purtavaa ja lisäksi kokoustajille oli varattu sauna, jonne väki alkoi siirtyä kun kahvikupit oli saatu tyhjäksi. Loppuilta kului joutuisasti jutellessa ja suunnitellessa tulevaa, eikä haitannut että kaikki kasvot eivät vielä kovin tuttuja olleetkaan sillä keskusteluun otettiin avosylin mukaan.

Kaikenkaikkiaan kokouksesta jäi positiivinen mieli ja odotamme innolla tulevaa vuotta 2017. Illan päätteeksi keräsimme tavaramme kokoon ja lähdimme kohti höyhensaaria.

 

Kirjoittajina

Jessica ”Mihashi” Mennander

Jarkko ”Modu” Räsänen

Kapsin web-palvelinuudistus

keskiviikkona 20. heinäkuuta 2016

Kapsin web-palvelinten historia

Kapsilla oli aikaisemmin muutaman palvelingeneraation ajan dedikoidut web-palvelimet Kirsikka ja Karviainen. Vuosien 2012 ja 2013 aikana tehtiin päätös systemaattisesti ruveta siirtämään Kapsin infrastruktuuria fyysisestä ympäristöstä vahvasti virtualisoituun ympäristöön. Ensimmäisessä vaiheessa vanhat web-palvelimet migratoitiin sellaisenaan ja palvelimiin lyötiin lähinnä lisää muistia, joka ratkaisi sen hetkiset tarpeet. Tämä ratkaisu noudatti lähinnä perinteistä ”rautaa rajalle” -ratkaisua.

Virtualisoidun infrastruktuurin hyödyntäminen 

Vuoden 2014 aikana aloitettiin kehittämään  web-palvelimen arkkitehtuuria vastaamaan tulevaisuuden tarpeita ja hyödyntämään virtualisoidun infrastruktuurin arkkitehtuuria täysimääräisesti. Nopeasti tultiin havaintoon, että edusta- ja taustapalvelimet halutaan eriyttää toisistaan ja nämä halutaan rakentaa arkkitehtuurillisesti siten, että ovat skaalattavissa tarpeen mukaan.

Seuraavat asiat on tehty 

Kaikkien nettisivujen nimipalvelut, jotka on osoitettu Kapsin nimipalvelimille, on siirretty osoittamaan uusia frontend-web-palvelimia. Nämä ohjaavat toistaiseksi vanhoille taustapalvelimille Kirsikalle ja Karviaiselle. Sivustot (”sites”) on kopioitu uudelle levyjärjestelmälle ja sivustohakemisto on korvattu symbolisella linkillä uuteen levyalueeseen. Vanhat ”sites”-hakemistot on siirretty nimelle sites.old ja nämä tullaan poistamaan ylläpidon toimesta lähiaikoina. Halutessasi voit poistaa ”sites.old”-hakemiston myös itse. Ylläpito luo kaikki uudet vhostit oletuksena uusille taustapalvelimille.

Käyttäjille näkyvät muutokset 

Sivustot on omassa tiedostojärjestelmässään ja käytetyn ratkaisun vuoksi quota-komento ei toimi oikein. Itse quota on siitä huolimatta voimassa, kuten aikaisemminkin. Edusta- ja taustapalvelut on eriytetty omille virtuaalikoneilleen, joka mahdollistaa jatkossa koneiden ohjelmistopäivitykset helpommin.

Koti.kapsi.fi/~käyttäjätunnus-osoitteet tulevat jatkossa häviämään kokonaan ja ne korvataan käyttäjätunnus.kapsi.fi-osoitteilla. Mikäli haluat käyttäjätunnus.kapsi.fi-osoitteen, ole yhteydessä ylläpitoon.

Uusien taustojen käyttöönoton yhteydessä ”secure-www”-hakemisto poistuu käytöstä kokonaan. Sekä salattu, että salaamaton sivusto palvellaan ”www”-hakemistosta. Mikäli haluat uudelleenohjauksen HTTP → HTTPS, niin sen voi toteuttaa .htaccess-tiedostolla näin:

RewriteEngine On
RewriteCond %{ENV:HTTPS} !on
RewriteRule (.*) https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

Uusilta taustapalvelimilta ei ole oletusarvoisesti mahdollista käyttää Siilon levytilaa. Tämä on estetty, jotta mahdolliset tietoturvapoikkeukset käyttäjän web-hakemistoissa eivät paljastaisi varmuuskopioita hyökkääjälle. Siilon käyttöön webin yli on tehty oma taustapalvelimensa (websiilo1), jonka voi pyytää käyttöön halutuille sivustoille ylläpidolta.

Tällä hetkellä jäsenet pääsevät kirjautumaan omilla tunnuksillaan web-koneilla Kirsikka ja Karviainen. Uusille web-palvelimille ei ole pääsyä jäsenillä, mutta sovelluspalvelimia ja muita shell-pääsyn vaativaa käyttöä varten on tehty webapp1-kone, joka löytyy osoitteesta webapp1.kapsi.fi.

Oman sivuston siirtäminen uusille taustoille

Ennen siirtämistä sivustosi pitää osoittaa uusille edustapalvelimille. Mikäli nimipalvelusi ovat Kapsilla, on tämä jo tehty. Mikäli ei, niin suosittelemme tekemään nimipalvelussa seuraavan nimipalvelutietueen:

oma.sivusto.tld IN CNAME sites.kapsi.fi.

(tai ssl-sites.kapsi.fi, mikäli sivustosi toimii salattuna). Voit toki vaihtoehtoisesti tehdä A- ja AAAA-tietueet suoraan kohti uusia edustapalvelimia:

oma.sivusto.tld IN A 91.232.156.81
oma.sivusto.tld IN A 91.232.156.82
oma.sivusto.tld IN AAAA 2001:67c:1be8::80:1
oma.sivusto.tld IN AAAA 2001:67c:1be8::80:2

Seuraavana pitää suorittaa migraatio järjestelmässä. Lakalta löytyy komento web2migrate.py, joka siirtää www-sivusi palveltavaksi uusilta taustapalvelimilta. web2migrate.py list -komennolla voit listata omien vhostiesi migraation tilan. web2migrate.py migrate omavhost.domain.tld -komennolla voit migratoida omat vhostisi uudelle taustapalvelimelle. Yhden vhostin migratointiin kuluu aikaa 5–15 minuuttia. Huomioithan, että sivusi saattaa olla toimimatta migraation aikana.

Huomioitavia asioita:

  • Uusilla backend-palvelimilla on asennettu PHP 5.6 sekä Apache 2.4.
  • Apache-sovelluspalvelimessa on tällä hetkellä käytössä Apache 2.2 -yhteensopivuustila.
  • Konfiguraatiot olisi hyvä saattaa 2.4-konfiguraatioiden mukaiseksi, koska jossain vaiheessa yhteensopivuustilasta pitää luopua.

Aikataulu

Uudet taustat ovat tällä hetkellä mahdollista ottaa käyttöön kaikille sivustoille. Ylläpito migratoi kaikki loput sivustot 17.2.2017.

Mikäli haluat varmistaa sivustosi toiminnan, on migraatio syytä tehdä web2migrate.py-skriptillä haluttuna ajankohtana. Näin voit itse korjata mahdolliset migraation tuomat ongelmat heti.

Päivitys 16.1.2017: Korjattu faktoja aikataulujen sekä webapp1- ja websiilo1-palvelinten osalta.

Suomalainen Edubox-palvelu maksuttomaan kokeilukäyttöön yhdistyksen jäsenille

tiistaina 24. helmikuuta 2015

Kapsin jäsenistölle on tarjottu Edubox-palvelu maksuttomaan kokeilukäyttöön maaliskuun loppuun saakka. Palvelussa on tarjolla hieman yli sata opintokokonaisuutta liittyen erilaisten Internet-palveluiden ja tietokoneohjelmistojen peruskäyttöön sekä jonkin verran yleisesti tietotekniikkaan. Kokonaisuudet on jaettu lyhyisiin muutaman minuutin esityksiin aiheittain.

Palvelu löytyy osoitteesta www.edubox.fi. Tutustumaan pääsee rekisteröitymällä käyttäen @kapsi.fi -sähköpostiosoitetta, jonka jälkeen materiaalit ovat vapaasti katsottavissa 31.3.2015 saakka. Toivomme palautetta palvelun hyödyllisyydestä ja kiinnostavuudesta blogin kommentteihin!

HELP! Minulla ei ole yhdistyksen sähköpostia käytössäni?!

Yhdistysken sähköpostilaatikko on olemassa kaikilla jäsenillä ja oletusarvoisesti osoitteet ovat muotoa tunnus@kapsi.fi. Helpoiten pääset tarkistamaan sähköpostisi kirjautumalla Webmailiin tunnuksillasi. Lisää ohjeita sähköpostiin liittyen löytyy yhdistyksen verkkosivuilta: https://www.kapsi.fi/ohjeet/email.html

Toimia tietoturvan edistämiseksi

torstaina 22. toukokuuta 2014

Teemme Kapsin ylläpidossa monenlaisia tehtäviä jäsenten sekä muiden Internetin käyttäjien tietoturvan parantamiseksi. Pyrimme aktiivisesti seuraamaan tietoturvamaailman tapahtumia sekä vähentämään järjestelmiin kohdistuvia riskejä. Asiasta on ollut usein keskustelua irkissä ja monet jäsenet ovat olleet kiitollisia palvelusta, mutta tämä tulee silti välillä yllätyksenä Kapsilaisille.

Visualisaatiota verkkoliikenteen häirinnästä.

Visualisaatiota verkkoliikenteen häirinnästä.

Aihetta käsitellessä on hyvä tiedostaa yhdistyksen Linux-järjestelmien tietoturvan olevan oma kokonaisuutensa eikä alla kuvatut ongelmat vaaranna Kapsin järjestelmien luotettavuutta, vaan aiheuttavat harmia yksittäisille jäsenille tai muille Internetin käyttäjille. Alla joitain esimerkkejä toimistamme jäsenten tunnusten ja tietojen suojaamiseksi sekä muiden Internetin käyttäjien tietoturvan parantamiseksi.

Puhdistamme jäsenten saastuneita sivustoja yhdessä jäsenten kanssa. Teemme usein tietomurroista raportteja CERT-FI:lle sekä rikosilmoituksen poliisille. Osassa tapauksista rikoksen tekijä saadaan kiinni ja tekijä päätyy asiasta vastuuseen. Joka tapauksissa informaatio päätyy viranomaisten statistiikkaan ja antaa parempaa kuvaa yleisesti tietoturvamurroista ja niiden määrästä esimerkiksi Viestintäviraston käyttöön.

Viimeisimmät tietomurrot ovat koskeneet FileZillan saastuneita versioita, joista myös tiedotettiin jäsenistöä. Usean jäsenen tunnukselle kirjauduttiin ulkomailta pyrkimyksenä kerätä hyökkääjälle virtuaalirahaa Kapsin resursseilla. Kaiken kaikkiaan kyseessä oli varsin järjestäytynyt haitallinen toiminta, johon reagoimme tapauskohtaisesti mahdollisimman pikaisesti.

Ilmoitamme Kapsin järjestelmään päässeitä haitallisia tiedostoja esimerkiksi ClamAV-projektille, jotta muutkin tätä haittaohjelman torjuntasovellusta käyttävät laitteet havaitsevat samoja ongelmia tulevaisuudessa. ClamAV tekee yhteistyötä lukuisien muidenkin toimijoiden, kuten esimerkiksi F-Secure ja FireEye -firmojen kanssa.

Muistutamme jäseniä päivittämättömistä www-sivustoalustoista, joissa on tunnettuja tietoturvahaavoittuvuuksia. Tätä varten kehitetään aktiivisesti open-source työkalua, jolla on Kapsin ympäristössä lähetetty yli 10 000 muistutussähköpostia jäsenille vuoden 2011 jälkeen. Päivittämättömiin www-sivustoihin murtaudutaan usein ja niitä käytetään pääasiassa roskapostittamiseen, tiedonkeruuseen tai muuhun haitalliseen toimintaan. Usein murrettu sivusto on hyökkääjälle jalansija yhdistyksen järjestelmiin minkä pyrimme estämään proaktiivisesti.

Ilmoitamme jäsenille myös keskeneräisiä asennuksista, jotka hyökkääjä voisi halutessaan asentaa loppuun ja joissain tapauksissa tämän jälkeen ajaa mielivaltaista haitallista koodia Kapsin palvelimilla.

Ilmoitamme ja vaihdamme julkisuuteen vuotaneita salasanoja sekä testaamme Kapsin jäsenten tunnuksien salasanoja heikkojen varalta ja pyydämme vaihtamaan ne tarvittaessa parempaan. Päivitimme palveluita Heartbleed-haavoittuvuuden osalta jo ennen virallista korjausta.

Useat Kapsin toimihenkilöt toimivat myös työssään tietoturvaroolissa.

Ylläpidon ylläpitoviikonloppu 5/2013

sunnuntaina 8. joulukuuta 2013

Itsenäisyyspäivän pidentämä viikonloppu alkoi torstai-illalla kun ensimmäiset ylläpitäjät saapuivat kokouspaikalle. Mukana oli toinen ylläpidon uusista jäsenistä, joka pikaisen tutustumiskierroksen jälkeen oli jo täydellä vauhdilla lyhentämässä ylläpidon tikettijonoa. Muutamaa tuntia myöhemmin homma sujui kuin vanhalta tekijältä, joten voitaneen todeta valinnan osuneen kohdilleen.

Ensimmäinen suuri ihmettelynaihe löytyi sopasta joka syntyi yhdistämällä PostgreSQL, OpenIndiana, ZFS sekä pakallinen 15k SAS-levyjä. Levyjen suorituskyky ei tuntunut missään vaiheessa nousevan odotetulle tasolle, ja syitä etsittiin sekä possusta, kerneleistä sekä levyohjaimista.

Kapsi WEB2.0 -prototyyppi nostettiin pystyyn ja pistettiin kovaan syyniin. Prototyypin on tarkoitus havainnollistaa usealle palvelimelle hajautetun webpalvelimen hyötyjä ja haasteita. Järjestelmää ponnistettiin Apachen JMeterillä ja varmuuden vuoksi ylläpito laittoi huput päähän ja opettelivat dossaamaan.

Vihreähatut dossaavat

Vihreähatut dossaavat

Toinen prototyyppi joka viikonlopun aikana saatiin ajoon oli Kapsi SQL2.0. Kyseisessä järjestelyssä PostgreSQL sijoitettiin virtualisoidulle testipalvelimelle ja kantaa moukaroitiiin pgbenchillä kunnes pullonkaulat tulivat esille. Sama konsepti toistettiin myös mariadb:lle. Virtualisoidut tietokantapalvelimet eivät performoineet vielä halutulla tavalla ja erinäköisten konseptien testailuja jatketaan tulevaisuudessa.

Ylläpidon toinen uusi jäsen osoitti suurta innostusta karttapalveluita kohtaan ja suoritti muiden speksausten oheessa päivityksen yhdistyksen jäsenkartalle joka jo muutenkin oli päivityksen tarpeessa. Tulevaisuudessa lienee mahdollista nähdä myös muita päivityksiä karttapalveluiden osalta.

Lauantai-yöllä suoritettiin suunniteltu huoltokatko Siialle jonka jälkeen 10GE -yhteydet kättelivät onnistuneesti.

Viikonlopun aikana ehdittiin myös konseptoimaan potentiaalisia tulevaisuuden suunnitelmia, joista varmasti tullaan kirjoittamaan tulevaisuudessa enemmän kunhan toteuttamiskelpoiset ideat saadaan eroteltua esiin.

Linux – HA – grsec – BFS – Kapsi – ???

perjantaina 30. elokuuta 2013

$ uname -a
Linux lakka 3.2.46-grbfs-kapsi #1 SMP Wed Jun 5 19:48:35 EEST 2013 x86_64 GNU/Linux

Niin mistä puhe?

Ydin eli kerneli (engl. kernel) on tietokoneen käyttöjärjestelmän alin osa, joka mahdollistaa kaikkien muiden tietokoneen ohjelmien toiminnan. ( Wikipedia )

Mikäli olet sinut Kapsin tarjoamien palveluiden kanssa oletan, että tiedät vähintäänkin pääpiirteissään mistä tässä kaikessa on kyse. Nyt vajotaan ihan vähäisesti pintaa syvemmälle niihin periaatteisiin ja perusteisiin, jotka ovat olleet Kapsin Linux-käyttöjärjestelmäytimen kasauksen ja konfiguraation pohjana.

Yleistä Kapsin kerneliarkkitehtuurista

Ensimmäinen huomionarvoinen seikka Kapsin järjestelmiä tarkastellessa on se, että vaikka käytössä on pääosin Debian-distribuution mukaisia järjestelmiä, käytetty käyttöjärjestelmäydin ei ole Debian-projektin tarjoama. Kapsin ylläpito on varsin varhaisessa vaiheessa yhdistyksen historiaa alkanut ylläpitää omaa versiota Linux-kernelin käännöksestä. Tämä ei tarkoita sitä, että käytössä olisi  mitenkään suuresti normaalista Linux-ytimestä eroava versio, vaan pikemminkin lähtökohdiltaan Kapsin käyttämän laitteiston sekä tarpeiden mukaan säädetty versio kulloinkin vakaaksi todetusta ”vanilla”-versiosta.

Ymmärtääksemme nykyisen tilanteen kunnolla, täytyy tarkastelussa palata historiassa taaksepäin, aikaan vuosia ennen kuin itse liityin tähän kirjavaan joukkoon ylläpitäjiä, joiden prioriteetti on pitää Kapsin järjestelmät turvassa ja toimivina. Kapsin historia alkoi vuonna 2003.

Linux 2.6 joulukuussa 2003 lisäsi XFS- ja JFS-tiedostojärjestelmät, sisälsi uudet ALSA-ääni- ja syöttölaitteiden ajuritNPTL-säikeistyksen tuen ja tehosti käyttöä suurissa järjestelmissä.

Linux 2.6 oli Kapsin ensimmäisten toimintavuosien ajan ”uusi juttu”. Mentiin Debianinkin käyttämän 2.4-sarjan voimin hyvin pitkään. Nykyään  käytössä on vielä 3.2-sarjan kerneli, jota päivitetään eteenpäin käytännössä Kapsin käyttämien patchien sekä muun mahdollisen tarpeen mukaisesti.

Kernelin päivitykset ovat yhdistyksen toimintojen kannalta aika voimakkaasti käyttäjille näkyviä operaatioita ja aiheuttavat varsinkin shellipalveluihin ikävän käyttökatkon. Tästä syystä toimivaa ja turvallista kerneliversiota pyritään ajamaan mahdollisimman pitkään.

Kapsin käyttämät kernelipatchit

Kapsin kernelin suunnittelussa on otettu huomioon useita erityisesti yhdistyksen toimintaa koskettavia tekijöitä. Haasteina on ollut erityisesti tietoturva, suorituskyky sekä järjestelmien vakaus pitkänkin yhtäjaksoisen päälläolon jälkeen.

Käydään hieman läpi Kapsin käyttämiä patcheja sekä niiden taustoja ja osuutta kokonaisuudessa.

HA-patch

Kapsin historian alkuaikoina käytetyistä spesiaalisäädöistä tiedän vain sen verran, että käytössä oli jo tuolloin niinsanottu HA-patch. Nimi ei viittaa ”High Availabilityyn” kuten äkkiseltään voisi kuvitella, vaan patchin tekijöiden sukunimien ensimmäisiin kirjaimiin. Patchin kirjoitti Jaakko Heusala, yhdistyksen alkuvuosien puheenjohtaja ja ylläpitäjä usean vuoden ajalta. Jaakko osasi kertoa kommenteissa tämän historiasta sekä nimeämisestä, joten lainaan Jaakkoa tähän: 

”Tuo HA-pätsin nimi tulee ”huoh access limit” lyhennyksestä, koska käytin silloin nimimerkkiä huoh. Osittain se ehkä viittasi myös siihen fiilikseen, että oli etsitty toimivaa ratkaisua simppeliin ongelmaan maailmalta kuitenkaan hyvää ratkaisua löytämättä ja se pätsi oli vähän sellainen tulos ”nyt se kernelin koodi tänne, korjaan sen itse!” (Kernelin muokkaaminen oli melkeinpä niitä viimeisiä juttuja joita halusin ruveta tekeen silloin.)”

HA-patch on pohjimmiltaan hyvin yksinkertainen. Sen tarkoitus on pitää käyttäjien tiedostot piilossa toisilta käyttäjiltä chmod-määreistä riippumatta. Tämä on käyttäjille näkyvin muutos Kapsin kernelin osalta. HA-patch on myös koodillisesti erittäin yksinkertainen ja on siten tominut lähes muutoksitta aina versioista 2.4 asti.

Grsecurity

Toinen merkittävä virstanpylväs yhdistyksen kernel arkkitehtuurissa on grsec. Se on laaja patchset, jonka tarvoite on antaa lisäsuojaa erilaisia mahdollisia käyttöjärjestelmäytimen haavoittuvuuksien hyödyntämisyrityksiä vastaan. Kapsin tietoturva-arkkitehtuurissa grsecistä on pitkään käytetty sellaisia osia, jotka eivät vaadi suuria järjestelmäriippuvaisia konfiguraatioita. Esimerkiksi RBAC (Role Based Access Control) ei ole ollut toistaiseksi laajassa käytössä.

Grsecin ajatus tietoturvan kannalta on toimia yhtenä monista muuttujista, joita mahdollisen haavoittuvuuksia hyödyntävän hyökkääjän on vaikea ottaa huomioon yhdistyksen järjestelmiin suunnattuja toimia pohtiessaan. Lähtökohtaisesti grsec ei koskaan pysty täydellisesti estämään muun kernelin osa-alueen haavoittuvuuden hyödyntämistä, vaan aiheuttaa lähinnä tarpeen kohdistaa hyökkäystä juuri tätä kyseistä ympäristöä vastaan. Toisinsanoen yleisesti saatavilla olevat hyökkäyskoodit eivät välttämättä, toivottavasti, toimi sellaisenaan sopivin grsecin tarjoamin optioin varustettua järjestelmää vastaan. Käytännön kannalta grsec parhaimmillaankin ostaa ylläpidolle vain aikaa järjestelmän päivityksen valmisteluun.

Grsecin ja HA-patchin lisäksi kernelin suojauksessa on käytössä yksi vähemmän ”hieno”, mutta enemmän käytännönläheinen ajatusmalli turvallisuuteen liittyen. Pohjimmaisena on periaate, jonka mukaan kerran käynnistettyä järjestelmäydintä ei tule voida peukaloida. Grsec tarjoaa itsessään jonkin verran erilaisia kernelin muistialueen suojauksia tähän liittyen, mutta haittaohjelmien ja rootkittejen kannalta yleisin toimintamalli riitävät oikeudet hankittuaan on puuttua suoraan käytössä olevan kernelin toimintaan.

Kernelimoduulituki

Helpoin ja toimivin tapa muuttaa kernelin toimintaa järjestelmän ollessa käynnissä on ladata moduuli, joka toteuttaa hyökkääjän kannalta oleellisia toimintoja. Nämä voivat olla esimerkiksi kyseisen modulin olemassaolon ja tiettyjen hyökkääjän käyttämien palveluiden ja verkkoliikenteen piilottaminen koko muun järjestelmän näkyviltä. Tällainen palikka tunnetaan myös nimellä rootkit.

Kapsin lähestymistapa rootkiteiltä suojautumiseen on tehdä kernelistä mahdollisimman vaikeasti muutettava ajon aikana. Linux-järjestelmissä tähän on olemassa erittäin helppo ja yksinkertainen keino. Kernelistä on jätetty moduulituki kokonaan pois, jolloin kernelin muuttamiseksi vaaditaan koneen uudelleenkäynnistys. Kapsin kerneli on rakennettu juurikin näin.

Schedulointi ja BFS

Tästä aiheesta voisi ja ehkä pitäisikin kirjoittaa ihan oma blogiposti – tai kirja. Sen verran tuntuu olevan vaikeasti lähestyttävä kokonaiskonsepti kyseessä. Käydään nyt kuitenkin asia läpi popularistisellä tasolla ja yksinkertaistettuna niin ettei aiheuteta lukijoille välttämättä päänsärkyä.

Isoa shell-käyttäjämäärää palvelevan linux-koneen haasteena on väistämättä suoritettavien prosessejen suuri määrä. Kapsi ei ole toiminnassaan koskaan pyrkinyt asettamaan tiukkoja rajoja, vaan käyttäjien toimille asetetut järjestelmätason rajat pyrkivät vähentämään mahdollisten väärinkäytösten, tahattomien tai tahallisten, aiheuttamaa haittaa järjestelmän muille käyttäjille.

Yhdeksi merkittäväksi haasteeksi linuxin ja suuren prosessimäärän kanssa nousee interaktiiviset prosessit, jotka käyttävät yleensä hyvin pienen määrän suoritinaikaa kerrallaan, mutta todella usein. Esimerkkejä tällaisista interaktiivisista prosesseista ovat vaikkapa verkkoliikennettä vastaanottavat prosessit, jotka heräävät käsittelemään saapuneita paketteja tai SSH tai irssi, jotka ottavat käyttäjän syötteitä vastaan ja pitävät yllä aktiivisia yhteyksiä internettiin.

Suuri määrä interaktiivisia prosesseja on luonteeltaan haastava kuorma kernelille koska kernelin prosessischeduleri joutuu pitämään kirjaa ja tekemään päätökset siitä, mikä prosessi milloinkin saa suoritinaikaa ja mitkä prosessit joutuvat odottamaan pääsyä suoritukseen. Tämä kernelin sisäinen prosessi vie myös itsessään suoritinaikaa ja koneen resursseja riippuen kernelin sisäisen schedulerin toimintaperiaatteesta ja tehokkuudesta päätöksenteossa sekä seurannassa.

Linux-kernelin oletusarvoinen prosessischeduleri tunnetaan nimeltä CFS (Completely Fair Scheduler). Se pyrkii tarjoamaan tasa-arvoa prosessien suoritinajan suhteen ja päästää vähäisesti suoritinaikaa käyttävät prosessit suoritettavaksi useammin kuin pitkään suoritettavat prosessit. Tämä periaate on sinänsä hyvä ja toimiva, mutta Kapsin kaltaiesssa ympäristössä CFS:n toteutus aiheesta jätti huomattavasti toivomisen varaa.

Kapsin pääasiallinen shellipalvelin, Lakka, kärsi huomattavasta hitaudesta aina iltapäivisin ruuhka-aikaan talvella 2010. Tuolloin käytössä oli vielä HP DL380 G5 -sarjan palvelinkone, jossa oli kaksi fyysistä neljän ytimen suoritinta ja 16 Gt muistia.

lakka-kapsi-fi-vmstat-year-png

VMstat-kuvaaja kertoo suoritusta odottavien prosessejen määrän arvona ”running” ja levyoperaatioita odottavien prosessejen määrän arvona ”I/O sleep”. Running-arvon tulisi olla kaikissa tilanteissa pienempi kuin käytettävien prosessoriytimien määrä parhaan suorituskyvyn takaamiseksi. Kuvaajan vasen laita on ajalta ennen siirtymistä BFS-scheduleriin.

Ylläpidolla oli kaksi vaihtoehtoa hitailun ratkaisemiseksi. Joko hankkia uusi, järeämpi palvelinkone tai yrittää löytää resurssiongelmaan jokin muu ratkaisu. Käyttäjien toimien rajoittaminen ei kuulunut edes tuolloin harkittuihin vaihtoehtoihin.

Havaittiin eräänlainen ristiriita prosessejen suoritusjonon ja koneen CPU:n käyttöasteen välillä.

lakka-kapsi-fi-cpu-year-png

Kuvassa Lakka-palvelimen CPU-käyttö. CFS:n ollessa käytössä (kuvan vasen laita) CPU-resursseista oli käytössä yhteensä vain noin 25 %. Kuvaajan ”hassut” arvot oikealla johtuvat kyseisten kerneliversioiden epävakaudesta sekä lukuisista käyttökatoista vuoden 2010 aikana.

Suoritusjonon ja CPU-käytön välinen ristiriitatilanne antoi viitteitä siitä, että ehkä kernelin toiminnassa voisi olla parantamisen varaa prosessien scheduloinnin suhteen. Tutkittiin vaihtoehtoja ja päädyttiin kokeilemaan BFS-patchia Kapsin kernelissä. Muutos oli aika radikaali ja hitailuongelmat kerralla poissa.

Tässä vielä muutama kuva, jotka antavat käsitystä koneen yhtäaikaisten käyttäjien määrästä.

lakka-kapsi-fi-interrupts-year-png

Context switches -arvo kertoo sen, kuinka usein suoritettava prosessi vaihtuu sekunnin aikana. Oikealla olevat piikit ovat jälleen kerneliongelmien aiheuttamia vääristymiä kuvaajissa.

Tämä kuvaaja on lähinnä referenssiksi siitä, että CFS:sta BFS:iin vaihtaessa koneen käyttöaste ei juuri muuttunut. Vuosien 2010 ja 2011 aikana yhdistys kuitenkin sai paljon uusia jäseniä ja toisaalta shellikoneella alettiin myös ajamaan entistä raskaampia palvelinprosesseja kuiten Minecraft-palvelimia.

lakka-kapsi-fi-ps_sshd-year-png

SSHd-prosessien määrä Lakka-palvelimella CFS:sta BFS:iin siirryttäessä ja sen jälkeen.

SSHd-prosessien määrä kertoo yhtäaikaisesti palvelimella kirjautuneena olevat sessiot. Vaaleamman vihreä alue näyttää vuorokausivaihtelun kirjautumismäärissä. Käyttäjämäärien nousu vuoden 2011 alkuun mennessä on kohtuu huomattava.

Kokonaisuudessaan siirtyminen Kapsin kernelissä CFS-schedulerista BFS-scheduleriin ei ollut helppo tie. Epävakaus oli vuoden 2010 aikana todellinen riesa ja vasta Linux-kernelin VM (Virtual Memory) -kokonaisuuden suurempi korjaus toi lopulta helpotuksen vakausongelmiin. Suorituskyky nousi kuitenkin vaihdoksen myötä aivan uudelle tasolle, kun prosessien schedulointi ei enää ollut pullonkaula järjestelmän toiminnassa.

 

Teknisempää settiä voi seurata tai olla seuraamatta riippuen blogaajien mielenkiinnosta, käytettävissä olevasta ajasta sekä kuun asennosta. Kuulostellaan myös lukijoiden mielenkiintoa aiheeseen. 😉