Linux Palvelin Harjoitus 5

Harjoitus 5

Tero Karvisen tehtävänanto

a) Asenna SSH-demoni
b) Suojaa kone tulimuurilla, mutta tee ensin reikä SSH:lle
c) Siirrä tiedostoja ssh:lla
d) Automatisoi kirjatuminen julkisen avaimen menetelmällä
j) Asenna ja konfiguroi ja käynnistä sysstat-paketti. Tarkista sar-komennolla, että se on päällä, esim. näyttää lokimerkinnän “Linux reboot…”. Anna sysstatin pyöriä päivä tai pari. Tutki kuormitushistoriaa sysstatin komennoilla sar, iostat, pidstat… Analysoi tulokset, eli selitä perusteellisesti mitä tulokset tarkoittavat.
i) (Ryhmä 7 tiistai varsinainen tehtävä, muille vapaaehtoinen): Ratkaise Scan of the Month 15. Katso vinkkejä Forensic File Recovery with Linux – Undelete. Älä katso malliratkaisua netistä, ellet ole jumissa, ja merkitse raporttiisi, jos katsoit. Kuva sisältää oikeaa haittakoodia, älä käsittele sitä arvokkailla tietokoneilla tai työnantajan tuotantoverkossa, äläkä aja siltä löytyviä ohjelmia. Kaikki vastaukset löytyvät kuvasta, tässä tehtävässä ei tutkita mitään muita järjestelmiä.
e) (vapaaehtoinen) Vaihda sshd:n portti
f) (vapaaehtoinen) Salli vain ryhmän sshers jäsenten kirjautuminen. Lisää itsesi tähän ryhmään.
g) (vapaaehtoinen) Liitä hakemisto sshfs:n avulla verkon yli.


Tehtävät tein Asus R517S Notebook:lla ja Ubuntu 17.10 livetikulla. Koneen kellon aika oli 0 GTM eli kaksi tuntia taaksepäin Suomen aikaan katsottuna.

SSH asennus
a) SSH pystyi asentamaan parilla tavalla, joko asentaa suoraan kokonaisen SSH tai asentaa ne osat mitkä tarvitsee. Esitän molemmat tavat, miten asentaa suoraan koko SSH ja se mitä tarvitsen ja käyttäisin tehtävissäni.
$ sudo apt-get -y install ssh
Tommoisella komennolla sain asennettua koko SSH:n koneelleni.
Tässä välissä poistin SSH koneeltani komennolla:
$ sudo apt-get purge openssh
$ sudo apt-get purge openssh-server
$ sudo apt-get purge openssh-client
Asensin sitten osat mitä tarvitsen komennolla:
$ sudo apt-get -y install openssh-server openssh-client
Testasin sitten että oliko SSH asennettu yhdistämällä vaikkapa localhost:iin. Ennen sitä minun piti tietää että kuka olen ja sen sain komennolla:
$ whoami
ubuntu
Eli olen ‘ubuntu’ ja testasin seuraavalla komennolla SSH yhteyttä:
$ ssh ubuntu@localhost
Tämän jälkeen se kysyy minulta ‘fingerprint’ että olenko se minä joka yhdistän. Kirjoitin ‘yes’ ja sitten se kysyi salasanani (Huomasin tässä vaiheessa että minulla on livetikku ja en ole asentanut salasanaa, joten en olisi päässyt kirjautumaan SSH:lle. Painoin ‘ctrl+c’ keskeyttääkseen toiminnon ja komennolla ‘passwd’ asetin itselleni uuden salasanan). Salasanan jälkeen pääsin SSH:lle onnistuneesti!
Sain kanssa tervehdys viestin!
Welcome to Ubuntu 17.10 (GNU/Linux 4.13.0-21-generic x86_64)

Tulimuuri
b) Tulimuurin asentaminen Linux:lla on hyvin simppeliä! Tuulimuurin asentamisella aloitin tekemällä reiän SSH:lle, koska haluan päästää käyttämään vielä SSH:ta!:
$ sudo ufw allow 22/tcp
Rules updated
Rules updated (v6)
$ sudo ufw enable
Firewall is active and enabled on system startup
Tulimuurin asentaminen onnistui! Oikeastaan tarvitaan ainoistaa tuosta alempi komento tulimuurin asetamiseen mutta jotta haluaisin päästää jatkossa käyttämään SSH:ta niin sille pitää tehtä reikä tulimuurissa.

