English: Complete a project with a company as a client. Work with students from different tracks and backgrounds. Course in Finnish.
Starting projects: Collect and visualize logs with ERK. File server for film company. Identity Management. Video surveilance and system provisioning. Finnish Text to Speech. Fishing. All Free software.
Previous course feedback was very good, 4.1 out of 5. And students even published two books!
Tero’s groups in the photo. Network area storage for media company: Jari and Tatu. Log consolidation and analysis: Jussi, Eino, Saku. Me, Tero the teacher. Open source identity management: Markus, Jan, Eetu. IDS & antivirus bypass: Tommi and Aleksi.
This page keeps updating during the course. Teaching together with Harto Holmström.
Anna palautetta
Palautteesi on ratkaisevan tärkeää. Kehitän kaikki toteutukset edellisen palautteen perusteella. Jos tulet muille kursseilleni, saatat nähdä palautteesi vaikutukset käytännössä saman tien. Palautetta kerätään kahteen paikkaan
1) Vapaamuotoinen palaute kommenttina kurssisivun perään.
Vapaamuotoiseen palautteeseen saa kirjoittaa mitä vain, eikä kysymyksiä tarvitse toistaa. Mutta tässä vinkiksi:
- Opitko jotakin – eli osaatko nyt sellaista, mitä et osannut ennen kurssia?
- Oliko opittu hyödyllistä? Luuletko, että sille on käyttöä esim tulevaisuudessa töissä tai kotona?
- Teitkö jotain ensimmäistä kertaa?
- Olivatko esitykset kiinnostavia? Entä esiintyminen?
- Mikä oli parasta, mikä huonointa? Miten voisin parantaa kurssia?
- Saitko jotain uutta portfolioosi? Jos olet julkaissut, URL:n saa laittaa tähän.
- Missä aiot hyödyntää taitoja kurssin ulkopuolella? Töissä, harrastuksissa, muualla?
- Viihdyitkö kurssilla?
- Suosittelisitko kurssia? Kenelle? Koulutoverille tai kollegalle?
2) Numeerinen palaute Haaga-Helian e-lomakkeelle
- Vertailukohtana Haaga-Helian tyypillinen kurssi
Previous Projects
2017 Autumn: Does the fire burn, VoiceVoice take my command, Mirror mirror tell me who, Arctic CCM configuration management with Salt, Puppet, Ansible, Chef.
2018 Spring: Fog OS provisioning with images, private Docker Cloud, how much snow, Open source ERP (buy the book), VPN to lab, WiFi Penetration Testing (buy the book or download free ebook).
Previous course Monialaprojekti Infra pro4tn001-5 – kevät 2018 – 10 op.
We have a project (yet to be approved) to promote security in Haaga-Helia by launching a phishing expedition. We hope to gain access to some user account, send an email to the user stating that one should be careful on what you click on. This will be hopefully executed by setting an external server equivalent to the haaga-helia site.
We’re creating a centralized system to analyse log data from several clients within a network. The goal of our project is to create meaningful data that focuses on deviations from the usual background noise, and is readable also by people without deep technical knowledge of cyber security.
You can follow our progress here.
https://github.com/jisosomppi/log-analysis
Text-to-speech in Finnish.
Our project focuses on researching existing opensource text-to-speech programs and compare them to each other and choosing one to improve. The end goal is to try and improve the quality and pronunciation of Finnish in an opensource text-to-speech program.
Project blog:
https://ttssuomiprojekti.wordpress.com/
Personal blogs:
https://inaandersin.wordpress.com/
https://tomiirlablog.wordpress.com/
Our project is about open source IdM (Identity Management) solutions. Firstly we are comparing different IdM systems and choose the one which we are going to improve. The end goal is to create reasonable open source IdM solution to which we integrate other authentication systems, for example AD (Active Directory).
Project blog: https://opensourceidm.wordpress.com/
When you’re picking the right tools and platforms, explain your choices. What are the options, why this over that? Open Source ERP has some nice examples in their work. Start from the first posts and keep reading to see how they compare open source ERPs. Edited
Our project aims to create a fileserver to used by an amateur film company.
The bases for this project is a user-friendly approach, since we cannot assume a mid or higher level of computing knowledge from the users.
We plan on using secure connections (VPN server, SSH) for the client to get access to the server for their video editing purposes.
For file secury we intend using ZFS for disc parity and file corruption prevention and automated file backup’s. We a trying to implement a working version control system for the image and video files, to increase client work productivity, hopefully something similar to Git.
For scalability, the file server is to be installed on top of a hardware virtualization platform. For this, we are planning on using ProxMox.
This is meant to be a completely opensource project.
We’re creating/updating a video surveillance system located in Servula classroom to monitor and store movement based activity for later purposes in case of theft or damage towards equipment. Our secondary project, if the time is on our side, includes looking into nearly finished Fog-project to find solution to bring it to production state. Fog is a computer management and cloning program which enables sharing programs within the same network.
First projects site: https://github.com/mhyvarinen/videosurveillance
In addition to needing approval from your supervisor, you will need a get-out-of-jail-free card. This means a written agreement with target organization. It should define at least scope (the systems to be tested), time of testing and what is allowed.
Additional demands include finding out who can give this permission. Signature from the wrong person might be worthless. You should also pay attention to the systems and persons that are affected. Email could easily cross borders of organizations and systems, thus risking operations to wrong persons, with wrong persons information or systems where you don’t have permission to operate.
As with any penetration testing, your own operational security is important to protect any vulnerabilities or other information you find.
These are some examples of the challenges for this kind of testing. You should discuss these issues with the teacher supervising your group.
Looks good!
I know you want (FSF definition) Free Software / OSI Open Source, so be careful with the licenses.
ElasticSearch the database seems to be Apache License (OSI Approved). Beats are not free software, they use non-OSI approved proprietary license “Elastic License”.
“Is X-Pack now open source? … it will not be ‘open source’ as it will not be covered by an OSI approved license” https://www.elastic.co/products/x-pack/open
Beats is just for the collection, you could try e.g. rsyslogd instead of it. And of course, compare to Graylog.
GitHub:
https://github.com/Eetu95/Open-source-IdM-solution
https://github.com/VisualCerberus/VC-file_server
Kurssi oli erittäin laaja ja vaativa.
Kurssin tuntivaatimukset tuottivat hieman ongelmia, sillä minulla oli useita muitakin kursseja samaan aikaan, joista osassa oli myös projekteja, jotka vaativat huomiota.
Tykkäsin kuitenkin siitä, että kurssiin annettiin vapaat kädet ja sitä sai toteuttaa melkeinpä kokonaan oman mielen mukaan. Terolta sai kuitenkin aina apua ja ohjeita/ideoita, kun tuntui ettei keksi mitä tekisi seuraavaksi.
https://github.com/Tommi852/virustestaus
Kursilla opin paljon uusien työkalujen toimintoja ja käyttökohteita, käytin ensimmäistä kertaa kalia ja siihen saatavia ohjelmia osittain onnistuneesti. Parasta kurssilla oli oman aiheen valitseminen ja kehittäminen, huonoimpana voisin sanoa että välillä oli vaikeuksia varata tarvittava aika projektiin. Aion varmaan vapaa ajalla vielä käyttää työkaluja joita projektissa käytin.
Hyvä kurssi
Kurssi oli ihan ok, tosin olisi ollut parempi, jos samalla kurssilla olisi ollut opiskelijoita muilta erikoistumispuolilta esimerkiksi ohjelmoinnin ja digituotannon puoilta, joiden kanssa olisi voinut tehdä projektia yhteistyössä. Nyt tämä kurssi tuntui samalta, kuin järjestelmäprojektin kurssi eikä oikein tuntunut nimensä mukaiselta kurssilta.
Viikottaiset palaverit tuntui myös aika useasti turhalta. Mieluiten olisi voinut osan siihen varatusta kokonaisajasta hyödyntää itse projektin tekoon.
Opin käyttämään OpenCV:tä ja python3-koodikieltä. Opin myös pintapuolisesti muiden projektien toiminnasta.
Opittu on mielestäni paljon hyödyllistä. OpenCV:tä tulen käyttämään todennäköisesti vain harrastusmielessä, mutta koodikielestä on hyötyä myös työelämässä.
Koodaan laajemmassa mittakaavassa kuin aiemmin.
Esitykset olivat mielenkiintoisia ja palautteet omasta työstä olivat hyödyllisiä. Kiinnostavin esitys oli Tatun LoRa.
Kurssi oli hyvä. Alussa aiheita voisi olla enemmän opettajien tarjoamana, josta valita. Kurssilta putosi henkilöitä heti alussa, koska eivät osanneet kehitttää oikeaa suunnitelmaa kurssille (putosivat omasta tahdostaan).
Työ on hyvin onnistunut ja jatkokehityksen jälkeen lisään portfoliooni.
Aion hyödyntää koodaus-taitoja työelämässä.
Kurssi oli mieluinen. Sai itse valita projektiryhmän ja aiheen ja toteutustavat. Kurssi on hyödyllinen tämän opintolinjan opiskelijoille.
Kurssi oli erittäin hyödyllinen ja kannusti itsenäiseen työskentelyyn ja ongelmanratkaisuun. Opin paljon Raspberry Pi:n käytöstä työalustana ja eri järjestelmien hallinnasta, ominaisuuksista ja ylläpidosta. En ollut aikaisemmin käyttänyt Raspberrya, mutta aikaisempi Linux-tietämys helpotti käyttöä huomattavasti. Zoneminder ja UV4L -ohjelmat olivat minulle myös uusia ja eri järjestelmien integrointi toi sopivaa haastavuutta projektiin. Opin paljon myös ryhmätyöskentelystä ja aikatauluttamisesta. Ongelmanratkaisutaidot olivat myös koetuksella.
Eri projektien esityksiä oli kiinnostavaa seurata ja palautteen saaminen omasta projektista ja esitelmästä oli erittäin hyödyllistä tulevaisuutta ajatellen. Viihdyin kurssilla ja ryhmänohjaus oli riittävää. Suosittelisin kurssia kaikille omasta teknisestä projektista haaveileville.
https://oculusproject.wordpress.com/
Oculus Project – Raspberry Pi Video Surveillance System Project
Kurssi oli ensimmäinen näin iso projekti minulle. Valtavasti tuli opittua kurssilla, varsinkin ongelmanratkaisukykyjä. Ennen projektia en juurikaan tiennyt IdM-järjestelmistä ja niiden toiminnasta käytännössä. MidPoint IdM-järjestelmän käyttöä tuli opittua sekä tapoja miten muita järjestelmiä liitetään IdM-järjestelmän piiriin. Projektin aikana sai selvän kuvan kuinka IdM-järjestelmät toimivat käytännössä. Uskon, että projektista on valtavasti hyötyä tulevaisuudessa, koska tuli opittua todella paljon uusia asioita, joita aion hyödyntää myös töissä. Projektin esityksiä olivat mielenkiintoista katsella, koska sai nähdä mitä muut kurssilaiset ovat saaneet aikaan samaan aikaan. Kurssi oli työläs, mutta hyvin opettavainen. Kurssilla hyvää oli opettajien tuki sekä itsenäinen työskentely. Suosittelen kurssia kaikille opiskelijoille, jotka ovat kiinnostuneita tekemään oman ison projektin.
https://github.com/Eetu95/Open-source-IdM-solution
Kurssi oli kokonaisuutena haastellinen, laaja, mutta lopuksi palkitseva. Toteutus kasasi sopivassa määrin paineita opiskelijalle, kun kyseessä oli 10 opintopisteen kurssi. Tämä motivoi tuottamaan onnistuneen lopputuloksen ryhmätyöskentelyn tuloksena ja arvostin suuresti itsenäiseen työskentelyyn luottavaa ohjausmetodia. Vahva luotto opiskelijaan tekee työskentelystä jouhevaa ja ongelmanratkaisusta palkitsevaa. Kurssin aikana pääsi tutustumaan lukuisiin aiemmin täysin tuntemattomiin järjestelmiin, joista voi nyt jälkikäteen sanoa omaavansa vahvan perusosaamisen. Projektinhallinta on yksi ominaisuuksista, joita kurssilla oppii kehittämään valtavasti ja auttaa varmasti tulevia projekteja ajatellen. Kaiken kaikkiaan koin kurssin hyödylliseksi, opin rutkasti uutta uusista teknisista ratkaisuista ja saatu palaute kurssin lopussa oli kattavaa ja suuntaa antavaa.
https://oculusproject.wordpress.com/
Kurssi oli opettavainen ja mielenkiintoinen, mutta samalla todella työläs. Projekti piti keksiä itse ja toteuttaa.
Itse opin paljon projektityöskentelystä kuten projektin johtamisesta projektipäällikkönä. Meidän projektina oli avoimeen lähdekoodiin perustuvien IdM-järjestelmien (Identity Management) perusteellinen vertailu sekä vertailussa parhaiten pärjänneen järjestelmän asentaminen, konfigurointi ja testaaminen.
Ennen kurssia ei ollut mitään hajua mikä on IdM-järjestelmä, nyt voin sanoa että tiedän puolen vuoden tutkimisen jälkeen suhteellisen hyvin mitä niillä tehdään. Tekninen toteutus oli välillä haastavampaa, yleensä IdM:n kehittäjien ajoittain huonojen dokumentaatioiden takia. Toisaalta kun ei ollut aina suoraa ohjetta miten esim. LDAP-saadaan toimimaan midPointissa, oppi siinä paljon ongelmanratkaisutaitoja.
Suosittelen kurssia isoista IT-projekteista kiinnostuneille. Kurssilla on vapaat kädet tehdä omannäköisiä projekteja ja samalla oppia niiden tekemisestä. IT-taustasta on hyötyä (Linux, ohjelmointitaidot jne.).
Kurssi oli mielestäni erittäin onnistunut.
Aiheen valinta oli melko haastava tehtävä ja ohjaajien kommentit aiheita läpikäydessä oli tärkeää. Pienen sysäyksen jälkeen pääsimme alkuun, ja projektiin varattu pitkä aika mahdollisti hyvin perusteellisen ja itsenäisen työskentelyn.
Apua ja vinkkejä saatiin tarvittaessa. Intensiiviviikon jälkeen siirryttiin kahden viikon välisiin ohjauskokouksiin, mutta tämä ei vaikuttanut negatiivisesti ryhmämme työskentelyyn.
Erittäin positiivista oli, että saimme päivittää projektin hallintaan littyvän dokumentaation suoraan Githubiin.
Oli hienoa päästä esittelemään projektimme varhaisempaa versiota Teron Salt -kurssille. Tästä saatu palaute implementoitiin käytöön lähes kokonaan.
Kurssi oli sisällöltään erittäin vapaamuotoinen, ja opiskelijat saivat itse kurssin alussa valita omat aiheensa ja muodostaa omat suunnitelmansa kurssin etenemiseen. Lopputulokselle asetetut vaatimukset olivat alusta asti selkeät, ja ainakin oman ryhmämme työskentelyssä ne pidettiin jatkuvasti mielessä.
Kurssin erittäin pitkä, kuudentoista viikon kesto ja työskentelylle annettu suuri vapaus olisivat voineet johtaa helppoihin horjahduksiin työtehossa, mutta työryhmän korkean motivaation ja ohjaajan kanssa pidettyjen välikokousten ansiosta pysyimme hyvin aiheessa ja aikataulussa. Työskentelimme projektin parissa noin kolmesta neljään kertaan viikossa koko syksyn aikana, emmekä missään vaiheessa jumittuneet projektin kanssa paikoilleen. Kurssi nostikin hyvin esille projektityöskentelyn ja suunnitelmallisuuden tärkeyden.
Aiheeksi valitun lokitietojen analysoinnin myötä tutustuin suureen määrään uusia käsitteitä, ohjelmistoja, toimintaperiaatteita ja paljon muuta. Tarkoitukseemme soveltuvien komponenttien valinta ja niiden yhteistoiminnan varmistaminen oli vaativaa, mutta myös erittäin palkitsevaa työtä. Lisäksi mukaan liitetyn sertifikaattien käytön myötä pureuduimme tarkasti myös SSL-sertifikaattien toimintaan. Itselleni ennestään tutun Saltin käytössä sain hyvää lisäharjoitusta, kun rakensimme kehittyneemmän, tietoturvallisemman kokonaisuuden kuin olen aikaisemmin tehnyt.
Teimme projektin aikana valtavasti työtä kattavan, ammattimaisen dokumentaation eteen, ja olen erittäin ylpeä projektiryhmämme lopuulisesta tuotoksesta. Dokumentaation onnistuneisuudesta kertoo hyvin se, että 20 hengen opiskelijaryhmä pystyi sen pohjalta ottamaan ratkaisumme käytöön onnistuneesti. Kurssin loppupuolella oli helppoa referoida aiemmin tehtyä tutkimustyötä ja ratkaisumme aiempia versioita, kun kaikki projektin aikana tehdyt tuotokset oli säästetty mahdollista tarvetta varten.
Kurssin päättäneet esitykset olivat erittäin mielenkiintoista seurattavaa, varsinkin kun muiden ryhmien työskentelyä oli syksyn aikana päässyt seuraamaan vain satunnaisesti. Suurimpana yllätyksenä tulivatkin jokaisen ryhmän onnistuneesti esittämät demot, joiden pohjalta projekteista sai paljon kattavamman käsityksen kuin pelkän diaesityksen perusteella olisi ollut mahdollista.
Kiitän suuresti kurssista, ja suosittelen vastaavaa työskentelymetodiikkaa myös muille!
Projektiimme voi tutustua tarkemmin osoitteessa https://github.com/jisosomppi/log-analysis
Omalla kohdalla, sattumusten kautta projektini alkoi vasta kurssin puolivälissä, joten kommentoin vain tätä osaa.
Kaiken kaikkeaan kurssi oli erittäin onnistunut omasta mielestäni. Pääsin ensimmäistä kertaa tekemään töitä IoT:n, LoRa:n Arduinon sekä C++ kanssa ja opin näistä paljon uutta.
Projektin suunnittelu ja toteutus oli hyvin itsenäistä, mikä sopi minulle hyvin.
Tarvittaessa tähän kurssiin pystyy liittämään myös toisia kursseja, jos siihen vain löytyy sopiva tarve. Omalla kohdalla se oli ohjelmistoprojektin projektityö, jonka kautta IoT laitteen palvelinpuoli saatiin ohjelmoitua.
Koska kyseessä oli kolmannen vuoden kurssi, näin rakentavana että kurssinohjaajien rooli oli enemmän ohjaava, kuin opettava. Itseopiskelun ja itsenäisen ongelmanratkaisun työkalut tulisi jo tässä vaiheessa olla hallussa kurssin osallistujalla.
Projektien julkisena (verkkosivu, GitHub) pitämistä suositellaan, sekä siihen kannustetaan ja pystyn itse yhtymään tähän. Todennäköistä on että sain tulevan työpaikkani, osittain tämän projektin avulla.
Mielestäni projektien aiheet kannattaa jatkossakin pitää etäällä kurssilaisten mukavuusalueelta, ja sen pitäisi sisältää jotain täysin uutta ja ihmeellistä. Näkisin että tämä nosta motivaatiota (ja stressiä) ja tuo mukaan aivan uudenlaisia onnistumisen tunteita.
Kaiken kaikkeaan hyvä kokemus, kiitän ja kumarran.
PS. Voin varmuudella sanoa että käytän kurssilla opittua työelämässä.
LoRa-Tocsin =
http://www.erkinjuntti.eu/studies/lora-tocsin/
https://github.com/TatuE/Lora-Tocsin
LoRa-Server =
https://github.com/TatuE/Lora-Server
Kurssi oli mielestäni kokonaisuutena erittäin onnistunut. Ryhmillä oli hyvin vapaat kädet valita projektinsa aihe, ja tämä lisäsi motivaatio työstää sitä.
Erityisesti kiitän tukea aiheen valinnassa, omalla ryhmällä oli useita vaihtoehtoja mietittynä ja saimme hurjasti tukea ja taustatietoa näistä. Tämä mahdollisti nopean ja selkeän alun projektille, kun sen kehys oli jo jonkinlaisessa muodossa mielissämme, vaikkei itse aihe kovin tuttu ollutkaan.
Muuten työskentely oli varsin itseohjautuvaa. Viikottaisissa ohjauskokouksissa saimme tukea ja ideoita ongelmiemme ratkontaan.
Kehitysidea: Yhdellä opettajalla oli useita ryhmiä vastuullaan, ja viikkopalavereissa oman vuoron odotteluun meni usein pitkä aika. Mahdollisesti tämä johti “ajan hukkaamiseen”, kun ei ollut tietoa, milloin oman ryhmän vuoro olisi ja työvälineet sijaitsivat jossain muualla (toki sen viikkoinen järjestys käytiin alussa läpi, mutta tarkasta ajasta ei ollut tietoa). Ohjaus kokouksista myös paistoi välillä läpi kiire, kun muut ryhmät odottelivat vuoroaan.
Heittäisin siis ilmoille idean, että ryhmät varaisivat ajan ohjauskokoukseen, jolloin toiminta olisi suunnitellumpaa ja mahdollisesti myös rauhallisempaa, kun tietää minkä aikahaarukan puitteissa toimitaan. Jos ryhmä kokee tarvitsevansa enemmän aikaa ohjauskokoukseen voisivat he varata esim. Kaksi aikaa kerrallaan (esim. 2X10minuuttia, en muista kuinka kauan niissä keskimäärin kesti)
Suuri kiitos vielä kurssista opettajille ja muiden projektiryhmien kiinnostaville esityksille!