Arvutiteaduse instituut
  1. Kursused
  2. 2018/19 kevad
  3. Andmeturve (LTAT.06.002)
EN
Logi sisse

Andmeturve 2018/19 kevad

  • Pealeht
  • Loengud
  • Praktikumid
  • Referaat
  • Kirjandus
  • Uudised
  • Lingid

Secure Shell (SSH) kasutamine ja turvalisus

Eelnevates praktikumides viisime läbi ründeid ennekõike kohalikus masinas (eeldasime et teil on füüsiline ligipääs ohvri arvutile). Käesolevas ja mitmed järgnevas vaatame aga kuidas üle interneti ohvri arvutisse pääseda.

SSH on võrguprotokoll arvutitevaheliste krüpteeritud tunnelite loomiseks. Üks selle peamisi kasutusalasid on üle võrgu teistesse arvutitesse sisse logimine ning arvutite (serverite) kaughaldamine. Selles praktikumis vaatame missuguseid turvaaspekte tuleb meeles pidada SSH kasutamisel ning mängime läbi mõned ründestsenaariumeid. Lisaks vaatame, kuidas SSH'd kasutada võrgu liikluse ümber suunamiseks läbi krüpteeritud SSH tunnelite.

NB! Kontrollige üle, et teie virtuaalmasina hostname on muudetud unikaalseks. See peaks sisaldama teie perekonnanime. Püsiva muudatuse tegemiseks tuleks modifitseerida järgmisi faile: /etc/hostname ja /etc/hosts ning teha arvutile restart. Ajutise muudatuse tegemiseks: sudo hostname SINU_NIMI. Täpsemalt saab hostname muutmise kohta lugeda siit: How to Change Your Hostname (Computer Name) on Ubuntu Linux.

Lisaks on mugavam, kui sooritate antud praktikumi kasutades oma läpakaid. Klassis olevate arvutitega peate tegema paar lisasammu.

NB! Palun keelake ajutiselt oma arvutites liiga agressivsed viirusetõrje tarkvarad (antivirus software) nagu Symantec, NOD32 jne

Töö toimub Linux Mint virtuaalmasinas. Kui teil on virtuaalmasinaga probleeme võite alla laadida Kali Linux 64 bit Virtualbox ova faili, mida kasutame hiljem Praktikumis 9.

6.1 Praktikumi järgnevate tegevuste ettevalmistus

  • PS! juhul kui kasutate klassis olevaid lauaarvuteid, siis peate edasiseks praktikumiks ümber lülitama end võrgutehnoloogia kasutaja alla.

1. Ühendage enda virtuaalmasin klassi võrku. Selleks peab virtuaalmasina võrguadapteri tüübiks olema bridged adapter.

  • Lülitage enda Andmeturve Linux mint virtuaalmasin välja power off.
  • Ühendage enda sülearvuti Wifi võrku võrku nimega Andmeturve-2GHz või Andmeturve-5GHz salasõna LTAT.06.002.
  • Juhul kui te kasutate klassi võrku ühendamiseks WiFi, siis valige Andmeturve Linux Mint virtuaalmasina võrguseadete alt Attached to: Bridged Adapter ja valige WiFi adapter (näiteks IT akadeemia sülearvutite puhul Intel Dial Band Wireless või "Broadcom 802.11n Network Adapter").
  • Juhul kui te kasutate klassi võrku ühendamiseks võrgukaablit, siis valige vastava virtuaalmasina võrguseadete alt Attached to: Bridged Adapter ja ühendatud adpter name valida Intel Ethernet Connection vms.
  • Igaks juhuks genereerige oma virtuaalmasina võrgukaardile ka uus MAC aadress (Advanced valikute all sinine ringikujuline noole kujutis).
  • NB! Osad agressivsed viirusetõrje tarkvarad nagu Symantec vaikimis paljudes TÜ arvutites, blokeerivad taustal bridge ühendusi, seega käesolevaks praktikumiks on soovitatav viirusetõrje välja lülitada.

2. Installige virtuaalmasinasse telneti ja ssh server, mida meil hiljem testimiseks vaja läheb, ja xkey kompileerimiseks vajalikud päised.

sudo apt update
sudo apt install telnetd openssh-server build-essential libx11-dev libxt-dev

3. Looge oma arvutisse uus kasutaja nimega tudeng ja parooliga 123456, mida kasutame tänases praktikumis testimiseks.

