YouSource-sovellukseen kirjautuminen KorppiLDAPilla Heikki Salo 3.5.2010 Verso-projekti 1 Johdanto Verso-sovellusprojektissa kehitettävä YouSource-sovellus on prototyyppi lähdekoodien julkistamisjärjestelmästä, joka pohjautuu olemassaolevaan Gitorious-versiohallintaportaaliin. Korppi on Jyväskylän yliopiston kehittämä ja käyttämä opintotietojärjestelmä. LDAP (Lightweight Directory Access Protocol) on hakemistopalvelujen käyttöön tarkoitettu verkkoprotokolla, jota voi käyttää käyttäjän tunnistamiseen. KorppiLDAP on kurssimateriaalin jakamiseen kehitettyä Koppa-palvelua varten kehitetty rajatussa käytössä oleva LDAP-palvelin. YouSource-sovelluksen kirjautuminen liitettiin 19.4.2010 käyttämään Korppi-tunnuksia kirjautumiseen. Dokumentti kuvaa Korppi-kehittäjille, kuinka YouSource käyttää KorppiLDAPia Korppi-tunnuksilla kirjautumista varten. Dokumentissa ei käsitellä YouSource-sovelluksen muihin toimintoihin liittyviä suunnitelmia, mutta esimerkiksi Korppi-ryhmien käyttämisestä on olemassa erillinen tarvekuvaus [3]. 2 Korppi-tunnusten käytöstä sopiminen Verso-sovellusprojektin 7. palaverissa [1] 12.4.2010 päätettiin toteuttaa Verso-projektin viimeisessä kehitysvaiheessa tilaajan vaatimus kytkeä YouSource käyttämään Korppi-tunnuksia kirjautumisessa. Verso-projektin projektipäällikkö Heikki Salo sopi KorppiLDAPin käytöstä Korpin tuotevastaavan Petri Heinosen kanssa 13.4.2010. Verso-projektin sovittiin toimittavan Petri Heinoselle (tämän) lyhyen kuvauksen KorppiLDAPin käytöstä YouSource-sovelluksessa. KorppiLDAPin käyttäminen kirjautumista varten ei vaatinut muutoksia Korppiin tai KorppiLDAPiin, mutta pääsy palomuurista KorppiLDAPiin tarvittiin YouSourcea varten. Verso-projekti lähetti 13.4.2010 Jyväskylän yliopiston tietohallintokeskuksen sovelluspalveluille muutospyynnön [2] pääsyn sallimisesta, jonka yksityiskohtia on kuvattu tarkemmin luvussa 4. 3 KorppiLDAPin käyttäminen YouSource-sovelluksessa YouSource käyttää KorppiLDAPia ainoana autentikoinnin lähteenä. YouSource ei tallenna kirjautumistietoja, vaan tarkistaa jokaisen kirjautumisen erikseen KorppiLDAPilta. Kirjautumista varten YouSource näyttää käyttäjälle kirjautumislomakkeen, jonka kenttiin YouSourcen käyttäjä kirjoittaa Korppi-tunnuksensa ja salasanansa. Tällä tunnus/salasana -parilla YouSource tekee LDAP bind -pyynnön KorppiLDAPille, jonka vastauksen perusteella YouSource joko päästää käyttäjän sisään tai ei päästä. Sisäänpäästäminen tarkoittaa käyttäjän yhdistämistä käyttäjätunnuksen perusteella olemassa olevaan YouSource-käyttäjään tai uuden käyttäjän kirjautuessa käyttäjän luomista ja yhdistämistä. YouSource tekee ainoastaan bind-pyyntöjä, eikä siis esimerkiksi hae käyttäjään liittyviä ryhmiä tai etsi ryhmiä. Bind-pyyntöjä tehdään aina ja vain WWW-sovellukseen kirjautumisten yhteydessä. 4 Tietoturvallisuus YouSourcen kirjautumislomakkeen lähettäminen palvelimelle tapahtuu SSL-yhteyden yli, joten Korppi-tunnukset eivät liiku Internetin ylitse salaamattomana. Versotest-palvelimella on ollut käytössä valtaselainten hyväksymä sertifikaatti 22.4.2010 alkaen. Aiemmin kirjautumisen yhteydessä käytettiin itse allekirjoitettua (engl. rogue certificate) sertifikaattia. KorppiLDAP käyttää SSL-yhteyttä, joten salasana ei liiku selväkielisenä myöskään YouSourcen ja KorppiLDAPin välisessä LDAP-liikenteessä. YouSource ei tallenna salasanoja. Selväkielinen salasana on järjestelmässä hetkellisesti vain KorppiLDAP-pyynnön ajan. Tämän jälkeen siihen liittyvän muistialueen viitteet tuhotaan, eikä siihen pysty viittaamaan ohjelmakoodista. Ratkaisu pienentää Korppi-tunnusten vääriin käsiin päätymisen riskiä, mutta toisaalta tekee YouSourcen riippuvaiseksi KorppiLDAPista. YouSourcea varten KorppiLDAPiin avattiin pääsy versotest-palvelimelle sekä kehityskoneelle Viuht 14.5.2010 saakka, mikä on kuvattu muutospyynnössä [2]. versotest-palvelin on tietohallintokeskuksen asentama RHEL (Red Hat Enterprise Linux), jonka ylläpidosta laitteiston ja palvelinohjelmistojen osalta vastaa tietohallintokeskus. Kehityskone viuht on Jyväskylän yliopiston ATK-lähituen asentama Fedora Core, joka sijaitsee lukitussa huoneessa AgC222.2. Viuht-koneelle pääsy verkosta on estetty palomuurilla kaikkialta. [1] Tero Hänninen, 7. projektipalaverin pöytäkirja, Verso-projekti, saatavissa HTML-muodossa http://sovellusprojektit.it.jyu.fi/verso/src /docs/project/palaverit/poytakirja_7_palaveri.txt, Jyväskylän yliopisto, tietotekniikan laitos, 15.4.2010. [2] Heikki Salo, "KorppiLDAPin käytöstä Verso-sovellusprojektissa", Verso-projekti, saatavissa HTML-muodossa https://korppi.jyu.fi/kotka/servlet/list-archive/verso/0555.html, Jyväskylän yliopisto, tietotekniikan laitos, 13.4.2010. [3] Heikki Salo, "Tarvekuvaus Korppi-ryhmien käyttämisestä", Verso-projekti, saatavissa HTML-muodossa http://sovellusprojektit.it.jyu.fi/verso/src/docs/project/ tarvekuvaus_korppi-ryhmien_kayttamisesta.txt, Jyväskylän yliopisto, tietotekniikan laitos, 28.4.2010.