Linux Palvelimet viikko 4

Harjoitus H4

17-09-2018

Tee nämä tehtävät alusta ja dokumentoi samalla. Tunnilla tehdyn virtuaalipalvelimen voit poistaa ja asentaa uudelleen, jotta voit dokumentoida samalla kun teet.

a) Vuokraa virtuaalipalvelin ja tee sille alkutoimet (ssh, tulimuuri, normaali sudo-käyttäjä, root lukkoon, päivitys).

b) Asenna Apache ja laita käyttäjän kotisivut näkyviin

c) Vuokraa (tai lainaa) domain-nimi osoittamaan palvelimeesi

d) Laita käyttäjän kotihakemistossa olevat sivut näkymään palvelimen etusivulla. (name based virtual hosting, default website)

e) Etsi palvelimen lokeista esimerkkejä murtautumisyrityksistä. Mistä maista ja miltä operaattoreilta murtautujat tulevat (host, geoiplookup, whois)


Suoritan tehtävät omalta pöytäkoneeltani jonka tiedot löytyvät viikolta 1. Hallittava virtuaalipalvelin on hankittu DigitalOcean:in kautta, tehoa löytyy 1 vCpu, 1gb Ram ja 25gb ssd levy. Käyttöjärjestelmänä palvelimella pyörii Ubuntu 18.04.01 LTS.

Tunnilla palvelin otettu jo onnistuneesti käyttöön ja apache saatu toimimaan, joten näiden tehtävien suorittamiseksi palvelin on palautettu defaultiksi.


a) Vuokraa virtuaalipalvelin ja tee sille alkutoimet (ssh, tulimuuri, normaali sudo-käyttäjä, root lukkoon, päivitys).

Palvelin on vuokrattu DigitalOceanin kautta, 1 vCpu, 1gb Ram ja 25gb ssd levy.

DigitalOcean - Linux Palvelimet project - Mozilla Firefox_001

Näkymä DigitalOceanissa sijaitsevan palvelimen etusivulta.

DigitalOcean Droplet Console - Mozilla Firefox_002.png

Sisäänkirjautuessa konsolin kautta virtuaalipalvelimelle näytti terminaali tältä.

Ensimmäiseksi päivitin xubuntun terminaalista komennoilla:

  • Sudo apt-get upgrade
  • Sudo apt-get update

Seuraavaksi loin reiän tulimuuriin ssh:ta varten ja varmistin että ssh demoni on käytössä. Samalla tein tulimuuriin myös reiät http liikennettä varten.

  • sudo apt-get install ssh
  • sudo ufw allow 22/tcp
  • sudo ufw allow 80/tcp
  • sudo ufw enable

Seuraavaksi loin käyttäjän “miika” jolle annoin sudon ja admin oikeudet.

  • sudo adduser miika
  • sudo adduser miika sudo
  • sudo adduser miika admin

Terminal - miika@Ubuntu-LinuxPalvelimet: ~_003

Ssh yhteys todettu toimivaksi oman xubuntuni terminaalin kautta käyttäjällä “miika”, joten seuraavaksi lukitsin root käyttäjän.

  • sudo usermod –lock root

Sekä estin root käyttäjään kirjautumisen ssh:lla.

  • sudoedit /etc/ssh/sshd_config

4.png

Kuvassa näkyvä “yes” täytyi muuttaa “no” jotta ssh yhteys rootille olisi estetty.

Muutoksen jälkeen ssh demoni täytyi käynnistää uudelleen jotta muutokset tulivat voimaan:

  • sudo service ssh restart

5.png

Muutos onnistunut, palvelin ei päästä kirjautumaan ssh:lla root käyttäjälle.


b) Asenna Apache ja laita käyttäjän kotisivut näkyviin

Asensin apache2 komennolla :

  • sudo apt-get -y install apache2

Heti alkuun korvasin apachen defaultsivun komennolla:

  • echo Defaultit VEKS! | sudo tee /var/www/html/index.html

Komennon jälkeen palvelimen kotisivu näytti tältä (ip 104.248.162.226):

Workspaces_006.png

 

Seuraavaksi loin käyttäjälleni public_html hakemiston kotihakemistoon jotta voin ajaa omia sivujani, sekä sallin omien sivujen käytön apachessa. Käytin seuraavia komentoja:

  • mkdir public_html <- hakemiston luonti
  • nano index.html <- public_html hakemistoon index tiedosto
  • sudo a2enmod userdir <- sallii omien sivujen käytön apachessa
  • systemctl restart apache2 <- tämä käynnistää apachen uudestaan jotta muutokset tulevat voimaan.