sudo adduser tudeng

Sisestage kaks korda parool 123456 ja muu info võite vabalt sisestada.

Seejärel installi kontrolli kas virtuaalmasin saab internetti ja paigalda ssh serveri töötab.

$ wget math.ut.ee
$ ssh tudeng@localhost

Sisestage parool 123456 , nüüd epaksite nägema tudeng kasutaja õigustes käsurida. Sisestage käsk who ja exit et katkestada ssh ühendus ning naasta tavakasutaja käsureale.

Kui teil on praktikumis probleeme võrguühendusega siis käsud aitavad virtuaalmasina sees võrgu seadeid uuendada:

$ sudo ifdown eth0
$ sudo ifup eth0

6.2 Ligipääs teise masinasse üle SSH

Kasutage SSH'd, et logida sisse math.ut.ee serverisse. Teil on selleks vaja teada enda TÜ kasutajatunnust <ut_login> ja TÜ parooli. Avage oma Linux virtuaalmasinas terminal ning kasutage järgmist käsku:

$ ssh <ut_login>@math.ut.ee

kus <ut_login> asendage oma TÜ kasutajatunnusega ja pärast käsu sisestamist küsitakse teie ÕISi parooli (sisestage see). Õnnestunud sisenemise järel logige välja tagasi kasutades käsku exit, et edaspidine oma arvutis toimuks. Alati on tähtis jälgida tähelepanelikult, mis arvutisse te hetkel olete sisse loginud (käsurel @ märgi järgi olev nimi).

Esimesel ühendamisel küsitakse teilt kas soovite ühendatava arvuti fingerprint (identifikaator) salvestada, et hiljem oleks võimalik tuvastada kui masina info muutub näiteks keegi üritab man-in-the middle rünnet läbi viia ehk varastada teie sisselogimise infot. Salvestatud ssh masinate info on leitav failis .ssh/known_hosts

$ cat .ssh/known_hosts

Kasutaja parooli asemel on võimalik sisse logimiseks kasutada ka avaliku võtme krüptograafial põhinevat lahendust. Avaliku võtme krüptograafias on kasutusel kaks võtit: avalik võti ja salajane võti. Need genereeritakse korraga nii, et need on omavahel seotud, kusjuures on oluline, et avalikust võtmest ei saa tuletada salajast võtit. Täpsemalt räägime avaliku võtme krüptograafiast järgmistes praktikumides.

Järgnevate ülesannete jaoks läheb vaja avaliku võtme krüptograafial põhinevat autentimist. Genereerige enda arvutis enda kasutajale uus RSA võtmepaar (selle käigus luuakse nii avalik kui salajane võti). Salajase võtme kaitsmiseks võib kasutada parooli, kuid käesoleva ülesande raames ärge seda lisada (reaalsetes olukordades kindlasti pange parool)!:

$ ssh-keygen -t rsa 

NB: kasutage vaikimisi pakutud failinime!

Selleks, et niisugune autentimine toimiks peab usaldusväärse serveriga jagama enda avalikku võtit. Enda avalikku võtit saab teise masinasse kopeerida käsuga:

 
$ ssh-copy-id <username>@<server>
Näiteks
 
$ ssh-copy-id <username>@math.ut.ee

Kommentaar: Seda saab ka käsitsi teha, aga siis on vaja võtta oma masinast võtme avalik pool (cat ~/.ssh/id_rsa.pub) ja lisada teise masina/teise kasutaja .ssh/authorized_keys faili (võti on üks rida, ettevaatust nano kasutajad, kasutage nano -w reamurdmise vältimiseks!).

Proovime nüüd uuesti math.ut.ee serverisse sisse logida:

$ ssh <ut_login>@math.ut.ee

Kui endiselt küsitakse parooli on vaja korrigeerida teie kodukausta õigusi. Selleks sisestage math.ut.ee serveris käsk

chmod go-w .

... ja proovige uuesti. Nüüd peaksite math.ut.ee serverisse ligi pääsema parooli sisestamata käsuga ssh <ut_login>@math.ut.ee

Serverisse salvestatud avalikke võtmeid hoitakse kasutaja kodukaustas failis .ssh/authorized_keys mida näeb math.ut.ee serveris sisestades käsu

cat .ssh/authorized_keys

Praktikumi arvestus 1 Tehke ekraanitõmmis, et saate math.ut.ee serverisse ilma parooli sisestamata siseneda.

