Linux harjoitus 6: Hei maailma

Tehtävän pohjana toimii jälleen tero karvisen kurssi: http://terokarvinen.com/2017/aikataulu-linux-palvelimet-ict4tn021-4-ti-ja-5-to-alkusyksy-2017-5-op

Tehtävä: hello world kolmella eri kielellä; python, bash, perl

Aloitetaan lataamalla sudo apt-get install python3

Sen jälkeen luodaan kansio mkdir pythonKansio jonne kirjoitetaan tiedosto nano hei.py

hei.py tiedostoon lisätään koodi:

#!/usr/bin/env python

print(“Hello world”)

jonka jälkeen tallennetaan se ja annetaan oikeudet sille “chmod ugo+x hei.py”

Tämän jälkeen kokeillaan ajaa se python3 hei.py jolloin se tulostaa konsoliin:

“Hello World”

Seuraavaksi kokeilin bashia ja parin yrityksen jälkeen homma ratkesi.

Aloitetaan kirjoittamalla nano hello.ba jonne lisäsin koodin:

#!/bin/bash

echo “Hello World”

sitten annoin oikeudet chmod ugo+x hello.ba ja kokeilen ajaa sen “./hello.ba”

bash

Lopuksi vielä perl.

tehdään tiedosto nano hello, jonne lisätään koodi

#!/usr/bin/perl

use strict;

use warnings;

print “Hello World!\n”;

sitten annan oikeudet chmod ugo+x hello ja kokeilen sitä ./hello.

ruudulle putkahtaa Hello World!

 

Kaikki tehtävät:

salminenaleksilinux.wordpress.com

H5 messuraportti ja flask

Tehtävä viittaa Tero Karvisen kurssiin ->http://terokarvinen.com/2017/aikataulu-linux-palvelimet-ict4tn021-4-ti-ja-5-to-alkusyksy-2017-5-op

a)Messuraportti. Kirjoita arvioiva kuvaus kolmesta tuotteesta tai esityksestä. Muista myös arvioida ja vertailla – ei pelkästään toistaa mainoslauseita. Käytä arvioidessa kaikkia aiempia, esimerkiksi töissä ja kursseilla oppimiasi tietoja. Tässä muutama kysymys, joista voi olla apua kirjoittessa (mutta joihin vastaaminen ei vielä riitä vastaukseksi). Minkä ongelman tuote ratkaisee Mitä tuote maksaa (esim. halvin aloitus vs tyypillinen käyttötapaus, ensimmäisen vuoden hinta)? Millä tekniikoilla tuote on toteutettu (tietokannat, ohjelmointikielet, käyttöjärjestelmät, palvelimet, protokollat…)? Tärkeimmät kilpailijat? Kilpaileeko jokin vapaa ohjelmisto tämän kanssa (vai onko tämä jo valmiiksi vapaa ohjelma)? Mitä ajatuksia tuote tai palvelu herättää? Millainen yritys on tuotteen taustalla? Ota blogiisi myös artikkeliasi tukevia kuvia.

Tuotteet josta aion kirjoittaa ovat Ciscon umbrella, CGI:n health check ja Fujitsun Rapid detection service.

Cisco Umbrella

Ciscon umbrella on DNS palvelu jolla yritetään estää haitallisia sivustoja ja niissä olevia vaaroja. Umbrella oli ennen Open DNS umbrella, mutta uusien työkalujen myötä nimi vaihdettiin yksinkertaisemmakksi. Umbrellan päätarkoitus on parantaa yritysten tietoturvaa ja parantaa henkilökunnan vapautta käyttää internettiä ilman huolta.

Umbrellan hinta ei ole standardi vaan yritys voi ottaa yhteyttä myyjään ja keskustella hinnan luultavasti riippuen yrityksen koosta ja kuinka moneen eri pisteeseen ohjelma täytyy asentaa.