Muutosten jälkeen käyttäjän sivut löytyivät osoitteesta ” http://104.248.162.226/~miika/ “. Eli oikeuksien luonti ja public hakemisto toimi oikein.

Mozilla Firefox_001.png


 

c) Vuokraa (tai lainaa) domain-nimi osoittamaan palvelimeesi

Ohjeena tehtävän suorittamiseen käytin namecheapin sivuilta löytyvää ohjetta. https://www.namecheap.com/support/knowledgebase/article.aspx/319/2237/how-can-i-set-up-an-a-address-record-for-my-domain

Tunnilla hankkimme jo domainit namecheapin kautta. Omaksi sivukseni valikoitui ” miikazitting.me “, mutta käyttäjätunnuksen kanssa aiheutuneesta ongelmasta johtuen jouduin tehtävät suorittamaan toisella käyttäjällä ja namecheapilta ostamallani domainilla ” harjoitukset.website “. Alkuperäisen käyttäjäni ja domainin kohtalo on vielä namecheapin supportin käsissä ja suoritan kyseiset tehtävät vielä myöhemmin uudestaan oikealle domainilleni.

Namecheapin dashboardissa Domains, sieltä löytyi täppä ” Manage ” domainini kohdalla. Manage valikossa siirryin “Advanced DNS” osioon ja sieltä poistin olemassa olevat recordit painamalla “X “. Loin 2 uutta recordia, @ ja www recordit palvelimeni IP osoite hostiksi.

Päivitysten käyttöönotto kesti namecheapilla 30 min joten kerkesin suorittamaan seuraavan osion tehtävistä ja raportoin tämän osion testit loppuun.


 

d) Laita käyttäjän kotihakemistossa olevat sivut näkymään palvelimen etusivulla. (name based virtual hosting, default website)

 

Jotta saan domainini hakemaan sivut palvelimeni public_html kansiosta täytyi apachen sites available kansioon tehdä muutoksia.

Loin tekstitiedoston ” harjoitukset.website.conf ” johon sisälle laitoin seuraavan tekstin:

<VirtualHost *:80>
ServerName harjoitukset.website
ServerAlias http://www.harjoitukset.website

DocumentRoot /home/miika/public_html/

<Directory /home/miika/public_html>
Require all granted
</Directory>
</VirtualHost>

Tämä tekstitiedosto täytyi vielä laittaa korvaamaan sites-available kansiosta ” 000-default.conf ” tiedosto ja se onnistui seuraavilla komennoilla:

  • sudo a2ensite harjoitukset.website
  • sudo a2dissite 000-default.conf
  • systemctl restart apache2

Ensimmäinen enabloi harjoitukset.website sivuston palvelimen oletussivuksi. A2dissite komento disabloi 000-default.conf tiedostosta löytyvät asetukset oletussivusta. Näiden jälkeen täytyi ajaa restart jotta muutokset tulivat voimaan.

Sivu löytyy ja toimii nyt osoitteella harjoitukset.website

Sivusto näytti muutosten jälkeen tältä:

Mozilla Firefox_002.png

Tästä pystyin päättelemään että domain-nimi on onnistuneesti laitettu osoittamaan palvelinta.


e) Etsi palvelimen lokeista esimerkkejä murtautumisyrityksistä. Mistä maista ja miltä operaattoreilta murtautujat tulevat (host, geoiplookup, whois)

Jotta pystyin selvittelemään murtautumisyrittäjien lokaatiot Ip osoitteen perusteella asensin terminaalissa toimivan Geoiplookupin:

  • sudo apt-get -y install geoip-bin

Seurasin auth.logia joka löytyy /var/log/auth.log komennolla:

  • tail -f auth.log

Terminal - miika@Ubuntu-LinuxPalvelimet: -var-log_003.png

Kuten kuvasta näkyy palvelimellani on ollut useita murtautumisyrityksiä samasta ip-osoitteesta.

Geoiplookup näytti hyvin suppeasti tietoa ip-osoitteen perusteella :

  • GeoIP Country Edition: CN, China

Joten päädyin käyttämään komentoa “whois” joka vaati paketin asennuksen komennolla:

  • sudo apt-get -y install whois

Whois antoi jo huomattavasti enemmän tietoa tunkeutujasta joka näytti tältä;

Terminal - miika@Ubuntu-LinuxPalvelimet: -var-log_005.png

Murtautuja oli Kiinan Pekingistä ja operaattorina toimi CHINANET.


 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s