h4

Tässä neljännen oppitunnin tehtäväpalautus:

 

H4

Tehdään tehtäväkohdat a, s, y, b ja c, jotka löytyvät osoitteesta https://terokarvinen.com/2017/aikataulu—linux-palvelimet-ict4tn021-7-ti-ja-6-to-alkukevat-2018-5-op#h4

a) Tämän kohdan ehdin tehdä jo oppitunnilla, mutta käydään lyhyesti läpi, miten asia hoidetaan.

Oletetaan, että apache2 weppipalvelin on jo asennettu ja todettu toimivaksi siten, että oletussivu näkyy.

Ensiksi luodaan käyttäjän kotihakemistoon kansio public_html, jonka sisään tallennetaan index.html -tiedosto. Tiedostoon on hyvä kirjoittaa jotain, että tiedetään myöhemmin, että tiedosto oikeasti luetaan ja toimii.

Tämän jälkeen komentoriville annetaan komento sudo a2enmod userdir. Komento kytkee päälle apache2 moduulin userdir, eli käyttäjähakemistot. Webpalvelin täytyy käynnistää tämän jälkeen uudestaan komennolla sudo systemctl restart apache2.service. Tämän jälkeen sivuja voidaan kokeilla paikallisesti osoitteessa localhost/~käyttäjä. “Ulkopuolelta” testattaessa käytetään ip-osoitetta. Omassa tilanteessani käyttäisin siis osoitetta 159.89.5.3/~miikkb. Myös miikkavaltonen.com/~miikkb toimisi, sillä domain on yhdistetty osoitteeseen.

Jos aiemmin index.html tiedostoon kirjoitettu teksti ilmestyy selaimeen, sivu toimii ja käyttäjät pystyvät luomaan sivuja omilla oikeuksillaan.

s) Myös tämän kohdan ehdin tehdä tunnilla, mutta käydään prosessi läpi.

Lähdetään suorittamaan tehtävää tilanteesta, mihin edellinen tehtävä päättyi, eli käyttäjien sivut ja apachen oletussivu toimivat.

Ensiksi navigoidaan hakemistoon /etc/apache2/sites-available. Kansiosta löytyy oletuksena tiedostot 000-default.conf ja default-ssl.conf. Emme koske näistä kumpaankaan, vaan luomme uuden tiedoston komennolla sudo nano Miikkb.example.com.conf. Tiedoston voisi nimetä miten vaan, mutta sen täytyy päättyä .conf -päätteeseen.

Ymmärtääkseni tiedosto tavallaan kertoo, mistä oletussivu haetaan, ja missä tapauksissa se näytetään.

ServerName ja ServerAlias voivat käsittääkseni olla myös tietokoneen ip-osoitteita, mikäli domainia ei ole.

DocumentRoot kertoo, mistä näytettävä sivu haetaan. Tässä tapauksessa se haetaan käyttäjän kotikansiosta, /home/miikkb/publicSite. Kansioon tulee tehdä index.html tiedosto, mikä tehdään myöhemmin.

<Directory /home/miikkb/publicSite/> ja require all granted liittyvät ehkä oikeuksiin, mutta tästä en ole laisinkaan varma. Joka tapauksessa, kun tiedosto on tehty, voimme tallentaa tiedoston ja poistua nanosta.

Siirrytään kansioon /etc/apache2/sites-enabled. Kansio sisältää tiedostot jotka ovat palvelimella käytössä. On hyvä huomata, että kansio ei oikeasti varsinaisesti sisällä tiedostoja. Komennolla ls -l näemme, että tiedostot ovat oikeasti linkkejä, eli viitteitä muualla sijaitseviin tiedostoihin.

miikkb@jeesus:/etc/apache2/sites-enabled$ ls -l

total 0

lrwxrwxrwx 1 root root 42 Feb 6 15:15 Miikkb.example.com.conf -> ../sites-available/Miikkb.example.com.conf

