Linux palvelimet H4

a) Laita hankkimallesi virtuaalipalvelimelle mahdollisuus tehdä kotisivuja normaalin käyttäjän oikeuksin.

Tunnilla vuokrasimme virtuaalipalvelimen Digital Oceanilta ja lukitsimme root käyttäjän sekä loimme uuden käyttäjätunnuksen, jolla on sudo oikeudet.

Käyttäjän jolla on sudo oikeudet saa luotua komennoilla

adduser.PNG

Nämä komennot luovat käyttäjän lauri ja lisäävät käyttäjän sudo, adm ja admin ryhmiin antaen oikeudet. Tällöin pystyy luomaan kotisivuja muuten kuin root käyttäjällä.

s) Laita hankkimallesi virtuaalipalvelimelle käyttäjän kotihakemistoon tallennettu sivu näkymään Apachen oletussivuna.

Seurasin linkin ohjeita ja koska minulla oli apache2 asennettuna jo valmiiksi, niin aloitin luomalla VirtualHostin komennolla “sudoedit /etc/apache2/sites-available/lauri.conf”.

virtualhost.PNG

Tämän jälkeen otin pois päältä default virtual hostin ja aktivoin juuri luomani virtualhostin, jonka jälkeen käynnistin apachen uudelleen.

virtualhostrestart.PNG

Apachen käynnistyksen jälkeen sivu toimii.

Toimii.PNG

1234.PNG

y) Etsi palvelimesi lokeista esimerkkejä murtautumisyrityksistä. Voit etsiä lisätietoa IP-osoitteista ottamatta niihin yhteyttä esimerkiksi komennoilla ipcalc, geoiplookup ja whois.

Tässä kirjautumisyritys root käyttäjälle, jonka olen ottanut pois käytöstä. Whois ohjelman perusteella yhteys on Kiinasta ja pingasin osoittetta, jolloin näkyi n. 200ms viive, eli todennäköisesti yhteys on Kiinasta peräisin.

tailauthlog.PNG

whois.PNG

ipcalc.PNG

b) Tee weppisivuja paikallisella koneellasi ja kopioi ne palvelimelle scp-komennolla.

Koska palvelimella on dns osoite niin siirron voi suorittaa kahdella osoitteella.

“scp testisiirto.html lauri@laurimattila.me:/home/lauri/public_html”

“scp testisiirto.html lauri@174.138.1.155:/home/lauri/public_html”

Kummatkin komennot tekevät saman asian eli siirtävät testisiiro.html tiedoston palvelimelle käyttäjän public_html kansioon.

c) Laita palvelimellesi jokin yksinkertainen PHP-sivu. Voit esimerkiksi tulostaa käyttäjän IP-osoitteen$_SERVER[‘REMOTE_ADDR’] tms. Ole huolellinen, jos otat vastaan syötteitä lomakkeilla (forms).

Ensimmäiseksi asensin apache2 php moduulin samalla tavalla kuin tein harjoitus 3:ssa.

Tein php sivun joka näyttää palvelimen sekä käyttäjän ip-osoitteen.

Koodi

phpkoodi.PNG

PHP sivu.

phpsivu.PNG

http://laurimattila.me/osoite.php

 

Lähteet:

http://terokarvinen.com/

 

Advertisements

Linux palvelimet H3