Cisco umbrellalla on paljon kilpailijoita mutta ei välttämättä yhtä suuriatekijöitä. Esimerkkejä ovat Threat Stack joka tarjoaa jatkuvaa tarkkailua tai Akamai prolexic.

Mielestäni tuote on kätevä yrityksille joissa henkilökunta on päivittäisessä kosketuksessa tietokoneiden kanssa, sillä se estää kalastelu yrityksiä ulkopuolisilta ja varoittaa uhkaavista osoitteista. Yksityisessä käytössä tuote ei välttämättä ole niin tarpeellinen.

Cisco on iso yritys joka tunnetaan laajalti reitittimistä, joten laatua voisi odottaa myös Umbrellalta.

CGI: Health check

CGI:n healthcheck tarkastuksen ideana on arvioida ja anylysoida yrityksen resurssejen kohdentamista ja antaa palautetta miten yrityksen turvallisuus tasoa saadaan nostettua jopa pienemmillä kustannuksilla. Health Check käy läpi 20 eri kontrollialuetta ja arvioi niiden kypsyystason sekä jo kohdistettuja resursseja. Heikohkosta materiaalista, minkä messuilta sai tulee ilmi 5(käsittääkseni) tärkeää kohtaa, Kypsyystasoanalyysi, Kustannushyötyanalyysi, Toimenpidesuositukset kypsyystason nostamiseksi, Suositukset resurssien kohdentamiseksi ja Toimialan vertailutietoa.

Hinnoittelusta ei taaskaan varsinaista tietoa mutta uskoisin sen olevan yrityskohtaista.

Kilpailijoita kun etsi googlen mahtavalla hakukoneella niin saman tapaisia palveluja näyttää olevan jonkin verran, mutta neiti joka nopeasti esitteli CGI:n sanoi että he ovat suomen toiseksi suurin yritys näissä piireissä.

Tuote on siis vain analyysi yrityksen resursseista ja suositus miten kohdentaa niitä paremmin, en ole varma onko tuote todella hyödyllinen, mutta jos se tosiaan parantaa tietoturva tasoa ja pienentää kustannuksia niin kyllä siitä hyötyä saa irti.

Tuotteen takana on suomen toiseksi suurin IT-palvelu yritys ja se on vahvassa yhteydessä Affecton kanssa.

Fujitsu Rapid Detection Service

Fujitsun tuotteen ideana on tunnistaa hyökkäys yritykset, analydoida epänormaaleja käytäntöjä, analysoida ne ja neuvoa yritystä mitä toimenpiteitä vaaditaan hyökkäyksen lopettamiseksi ja kertoa miten jatkossase ei olisi enää mahdollista. Tuote pitää lokia kaikista tietokoneella tapahtuvista komennoista ja jos hyökkääjä pääsee läpi Fujitsun esittelijä kertoi että puolen tunnin sisällä yritykseen otetaan yhteyttä ja kerrotaan tilanne ja ratkaisu. Fujitsun tuote tarjoaa myös houkutinsensoreita jotka matkivat erilaisia palvelimia ja työasemia hyökkääjien hämäämiseksi.

Hinnoittelu myös fujitsulla on nähtävästi yrityskohtainen, sillä tarkkaa hintaa ei löydy mistään.

Kilpailua fujitsun tuotteen ratkaisulle löytyy mutta ei välttämättä samassa mittakaavassa ja toimenpiteillä

Fujitsun esittelijä demonstroi tuotetta sen verran hyvin että luottoa syntyi heti paikan päällä ratkaisuun, jos tuote pitää kiinni 30min sisällä tapahtuvista toimenpiteistä hyökkäystä vastaan ja jatkuvaa lokien analysoimista on tuote mielestäni parempi kuin useat muut ratkaisut.

Fujitsu on laajalti tunnettu IT yritys joka toimii mm. tietoturvan ja erilaisten it laitteiden alueilla. Fujitsu on japanilainen brändi jolla on tytäryhtiö suomessa, Fujitsu finland. Fujitsu on globaali yritys joka on ollut kilpailussa mukana jo kauan.

