Arvioitava labraharjoitus


Päivän agendana on tehdä vanha laboratorioharjoitus. Aloitan tehtävät klo 22:00.

## LAMP Asenna LAMP (Linux, Apache, MySQL, PHP) ja testaa sen toiminta. 
## Kuormitusta Kerää kuormitustietoja koneelta koko harjoituksen ajalta. Analysoi tiedot tiiviisti aivan harjoituksen lopuksi.
## Sorkka ja Rauta Oy:n CRM Tarvitsemme asiakastietokannan. Tee tietokanta, jossa on seuraavat asiakkaat: - Kulta ja Kaivos ky - Piilosana ry - MetalliMake Tee PHP-ohjelma, joka lukee nämä tietueet. Laita tämä sivu näkyviin osoitteessa http://sorkkacrm.example.com Voit simuloida nimipalvelun toimintaa hosts-tiedoston avulla. Tässä harjoituksessa sivulle pääsyä ei tarvitse rajoittaa salasanalla, vaan sen tule näkyä kaikkialle nettiin.
## Rosvoja porteilla Onko koneellemme yritetty murtautua? (Kyllä). Etsi omalta paikalliselta koneeltasi todisteet tapauksesta, jossa koneellesi on yritetty murtatua. Analysoi tiiviisti tähän liittyvät tiedot.
## Sorkan sivut Tee staattinen HTML5 weppisivu, jonka otsikkona (molemmat title ja h1) on "Sorkka ja Rauta Oy". Laita sivu näkyviin osoitteeseen http://rauta.example.com/ . Voit simuloida nimipalvelun toimintaa hosts-tiedoston avulla.
## Einarin esimerkki Einari Vähä-aho ryhtyy koodaamaan. Tee einarille käyttäjä 'einari'. Tee einarille esimerkkikotisivu PHP:lla ja laita se näkymään osoitteessa http://localhost/~einari/ . Esimerkkisivun pitää tulostaa "Einari" käyttäen PHP:n print-funktiota.


Aloitetin kuormitustietojen keräämisestä. Sudo apt-get upgrade/update aluksi.

Asensin sudo apt install sysstatilla kuormitusta seuraavat softat.

/etc/default/ sudo nano sysstat -filesta kävin laittamassa monitoroinnin päälle.

Sudo service sysstat restartilla käynnistin palvelun uudelleen ja ajoin sar-komennon. Homma pelittää!

Seuraavaksi asensin LAMP-pinon.

Sudo apt install apache2
Ja laitoin localhostiin filen oletusnäkymän tilalle.
echo testsite|sudo tee /var/www/html/index.html

Ajoin sudo a2enmod userdir käyttöön einari-käyttäjää ajatellen. Boottasin apache2 tämän jälkeen.

Seuraavaksi asensin mariadb:n.
sudo apt install mariadb-server mariadb-client. Tein uuden tietokannan sorkkacrm.

CREATE DATABASE sorkkacrm CHARSET utf8;
Query OK, 1 row affected (0.00 sec)

CREATE USER ‘sorkkacrm’@’localhost’ IDENTIFIED BY ‘****************’;

GRANT ALL ON sorkkacrm.Asiakkaat to ‘sorkkacrm’@’localhost’;

Seuraavaksi tein taulun ja lisäsin sinne esimerkkitietueet:

Ja näin minulla oli toimiva mariadb!

Ei ole LAMP stackia ilman P:ta, eli lähdetään asentamaan PHPta.

sudo apt-get install libapache2-mod-php7.2
sudo apt-get install php-mysql

Editoin vielä conffitiedostoa komennolla
sudoedit /etc/apache2/mods-available/php7.2.conf

Käynnistin vielä apassin uudelleen muutoksien jälkeen sudo systemctl restart apache2 -komennolla.

Seuraavaksi testasin PHP:n toimivuuden. Tein uuden käyttäjän “einari” sudo adduser einari -komennolla. Tein einarin hakemistoon sudo mkdir public_html -komennolla kansion ja lisäsin sinne index.php -filen jossa printataan yksinkertaisesti einari

<?php print(“einari”) ?>

Tein xubuntu -käyttäjälle public_html -kansion ja sinne index.php -filen. Lainasin Tero Karvinen.comin SQL/PHP -scriptia jolla haetaan tietokannasta tietueita.

   <?php