Tiedostojen siirto SSH:lle
c) Aloitin tehtävän tekemällä txt tiedoston:
$ nano foo.txt
Ja kirjoitin sinne kaksi sanaa: Foo bar.
Scp-komenolla lähdin siirtämään tiedoston SSH:lle:
$ scp foo.txt ubuntu@localhost:
Kirjauduin sitten SSH:lle tarkistamaan että onko tiedosto siellä.
foo txt.png
Tiedosto oli siirtynyt SSH:lle ja siellä luki ‘Foo bar’. Siirto oli onnistunut.
Yritin tehdä vielä siirron kansiolla jossa oli jokin tiedosto sisällä SSH:lle:
$ mkdir testi
$ cd testi
$ nano testi.txt
$ scp -r testi/ ubuntu@localhost:
Kävin sitten katsomassa että oliko kansio siirtynyt SSH:lle.
ssh kansio.png
Ja kansio oli siirtynyt kuten myös tekstitiedosto sen mukana! Taas oli onnistunut siirto!

Automatisoitu kirjautuminen
d) Ymmärtäneeni tehtävän oikein niin tässä tehtävässä piti tehdä automaattinen kirjautuminen SSH:lle. Lähdin tekemään sen seuraavalla tavalla.
$ ssh-keygen
Komennolla kone loi minulle ‘RSA2048’ avaimen.
$ ssh-copy-id ubuntu@localhost
Komenolla kopioin avaimen SSH:lle, jonka jälkeen se kysyy salasanani ja sen jälkeen pääsen kirjautumalla SSH:lle ilman salasanaa eli ei tarvitse kirjoittaa salasanaa joka kertaa. Lopuksi kanssa testasin että oliki tämä toiminut:
$ ssh ubuntu@localhost
Welcome to Ubuntu 17.10 (GNU/Linux 4.13.0-21-generic x86_64)
Oli toiminut!

 Sysstat
j) Tehtävä oli asentaa sysstat koneelle tai palvelimelle jolla pääsisin tarkastelemaan kuormitushistoriaa.
Sysstatin asennus:
$ sudo apt-get install sysstat
Jonka jälkeen minun piti sallia datan keräyksen:
$ sudoedit /etc/default/sysstat
Jossa minun piti vaihtaa ‘ENABLE=”false” => ENABLE=”true”‘.
Muutoksen jälkeen piti vaan käynnystää uudelleen syystat:
$ sudo systemctl start sysstat
Sysstat on ollut minulla käynnissä jo parikin päivää ja sain seuraavanlaisia numeroita:
sar.png
En pistä ihan kaikkia tuloksia koska se veisi vaan tilaa ja numerot ovat melko samoja kuin tässä kuvassa ja eivät muuttu paljon. En ole varma ihan kaikista lukemista mutta olen yrittänyt tajuta tai ottaa selvää.
  • Ensimmäisenä on kello että milloin tämä tapahtuma on tallennettu. Kellonaika on 0 GTM koska tämä on tehty serverillä ja kahden tunnin ero on minun koneeni kanssa. Tapahtumat tallentuvat joka 10 minuutin välein.
  • CPU on prosessorien määrä mitä käyttää tässä tapauksessa all eli kaikki.
  • %user on kait paljon käyttäjä käyttää prosessorista tehoja.
  • %nice en oikein tajunnut että mikä tämä on vaikka lukenut foorumeja ja Wikipedia, mutta ehkä luulen että se on paljon tehoja ‘nice’ komento tarvitsee kun sitä ajaa. Minulla on pysynyt lähes 0.00 kokoajan paitsi pari kertaa päivänä on hypännyt 0.01.
  • %system on kait ihan kuinka paljon käyttöjärjestelmä (kernel) käyttää tehoja.
  • %iowait mittaa CPU idle aikaa kun se odottaa I/O suorittaa loppuun.
  • %steal on kait “varastatte” CPU:n määrä mutta ei ole saanut joten joutuu odottaa että saa sen määrän CPU:lta
  • %idle on se kun systeemi ollut aktiivittomana.

En ihan kokonaan tajunnut kaikkia asioita mitä pystyin katsomaan, mutta päivittelen sitä tahtia missä opin että mitä jokainen kohta tarkoittaa.