j5) (ryhmä 5-to) Kirjoita oma “hei maailma” Flaskin testipalvelimella.

Tehtävä toteutettiin xubuntu 16.04 live-tikulla ja on osa tero karvisen kurssia;

http://terokarvinen.com/2017/aikataulu-linux-palvelimet-ict4tn021-4-ti-ja-5-to-alkusyksy-2017-5-op

Aloitin ajamalla sudo apt-get update ja sudo apt-get install python3-flask curl.

Siitä jatkoin tekemällä kansion publicFlask, mkdir publicFlask ja sinne nano main.py

main.py:hun kopioin koodin tero karvisen sivulta, http://terokarvinen.com/2017/hello-python-flask-web-app-development-server-install-on-ubuntu-16-04

main.py

app.run(debug=True)

Sitten tallensin ja poistun tiedostosta, ctrl + x, vahvistin y:llä ja enter lopuksi

Seuraavaksi käynnistin testipalvelimen python3 main.py ja toisella terminaalilla:

curl http://127.0.0.1:5000/

Tulos seuraaville tapahtumille on tämänlainen

testi

f5) (ryhmä 5-to) Tee tuotantotyyppinen asennus Python Flaskista (Apache mod_wsgi).

Seuraavan tehtävän aloitin tutkailemalla teron ohjeita http://terokarvinen.com/2016/deploy-flask-python3-on-apache2-ubuntu

Aloitan asentamalla apachen, sudo apt-get install apache2.

Testasin sitä ohjeiden mukaan, curl -s http://localhost/|grep -i title ja tulokseksi tuliapache2

Seruaavaksi ohjeiden mukaan asennetaan mod-wsgi, sudo apt-get -y install libapache2-mod-wsgi-py3

Siitä jatkan tekemään uuden virtual hostin,

sudoedit /etc/apache2/sites-available/moi.conf

lisäsin ohjeista saatavan koodin ja muokkasin polut ja käyttäjän

moi.conf

Seuraavaksi siirryin cd publicFlask ja tein tiedoston, nano moi.wsgi

sinne sain taas koodin teron sivulta http://terokarvinen.com/2016/deploy-flask-python3-on-apache2-ubuntu

muutin sitä taas hieman jotta se sopii omiin käyttötarpeisiinmoiwsgi

Tämän jälkeen otin vähän pakkia ohjeissa ja kävin laittamassa moi.conf:fin oletukseksi ja disableemassa 000-default.confin

sudo a2dissite 000-default.conf
sudo a2ensite moi.conf

Sitten käynnistin uudelleen apachen, sudo service apache 2 restart

Testasin toimivuutta eka curlilla:curl tero

ja sitten localhostillalocalhosti

viimeinen tehtävä meni yli hilseen.

 

 

 

 

 

 

Haroitus 4: Virtuaalipalvelin ja domain

Tehtävä pohjautuu kurssiin ->http://terokarvinen.com/2017/aikataulu-linux-palvelimet-ict4tn021-4-ti-ja-5-to-alkusyksy-2017-5-op

r) Kokeile julkista virtuaalipalvelinta (VPS). Voit vuokrata palvelimen esimerkiksi Linodelta, Amazonilta, DigitalOceanilta, OVH:lta tai monista muista paikoista. Edullisinta on käyttää GitHub Education -paketista DigitalOceanin palveluita.

Kirjauduttiin palvelimelle root käyttäjällä ja laitettiin palomuuri pystyyn.

sudo ufw allow 22/tcp ja sudo ufw enable

Sitten alettiin tekemään sudo käyttäjää,

Lisätään käyttäjä-> sudo adduser aleksi

Seuraavaksi annettiin käyttäjälle oikeudet

-> sudo adduser tero sudo

-> sudo adduser tero adm

