FANDOM


Osa artikkelisarjaa
Tekniikka

Digabi
Haavoittuvuudet
Hackabi
Digabi-webinaarit

Abitti
Ohjelmistot
Tehdyt parannukset
Vanhat Abitti-versiot
Tweak-A-bitin tutkiminen

Laitteisto
WLAN-tukiaseman konfigurointi
Tutkintoverkko

Opiskelijan koneen rakennetta on helppo tutkia ja samalla oppia ymmärtämään se, miten Abitti-järjestelmä toimii. Tällä sivulla annetaan ohjeet tutkimisen aloittamiseen ja kerrotaan lyhyesti opiskelijan koneen rakenteesta. Korostamme, että opiskelijan koneen rakenteen tutkimisessa ei ole mitään lain tai edes hyvän tavan vastaista.

Alkutoimenpiteet Muokkaa

Seuraavilla toimenpiteillä saat tehtyä ympäristön koetilan palvelimen tutkimiseen:

  • Lataa verkosta AbittiUSB-ohjelmalla opiskelijan tikun levykuva ja tee tästä USB muistitikku.AbittiUsb-ohjelma toimii Windows-käyttöjärjestelmässä.
  • Tarvitset tutkimisessa Linux-käyttöjärjestelmää, asenna joku Linux-paketti koneelleesi, vaikkapa olemassa olevan käyttöjärjestelmän rinnalle. Jos et halua asentaa Linux-käyttöjärjestelmää koneellesi, voit tehdä kaiken tämän myös USB-muistilta käynnistetyltä Linuxilta.
  • Linux-käyttöjärjestelmää käyttäen muokkaa tietokoneen kovalevyn partitiota siten, että teet kiintolevyllesi uuden ext4-tyyppiä olevan levyosion (partition) nimeltään persistence, osion koko 4GB. Tämä osion teko onnistuu esim gparted-työkalulla. Vaihtoehtoisesti persistence-partiton voi tehdä opiskelijan koneen USB-muistitikun vapaana olevaan muistialueeseen, tällöin on kuitenkin huomioitava, että persistence-partitio sisältöineen tuhoutuu aina, kun tikku kirjoitetaan uudelleen AbittiUSB-ohjelmalla.
  • Laita muistitikku kiinni koneeseesi ja tee uusi tiedosto persistence.conf-tiedosto juuri luomasi uuden persistence-partition juureen seuraavasti:

/persistence.conf

/etc union
/home union
/var union
  • Uudelleenkäynnistä koneesi ja käynnistä tikulla oleva opiskelijan ohjelmisto YTL:n ohjeiden mukaan.
  • Heti käynnistymisen jälkeen sammuta tietokone normaalisti. Sinun ei tarvitse hyväksyä käyttöehtoja, ladata koetetäviä tai tehdä mitään muuta.

Käynnistyksen aikana opiskelijan ohjelmisto kirjoitti paljon tiedostoja persistence-osioon, ja näitä tiedostoja tutkimme seuraavaksi.

Administraattorin oikeudet Muokkaa

Seuraavilla toimenpiteillä saat administraattorin oikeudet koetilan palvelimelle

  • Käynnistä Linux ja editoi alkutoimenpiteissä luomallesi persistence-partitiolle ilmestyneeseen etc/password-tiedostoon uusi admistraattoritunnus.

Administraattorin lisääminen

echo "new_root::0:0:root:/root:/bin/bash" >> etc/passwd
  • Nyt voit käynnistää koneen uudelleen tikulla olevaan koetilan palvelimen ohjelmistoon YTL:n ohjeiden mukaan.
  • Pääset administraattoriksi painamalla ALT-F1 ja kirjautumalla sisään new_root-tunnuksella.

Nyt voitkin tutustua tarkemmin kaikkeen siihen, mitä koetilan palvelimella tapahtuu.

Muistitikun levypartitiot Muokkaa

Palvelintikulla on kolme levyosiota, seuraavassa on kerrottu kustakin levyosiosta tarkemmin

EFI Muokkaa

Tätä levyosiota käytetään koneen käynnistyksen yhteydessä, levyosio sisältää GRUB2-ohjelman ja sen konfigurointitiedostot. GRUB2-ohjelma ladataan ensimmäisenä tietokoneen muistiin käynnistyksessä ja GRUB2 huolehtii koetilanteessa käytettävän DigabiOS-käyttöjärjestelmän lataamisesta, alustamisesta ja käynnistämisestä.