Tiedosto siis haetaan kansiosta sites-available, mihin se aiemmin tehtiin. Jotta tiedosto saadaan käyttöön, on annettava komentoriville komento sudo a2dissite 000-example.conf. Komennolla poistetaan tiedoston linkki sites-enabled kansiosta. Tämän jälkeen kytketään aiemmin luotu sivu käyttöön komennolla sudo a2ensite Miikkb.example.com.conf. Lopuksi palvelin täytyy käynnistää vielä uusiksi komennolla sudo systemctl restart apache2.service.

Kun palvelin on käynnistetty uudestaan, siirrymme takaisin käyttäjän kotihakemistoon. Luodaan komennolla mkdir publicSite. Kansioon luodaan tiedosto index.html komennolla nano index.html. Tiedostoon on hyvä kirjoittaa jokin testiviesti, jotta nähdään että sivu toimii.

y) Seuraavaksi etsitään jälkiä murtautumisyrityksistä. Jälkiä löytyy helposti hakemistosta /var/log tiedostosta ufw.log. Avataan tiedoston viimeisimmät merkinnät komennolla tail -f ufw.log.

Feb 12 13:39:56 jeesus kernel: [528560.363534] [UFW BLOCK] IN=eth0 OUT= MAC=32:ae:f6:0d:16:0c:40:a6:77:34:67:f0:08:00 SRC=85.93.20.34 DST=159.89.5.3 LEN=40 TOS=0x00 PREC=0x00 TTL=250 ID=58493 PROTO=TCP SPT=52216 DPT=63387 WINDOW=1024 RES=0x00 SYN URGP=0

Feb 12 13:40:01 jeesus kernel: [528565.440320] [UFW BLOCK] IN=eth0 OUT= MAC=32:ae:f6:0d:16:0c:40:a6:77:34:67:f0:08:00 SRC=152.250.43.19 DST=159.89.5.3 LEN=40 TOS=0x00 PREC=0x00 TTL=235 ID=45793 PROTO=TCP SPT=33348 DPT=23 WINDOW=14600 RES=0x00 SYN URGP=0

Feb 12 13:40:29 jeesus kernel: [528592.811926] [UFW BLOCK] IN=eth0 OUT= MAC=32:ae:f6:0d:16:0c:40:a6:77:4f:3f:f0:08:00 SRC=112.241.205.54 DST=159.89.5.3 LEN=40 TOS=0x00 PREC=0x00 TTL=47 ID=1214 PROTO=TCP SPT=5245 DPT=23 WINDOW=3941 RES=0x00 SYN URGP=0

Yhteyttä ottavat ip-osoitteet ovat 85.93.20.34, 152.250.43.19 sekä 112.241.205.54.

85.93.20.34 on geoiplookupin mukaan Saksasta, 152.250.43.19 on Brasiliasta ja 112.241.205.54 on Kiinasta. Lokiin tulee merkintöjä melko usein lähes satunnaisista maista ja osoitteista. Tällä hämäräveikot yrittävät löytää huonosti suojattuja tietokoneita.

Lisäksi voimme tarkistaa /var/log hakemistossa sijaitsevan auth.login, mistä näemme osoitteiden lisäksi käyttäjänimiä, joina tunkeutujat yrittävät kirjautua. Nimiä on loputtomasti, mutta nostetaan esiin vaikka root, filip, alexander sekä zap. Nimet ovat siis käyttäjänimiä, joilla tunkeutujat yrittävät kirjautua tietämättä mitään tietokoneen oikeista käyttäjistä tai salasanoista.

b) Kohdassa b kokeillaan scp:n käyttöä. Scp:tä käytetään palvelinten väliseen tiedostokopiointiin.

Tehtävänä on luoda sivu paikallisella tietokoneella ja kopioida se virtuaalipalvelimeen.

Käytän testisivuna aikaisemmissa palautuksissa tehtyä lyhyttä ohjelmapätkää, mikä asettaa numeroita jonoon. Tallensin tiedoston kansioon /home/mvaltonen/public_html nimellä index.html. Seuraavaksi yritetään kopioida tiedosto virtuaalipalvelimelle kansioon /home/miikkb/public_html.