-> sudo adduser tero admin

Tämän jälkeen lukittiin root käyttäjä, sudo usermod –lock root ja sille kirjautuminen muuttamalla sshd_configissa permitrootlogin yes->permitrootlogin no

Viimeiseksi kirjauduttiin uudelle oikeudet annetulle aleksi käyttäjälle ja päivitettiin ohjelmat

->sudo apt-get update

->sudo apt-get upgrade

Droplet

x) Laita julkinen domain-nimi osoittamaan koneeseesi. NameCheap ja Gandi ovat tunnettuja nimien vuokraajia. GitHub Education -paketista saa NameCheapilta .me domainin ilmaiseksi vuodeksi

Tein tehtäviä vähän lennossa mutta yritän kuvailla kaiken mitä muistan.

Elikkä vuokrasin nimen picklerick.me namecheapin kautta.domain

Kun domain oli vuokrattu menin advanced settings ja lisäsin A recordit @ ja www jotka laitoin osoittamaan virtuaalipalvelimen IP:seen

recordit.png

Tässä kohtaa taisin kiirehtiä liikaa ja meni pari kolme päivää että picklerick.me näytti apachen oletussivun.picklerick.me.png

En onnistunut pääsemään eroon apachen oletussivusta mutta jatkan yrittämistä, eli edittiä tulossa vielä

Picklerick.me näyttää monen päivän jälkeen nyt testisivun. Kiitos.

Harjoitus 3: apache2

Edit: tehdään uudestaan, pielessä oli

Tehtävä liittyy kurssiin ->http://terokarvinen.com/2017/aikataulu-linux-palvelimet-ict4tn021-4-ti-ja-5-to-alkusyksy-2017-5-op

A) Aloitetaan avaamalla terminaali ja päivitetään, sudo apt-get updatella

Seuraavaksi asennetaan apache2 -> sudo apt-get install apache2

Käydään tsekkaamassa localhost ja se toimiilocalhost

ja sitten viellä sudo a2enmod userdir

Sitten vielä käyttäjä kansio-> mkdir public_html, johon siirrytään cd public_html.Eka terminal

Tänne tehään nano index.html johon kirjoitin hello

restartataan apache -> sudo service apache2 restart

Kysytään whoami ja suunnataan localhost/~xubuntu

Sivu näyttää Hey joten kaiken pitäisi olla kunnossalocalhost xubuntu

B) suunnataan logiin /var/log/apache2

Onnistunut logi löytyy ensimmäiseltä riviltä kun suuntasin localhost osoitteeseen, siinä näkyvät iposoite, päiväys ja protokolla.

127.0.0.1 – – [22/Sep/2017:13:12:22 +0000] “GET / HTTP/1.1” 200 3525 “-” “Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:54.0) Gecko/20100101 Firefox/54.0”

Seuraava rivi nähtävästi latasi ubuntu.logo.png:n firefoxille

127.0.0.1 – – [22/Sep/2017:13:12:22 +0000] “GET /icons/ubuntu-logo.png HTTP/1.1” 200 3623 “http://localhost/” “Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:54.0) Gecko/20100101 Firefox/54.0”

Seuraavaksi epäonnistunut logi joka on myös kolmannellarivillä ja joka antoi 404 erroria

127.0.0.1 – – [22/Sep/2017:13:12:22 +0000] “GET /favicon.ico HTTP/1.1” 404 500 “-” “Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:54.0) Gecko/20100101 Firefox/54.0”

I) HTTP 200 status tapahtui kun ladattiin localhost sivu. HTTP 400 status kävi kun selain yritti ladata favicon.ico mutta palvelimellaei sitä ole joten ei sitä voitu ladata

 

B ja I tehty uudelleen koska edellinen ratkaisu oli vielä enemmän pielessä mitä tämä varmaan on.

Linux harjoitus 2: Komentokehotteet

Tehtävä:

