Linux palvelimet h4

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

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

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

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

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).

a)r) Kotisivut normaaleille käyttäjille

Aloitimme vuokraamalla Digital Oceanista halvimman mahdollisen vaihtoehdon virtuaalipalvelimellemme (1Gb RAM ja 25Gb kovalevy tilaa). Sieltä saimme salasanat palvelimelle mitkä vaihdoin heti. Tämän jälkeen pystyin ottamaan SSH yhteyden palvelimelleni

“ssh root@virtuaalipalvelimen ip-osoite”

Tämän jälkeen tulimuuria piti konfiguroida palvelimelle ja halusimme tehdä reiät SSH:lle ja apachelle

“sudo ufw allow 22/tcp” SSH:n käyttämä portti 22

“sudo ufw allow 80/tcp” Apache2:n käyttämä portti 80

“sudo ufw enable” Laittaa tulimuurin käyntiin.

Tämän jälkeen tein oman käyttäjän nimellä valtteri

“sudo adduser valtteri” Tekee käyttäjän valtteri

“sudo adduser valtteri sudo” Antaa käyttäjälle sudo oikeudet

“sudo adduser valtteri adm” Lisää käyttäjän admin ryhmään

“sudo adduser valtteri admin” Antaa admin oikeudet käyttäjälle

Nyt koitin toimiiko käyttäjä valtteri

“exit” Jotta SSH yhteys katkaistaan käyttäjällä root

“ssh valtteri@ip-osoite” Ja pääsin sisään

Nyt halusimme lukita root käyttäjän, se onnistuu ottamalla SSH yhteys (mikä onkin jo auki valtteri käyttäjällä) ja kirjoittamalla komento

“sudo usermod –lock root” Joka lukitsee käyttäjän root salasanan, mutta tämä ei aivan riitä koska haluamme että root käyttäjää ei ole mahdollista käyttää, haluamme että rootilla ei pysty kirjautumaan enää SSH:n sisään. Meidän pitää siis muokata SSH:n asetustiedostoja.

“sudoedit /etc/ssh/sshd_config”

Ja sieltä etsimme kohdan PermitRootLogin, johon laitamme viereen sanan “no” joten SSH yhteys tältä käyttäjältä on kielletty.

# …
PermitRootLogin no
# …

Tämän jälkeen SSH piti käynnistää uudelleen, jotta asetukset tulivat voimaan.

“sudo service ssh restart”

Jonka jälkeen vielä päivitin palvelimen

“sudo apt-get update && sudo apt-get upgrade”

s) Kotihakemistoon tallennettu sivu oletussivuna

Nyt pystyimme asentamaan palvelimelle apachen, joka onnistui komennolla

“sudo apt-get -y install apache2”

Pystyin kokeilemaan toimiko asennus menemällä “www.valtteripartanen.me” jossa näkyi nyt apachen oletussivu. En halunnut, että siellä näkyy apachen oletussivu, joten muutin oletussivun sisältöä  “Moikkamoi kotisivut näkyy vissiin” ja niin näkyi.

Apachen käyttäjämoduuli piti aktivoida, joka onnistui komennolla

“sudo a2enmod userdir”  Jonka jälkeen apache piti käynnistää uudelleen

“sudo systemctl restart apache2.service”

Tämän jälkeen tein kotihakemistooni public_html kansion ja sinne sisään tiedoston index.html

“mkdir public_html” Tekee kansion public_html

“cd public_html” Menee kansioon public_html sisään

“nano index.html” Tekee tiedoston index.html ja sinne sisään tein pienen html sivun

Nyt voin testata toimiiko käyttäjän kotihakemistoon tekemä kotisivu menemällä osoitteeseen “www.valtteripartanen.me/~valtteri”

WhatsApp Image 2018-02-13 at 13.11.22

Ja käyttäjän kotihakemistoon tehty kotisivu näkyi niinkuin pitikin. Nyt se pitäisi vielä saada näkymään oletussivuna “www.valtteripartanen.me”, joten meidän pitää muuttaa oletus asetustiedostoja.

Helpoin tapa on kopioida jo olemassa olevista oletussivuista asetustiedostot uudelle sivulle, se toimii helposti komennolla