6.3 SSH Õigetpidi edastamise ülesanne

Selles ülesandes on teil on vaja valida kahe teise tudengi virtuaalmasinad arvuti_2 ja arvuti_3 ja küsida nende IP aadressid.

Loome uue SSH tunneli masinasse arvuti_2 ning määrame võrgu liikluse edasi suunamise tunneliga samas suunas. Tunneli alustanud arvutis suuname porti 2323 saabuva liikluse (läbi tunneli) ümber masina arvuti_3 porti 23.

$ ssh -L  2323:arvuti_3:23 tudeng@arvuti_2

(asendage arvuti_2 ja arvuti_3 reaalsete ip-aadressitega). Nüüd teie virtuaalmasina teises terminali aknas jooksutage "telnet 127.0.0.1 2323" sisestage arvuti_3 kasutajatunnus (tudeng) ja parool (123456). Mis masinasse telnet suunati?
Sisestage käsk who kontrollimaks kes kuhu on sisse loginud.

$ who 

Praktikumi arvestus 2 - Tehke ekraanivaade terminali aknast. Vajalik et oleks näha teie masina nimi, telnet käsk ning who käsu väljund

6.4 SSH võtme varguse rünne

Moodustage 3-liikmeline ründestsenaarium:

  • Võtme genereerija (arvuti1)
  • Ründaja (arvuti2)
  • Server (arvuti3)

Vaatame, mis juhtub olukorras kus ründaja saab juurdepääsu SSH salajasele võtmele. See on täiesti reaalne ründe olukord, sest sisevõrku tunginud ründaja võib saada juurdepääsu SSH salajasele võtmele. Olles teises masinas saate näha kes on sisse loginud käsuga who või w -h.

1. Võtme genereerija (arvuti1) peab olema jaganud enda avalikku võtit serveriga, et teha võimalikuks võtmepaariga serverisse logimine.

 
$ ssh-copy-id <username_tudeng>@<server_arvuti3>

2. Ründaja kopeerib ohvri (võtme genereerija) arvutist võtme salajase poole (.ssh/id_rsa) (aga ei kirjuta enda salajast võtit üle) ning arvab ära ka parooli (vajadusel aidake). Parooli äraarvamine võib samuti olla reaalne juhul kui parool on nõrk või juhul kui ründaja saab paigaldada ohvri arvutisse keyloggeri.

$ scp kasutaja@masin.kus.see.võti.asub(arvuti1):.ssh/id_rsa .

kus kasutaja on kasutaja kes võtme genereeris (enamasti kasutaja mitte tudeng)

3. Ründaja (arvuti2) kasutab kopeeritud salajast võtit ja logib serverisse:

$ ssh -i id_rsa tudeng@masin.kus.see.võti.kehtib(arvuti3)

4.Ründe vältimine: Server (arvuti3) kirjutab serveri .ssh/authorized_keys faili võtme rea algusse: from="lubatud.masina.ip" NB! See peab olema sama rea alguses, kus võti!

5. Ründaja proovib rünnet korrata. PS! Võtme genereerija peaks endiselt ligi pääsema ilma kasutaja parooli sisestamata. Ründaja peaks ka endiselt ligi pääsema, aga mitte avaliku võtme krüpto abil vaid kasutaja parooliga, sest from parameeter mõjutab ainult avaliku võtme krüptograafial põhinevat autentimist. Seetõttu keelatakse sellel põhjusel parooliga sisselogimine ära ning lubatakse ainult turvalisemat avaliku võtme krüptograafial põhinevat autentimist. (Praktikumis et vältida enda väljalukustamist me siiski seda ei tee).

6. Sisselogimise infot näeb ohver (arvuti3) oma masinas käskudega. Kuna käsk vajab rohkem õigusi kui kasutaja tudeng omab peaks selle sisestama põhikasutaja alt. Kasutajat saab vahetada käsureal käsuga su - kasutaja

$ sudo grep "ssh" /var/log/auth.log

SSH võtme parooli vahetamine või seadmine eeldab olemasoleva parooli teadmist:

$ ssh-keygen -p

Mida tuleb teha võtme kompromiteerumisel?

Praktikumi arvestus 3 - Tehke ekraanivaade kus iga grupiliikme ssh terminalis on näha ssh sisselogimise käsud.

6.5 SSH agendi kasutamine