Tehtävän pohjana Tero Karvisen( http://terokarvinen.com/2017/aikataulu-linux-palvelimet-ict4tn021-4-ti-ja-5-to-alkusyksy-2017-5-op) harjoitus 2. Tehtävä aloitettiin 16:45 05.09.2017

a) Aiheuta lokiin kaksi eri tapahtumaa: yksi esimerkki onnistuneesta ja yksi esimerkki epäonnistuneesta tai kielletystä toimenpiteestä. Analysoi rivit yksityiskohtaisesti.

c) Tee unelmien apt-get -komento: yksi komentorivi, joka asentaa suosikkiohjelmasi.

d) Asenna komentokehotteen paketinhallinnasta kolme itsellesi uutta komentorivillä toimivaa ohjelmaa. Kokeile kutakin ohjelmaa sen pääasiallisessa käyttötarkoituksessa.

Koneen tiedot tehtävässä:

Käyttöjärjestelmä: Xubuntu 16.04

Prossu: AMD A4-6210 APU with AMD Radeon

Näyttis: Mullins [Radeon R3 Graphics]

Muisti: 4GiB SODIMM DDR3 Synchronous 80

Muistitikku Kingston 16b datatraveler 3.0

a) Kaksi lokitapahtumaa

Aloitin tehtävän avaamalla konsolin ja menemällä pari askelta ylös pain kohtaan xubuntu@xubuntu:/$ ja sieltä siirryin komennolla cd var ja vielä eteenpäin komennolla cd log jossa otin näytille komennolla ls eri logit. Päätin seurata auth.logia tail -f auth.log ja päivittää samalla koneen toisen konsolin kautta sudo apt-get update komennolla, jolloin auth.logia seuraava konsoli näytti:

Screenshot_2017-09-05_14-09-34

Kuvasta näkyy että ensimmäisellä rivillä on annettu komento hakeapäivityksiä, toisella ja kolmannella rivillä näkyy yhteyden avaus ja sulku

Toisen onnistuneen loki tapahtuman sain kun etsin koneen tiedot komennolla sudo lshw -short -sanitize, silloin tapahtuma näytti tältä:

Screenshot_2017-09-05_14-09-34

Tästä kuvasta käy ilmi samat asiat, mutta eri komennolle; sudo lshw -short -sanitize

c) Unelmien apt-get

Itse asensin tällä komennolla itselleni Vlc:n, gimping ja nethack-konsolin:

sudo apt-get install vlc, gimp nethack-console

d) Komentorivi ohjelmia

Päätin asentaa kolme erilaista ohjelmaa jotka ovat bastet, lynx ja vim. Annoin komennon sudo apt-get install bastet lynx vim jonka jälkeen odotin hetken asennusta.

Bastet: Avasin komennolla bastet ja hyvin näytti toimivan, liikaa neliöitä..

(Tetris jossa liikee neliöitä)

Screenshot_2017-09-05_14-58-06

Vim: Avataan komennolla vim. Aloitin kirjoittamisen :start

(Kirjoitus ohjelma)

Screenshot_2017-09-05_15-02-10

Lynx: avasin komennolla lynx ja siirryin sivulle terokarvinen.com

(Tekstipohjainen nettiselain)

Screenshot_2017-09-05_15-06-05

Päätän tehtävän klo 18:08

Linux palvelimet harjoitus 1: Linux-livetikku

Tehtävä

a) Tee oma Linux-livetikku. Kokeile sitä jossain muussa kuin koulun koneessa. Tämä kohta ei edellytä asentamista – jos kuitenkin asennat, ota ensin varmuuskopiot.

b) Listaa testaamasi koneen rauta (‘sudo lshw -short -sanitize’).

c) Asenna kolme itsellesi uutta ohjelmaa. Kokeile kutakin ohjelmaa sen pääasiallisessa käyttötarkoituksessa.

