Differences

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

Link to this comparison view

rl:labs:08:contents:07 [2020/08/30 13:37]
iulia.florea [7. [10p] Permitere trafic SSH]
rl:labs:08:contents:07 [2023/11/05 12:56] (current)
vlad_iulius.nastase
Line 1: Line 1:
-==== 7. [10p] Permitere trafic SSH ====+==== 07. [10p] Format de pachete la port forwarding ​====
  
-În acest moment, traficul ​de la stația ''​red'' ​către celelalte stații din rețea este blocat.+La exercițiul [[rl:​labs:​09:​contents:​03|]] am observat cum se modifică adresa IP sursă și portul sursă în cazul translatării ​de adrese. La port forwarding vom observa cum se modifică adresa IP destinație (de aici și numele DNAT: ''​Destination NAT''​).
  
-Dorim să permitem ​traficul SSH **de la** stația ''​red'' ​**către** ​stația ''​green''​. ​Adăugați o regulă corespunzătoare ​pe stația ''​host''​.+Vom captura ​traficul SSH inițiat din exterior către ​stația ''​red''​, prin intermediul portului ''​10022''​ al stației ''​host''​. ​Este vorba de traficul înainte de //port forwarding//​. Pentru aceasta, ​pe stația ''​host'' ​vom folosi comanda<​code bash> 
 +root@host:​~#​ tcpdump -n -i eth0 tcp dst port 10022 -w /​home/​student/​portfwd_eth0_output.pcap 
 +</​code>​
  
-<​hidden>​ +Pe un alt terminal, tot pe stația ''​host''​ capturăm traficul **după** //port forwarding//,​ pe interfața ''​veth-red''​ către portul SSH (''​22''​) al stației red. Pe stația ''​host''​ folosim comanda<code bash> 
-<​solution>​ +root@host:​~# ​tcpdump ​-n -i veth-red tcp dst port 22 -w /​home/​student/​portfwd_veth-red_output.pcap
-<code bash> +
-root@host:​~# ​iptables ​-A FORWARD ​-red -d green -p tcp --dport ssh -j ACCEPT+
 </​code>​ </​code>​
-</​solution>​ 
-</​hidden>​ 
  
-După ce ați adăugat regulaîncercați realizarea unei conexiuni SSH de la stația ''​red''​ la stația ''​green''​. Observați că nu se realizează conexiunea. +Pentru ​genera trafic, de pe ''​fep.grid.pub.ro''​ realizăm o conexiune SSH la stația ''​host'' ​pe portul ''​10022'',​ conexiune ce va fi redirectată ​la portul ''​22''​ al stației ''​red''​:<code bash> 
- +mihai.carabas@fep:​~$ ssh -l student $ADRESA_IP_VM -p 10022 
-<​hidden>​ +root@host.local'​s password:  
-<​solution>​ +[...] 
-<code bash> +root@red:​~# ​
-root@red:​~# ​ssh green +
-^C+
 </​code>​ </​code>​
-</​solution>​ 
-</​hidden>​ 
  
-Afișați lista de reguli ​''​iptables'' ​de pe stația ''​host''​. De ce nu a reușit conexiunea? Țineți cont de ordinea regulilor afișate; sunt parcurse secvențial.+<note important>​ 
 +Pentru ​vizualiza capturile salvate în cele două fișiere copiați-le la voi local (pe calculatorul vostru) folosind ​''​scp'' ​și deschideți-le cu utilitarul ​''​wireshark''​.
  
-<hidden>​ +<spoiler (click pentru expandare) Copiere fișiere din VM pe local>
-<​solution>+
 <code bash> <code bash>
-root@host:​~#​ iptables -L FORWARD -n -v 
-root@host:​~#​ iptables -L FORWARD -n -v 
-Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) 
- pkts bytes target ​    prot opt in     ​out ​    ​source ​              ​destination ​         
-    6   360 REJECT ​    ​all ​ --  *      *       ​192.168.1.2 ​         0.0.0.0/​0 ​           reject-with icmp-port-unreachable 
-    0     0 ACCEPT ​    ​tcp ​ --  *      *       ​192.168.1.2 ​         192.168.2.2 ​         tcp dpt:22 
-</​code>​ 
-Regulile sunt parcurse secvențial. Conform primei reguli, tot traficul transmis de stația ''​red''​ este blocat. A doua regulă nu mai este parcursă. Trebuie să mutăm a doua regulă pe prima poziție. 
-</​solution>​ 
-</​hidden>​ 
  