“sudo cp /etc/apache2/sites-available/000-default.conf  /etc/apache2/sites-available/valtteripartanen.conf”

Kun sisältö oli kopioitu valtteripartanen.confiin menin hieman muokkaamaan sisältöä

“sudoedit /etc/apache2/sites-available/valtteripartanen.conf” ja lopputulos näytti kuta kuinkin tältä

WhatsApp Image 2018-02-13 at 14.12.37

Tallennetaan tiedosto ja laitetaan uusi sivu oletussivuksi ja poistetaan vanha oletussivu käytöstä.

“sudo a2ensite valtteripartanen.conf”

“sudo a2dissite 000-default.conf”

Tämän jälkeen apache piti käynnistää uudelleen jotta muutokset tulevat voimaan

“sudo systemctl restart apache2”

Sen jälkeen kokeilin näkyykö tekemäni index.html sivu oletussivuna “www.valtteripartanen.me” sivulla

WhatsApp Image 2018-02-13 at 14.16.39

Jee se toimii!

y) Palvelimelle murtautumisyritykset

WhatsApp Image 2018-02-13 at 14.20.47

Siinä näkyy auth.log “tail -f /var/log/auth.log”. Ip-osoitteesta 61.177.172.152 yritetään kirjautua sisään, mutta väärillä salasanoilla. Asensin itselleni whois, millä näkee tietoa ip-osoitteista. “sudo apt-get install whois” ja komennolla “whois 61.177.172.152” sain seuraavat tiedot:

WhatsApp Image 2018-02-13 at 14.24.39

Eli Kiinasta koitetaan murtautua palvelimelleni. Onneksi salasanani on niin vahva, että tuskin onnistuvat.

b) Paikallisten weppisivujen kopioiminen palvelimelle

Tein kaksi html sivua kotihakemistooni /home/xubuntu/public_html. Tein sinne “siirtosivu.html” ja “siirtosivu2.html”. Nyt nämä pitäisi siirtää palvelimelle ja se onnistuu komennolla “scp -r public_html valtteri@ip-osoite:public_html/”. Komennon jälkeen kysyi salasanaa ja sen annettua kertoi, että siirto on onnistunut.

Ja kävin vielä tarkistamassa, että siirto oli onnistunut ottamalla SSH yhteyden ja menemällä kansioon katsomaan näkyykö tiedostot siellä. Siellähän ne olivat.

WhatsApp Image 2018-02-13 at 14.40.49

c) Yksinkertainen PHP sivu

Palvelimelle piti asentaa vielä PHP moduuli ja se onnistui ottamalla SSH yhteys ensin palvelimeen ja sen jälkeen kirjoittamalla komennoksi

“sudo apt-get -y install libapache2-mod-php”

Tämän jälkeen PHP piti vielä mennä laittamaan asetustiedostoista päälle

“sudoedit /etc/apache2/mods-available/php7.0.conf”

WhatsApp Image 2018-02-13 at 14.50.49

Kuten kuvassa sanotaan, vikat rivit pitää laittaa # taakse (eli kommentoida), jotta PHP toimisi. Jonka jälkeen apache pitää uudelleenkäynnistää “sudo service apache2 restart”

Tämän jälkeen tein PHP tiedoston public_html kansion sisään

“cd public_html”

“nano ipphp.php”

WhatsApp Image 2018-02-13 at 14.58.51

Kuvassa näkyy mitä “ipphp.php” piti sisällään ja kuten todeta voi, se toimii kun kirjoittaa osoitteeksi “valtteripartanen.me/~valtteri/ipphp.php

Lähteet:

http://terokarvinen.com/2009/command-line-basics-4

http://terokarvinen.com/2016/new-default-website-with-apache2-show-your-homepage-at-top-of-example-com-no-tilde

http://terokarvinen.com/2017/first-steps-on-a-new-virtual-private-server-an-example-on-digitalocean

http://terokarvinen.com/2016/instant-firewall-sudo-ufw-enable

http://terokarvinen.com/2017/aikataulu-%E2%80%93-linux-palvelimet-ict4tn021-7-ti-ja-6-to-alkukevat-2018-5-op

 

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 )

w

Connecting to %s