Scp:n käyttö ei ole minulle tuttua, joten vilkaisen Scp:n manuaalia komennolla man scp. Manuaali ei kuitenkaan paljon lohduttanut, joten selaan netistä käyttöohjeita. Löysin hyvät ohjeet sivulta http://www.hypexr.org/linux_scp_help.php. Sivusto kertoo komentojen käytön yksityiskohtaisesti, mikä on hyvä, sillä tiedostoja on helppo tuhota kopioimalla niitä miten sattuu.

Sivuston mukaan käytettävä komento olisi siis scp index.html miikkb@miikkavaltonen.com:/home/miikkb/public_html. Laitetaan sormet ristiin, ja kokeillaan kuinka käy.

Komentorivi kysyi virtuaalipalvelimen käyttäjän salasanaa, minkä jälkeen siirto tapahtui hämmästyttävän nopeasti.

mvaltonen@kissa:~/public_html$ scp index.html miikkb@miikkavaltonen.com:/home/miikkb/public_html

miikkb@miikkavaltonen.com’s password:

index.html 100% 758 0.7KB/s 00:00

Ennen kokeilemista mielessäni kävi ajatus siitä, että pitäisikö komento sudottaa, mutta jätin kuitenkin kokeilematta, sillä kopiointi tapahtuu käyttäjän kotihakemistossa, missä lisäoikeuksia ei pitäisi tarvita.

Nyt kun kopiointi on valmis, tarkistan onko tiedosto kopioitunut oikein. Virtuaalipalvelimen kansiosta public_html löytyy identtinen tiedosto. Kopioimalla sen publicSite tiedostoon komennolla cp index.html /home/miikkb/publicSite saan sen näkymään suoraan osoitteessa miikkavaltonen.com. Scp:n käyttö on siis onnistunut.

c) Viimeisenä tehtävänä lisätään palvelimelle lyhyt PHP-sivu. Kuten aiemmissa palautuksissa, täytyy virtuaalipalvelimelle asentaa apachen php-moduuli komennolla sudo apt-get install libapache2-mod-php. Lisäksi apachen asetuksista täytyy sallia PHP:n käyttö käyttäjien sivuilla. Tämä onnistuu hakemistosta /etc/apache2/mods-available tiedostosta php7.0.conf.

Tiedostosta on tärkeä kommentoida alimmat 5 riviä laittamalla # rivin eteen. Muuta ei tarvitse muokata. Tämän jälkeen apache täytyy käynnistää uudelleen komennolla sudo systemctl restart apache2.service. Seuraavaksi voimme palata kotihakemistoon, publicSiteen ja muuttaa index.html tiedoston päätteen php:ksi, komennolla mv index.html index.php.

Lisään aikaisemmin scp:llä kopioituun tiedostoon tekstipätkän:

Here is your IP-address:

<?php $_SERVER[‘REMOTE_ADDR’] ?>

Testatessani sivua IP-osoite ei kuitenkaan näy. Konsultoin vähän kaveriani, joka tuntee PHP:n paremmin kuin minä, ja hän muistutti minua siitä, että osoite täytyy tietenkin echota näkyviin. Nykyiselläänhän komento vain kerää osoitteen eikä tee sillä mitään. Muokataan siis PHP-koodia seuraavasti:

Here is your IP-address:

<?php echo $_SERVER[‘SERVER_ADDR’] ?>

Ja sivuhan toimii. Sivu siis tulostaa käyttäjän IP-osoitteen.

h3

H3 a) Apache asennettiin jo viime oppitunnilla. Sen toiminen voidaan tarkistaa kirjoittamalla selaimeen osoite localhost. Selaimeen ilmestyy valkoinen sivu, jossa on teksti Hello world! Sivu siis toimii. Seuraavaksi voimme tarkistaa käyttäjien sivujen toiminnan lisäämällä localhostin perään \~mvaltonen, jolloin koko osoite on siis localhost\~mvaltonen. Sivustolle tulee … Continue reading h3

h2