// (c) 2016 Tero Karvinen http://terokarvinen.com
//connect
$user='sorkkacrm';
$password='XXXXXXXXXXXXXXXXX';
$database=$user;
$dsn="mysql:host=localhost;dbname=$database";
$pdo= new PDO($dsn, $user, $password);
//list
$pdoStm=$pdo->prepare('SELECT * FROM Asiakkaat;');
$pdoStm->execute();
$hits=$pdoStm->fetchAll();
foreach($hits as $row) {
echo "
"." ".$row['name']."
\n";
}
?>
Ja homma toimii kuin häkä!

Seuraavaksi tein virtualhostin ja muutoksia host-tiedostoon, jotta saadaan sorkkacrm -listaus oikean osoitteen taakse.

sudo nano /etc/apache2/sites-available/sorkkacrm.example.com.conf

<VirtualHost *:80> 
ServerName sorkkacrm.example.com
ServerAlias www.sorkkacrm.example.com

DocumentRoot /home/xubuntu/public_html/sorkkacrm.example.com

<Directory /home/xubuntu/public_html/sorkkacrm.example.com> Require all granted </Directory>
</VirtualHost>

Mainitsin apachelle myös conffitiedostosta komennolla sudo a2ensite sorkkacrm.example.com.conf -komennolla.

sudoedit /etc/hosts -komennolla kävin lisäämässä oman nimipalvelun sorkkacrm:lle

127.0.0.1 sorkkacrm.example.com

mkdirilla tein filen xubuntun public_html -kansioon sorkkacrm.example.com, jonne kopioin cp -komennolla aikaisemmin käyttämäni php/SQL -scriptin.

Systemctl reload apache2 -komennolla boottasin apachen ja huomasin että saitti lähti toimimaan oikeassa osoitteessa. (Unohdan tämän kohdan aina ja ihmettelen miksi saitti ei pyöri!)

Sorkat ilmaan! Weppisaitti pyörii oikeassa osoitteessa nyt.

Vielä tarvitaan toinen saitti, ei auta kun tehdä uusi kansio xubuntun public_html -hakemistoon.
sudo mkdir rauta.example.com

Tein sudo nanolla uuden index.html -tiedoston:

sudo nano /etc/apache2/sites-available/rauta.example.com.conf -komennolla viritetään virtualhosti

sudo a2ensite rauta.example.com.confilla enabloin saitin. Lisäsin sen myös /etc/hosts -tiedostoon

Käynnistin apachen uudelleen sudo systemctl reload apache2.

HTML-sarsivukin lähti pelittämään oikeassa osoitteessa!

Kävin penkomassa var/log/auth.logia, mutta huomasin että ainoa hyökkääjä livetikullani olin minä itse.

sar -q|less -komennolla katsoin järjestelmän keskiarvoiset käyttöasteet eri aikaväleillä, ja näyttäisi siltä että linux ei harjoituksen aikana käyttänyt keskimäärin edes yhtä prosenttia prosessorin tehoista

Harjoitus tehty 01:30. Livetikulla Linuxin ajaminen on kuin tyhjä taulu, jota maalataan ja siitä voi tulla jotain suurenmoista. Surun saattelemana irroitan kohta livetikun, sillä tänään asentamani ohjelmistot toimivat hyvin ja tuntui muutenkin hyvältä kun konffaukset tomivat.

Muutaman minuutin päästä tikulla kuitenkin on vain tyhjä Linux.

Lähteet:

SQL:

https://kyup.com/tutorials/create-new-user-grant-permissions-mysql/

http://terokarvinen.com/2016/read-mysql-database-with-php-php-pdo

Apache: http://terokarvinen.com/2018/name-based-virtual-hosts-on-apache-multiple-websites-to-single-ip-address

Aikaisemmat harjoitukset auttoivat käyttäjähakemiston perustamisessa saitin osalta https://ossiilmari.wordpress.com/2019/02/06/virtuaalisen-weppipalvelimen-konffaus/

Tehtävät http://terokarvinen.com/2018/arvioitava-laboratorioharjoitus-linux-palvelimet-ict4tn021-6-torstai-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 )

Connecting to %s