După cum ați observat la punctul anterior, traficul pentru protocoalele telnet și FTP este trafic în clar, necriptat, putându-se afla cu ușurință credențialele unui anumit cont și comenzile rulate.
Ne propunem să blocăm accesul de la stația red
către stația green
pentru aceste servicii, configurând ruterul dintre cele două stații, adică stația host
. Practic vom configura pe stația host
opțiuni de firewall cu ajutorul utilitarului iptables
.
Autentificați-vă prin SSH ca root
pe stația host
. Pentru a bloca accesul la serviciul telnet (port 23) destinat stației green
, rulați pe stația host
comanda de mai jos. Comanda adaugă regula iptables
corespunzătoare.
root@host:~# iptables -A FORWARD -d green -p tcp --dport telnet -j REJECT
Pentru a verifica adăugarea regulii de mai sus, rulați pe stația host
comanda
root@host:~# iptables -L FORWARD Chain FORWARD (policy ACCEPT) target prot opt source destination REJECT tcp -- anywhere green tcp dpt:telnet reject-with icmp-port-unreachable
Pentru a afișa informații și despre pachetele prelucrate și interfețele folosite, rulați pe stația host
comanda
root@host:~# iptables -L FORWARD -v Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 REJECT tcp -- any any anywhere green tcp dpt:telnet reject-with icmp-port-unreachable
Pentru a afișa informații în format numeric (pentru nume de stații și nume de porturi), rulați pe stația host
comanda
root@host:~# iptables -L FORWARD -v -n Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 REJECT tcp -- * * 0.0.0.0/0 192.168.2.2 tcp dpt:23 reject-with icmp-port-unreachable
De acum înainte recomandăm folosirea acestor opțiuni (-v -n
) pentru listarea regulilor iptables
.
Pentru a verifica blocarea traficului telnet către green
, rulați pe stația red
comanda
telnet green
Vă apare un mesaj de forma
Trying 192.168.2.2... telnet: Unable to connect to remote host: Connection refused
semnificând faptul că se încearcă realizarea conexiunii dar conexiunea este respinsă
Pentru a vedea că regula de blocare a funcționat, rulați din nou pe stația host
comanda
root@host:~# iptables -L FORWARD -v -n Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 2 120 REJECT tcp -- * * 0.0.0.0/0 192.168.2.2 tcp dpt:23 reject-with icmp-port-unreachable
Observați, în output-ul comenzii, că există acum valori diferite de 0 în coloana pkts
și bytes
, semn că au fost pachete prelucrate de această regulă, deci blocate.
Pentru a verifica funcționarea în continuare a altor conexiuni (diferite de telnet) de la red
la green
, rulați pe stația red
comenzile
ftp green ssh -l student green
Dorim să blocăm și celălalt serviciu necriptat, FTP. Adăugați o regulă iptables
similară pentru a bloca, pe stația host
, traficul FTP destinat stației green
. După adăugarea regulii folosiți iptables -L FORWARD -n -v
pentru a valida adăugarea regulii.
21
opțiunii --dport
sau chiar numele ftp
. Asocierea între port (număr) și protocol (nume) se găsește în fișierul /etc/services
.
De pe stația red
verificați blocarea traficului FTP către stația green folosind comanda
ftp green