Pidev parooli sisestamine privaatvõtme avamiseks on tülikas (tekib kiusatus panna lühike parool, muutub tõenäoliseks parooli pealtkuulamine/klaviatuurilt mahalugemine). Aegajalt on vaja avatud võti ette anda ka mõnele muule tarkvarale kasutamsieks. Uurime kas ssh-agent nimeline programm töötab (SSH_AGENT_PID ja SSH_AGENT_SOCK keskkonnamuutujad!)

$ env | grep SSH

(kui ei tööta, siis tehke exit kuni olete oma masinas shellis, kus töötab). Masinates, kus ssh-agent ei tööta, tuleks see käivitada:

$ eval `ssh-agent`

Lisame oma võtme autentimisagendile (see hoiab lahtikrüpteeritud võtit mälus, kettale ei kirjuta, masinast välja ei anna). Kõik antud kasutaja protsessid saavad läbi UNIX socketi seda teenust kasutada:

$ ssh-add

Hetkel laaditud võtmeid saab vaadata

$ ssh-add -l

Võtme eemaldamine agendist:

$ ssh-add -d /home/kasutaja/.ssh/id_rsa

Kõigi võtmete eemaldamine:

$ ssh-add -D

Pärast seda tehke uuesti ssh-add, et võti järgmiste ülesannete tarvis mälus oleks.

$ ssh-add

6.6 SSH agendi edasisuunamine (Agent forwarding)

Selles ülesandes on teil on vaja valida kahe teise tudengi virtuaalmasinad arvuti_2 ja arvuti_3 ja küsida nende IP aadressid.

Tekita vajalikud võtmete usaldused nii, et sinu masinast on võimalik mõlemasse masinasse sisse logida sinu võtit kasutades:

$ ssh-copy-id tudeng@arvuti_2
$ ssh-copy-id tudeng@arvuti_3

NB! arvuti2 ei tohiks hetkel saada parooli sisestamata ühenduda arvutisse 3.

SSH agenti on võimalik edasi suunata läbi mitme masina selleks, et vahendada autentimise teenust. Selle abil saab krüptograafilist võtit kasutada teistes serverites autentimiseks, ilma et seda peaks liigutama esialgsest masinast.

Logige sisse teise tudengi masinasse kasutades võtme autentimist ning lisades SSH käsule agendi edasisuunamiseks -A lipu:

$ ssh -A tudeng@arvuti_2

Nüüd uuri selles masinas kasutaja aktiivseid võtmed

$ ssh-add -l

arvuti_2 masinas peate nägema oma kohaliku masina võtit. Parandage, kui ei näe.

Nüüd proovi, kas on võimalik arvuti_2 masinast otse liikuda masinasse arvuti_3:

$ ssh tudeng@arvuti_3

Eelnevat käsku tuleb käivitada masinas arvuti_2!

Keda huvitab, kuidas SSH võtmetega autentimine ja SSH agent tagaplaanil töötavad, võib lugeda seda illustratsioonidega artiklit: http://unixwiz.net/techtips/ssh-agent-forwarding.html

SSH Agent Forwarding korral on teoreetiliselt võimalik vahendajal mälust SSH privaatvõti välja lugeda, kuid 2019 a kevadel käesolev demo enam Andmeturve Linux Mint masinaga kahjuks ei toimi https://blog.netspi.com/stealing-unencrypted-ssh-agent-keys-from-memory/

Boonus: Kui keegi saab SSH agendist privaatvõtme varastamise 2019 Linux Mint virtuaalmasinaga tööle palun saata lahendus alo.peets@ut.ee ja teenid boonuspunkte.

Praktikumi arvestus 4 - Tehke ekraanivaade kus iga grupiliikme ssh terminalis on näha ssh sisselogimise käsud ja who käsu väljund.

6.7 SSH X11 Forwarding

Üle SSH on võimalik ka graafilisi programme käivitada ning seda kutsutakse SSH X11 Forwarding. Demonstreerime SSH agendi ohtusid (sihtmasina administraator saab sessioonile ligi). Selles ülesandes on kaks osapoolt: server ja klient. Tehke paaris ning leppige rollid omavahel kokku.

Server: kontrolli, et X11 edastamine on lubatud serveri konfiguratsioonis (/etc/ssh/sshd_config on "X11Forwarding yes", vaikimisi lubatud), vajadusel muuda ümber ja restardi SSH server. Lihtsustame veidi tegevust lubades ühendused kõigilt klientidelt xhost +