-Pentru rezolvarea problemei ștergețregula ''​iptables''​ introdusă anterior ​și **inserați** regula pe stația ''​host''​Pentru inserare folosițopțiunea ''​-I'' ​ a comenzii ''​iptables''​Verificați că acum conexiunea SSH între ''​red''​ și ''​green''​ va fi realizată.+$USER_FEP@fep:​~$ scp -~/​.ssh/​openstack.key student@$ADRESA_IP_VM:​portfwd_eth0_output.pcap ./   # Dacă fișierul pf_eth0_output.pcap se află în directorul /​home/​student/​ 
 +$USER_FEP@fep:​~$ scp -~/​.ssh/​openstack.key student@$ADRESA_IP_VM:​portfwd_veth-red_output.pcap ./   # Dacă fișierul pf_veth-red_output.pcap se află în directorul /​home/​student/​
  
-<note hint> +student@lab-EG207-EG208:​~$ scp $USER_FEP@fep.grid.pub.ro:​portfwd_eth0_output.pcap ./  # Dacă fișierul portfwd_eth0_output.pcap se află în home-ul utilizatorului de pe fep. 
-Pentru a șterge o regulă puteți folosi opțiunea ''​-D''​ așa cum ați făcut și la [[:rl:labs:​08:​contents:​04|exercițiul 4]].+student@lab-EG207-EG208:~$ scp $USER_FEP@fep.grid.pub.ro:portfwd_veth-red_output.pcap ./  # Dacă fișierul portfwd_veth-red_output.pcap se află în home-ul utilizatorului de pe fep.
  
-Pentru a insera o regulă folosiți opțiunea ''​-I''​ urmată de numele lanțului (''​INPUT'',​ ''​OUTPUT''​ sau ''​FORWARD''​),​ urmată de indexul poziției unde doriți plasată regulă (1, 2, 3, ...) și apoi urmată de specificarea regulii.+</​code>​ 
 +</​spoiler> ​
 </​note>​ </​note>​
  
-<hidden+<note
-<​solution>​+Exemplu instalare și pornire ''​Wireshark''​ (pe sisteme Debian):
 <code bash> <code bash>
-root@host:~# iptables ​-D FORWARD -s red -d green -p tcp --dport ssh -j ACCEPT +student@mjolnir:~$ apt-get install wireshark 
-root@host:~# iptables ​-I FORWARD -s red -d green -p tcp --dport ssh -j ACCEPT+student@mjolnir:~$ wireshark portfwd_eth0_output.pcap & 
 +student@mjolnir:​~$ wireshark portfwd_veth-red_output.pcap & 
 +</​code>​ 
 +</​note>​
  
-root@host:​~#​ iptables -L FORWARD -n -v +În capturile realizate de comenzile de mai susobservăm cum se translatează adresa IP și portul destinație din perechea ''<​$ADRESA_IP_VM,​ 10022>''​ în perechea ''<​192.168.1.222>''.
-Chain FORWARD (policy ACCEPT 0 packets0 bytes) +
- pkts bytes target ​    prot opt in     ​out ​    ​source ​              ​destination ​         +
-    0     0 ACCEPT ​    ​tcp ​ --  *      *       192.168.1.2 ​         ​192.168.2.2 ​         tcp dpt:22 +
-    6   360 REJECT ​    ​all ​ --  *      *       ​192.168.1.2 ​         0.0.0.0/​0 ​           reject-with icmp-port-unreachable ​    +
- +
-root@red:~# ssh -l student green +
-student@green's password:  +
-Welcome to Ubuntu 12.04.3 LTS (GNU/Linux 3.2.0-53-generic-pae i686) +
- +
- * Documentation: ​ https://​help.ubuntu.com/​ +
-Last login: Thu Nov 14 14:18:53 2013 from 192.168.1.2 +
-student@green:​~$ logout +
-Connection to green closed. +
-</​code>​ +
-</​solution>​ +
-</​hidden>​+
rl/labs/08/contents/07.1598783873.txt.gz · Last modified: 2020/08/30 13:37 by iulia.florea
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