H2 a) Ensimmäisenä tehtävänä on aiheuttaa lokitiedostoihin merkintöjä ja analysoida niitä. Avaan ensimmäiseksi lokitiedoston avaamalla tuore terminaali painamalla windows -näppäintä ja t. Päästäkseni lokitiedostoon, hyppään kahdesti ylempään kansioon komennolla cd .. Komento cd, eli change directory, mahdollistaa kansioiden välillä siirtymisen. Merkintä .. tarkoittaa, että haluamme … Continue reading h2

h1

Tässä kurssin ensimmäinen tehtäväpalautus:

a) Ensiksi haetaan 64-bittinen versio Xubuntun levykuvasta osoitteesta https://xubuntu.org/download. Kuvan voi ladata torrenttina tai mirroreista, tässä tapauksessa lataamme mirrorista. Tiedosto, jonka haluamme on xubuntu-16.04.3-desktop.amd64.iso.

Seuraavaksi käytetään livetikun luomiseen Rufusta, löytyy osoitteesta https://rufus.akeo.ie.

Ohjelmasta ei tarvitse muuttaa muuta, kuin että painetaan FreeDOS lista auki, ja valitaan siitä ISO-kuva. Sen jälkeen painetaan viereistä painiketta ja valitaan ladattu kuva.

Aloita -painiketta painettaessa ohjelma kysyy, että ladataanko ldlinux.sys ja lxlinux.bss internetistä, sillä niitä tarvitaan. Livetikkua ei voida tehdä muuten, joten valitaan Kyllä.

Seuraavaksi ohjelma kysyy, että kirjoitetaanko kuva ISO-kuvana vai DD-kuvana. Valitaan meille tutumpi ISO-kuva.

Lopuksi ohjelma vielä varoittaa tikun alustamisesta.

Testasin tikkua omalla kotikoneella sekä koululäppärillä, live preview toimi molemmissa tapauksissa, joten julistetaan tikku toimivaksi.

b) Listataan koululäppärin rauta komennolla sudo lshw -short -sanitize.

Terminaali kysyy pääkäyttäjän salasanaa, kuten aina sudo komentoja tehdessä.

H/W path Device Class Description

=======================================================

system HP ProBook 6570b (A5E64AV)

/0 bus 17AB

/0/c memory 64KiB BIOS

/0/0 processor Intel(R) Core(TM) i5-3230M CPU @ 2.6

/0/0/2 memory 32KiB L1 cache

/0/0/3 memory 256KiB L2 cache

/0/0/4 memory 3MiB L3 cache

/0/1 memory 32KiB L1 cache

/0/5 memory 8GiB System Memory

/0/5/0 memory 4GiB SODIMM DDR3 Synchronous 1600 MH

/0/5/1 memory 4GiB SODIMM DDR3 Synchronous 1600 MH

/0/100 bridge 3rd Gen Core processor DRAM Controll

/0/100/2 display 3rd Gen Core processor Graphics Cont

/0/100/14 bus 7 Series/C210 Series Chipset Family

/0/100/14/0 usb3 bus xHCI Host Controller

/0/100/14/0/2 input Microsoft Nano Transceiver 1.1

/0/100/14/1 usb4 bus xHCI Host Controller

/0/100/16 communication 7 Series/C210 Series Chipset Family

/0/100/19 enp0s25 network 82579V Gigabit Network Connection

/0/100/1a bus 7 Series/C210 Series Chipset Family

/0/100/1a/1 usb1 bus EHCI Host Controller

/0/100/1a/1/1 bus Integrated Rate Matching Hub

/0/100/1a/1/1/3 multimedia HP HD Webcam [Fixed]

/0/100/1b multimedia 7 Series/C210 Series Chipset Family

/0/100/1c bridge 7 Series/C210 Series Chipset Family

/0/100/1c.1 bridge 7 Series/C210 Series Chipset Family

/0/100/1c.2 bridge 7 Series/C210 Series Chipset Family

/0/100/1c.2/0 bus IEEE 1394 Host Controller

/0/100/1c.2/0.1 generic SD/MMC Host Controller

/0/100/1c.2/0.2 generic Standard SD Host Controller