Olennainen tiedosto tässä osiossa on grub/grub.cfg, tiedoston ohjeiden mukaan näkyy että DigabiOS-käyttöjärjestelmä käynnistetään erilaisissa ympäristöissä. Muokkaamalla käynnistysparametreihin mukaan optio "persistence" saadaan käynnistettävä DigabiOS tallettamaan kaikki tiedostomuutokset persistence-osiossa (muista myös persistence.conf-tiedosto persistence-osiossa).

ABITTI1536X Muokkaa

Huom: Levyosion nimi vaihtuu DigabiOS-käyttöjärjestemän version mukaan, nimen loppuosan numeroyhdistelmä kertoo käyttöjärjestelmän version.

Olennaisin levyosion sisältö on DigabiOS-käyttöjärjestelmän ydin (vmlinuz), käyttöjärjestelmän alustuksessa tarvittava levykuva (initrd.img) ja varsinainen levykuva (filesystems.squashfs). Lisäksi tässä levyosiossa on eri käynnistysmenetelmillä tarvittavia aputiedostoja.

Mielenkiintoisin tutkittava on tiedosto "live/filesystems.squashfs". Tämä kannattaa kopioida omalle koneelle ja purkaa unsquashfs-komennolla: "sudo unsquasfs filesystems.squashfs". Puretusta levykuvasta voit tutkia kaikkia DigabiOS:n tiedostoja.

DAT452CBDF Muokkaa

Tämä osio otetaan järjestelmäkäynnistyksen yhteydessä käyttöön ja liitetään /var/lib/digabi-koe/digabi_data hakemistoksi. Liittäminen tapahtuu ajettaessa käynnistyskomento service digabi-koe start (tiedosto /etc/rc?.d/S01digabi-koe).

digabi-koeMuokkaa

DIiabit-koe on ylioppilaslautakunnan tekemä järjestelmä, joka keskustelee koetilan palvelimella olevan ktpjs-ohjelmiston kanssa, katso tarkemmin Koetilan palvelimen tutkiminen-sivulta. Alussa opiskelija kirjautuu kokeeseen tämän järjestelmän välityksellä, jonka jälkeen koekysymykset tuodaan koetilan palvelimelta opiskelijalle. Opiskelijan vastaukset tallennetaan koetilan palvelimelle tämän järjestelmän kautta.

Järjestelmä on toteutettu javascript-kielellä ja se käyttää json-määritteitä kommunikoinnissa. Järjestelmä muodostaa kunkin opiskelijan koneelle oman www-palvelimen, jota opiskelija käyttää nettiselaimen avulla. Kommunikointi koetilan palvelimen ja opiskelijan koneen välillä on https-salattua.

Käynnistyskomento Muokkaa

Opiskelijan koneen koepalvelin käynnistetään komennolla "service digabi-koe start".

Palvelinohjelmat sijaitsevat kansion /var/lib/digabi-koe alaisuudessa. Javascript-koodia on helppo muokata omien tarpeiden mukaan.

KESKEN

Lokitusjärjestelmä Muokkaa

Lokitusjärjestelmällä kerätään opiskelijoiden koneiden systeemilokeista mielenkiintoiset asiat ja lähetetään nämä edelleen koetilan palvelimelle tallennettaviksi. Lokitusjärjestelmä muodostuu kahdesta osasta, ensin paikalliset järjestelmät tallettavat lokitiedot /var/log-hakemistoon ja sitten toisessa vaiheessa rsyslogd-palvelin lukee uudet lokiviestit tästä kansiosta ja lähettää viestit koetilan palvelimelle.

Rsyslog Muokkaa

Rsyslog on järjestelmä, joka lähettää määriteltyjä lokiviestejä lähiverkon yli toiselle koneelle

DigabiOS:ssa tiedosto /etc/rsyslog.d/digabi.conf määrittelee, mitä tietoja lähetetään koetilan palvelimelle. Tällä hetkellä rsyslogd seuraa kahta tiedostoa, /var/log/digabi-koe.log ja /var/log/digabi-koe.err, ja lähettää näihin kirjoitetut rivit koetilan palvelimelle.

Lokien lähettäminen voidaan estää muuttamalla konfiguraatiotiedostoja tai samuttamalla rsyslogd-palvelin. Väärennetyn lokitiedon lähettäminen palvelimelle on erittäin yksinkertaista...

Verkon nopeusrajoitus Muokkaa

Palvelunestohyökkäyksien estämiseksi YTL on tehnyt opiskelijan koneelle lähtevään verkkoliikenteeseen nopeusrajoituksen. Tämän nopeusrajoituksen asettava koodi löytyy tiedostosta /usr/local/bin/digabi-force-network.

Lähteet ja viitteet Muokkaa

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.