a) Asenna Apache, laita käyttäjien kotisivut (http://example.com/~tero) toimimaan. Testaa esimerkkikotisivulla.

Asensin apachen komennolla “sudo apt-get update && sudo apt-get install -y apache2”. Asennuksen jälkeen apache sivu aukesi kun kirjoitin osoitepalkkiin “localhost”. Screenshot_2018-02-06_15-59-31.png

Tämän jälkeen aktivoin userdir moduulin ja käynnistin apache2 uudelleen komennoilla, “sudo a2enmod userdir” “sudo systemctl restart apache2.service”.

Tämän jälkeen loin kansion public_html xubuntu käyttäjän kansioon ja sisälle loin index.html tiedoston. Katsoin koneen ip-osoitteen komennolla “ip a” Screenshot_2018-02-06_16-10-18.png

Aukasin selaimella osoitteen “http://192.168.10.58/~xubuntu/” ja sivusto aukesi. Screenshot_2018-02-06_16-01-26.png

j) Asenna LAMP (Linux, Apache, MySQL, PHP). Testaa kunkin komponentin toiminta. Testaa lopuksi kokonaisuus. (Voit aloittaa tilanteesta, jossa Linux-käyttöjärjestelmä on jo asennettu, mutta ei muita (AMP) osia.

Asensin viime tehtävä juuri apachen ja varmistin, että tämä toimii. Seuraavaksi asennan PHP osuuden. Asensin apache2 php moduulin komennolla “sudo apt-get install -y libapache2-mod-php” Tämän jälkeen suoritin komennon “sudo nano /etc/apache2/mods-enabled/php7.0.conf” ja kommentoin rivit jotka tiedostossa kerrotaan, jotta php toimii. Rivien kommentoinnin jälkeen käynnistin apachen uudelleen. Loin test.php tiedoston nanolla public_html kansioon.

Screenshot_2018-02-06_16-43-52.png

Screenshot_2018-02-06_16-42-34.png

Sivu aukesi selaimella.

Seuraavaksi asensin MySQL komennolla “sudo apt-get install -y mysql-server mysql-client”. Asennuksen aikana mysql pyysi määrittelemään salasanan ohjelmalle. Kirjauduin sisään mysql:ään ja tein tietokannan komennolla “CREATE DATABASE Tietokoneet CHARACTER SET utf8;

Screenshot_2018-02-06_17-21-37.png

 

e) Asenna ja kokeile PhpMyAdmin:a tai jotain muuta valmista weppiliittymää tietokantojen hallinnointiin.

Asensin phpmyadmin tietokantaohjelman. Kirjauduin ohjelmaan selaimella ja loin tietokannan graafisella käyttöliittymällä. Screenshot_2018-02-06_17-43-05.png

 

b) Surffaa oman palvelimesi weppisivuja. Etsi Apachen lokista esimerkki onnistuneesta (200 ok) sivulatauksesta ja epäonnistuneesta (esim 404 not found) sivulatauksesta. Analysoi rivit.Tee jokin seuraavista (yksi riittää, useampi vapaaehtoisena lisätehtävänä):

192.168.10.58 – – [06/Feb/2018:17:45:11 +0000] “GET /~xubuntu/test.html HTTP/1.1” 404 511 “-” “Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:54.0) Gecko/20100101 Firefox/54.0”

Tämä virhe tuli kun yritin avata sivun jota ei ole. Logi kertoo aluksi yhteyttä yrittäneen koneen IP-osoitteen ja kellonajan ja päivämäärän sekä aikavyöhykkeen. Apache yritti löytää sivun test.html ja antoi virheen 404 eli Not found. Logi kertoo selaimen version, yhteyttä yrittäneen tai palvelimen koneen käyttöjärjestelmän. Gecko on firefoxin moduuli kai?

i) Kuinka monta eri HTTP Status:ta (200, 404, 500…) saat aiheutettua lokeihin? Selitä, miten aiheutit tilanteet ja analysoi yksi rivi kustakin statuksesta.

192.168.10.58 – – [06/Feb/2018:18:13:20 +0000] “GET /~xubuntu/bmi.php HTTP/1.1” 200 508 “-” “Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:54.0) Gecko/20100101 Firefox/54.0”

200 Status tuli kun avasin sivun onnistuneesti.

192.168.10.58 – – [06/Feb/2018:18:13:28 +0000] “GET /~xubuntu/bmi.php?height=174&weight=80&calculate= HTTP/1.1” 500 186 “http://192.168.10.58/~xubuntu/bmi.php” “Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:54.0) Gecko/20100101 Firefox/54.0”

500 Status tuli kun yritin ajaa php skriptiä joka ei toiminut.

