Linux-palvelimet, harjoitus 4

Tehtävät tehty Tero Karvisen “Linux-Palvelimet”-kurssille.

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.

Otin itselleni Amazon Lightsail-virtuaaliserverin koekäyttöön (ilmaiseksi) kuukaudeksi, kun DigitalOcean lukitsi tilini välittömästi tilin luonnin jälkeen. Kun ilmainen kuukauteni Lighsaililla päättyy, olen suunnitellut vaihtavani Linodelle, olettaen etten ole siihen mennessä saanut keskusteluyhteyttä DigitalOceanille auki.

Virtuaalikoneen avaaminen Amazonilla oli helppoa – muutamaa nappia painamalla sain käynnistettyä virtuaalikoneen, jossa on asennettuna Ubuntu ja kaikki toimii. Koneelle on jo tehty sudolla varustettu käyttäjänimi nimeltään “ubuntu”, jolle kirjaudutaan käyttäen avainta jonka Amazon antaa ladattavaksi.

 

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

Minulla on ollut jo reilut puoli vuotta GitHub Educationin kautta NameCheapilta hankittu .me-domain. Aikaisemmin domainin takana asua laiska ratkaisu: webhotelli, jossa pyörii LAMPin päällä äärimmäisen yksinkertainen, staattinen portfoliosivu. Tämä koska vielä päädyin tähän ratkaisuun, virtuaalipalvelimet ja oma Linux-palvelin olivat enemmän tai vähemmän vieraita ja hinta oli halpa. Tämän tehtävän innoittama asetinkin dev.jerenurminen.me-URLin osoittamaan omalle virtuaalipalvelimelleni. Tämä ei vaatinut muuta kuin yhden asetuksen lisäämistä NameCheapin sivuilla:

s) Laita julkiselle palvelimellesi käyttäjän kotihakemistoon tallennettu sivu näkymään Apachen oletussivuna.

Lähdin ratkomaan tätä tehtävää navigoimalla ensin Apachen asetusten luokse (/etc/apache2/). Tässä kohtaa tajusin, ettei minulla ole mitään havaintoa siitä, mihin lukuisista .conf-tiedostoista muutoksia pitäisi tehdä. Selvitin asian grepillä:

Tästä päättelin että 000-default.conf olisi todennäköisin muutos, ja muutin sieltä DocumentRoot-rivin:

Nyt kun DocumentRoot oli asetettu osoittamaan käyttäjän kotihakemistoon, toimii se http://dev.jerenurminen.me-urlin defaulttina vaikkei sijaitsekkaan systeemin default-sijainnissa. (Tietenkin Apachen uudelleenkäynnistyksen jälkeen)

Kun testasin sivua myös https-yhteydellä, huomasin että silloin sivu ohjasi edelleen vanhaan DocumentRoottiin. Vaihdoin yllä olevan rivin myös  000-default-le-ssl.conf-tiedostoon, ja restartin jälkeen tämäkin toimi… melkein:

Mitä ilmeisimmin suuri osa WordPressin tarvitsemista asseteista (skriptejä, tyylejä ja kuvia) ei tulekkaan niin helposti “turvallisesti”. Koska kyseessä on vain testisivu ja sain tämän toimimaan perinteisellä http-yhteydellä, anna asian toistaiseksi olla.

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

Tässä näemme auth.logista mutamia rivejä joissa eri IP-osoitteista on koetettu ottaa yhteyttä palvelimeenio sekä ilman käyttäjänimeä että käyttäjänimellä. Rivit muodostuvat saeuraavasti: Alussa on kellonaika (GMT +0), tämän jälkeen prosessi ja sen id. Tämän jälkeen tulee itse tapahtuma: Suurimmassa osassa tapahtumista samasta IP-osoitteesta (ja portista) on tullut peräkkäin kaksi disconnectia ennen tunnistautumista (preauth). Ylimmällä kahdella rivillä on yritetty kirjautua käyttäjänimellä ‘waski’. Tämä yritys oli hylätty hetki, koska waski-nimistä käyttäjää ei ole. Samaa oli yritetty lukuisilla eri käyttäjänimillä (admin, root, test…).