Scan of the month

i) First I downloaded the honeynet file from this honeynet page. After which I went to the file I download the “honeynet.tar.gz”.

Then I extracted the file:

$ tar -xf honeynet.tar.gz

Before doing anything I downloaded a program named “sleuthkit”:

$ sudo apt-get install sleuthkit

Then I created two folder for extraction in the file where I have the honeynet file:

$ mkdir allocated deleted

First I recovered allocated file:

$ tsk_recover -a honeypot.hda8.dd allocated/

Files Recovered: 1614

Then I recovered deleted files

$ tsk_recover honeypot.hda8.dd deleted/
Files Recovered: 37

The I could started to analyze files to find the deleted rootkit from the “/” partition.

First I looked fast both folders allocated and deleted. In the deleted folder there was a zipped filed named “lk.tgz” so I unzipped it. Got a new folder named “last”. There were many files. I had to find that was rootkit installed on the computer and deleted so I started to look the “install” file with command “less” and “cat”

In the less files there was so much information so I cutted them in peases and explained a bit:

Selection_003.png

From #!/bin/sh I was thinkig that this was a shell script. And the text was written in romania so he either was romanian or he used other language to hide his identity or something like that.

First script change permission for rootkit user and group for root. Then he changed rootkit files top, ipconfig, ps, netstat -programs for attackers own programs. This was for that noone could see that rootkit was used.

Selection_004.png

Then the script made a new file with “touch /dev/rpm”ja last. In the npm files there was files that rootkit needed to run and in the rpm file there was some ip-addresses and what I think PSID numbers or process numbers.

Selection_005.png

Then with command “grep ir dev * ” I checked that I would I find those files rpm and last. There I saw it was installed and deleted. Also when I scrolled down and it was also installed in the $Orphanfiles.

Selection_007.png

Then when I looked more and saw more message from the attacked was that he sended mail to some email address and then deleted the last.tgz file.Selection_008.png

With this information I could decied that rootkit was installed and deleted.

Tomi Piri

Tomi Siirto


 SSH portti

e) SSH portin vaihto ei ollut kovinkaan monimutkainen. Koska SSH oli jo asennettuna niin ei ollut tarvetta asentaa se uudelleen joten lähdin tekemään tehtävään.
Kokeilin nopeasti että toimiko minun SSH komennolla:
$ ssh ubuntu@localhost
Welcome to Ubuntu 17.10 (GNU/Linux 4.13.0-21-generic x86_64)
Pääsin sisään joten lähdin muuttamaan porttia. Kirjauduin aluksi pois ‘exit’ komennolla.
Komennolla:
$ systemctl status ssh.service
Pääsin kanssa näkemmän minun SSH tilan, joka näytti että ‘active’.
Muuttaakseen SSH porttia menin muuttamaan sen congfig tiedostosta:
$ sudoedit /etc/ssh/sshd_config
Tiedoston avattua etsin kohdan:
#Port 22
Sen löydettyä otin risuaidan pois ja vaihdoin numeroa johonkin muuhun, tässä tehtävässä käytin numeroa 50685. (Porttien valitsemissa on jotain säädöksiä jotka luin ihan Wikipedia koska muistin että ihan kaikkia lukuja ei saanut käyttää! Ihan hakusanalla Port – mutta pistän linkin tähän.)
Portin muutoksen jälkeen minun piti uudelleenkäynnistää SSH. Sen pystyi tekemään monellakin komennolla:
$ sudo service ssh restart
$ /etc/init.d/ssh restart
$ sudo systemctl restart ssh
Tämän jälkeen tarkistin taas että onko SSH aktiivina:
$ systemctl status ssh.service
Oli ‘active (running)’ joten oli aika kirjautua SSH:lle. Koska portti on vaihdettu niin normi komento ei käy joten meidän pitää spesifikoida että mitä porttia käyttää:
$ ssh ubuntu@localhost -p 50685
Welcome to Ubuntu 17.10 (GNU/Linux 4.13.0-21-generic x86_64)
Pääsin sisään! Kokeilin vielä ilman portin spesifikointia ja sain seuraavanlaisen ilmoituksen:
$ ssh ubuntu@localhost
ssh: connect to host localhost port 22: Connection refused
Portti oli vaihdettu eli en pääse enään kirjautumaan vaan jos spesikoin portin erikseen!

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