192.168.10.58 – – [06/Feb/2018:18:14:59 +0000] “GET /~xubuntu/testi123.html HTTP/1.1” 404 516 “-” “Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:54.0) Gecko/20100101 Firefox/54.0”

404 Status tuli kun yritin avata sivua jota ei ole.

Lähteet:

http://terokarvinen.com

https://www.digitalocean.com/community/tutorials/how-to-install-and-secure-phpmyadmin-on-ubuntu-16-04

 

Linux palvelimet H2

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

Jan 30 16:36:18 xubuntu passwd[4555]: pam_unix(passwd:chauthtok): authentication failure; logname=xubuntu uid=999 euid=0 tty= ruser= rhost= user=xubuntu

Tämä logi tuli kun yritin vaihtaa käyttäjän xubuntu salasanaa ja laitoin väärän salasanan. Login alku kertoo päivämäärän ja kellon ajan sekä käyttäjätunnuksen ja epäonnistuneen kommenon. Ilmoitus epäonnistumsesta. 4555 luku on varmaan PID.
 

Jan 30 16:37:21 xubuntu sshd[4557]: Accepted password for xubuntu from 192.168.10.58 port 48744 ssh2

Jan 30 16:37:21 xubuntu sshd[4557]: pam_unix(sshd:session): session opened for user xubuntu by (uid=0)

Jan 30 16:37:21 xubuntu systemd-logind[1692]: New session 3 of user xubuntu.

Logi on onnistuneesta kirjautumisesta sisään ssh yhteydellä. Logi kertoo päivämäärän ja kellon ajan, käyttäjätunnuksen, ohjelman ja sen PID, Salasana hyväksyttiin käyttäjältä xubuntu ip osoitteesta 192.168.10.58 lähettäjäportista 48744 ohjelmasta ssh2.

 

b) Vapaaehtoinen kohta, ei ole opetettu vielä: Asenna SSH-demoni. Kokeile omalla ssh-palvelimellasi jotain seuraavista: ssh-copy-id, sshfs, scp tai git. (Helpoin lienee scp: ‘scp foo.txt tero@example.com:’)

Asensin ssh komennolla “sudo apt-get update && apt-get install -y ssh”. Määrittelin salasanan komenolla “passwd”.

xubuntu@xubuntu:~/Documents$ scp xubuntu@192.168.10.58:/home/xubuntu/foo.txt ./

xubuntu@192.168.10.58’s password:

foo.txt 100% 6 0.0KB/s 00:00

Komento latasi foo.txt tiedoston documents kansioon jossa olin kun suoritin komennon.

 

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

Sudo apt-get update && apt-get install -y vlc ssh gimp thunderbird. Komento suorittaa pakettien päivityksen ja jos tämä onnistuu, niin asentaa ohjelmat. Jos pakettien päivitys tei onnistu niin ohjelmia ei asenneta.

 

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

Ensimmäinen ohjelma jonka asensin oli Vim joka on tekstin muokkausohjelma jolla loin tiedoston.

Seuraava oli nmap joka on portti skanneri ohjelma.

 

xubuntu@xubuntu:~$ nmap –top-ports 10 192.168.10.58