$ sudo nano /etc/ssh/sshd_config
$ sudo xhost +

Klient: Kui server on ettevalmistusega valmis saanud, siis logi serverisse ja kontrolli, kas saad käivitada X rakendust (firefox näiteks).

$ ssh -XY tudeng@serveri.IP.aadress firefox

Server: tõmba programm xkey.txt (nimeta ümber xkey.c), vajadusel installeeri build-essential, libx11-dev ja libxt-dev paketid. Kompileeri programm:

$ gcc -o xkey xkey.c -L /usr/X11R6/lib/ -lX11 -lm
$ sudo chmod a+x xkey

Tuvasta xauth list käsuga millised MIT-MAGIC-COOKIE ehk nn graafilise keskkonna autentimise info on aktiivne. Vaheta õigused root kasutajaks sudo su-, liigu kausta kus sa ennist xkey programmi kompilerisid (näiteks cd /home/kasutaja). Nüüd peame varastama X11 autentimise info (tokeni) käskudega XAUTHORITY=/home/tudeng/.Xauthority, kus tudeng on kasutaja kellena klient ssh ühenduse autentis ja export XAUTHORITY. xauth list peaks nüüd kuvama uusi numbreid. Käivita programm ./xkey localhost:10.0 , DISPLAY väärtuseks (10.0) sea see number, mida kasutatakse ssh sessiooni sees.

$ sudo su -
# cd /home/kasutaja
# xauth list
# XAUTHORITY=/home/tudeng/.Xauthority
# export XAUTHORITY
# xauth list
# ./xkey localhost:10.0

Kui ühtegi veateadet ei tulnud peaks nüüd käsurida nn kinni jääma ja ootama millal klient infot saadab.

Klient: kasuta avanenud firefox akent, külasta mõnda veebilehte näiteks http://andmeturve-lab.appspot.com/ . Sisesta mõned käsud, aga ole ettevaatlik, teid kuulatakse pealt!

Selle alam-ülesande kohta võite ise valida millise pildi esitate, sest otseselt me seda ei nõua praktikumi arvestuse saamiseks.

Veel SSH võimalusi

SSH kaudu teises masinas programmide käivitamine (sisend/valjund on ümbersuunatavad!): enne katsetamist tekitage vastavad failid!

$ ssh kasutaja@teinemasin "cat fail.tar | tar xf -" 
$ ssh kasutaja@teinemasin "tar cf - /mingi/kataloog | dd of=fail.tar" 
$ ssh root@teinemasin "find / -user root -perm +4000 -print0 | xargs -0 ls -l"

Lisaülesanne proovimiseks - Failide kopeerimine

scp - failide kopeerimine üle SSH tunneli. Kuidas kopeerida faile oma masinast teise, teisest omale, kahe kauge masina vahel?

sftp - FTP moodi asi. Olemas palju ilusaid graafilisi kliente. Tehke kindlaks, kas linuxi programmid nautilus, konquror oskavad sftp'd kasutada - vajadusel installeerige puuduv tarkvara!

Lisaülesanne proovimiseks - ProxyCommand

ProxyCommand'i kasutamine SSH Agendi või PortForwarding'u asemel

  • Lugege lehekülge
    • https://heipei.github.io/2015/02/26/SSH-Agent-Forwarding-considered-harmful/
  • Konfigureerige OpenSSH ümber kasutama ProxyCommand'i nii, et ühte serverisse ühendades loodaks tunnel läbi kolmanda masina.
    • Modifitseerida tuleb ~/.ssh/config faili
  • Käsuga who saab kontrollida kust masinast on sisse tulev ssh sessioon pärit.
  • Praktiliselt on sellest kasu näiteks ülikooli serveritele ligi pääsemiseks, mis tavaliselt ei ole välisvõrgust otse kättesaadavad. Kasutada näiteks math.ut.ee serverit niiöelda väravana, kuna see on kätte saadav välisvõrgust.

Tagasiside

Praktikumi lõpus palume anda tagasisidet, sest see võimaldab meil antud praktikumi ja ka järgmisi praktikume paremaks muuta. Tagasiside on anonüümne ja tagasiside vormi leiate järgneva lingi abil: tagasiside ankeet.

Praktikumi ülesanded

