Linux Palvelimet: Harjoitus 7 raportti

Tässä postauksessa raportoin Tero Karvisen Linux Palvelimet-kurssin tehtävää 7.

Käyttämäni tietokone on HP:n 655 G1 läppäri ja käyttiksenä Xubuntu 16.04 LTS livetikulta.

Raportin aloitus klo 20.56 13.3.2018

~~~~~~~~~~~~~~~~~~~~~~~~~~~~

a) Ratkaise valitsemasi vanha arvioitava laboratorioharjoitus tältä kurssilta.

Päädyin vuoden 2017 alkukevään labraan.

Php kotisivut etäältä

Tähän tarvitaan apache, php ja ssh. Aloitetaan asentamalla apache ja ssh

$ sudo apt-get install -y apache2 ssh

Laitetaan käyttäjien hakemistot toimimaan

$ sudo a2enmod userdir
$ sudo systemctl restart apache2.service

Lisätään php apacheen

$ sudo apt-get install -y libapache2-mod-php

Laitetaan se toimintaan kommentoimalla <IfModule> pois ja käynnistetään apache uudelleen

$ sudo nano /etc/apache2/mods-enabled/php7.0.conf #kommentoidaan viimeset rivit pois
$ sudo systemctl restart apache2.service

Testataan toimivuus tekemällä nopea php-sivu, joka tulostaa “Hello world”.

$ mkdir public_html
$ nano index.php # sisään <?php print("Hello world!"); ?>

Selaimeen localhost/~xubuntu ja todetaan toimivaksi.

Testataan ssh

$ passwd xubuntu # ssh vaatii salasanan
$ ssh xubuntu@localhost

Toimii.

Käyttäjät ja kaikille HTML5-esimerkkikotisivut joiden otsikoissa lukee omistajan käyttäjätunnus

Tehdään /etc/skel/-hakemistoon uusi public_html-kansio ja sinne index.html tiedosto perus html-pohjalla

$ cd /etc/skel/
$ sudo mkdir public_html
$ cd public_html
$ sudoedit index.html

Nyt uuden käyttäjän luodessa kotihakemistoon pitäisi tulla public_html-hakemisto josta löytyy perushtml-sivu.

Asennetaan pwgen salasanoja varten, tehdään salasanat.txt niitä varten, muokataan sen oikeudet ja tehdään käyttäjät

$ nano salasanat.txt
$ chmod go-rwx salasanat.txt
$ nano salasanat.txt # auki toiseen ikkunaan
$ pwgen 20 8 -s # 20-merkkisiä salasanoja 8kpl jotka otan ylös salasanat.txt-tiedostoon
$ sudo adduser käyttäjä # kaikille käyttäjille

Koska Maija Virtasesta haluttiin sudottaja annetaan hänelle parit oikeudet

$ sudo adduser maija sudo
$ sudo adduser maija adm

Muokaataan käyttäjien index.html-tiedostoon oma käyttäjänimi titleen

$ sudoedit /home/käyttäjä/public_html/index.html # korvaa "käyttäjä" käyttäjän tunnuksella

Pekalle oma tietokanta ja php-sivu joka näyttää tietuetta tietokannasta

Tehdään MySQL:lle salasana, asennetaan se ja php-mysql

$ pwgen 20 1 -s # pistetään ylös salasanat.txt-tiedostoon
§ sudo apt-get install -y mysql-client mysql-server php-mysql

Luodaan “Hei maailma”-tietokanta Pekalle (Kiitokset Miikalle hyvästä ohjeesta)

Ensin Pekalle oma tietokanta ja siihen oikeudet

$ mysql -u root -p
mysql> CREATE DATABASE phurm CHARACTER SET utf8;
mysql> GRANT ALL ON phurm.* TO phurm@localhost IDENTIFIED BY 'salasana';
mysql> exit

Kirjaudutaan Pekkana sisään

$ mysql -u phurm -p

