Differences

This shows you the differences between two versions of the page.

Link to this comparison view

rl:labs:08:contents:10 [2020/12/10 19:02]
florin.stancu [10. [10p] Capturi de trafic]
rl:labs:08:contents:10 [2024/10/29 14:41] (current)
eduard.dumistracel [10. [10p] Tunel SSH invers]
Line 1: Line 1:
-==== 10. [10p] Capturi de trafic ​====+==== 10. [10p] Tunel SSH invers ​====
  
-Tcpdump ​este un utilitar ​din linia de comanda a Linux-uluicare se ocupa de captura  +Sunt situații în care dorim ca o stație să fie accesibilă din exterior, dar este dificil să obținem ​un port în gateway (pentru //port forwarding//​):​ fie din rațiuni administrativefie din motive ​de securitate. ​Pentru a permite totuși o conexiune din exteriorse poate crea un tunel SSH inversTunel SSH invers înseamnă următorii pași: 
-si analiza pachetelor de retea la nivel de interfata. Este deseori folosit pentru trobleshooting +  * se creează o conexiune SSH de la o stație cu adresă IP privată la un server extern cu adresă IP publică, 
-sau ca tool de securitate. ​Este versatilofera filtre si poate fi folosit intr-o varietate de cazuri+  * se deschide un port pe serverul cu adresă IP publică 
-Fiind un utilitar de linie de comandacel mai des se foloseste in sistemele care nu au GUI, pentru a +  * traficul către acel port este tunelat prin conexiunea SSH către stația ​cu adresă IP privată
-colecta date, care apoi pot fi mutate si vizualizate ​cu Wireshark[1]+
  
 +Dorim să permitem conectarea la stația ''​red''​ din Internet pe SSH. Vom crea o conexiune SSH "​directă"​ de la stația ''​red''​ la contul vostru de pe ''​fep.grid.pub.ro''​. Prin această conexiune veți tunela invers traficul SSH către ''​red''​ permițând conexiunea din exterior.
  
-Printre optiunile de tcpdumpavem+Pentru începutde pe stația ''​red''​ creăm o conexiune SSH directă către contul de pe ''​fep.grid.pub.ro''​ (identic cu cel de pe ''​cs.curs.pub.ro''​)
-  ​* ​-iinterfata pe care sa asculte +<code bash> 
-  ​* -pportul destinatiefiltrare dupa portul destinatie al pachetelor +root@red:~# ssh -l $USERNAME fep.grid.pub.ro -R 100XY:localhost:​22 
-  ​* ​-v: verbosity level +[...] 
-  -wfisierul in care se salveaza datele+$USERNAME@fep.grid.pub.ro'​s password:  
 +Last login: Mon Sep  9 09:55:37 2013 from 141.85.225.214 
 +[$USERNAME@fep-62-2 ~]$ ss -tln | grep 100XY 
 +tcp        0      0 127.0.0.1:​100XY ​            ​0.0.0.0:​                  LISTEN ​      
 +tcp        0      0 ::​1:​100XY ​                  :::​* ​                       LISTEN 
 +</​code>​ unde ''​$USERNAME''​ este numele contului de pe ''​fep.grid.pub.ro''/''​cs.curs.pub.ro'',​ iar ''​XY''​ este un identificator numeric unic al stației din laborator (dacă nu aveți pe monitorul stației din laborator un identificator discutați cu asistentul). Introduceți parola corespunzătoare contului vostru de pe ''​fep.grid.pub.ro''/''​cs.curs.pub.ro''​.
  
-Pentru a vedea grafic ce pachete ajung la masina red, trebuie sa capturati traficul generat catre red intr-un fisier si apoi +Observăm că se deschide portul ''​100XY'' ​pe ''​fep.grid.pub.ro''​. Acest port va fi folosit ​pentru ​tunelul invers care ne va duce pe stația ''​red''​.
-trebuie copiat fisierul ​pe masina fizica, ​pentru ​a-l analiza cu wireshark.+
  
-Pasii care trebuie urmati sunt: +Argumentul ​''​-R 100XY:​localhost:​22'' ​transmis comenzii ​''​ssh'' ​are următoarea semnificație:​ 
-  - Porniti tcpdump pentry interfata ​''​veth-red'' ​de pe ''​host'' ​cu optiunea de salvare a output-ului intr-un fisier. +   * ''​100XY'' ​portul ​de pe server pe care se vor asculta conexiuni care vor fi tunelate invers; 
-  Generati trafic catre red de pe oricare dintre celelalte masini. Puteti folosi orice fel de trafic ​(ex. ping / ssh / telnet+   * ''​localhost''​ - stația către care vor fi trimise pachetele primite prin tunel (chiar stația locală); 
-  - Folositi scp pentru a muta fisierul de output pe masina de host, apoi pe ''​fep.grid.pub.ro'' ​si pe masina locala +   * ''​22''​ - portul către care vor fi trimise pachetele primite prin tunel (adică portul SSH local).
-  ​Deschideti fisierul cu Wireshark.+
  
-**Ce fel de pachete ati analizat?**+După ce alți colegi rulează comenzile similare vă veți putea conecta pe stația ''​red''​ a acestora folosind portul deschis ​de ei; discutați cu alți colegi ca să vă spună ce port au deschis. Pentru aceasta, veți folosi stația fizică și vă veți conecta pe contul de pe ''​fep.grid.pub.ro''​.
  
 +<note important>​
 +Pe ''​fep.grid.pub.ro''​ rulează un load balancer pentru SSH. Din acest motiv este posibil să intrați pe "​celălalt"​ sistem. Verificați că numele de host din prompt corespunde cu cel pe care l-ați folosit inițial la crearea tunelului: adică ambele să fie ''​fep-62-2''​ sau ''​fep-62-1''​. Pentru siguranță folosim și comanda ''​ss'':<​code bash>
 +[$USERNAME_COLEG@fep-62-2 ~]$ ss -tln | grep 100ZT
 +tcp        0      0 127.0.0.1:​100ZT ​            ​0.0.0.0:​* ​                  ​LISTEN
 +tcp        0      0 ::​1:​100ZT ​                  :::​* ​                       LISTEN
 +</​code>​
 +În output-ul comenzii de mai sus ''​100ZT''​ este portul deschis de coleg.
 +</​note>​
  
-[1https://www.wireshark.org/+După conectarea colegului la ''​fep'',​ realizăm o conexiune prin tunelul SSH pe portul ''​100ZT''​ deschis de coleg:<​code bash> 
 +[$USERNAME_COLEG@fep-62-2 ~]$ ssh -l student localhost -p 100ZT 
 +WarningPermanently added '​[localhost]:​100ZT'​ (RSA) to the list of known hosts. 
 +root@localhost'​s password:  
 +[...] 
 +root@red:​~#​ 
 +</code> 
 +În cadrul conexiunii ni se cere parola utilizatorului ''​root''​ de pe stația ''​red''​ (adică parola ''​student''​). 
 + 
 +În final ați accesat stația ''​red''​ a colegului, o stația cu adresă IP privată inaccesibilă din exterior. Pentru aceasta ați folosit o altă stație (care ar putea fi din altă rețea) pentru a se conecta la ''​fep.grid.pub.ro''​ și de acolo la ''​red''​ prin intermediul tunelului invers creat inițial. 
 + 
 +Creați un fișier pe stația ''​red''​ proaspăt accesată, iar colegul poate verifica faptul că, într-adevăr,​ ați accesat container-ul său prin tunelul SSH invers pe care l-a creat anterior.
rl/labs/08/contents/10.1607619750.txt.gz · Last modified: 2020/12/10 19:02 by florin.stancu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0