Praktikumi ülesannete lahendamine annab ühe punkti. Praktikumi ülesanne võiks valmis saada praktikumi lõpuks, aga juhul kui see ei õnnestu, siis on võimalik lahendust esitada ühe nädala jooksul pärast praktikumi toimumist.

Antud praktikumi eest on võimalik saada maksimaalsed punktid ainult siis kui te osalesite praktikumis. Seda praktikumi on tülikas iseseisvalt läbi teha.

  1. Ülesanne: Praktikumi arvestuse saamiseks tuleb esitada 4 praktikumiarvestuse ülesande ekraanipildid. Iga grupiliige võib esitada enda pildid, kuid sellisel juhul peate ära märkima kes teie grupi liikmed olid). Pakkige need pildid kokku faili ning laadige praktikumi lahendusena üles.

Lahendusi võtame vastu järgmistes failiformaatides: .zip, .pdf.

6. Praktikum 6 - SSH turvalisus
Sellele ülesandele ei saa enam lahendusi esitada.

Kodune ülesanne

Koduse ülesande lahendamine annab ühe punkti. Lahenduse esitamiseks on aega nädal, s.t esitada tuleks selle päeva lõpuks, mil on järgmine praktikum. Koduse ülesande lahendus tuleb esitada aine kodulehelt. Küsimustele vastuste leidmiseks võib vaja minna lisamaterjalide, mille leiate allpool olevatest viidetest.

Kõigepealt peate oma Linux Mint virtuaalmasina võrguseadistuse tüübiks tagasi seadistama NAT (praktikumis seadistasime bridge mis teatud võrguühendustega ei tööta).

SSH ja port forwarding näide

SSH'd saab kasutada võrgu liikluse ümber suunamiseks, läbi krüpteeritud SSH tunnelite, kasutades portide edastamist. Kahe arvuti vahel luuakse SSH tunnel ning ühe arvuti porti saabuv liiklus suunatakse ümber teise masina porti läbi SSH tunneli.

Portide edastamise kohta saab rohkem lugeda siit: SSH/OpenSSH/PortForwarding ja siit: Bypassing corporate firewall with reverse ssh port forwarding.

Läbi tunneli on võimalik suunata võrgu liiklus kas samas suunas tunneli loomise suunaga, või siis vastupidises suunas:


Portide edastamise illustratsioon (allikas)

LPF ja RPF Demo

Et paremini mõista LPF (Local Port Forwarding) ja RPF (Remote Port Forwarding) erinevust ka on juhendajad teile üles seadnud 2 illustreerivat näidet.