Sisällä ollaan! Tehdään table ja muutama rivi

mysql> CREATE TABLE memet(id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(1024));
mysql> INSERT INTO memet(name) VALUES ('Pepe');
mysql> INSERT INTO memet(name) VALUES ('Doggo');
mysql> INSERT INTO memet(name) VALUES ('Pupper');

Testataan miltä näyttää: SELECT*FROM memet;

mysql.png

Muokataan Pekan index.html index.php:ksi, joka näyttää tietokannan

$ ssh phurm@xubuntu
$ cd public_html
$ mv index.html index.php
$ nano index.php

Lisätään sinne koodi jonka saa haettua Teron ohjeesta ja testataan surffaamalla localhost/~phurm. Ei toimi, käynnistetään apache uudestaan ja kokeillaan sen jälkeen.

mysqlphurm.png

Jormalle sleep.example.com

Kopioidaan 000-default.conf ja tehdään sleep.example.com.conf

$ cd /etc/apache2/sites-available/
$ sudo cp 000-default.conf sleep.example.com.conf
$ sudoedit sleep.example.com.conf

Muokataan:

Ja otetaan turhat pois (pidetään vain lokeihin liittyvät)

Laitetaan sivu päälle

$ sudo a2ensite sleep.example.com.conf

Muokataan hosts tiedostoa, lisätään sinne rivi: ip.os.oi.te sleep.example.com

$ sudoedit /etc/hosts

Käynnistetään apache uudelleen

$ sudo systemctl restart apache2.service

Testataan

 

jmahk.png

Tulimuuri

Lisätään oikeat reiät ja lopuksi päälle

$ sudo ufw allow 22/tcp
$ sudo ufw allow 80/tcp
$ sudo ufw enable

Tee uusi komento wowstats joka näyttää tietoja koneen tilasta, joka toimii jokaisella käyttäjällä työhakemistosta riippumatta

Asennetaan sysstat

$ sudo apt-get install -y sysstat

Conffataan se kuntoon

$ sudoedit /etc/default/sysstat # ENABLED false:sta true:ksi

Laitetaan sysstat päälle

$ sudo systemctl start sysstat

Tehdään komento hakemistoon /urs/local/bin

$ nano wowstat

Lisätään seuraavat rivit

#!/bin/bash/
sar -P ALL
iostat
pidstat

Annetaan oikeudet kaikille suorittaa ja kopioidaan se oikeaan paikkaan

$ sudo chmod a+x wowstat
$ sudo cp wowstat /usr/local/bin/

Kokeillaan jollain käyttäjistä

$ ssh rsmit@xubuntu
$ wowstat

wowstat

Uudelle ylläpitäjälle

Viimeiseksi lähetetään salasanat.txt myös uudelle ylläpitäjälle

$ scp salasanat.txt maija@xubuntu:

Nyt pitäisi olla kaikki tehtynä.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 b) Kaikki tehtävät arvioitavaksi

Linkki kaikkiin tehtäviin https://roopelinux.wordpress.com/posts/

~~~~~~~~~~~~~~~~~~~~~~~~~~~~

c) (vapaaehtoinen) Käytä Linuxia kurssin ulkopuolella.

Tein itseasiassa tälläisen viikko sitten: Hosting a Discord bot on Ubuntu 16.04 LTS

~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Raportin lopetus klo 0.58 14.3.2018

~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Lyhyt pohdinta

Sain testilabraharjoituksen mielestäni ihan hyvässä ajassa valmiiksi (pidin jopa muutaman pienen tauon jota en merkinnyt) ja oletan, että kurssista tulee hyvä numero jos en sössi täysin kokeessa.

Väittäisin osaavani huomattavasti enemmän Linuxista (pohjana pienehkö projekti ja käyttö entisessä koulussa). Kurssin tavoitteet ovat mielestäni hallussa ja olen erittäin innokkaana lähdössä Palvelinten hallinta- sekä Pentesting-kurssille.

Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

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