d) Mitä lisenssiä kukin näistä ohjelmista käyttää? Selitä lyhyesti, mitä oikeuksia ja velvolisuuksia tuosta lisenssistä seuraa.

e) Listaa käyttämäsi ohjelmat (esim. MS Word), kunkin ohjelman käyttötarkoitus (esim. Tekstinkäsittely) ja vastaava vapaa Linux-ohjelma (esim. LibreOffice Writer). Jos johonkin tarkoitukseen ei löydy vapaata Linux-ohjelmaa, listaa sekin.

f) Vapaaehtoinen lisätehtävä: varmuuskopioi tiedostosi (voit käyttää esimerkiksi ulkoista USB-levyä)

a) Linux-livetikun teko

Aloitin tehtävän 30.8.2017 klo 01:03 am omalla HP:n 15 Notebook Pc:llä. Aloitin menemmällä Tero Karvisen Linux palvelimet aikataulu sivulle (http://terokarvinen.com/2017/aikataulu-linux-palvelimet-ict4tn021-4-ti-ja-5-to-alkusyksy-2017-5-op) ja suuntasin sieltä lataamaan unetbootin ja xubuntun levykuvan. Xubuntun latauksessa meni noin viitisen minuuttia ja siinä samalla tutustuin unetbootin käyttöön. Valtisin unetbootissa jakelutyypin ja version, sekä laitoin täpä levykuvake kohtaa. Asennus paikka oli valmiiksi määritelty jo oikein.

dav
Asennus

Tämän jälkeen lähdin yrittämään linuxin kokeilua tikun kautta. Pienten kikkailujen jälkeen löysin tavan päästä biosiin Windows 10 koneellani: settings>Update and security>recovery>advanced startup>restart now>troubleshoot>advanced options>UEFI Firmware setting. Ohjeet tähän löysin ->https://www.youtube.com/watch?v=UPIUkPGaGys  videolta. Sieltä eksyinkin kohtaan Try Xubuntu without installation.

dav
xubuntu käynnistymässä

Sitten pitikin enään vaihtaa näppäimistö suomen kiellelle ja ollaan valmiita etenemään 🙂

b) Koneen tiedot

dav
Se RAUTA

c) Kolme uutta ohjelmaa

Ensimmäiseksi ohjelmaksi valitsin net-hack pelin joka oli esimerkkinä tero karvisen Commands for admins sivulla-> http://terokarvinen.com/2008/commands-for-admin-4 elikkä sudo apt-get install nethack-console

dav
nethack

Seuraavaksi latasin media playerin joka toimi myös, sudo apt-get install vlc

dav
Vlc media playeri

Ja viimeiseksi vielä kuvankäsittelyyn Gimp, sudo apt-get install gimp

dav
#linux

d)Lisenssit

Ohjelmat ovat käsittääkseni kaikki vapaita ohjelmia eli GNU:hun(General Public License) kuuluvia. Tarkoittaa siis että ohjelmia saa kuka vain muokata, käyttää tai vaikka jakaa jolloin sitä voi muutkin levittää eteenpäin. Täältä muistelin tunnilla jo jotain kuultua: https://fi.wikipedia.org/wiki/GNU_General_Public_License

e) Windovs vs. Linux ohjelmat

Spotify – saa myös linuxille, spotifyn sivulta ohjeet lataukseen(Musiikin kuuntelu)

Discord – Tämänkin saa ladattua Public test vaiheessa olevana(Puhekanava)

League of Legends – Ei sentään 😛 (Peli)

Windows media player?- Vlc (median toistoon)

MS office – LibreOffice

Chrome – Mozilla firefoz (Selain)

 

Tehtävä lopetettiin 04.34 väsyneenä, mutta onnistuneesti!

Tätä dokumenttia saa kopioida ja muokata GNU General Public License (versio 2 tai uudempi) mukaisesti. Halukkaille lisätietoa asiasta >> http://www.gnu.org/licenses/gpl.html