Starting Nmap 7.01 ( https://nmap.org ) at 2018-01-30 16:45 UTC

Nmap scan report for xubuntu.home (192.168.10.58)

Host is up (0.000066s latency).

PORT STATE SERVICE

21/tcp closed ftp

22/tcp open ssh

23/tcp closed telnet

25/tcp closed smtp

80/tcp closed http

110/tcp closed pop3

139/tcp closed netbios-ssn

443/tcp closed https

445/tcp closed microsoft-ds

3389/tcp closed ms-wbt-server

Nmap done: 1 IP address (1 host up) scanned in 0.04 seconds

 

Kolmas ohjelma oli ack joka toimii sama tavalla kuin grep eli pystyy etsimään vaikka tiettyjä sanoja tai kirjaimia tiedostoista.

Cat foo.txt | ack test

Linux palvelimet H1

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

Latasin xubuntu-16.04.3-desktop-amd64.iso tiedoston linkistä joka löytyy Tero Karvisen sivuilta. Tein livetikun ohjelmalla Universal USB installerilla.

UUI.PNG

Aluksi minulla oli ongelmia luoda livetikku, koska käytin UUI format vaihtoehtoa, jolloin kun ohjelma alkoi luomaan livetikkua niin tämä oli täysi. Formatoin livetikun Windowsin omalla ohjelmalla jolloin livetikun luonti onnistui.

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

xubuntu@xubuntu:~/Desktop$ sudo lshw -short -sanitize

H/W path Device Class Description

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

system System Product Name (SKU)

/0 bus P8Z77-V PRO

/0/0 memory 64KiB BIOS

/0/4 processor Intel(R) Core(TM) i7-3770K

/0/4/5 memory 32KiB L1 cache

/0/4/6 memory 256KiB L2 cache

/0/4/7 memory 8MiB L3 cache

/0/1/0 memory 8GiB DIMM DDR3 Synchronous

/0/5c memory System Memory

/0/5c/1 memory 8GiB DIMM DDR3 Synchronous

 

/0/100 bridge Xeon E3-1200 v2/3rd Gen Cor

/0/100/1 bridge Xeon E3-1200 v2/3rd Gen Cor

/0/100/1/0 display NVIDIA Corporation

/0/100/1/0.1 multimedia NVIDIA Corporation

 

/0/5/0.0.0 /dev/sda disk 480GB SSD2SC480G1SA754

/0/5/0.0.0/1 /dev/sda1 volume 447GiB Windows NTFS volume

/0/6 scsi4 storage

/0/6/0.0.0 /dev/sdb disk 500GB ST9500325AS

/0/6/0.0.0/1 /dev/sdb1 volume 465GiB Windows NTFS volume

/0/6/0.0.0/2 /dev/sdb2 volume 450MiB Windows NTFS volume

/0/7 scsi5 storage

/0/7/0.0.0 /dev/sdc disk 120GB KINGSTON SH103S3

/0/7/0.0.0/1 /dev/sdc1 volume 100MiB Windows NTFS volume

/0/7/0.0.0/2 /dev/sdc2 volume 111GiB Windows NTFS volume

 

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

Ensimmäiseksi asensin VLC media player komennolla sudo apt-get install vlc. Testasin sitä katsomalla ulkoiselta kovalevyltä videon. Kuva lähti samantien toimimaan, mutta ääniasetuksista valitsemaan kuulokkeet, jotta ääni alkoi kuulumaan.

Seuraavaksi asensin Gimp joka on kuvanmuokkausohjelma ja se käynnistyi ongelmitta.

Viimeiseksi asensin Thunderbird ohjelman joka on sähköpostiohjelma ja tämäkin käynnistyi ongelmitta.

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

VLC käyttää General public license (GNU) eli se on avoin lähdekoodi joka antaa käyttäjille luvan muokata, jakaa ja tutkia ohjelmaa.

Gimp käyttää myös General public license.

Thunderbird käyttää Mozilla public license (MPL) joka on avoin lähdekoodi lisenssi

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. (Päivitetty: korjasin tämän kohdan tunnuskirjaimen d->e)

VLC on videon katselu ohjelma joka toimii sekä Windowsilla että Ubuntulla.

Gimp on kuvankäsittelyohjelma Linuxilla, joka vastaa Windowsilla Adobe photoshop tai paint ohjelmia.

Thunderbird on sähköpostiohjelma, jonka Windowsilla vastaava ohjelma olisi laajasti käytetty Outlook.

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

Näin tekisin varmuuskopion:

cd backupdisk

tar czvf homeback.tar.gz /home/

Tämä loisi home kansion tar tiedostona backupdiskille

Lähteet:

https://en.wikipedia.org/wiki/GNU_General_Public_License

https://en.wikipedia.org/wiki/Mozilla_Public_License

Terokarvinen.com