Differences

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

Link to this comparison view

rl:labs:08:contents:06 [2013/11/20 21:52]
razvan.deaconescu
rl:labs:08:contents:06 [2023/11/05 12:55] (current)
vlad_iulius.nastase
Line 1: Line 1:
-==== 6. [5pBlocare completă a traficului ​====+==== 06. [10pExtindere port forwarding ​====
  
-Pentru început verificați că stația ''​red'' ​poate accesa alte stații din rețea. Rulați comanda<​code bash> +Dorim să accesăm din Internet/​exterior stațiile ''​green''​ ș''​blue''​ prin SSH folosindu-ne de stația ''​host''​. Vom folosi: 
-root@red:~# ping -c 2 green +  * portul ''​20022''​ de pe stația ''​host''​ pentru a face //port forwarding// ​ pe portul 22 al stației ''​green'';​ 
-PING green (192.168.2.2) 56(84) bytes of data. +  * portul ''​30022''​ de pe stația ''​host''​ pentru a face //port forwarding// ​ pe portul 22 al stației ''​blue''​.
-64 bytes from green (192.168.2.2):​ icmp_req=1 ttl=63 time=0.076 ms +
-64 bytes from green (192.168.2.2):​ icmp_req=2 ttl=63 time=0.067 ms+
  
---- green ping statistics --- 
-2 packets transmitted,​ 2 received, 0% packet loss, time 999ms 
-rtt min/​avg/​max/​mdev = 0.067/​0.071/​0.076/​0.009 ms 
-</​code>​ 
  
-Asocierile între porturi șprotocoale (''​21'' ​și FTP, ''​22''​ și SSH, ''​23'' ​și telnet) sunt cele implicite. Acest lucru nu împiedică însă un administrator să configureze un serviciu să asculte pe un port diferit ​de cel implicit. Pentru a preveni transferul de fișiere și conectare de la distanță ​pe stația ''​red'' ​vom bloca accesul la toate porturile. Pentru ​aceasta vom configura ​stația ''​host''​ pentru a bloca **întreg** traficul de la stația ''​red''​. ​Pentru blocarea **întregului** trafic rulați comanda<code bash> +Pe modelul [[:​rl:​labs:​09:​contents:​05|exercițiului anterior]], realizațconfigurarea necesară pentru această extindere de port forwarding. Verificați prin conectare de pe ''​fep.grid.pub.ro'' ​(echivalentul Internet-ului/​exteriorului) pe porturile respectiv ​''​20022''​ și ''​30022''​ de pe stația ''​host''​. 
-root@host:​~#​ iptables -A FORWARD ​-s red -j REJECT + 
-root@host:​~#​ iptables -L FORWARD ​-n -v +<note tip> 
-Chain FORWARD ​(policy ACCEPT 0 packets, 0 bytes)+Pentru ​a afla adresele IP ale stațiilor ''​green'' ​și ''​blue''​ rulați comanda de afișare a configurării interfeței ''​eth0''​ pe fiecare stație. Verificați, ​pentru ​siguranța, faptul că există conectivitate între ele și stația ''​host''​. 
 +</​note>​ 
 + 
 +<​hidden>​ 
 +<​solution>​ 
 +Adăugăm cele două reguli noi pentru //port forwarding//:​<code bash> 
 +root@host:​~#​ iptables ​-t nat -A PREROUTING ​-i eth0 -p tcp --dport 20022 -j DNAT --to-destination 192.168.2.2:​22 
 +root@host:​~#​ iptables ​-t nat -A PREROUTING -i eth0 -p tcp --dport 30022 -j DNAT --to-destination 192.168.3.2:​22 
 +root@host:​~#​ iptables -t nat -L PREROUTING ​-n -v 
 +Chain PREROUTING ​(policy ACCEPT 0 packets, 0 bytes)
  pkts bytes target ​    prot opt in     ​out ​    ​source ​              ​destination ​          pkts bytes target ​    prot opt in     ​out ​    ​source ​              ​destination ​        
-    ​0     0 REJECT ​    ​all ​ ​--  ​*      ​*       ​192.168.1.2 ​         0.0.0.0/​0 ​           ​reject-with icmp-port-unreachable+    ​1    60 DNAT       ​tcp ​ ​--  ​eth0   *       0.0.0.0/​0 ​           0.0.0.0/​0 ​           tcp dpt:10022 to:192.168.1.2:22 
 +    0     0 DNAT       ​tcp ​ --  eth0   ​* ​      0.0.0.0/​0 ​           ​0.0.0.0/​0 ​           tcp dpt:20022 to:​192.168.2.2:​22 
 +    0     0 DNAT       ​tcp  ​--  ​eth0 ​  ​* ​      ​0.0.0.0/​0 ​           0.0.0.0/​0 ​           tcp dpt:30022 to:​192.168.3.2:​22
 </​code>​ </​code>​
-Comanda blochează întreg traficul **de la** stația ''​red''​ (opțiunea ''​-s''​) ​pe care stația ''​host''​ l-ar fi rutat (lanțul ''​FORWARD''​). +Verificăm conectivitatea către cele două noi stații de pe ''​fep.grid.pub.ro''​:<code bash> 
- +razvan@einherjar:~$ ssh $ADRESA_IP_MV ​-p 20022 
-Verificați că stația ​''​red''​ nu poate accesa alte stații. Rulați comenzile<code bash> +root@host.local'​s password: ​ 
-root@red:~# ping -c 2 green +[...] 
-PING green (192.168.2.2) 56(84) bytes of data. +root@green:​~# ​
-From host (192.168.1.1) icmp_seq=1 Destination Port Unreachable +
-From host (192.168.1.1) icmp_seq=2 Destination Port Unreachable +
- +
---- green ping statistics --- +
-2 packets transmitted,​ 0 received, +2 errors, 100% packet loss, time 999ms +
- +
-root@red:~# telnet ​green +
-Trying 192.168.2.2... +
-telnet: Unable to connect to remote host: Connection refused +
- +
-root@red:~# ftp green +
-ftp: connect: Connection refused +
-ftp> exit+
  
-root@red:~ssh -l student green +razvan@einherjar:~ssh $ADRESA_IP_MV ​-p 30022 
-ssh: connect to host green port 22Connection refused+root@host.local'​s password 
 +[...] 
 +root@blue:​~#​
 </​code>​ </​code>​
-Observați că nu mai sosesc pachete de răspuns (sunt respinse de stația ''​host''​),​ deci traficul de la stația ''​red''​ este blocat.+</​solution>​ 
 +</​hidden>​
rl/labs/08/contents/06.1384977177.txt.gz · Last modified: 2013/11/20 21:52 by razvan.deaconescu
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