Mõlema lahenduse jaoks peaksite olema väljaspool TÜ sisevõrku ehk kasutama ut-public nimelist WiFi võrku ja kasutama Linux käsurida (Soovitavalt praktikumi Mint virtuaalmasin).

  1. TÜ tööarvutisse sisselogimine (Tegu on andmeturve õppejõu tööarvutiga J. Liivi 2 ruumis 306)
    1. Avage Linuxi käsurida ja sisestage käsk ssh -L 2323:172.17.37.155:22 <ut_login>@math.ut.ee , kus <ut_login> asendage oma TÜ kasutajatunnusega ja pärast käsu sisestamist küsitakse teie ÕISi parooli (sisestage see).
    2. Avage teine Linux virtuaalmasina käsurida paralleelselt ja sisestage käsk ssh -p 2323 tudeng@localhost
    3. Teilt küsitakse tudeng kasutaja parooli, milleks on 1234567890
    4. Kontrollige, milline on teie sisselogitud arvuti IP ip addr l eth0 ja arvuti nimi hostname
    5. Kontrollige mtr käsuga, et olete TÜ sise-võrgus mtr -b 8.8.8.8
      1. Eelnev lahendus on sama väärne kui logiksite ssh-ga või VPN-iga TÜ avalikku serverisse ja siis sealt omakorda "tööarvutisse"
      2. Linux käsurealt sisestage ssh <ut_login>@math.ut.ee , kus <ut_login> teie TÜ kasutajatunnus ja kui küsitage sisestage enda TÜ ÕISi parool.
      3. math.ut.ee serveri käsurealt sisestage ssh tudeng@172.17.37.155
      4. kontrollige mtr ja hostname käsuga, et tegu on sama arvutiga
  2. Andmeturve arvutiklassi arvutisse sisse logimine (J. Liivi 2-123 arvutiklassi arvuti)
    1. Linux käsurealt sisestage ssh <ut_login>@math.ut.ee , kus <ut_login> teie TÜ kasutajatunnus ja kui küsitage sisestage enda TÜ ÕISi parool.
    2. Vaatame math.ut.ee serveris aktiivseid kuulavaid porte netstat -tln
    3. math.ut.ee serveri käsurealt sisestage ssh -p 23123 tudeng@localhost
    4. Kontrollige, milline on teie sisselogitud arvuti IP ip addr l eth0 ja arvuti nimi hostname
    5. Kontrollige mtr käsuga, et olete J.Liivi2-123 arvutiklassi võrgus mtr -b 1.1.1.1 (teinerida peaks olema l2-123nat-ruuter (192.168.10.1)

SSH Tagurpidi edastamine Ülesanne

Teie eesmärgiks on ligi pääseda oma Andmeturve virtuaalmasinasse kasutades SSH ühendust. Selleks suuname nüüd liikluse läbi SSH tunneli, sellele vastupidises suunas.

Kõigepealt peate oma Linux Mint virtuaalmasina võrguseadistuse tüübiks tagasi seadistama NAT (praktikumis seadistasime bridge mis teatud võrguühendustega ei tööta).

Tunneli sihtpunktiks olevas arvutis (math.ut.ee) suunatakse lokaalsesse porti (23XXX) saabuv liiklus ümber tunneli allika arvuti porti (22). Pordinumbriks valige oma arvuti 23XXX, kus XXX asendada vabalt valitud kolmekohalise numbriga ja endamasin olgu teie enda virtuaalmasina IP. Seda milline pordinumber on vaba saab vaadata math.ut.ee serveris käsuga netstat -tln

$ ssh -R pordinumber:endamasin:22 <username>@math.ut.ee

Nüüd on teil suvalisest masinast juurdepääs enda virtuaalmasinasse. Selleks tuleb kõigepealt teha ssh ühendus serverisse math.ut.ee. Selle illustreerimiseks minimaliseerige virtuaalmasina aken ning host masinast (mitte virtuaalmasinast) avage ssh sessioon math.ut.ee serverisse. Juhul kui teie host masinas jookseb Windows, siis saab ssh jaoks kasutada programmi PuTTy. Host Name (or IP aadress) väljale kirjutage math.ut.ee , port väljale 22 ning vajutage OK. Sisestage TÜ kasutatunnus ja parool. Kui olete math.ut.ee-s (vaikimisi IPv6!), siis sisestage järgnev käsk:

$ ssh kasutaja@localhost -p 23XXX 
$ who

Koduse ülesande arvestus - Tehke ekraanivaade terminali aknast. Vajalik et oleks näha teie masina nimi, ssh käsk ning who käsu väljund

Juhul kui lahendus on ainult teksti kujul, siis saate lisada selle kommentaarina. Sellisel juhul on lahenduse esitamiseks vaja lisada tühi fail, sest antud vorm nõuab lahenduse esitamisel faili esitamist. Lahendusi võtame vastu järgmistes failiformaatides: .txt, .pdf, .zip, .rar jne.

21. Kodune ülesanne 6
Sellele ülesandele ei saa enam lahendusi esitada.

Kasulikud viited

  • SSH Agent Forwarding ja sellega seotud probleemid
    • http://unixwiz.net/techtips/ssh-agent-forwarding.html
  • SSH Port Forwarding
    • SSH/OpenSSH/PortForwarding
  • ProxyCommand
    • https://heipei.github.io/2015/02/26/SSH-Agent-Forwarding-considered-harmful/
  • Arvutiteaduse instituut
  • Loodus- ja täppisteaduste valdkond
  • Tartu Ülikool
Tehniliste probleemide või küsimuste korral kirjuta:

Kursuse sisu ja korralduslike küsimustega pöörduge kursuse korraldajate poole.
Õppematerjalide varalised autoriõigused kuuluvad Tartu Ülikoolile. Õppematerjalide kasutamine on lubatud autoriõiguse seaduses ettenähtud teose vaba kasutamise eesmärkidel ja tingimustel. Õppematerjalide kasutamisel on kasutaja kohustatud viitama õppematerjalide autorile.
Õppematerjalide kasutamine muudel eesmärkidel on lubatud ainult Tartu Ülikooli eelneval kirjalikul nõusolekul.
Courses’i keskkonna kasutustingimused