/0/100/1c.3 bridge 7 Series/C210 Series Chipset Family

/0/100/1c.3/0 wlo1 network BCM43228 802.11a/b/g/n

/0/100/1d bus 7 Series/C210 Series Chipset Family

/0/100/1d/1 usb2 bus EHCI Host Controller

/0/100/1d/1/1 bus Integrated Rate Matching Hub

/0/100/1d/1/1/6 generic BCM20702A0

/0/100/1f bridge HM76 Express Chipset LPC Controller

/0/100/1f.2 storage 7 Series Chipset Family 6-port SATA

/0/2 scsi0 storage

/0/2/0.0.0 /dev/sda disk 500GB HGST HTS725050A7

/0/2/0.0.0/1 /dev/sda1 volume 487MiB Linux filesystem partition

/0/2/0.0.0/2 /dev/sda2 volume 465GiB Extended partition

/0/2/0.0.0/2/5 /dev/sda5 volume 465GiB Linux filesystem partition

/0/3 scsi1 storage

/0/3/0.0.0 /dev/cdrom disk DVD-ROM UJ8D1

/1 power CC06055XL

c) Seuraavaksi asennetaan kolme opiskeluun enemmän tai vähemmän hyödyllistä ohjelmaa.

Aloitetaan Libre Officesta.

Avataan terminaali, ja kirjoitetaan komento sudo apt-get install libreoffice. Asennuksen mukana asentuu automaattisesti mm. Writer, Math sekä Calc. Paketti vastaa siis hyvin Microsoftin Office-pakettia.

Asennuksen valmistuttua siirrytään käyttämään LibreOffice Writeria GEditin sijaan ennen kuin teksti siirretään blogiin, jotta saadaan oikea käyttötapaus ohjelmalle.

Seuraavana asennetaan kuvankäsittelyyn Gimp. Asennus tapahtuu terminaalin kautta komennolla sudo apt-get install gimp. Asennuksen jälkeen piirretään testinä kuva.

 

Viimeisenä asennetaan videotoistoa varten VLC komennolla sudo apt-get install vlc.

d) Käydään läpi asennettujen ohjelmien käyttölisenssejä.

LibreOffice on julkaistu Mozilla Public License 2.0 -lisenssillä.

Tämä tarkoittaa sitä, että käyttäjällä on oikeudet myydä, muokata sekä jakaa ohjelmistoa vapaasti.

Lisenssisopimus pitää myös huolen siitä, ettei LibreOfficen kehittäjiä voida asettaa vastuuseen muiden tekemistä töistä.

Käyttäjän on myös pakko sisällyttää alkuperäinen ohjelmisto, kunnioittaa tekijänoikeutta, sekä ilmoittaa alkuperäisestä lähteestä ja kehittäjästä.

Gimp on julkaistu Creative Commons Attribution-ShareAlike 4.0 International -lisenssillä.

Tämä tarkoittaa sitä, että ohjelmistoa saa käyttää kaupallisesti, sitä saa levittää, muokata sekä nimetä uudestaan. Jatkokehittäjän on kuitenkin pakko mainita alkuperäinen kehittäjä, sisällyttää alkuperäinen tekijänoikeus, sekä erottaa omat muokkaukset alkuperäisestä työstä.

VLCn kehittäjän lisenssisivu on hieman epäselvä, mutta ilmeisesti ohjelmisto on julkaistu GNU General Public License v2.0 -lisenssillä.

Tämä tarkoittaa sitä, että tuotetta voi käyttää vapaasti mihin vaan. Ohjelmistoa levitettäessä on kuitenkin sisällytettävä alkuperäinen tuote sekä jakaa lähdekoodi. Jatkokehitelty ohjelmisto on julkaistava myös GNU General Public License v2.0 -lisenssillä.

e) Seuraavaksi listataan muutama Windows ohjelma, ja kullekin Linux vastine.

Windows Linux Käyttötarkoitus

Paint.net GIMP Kuvankäsittely

VLC VLC Videotoisto

Sony Vegas Pro 14 ? Videoeditointi

Audacity ? Äänenmuokkaus