Diferència entre revisions de la pàgina «ASIX/M11/UF3/EX1»

De Lordwektabyte Wiki
Salta a la navegació Salta a la cerca
Línia 2: Línia 2:
 
==Enunciat==
 
==Enunciat==
 
https://gitlab.com/pautome/m11-asix-pub/blob/master/UF3-Firewall/exercicis/firewall-iptables.md
 
https://gitlab.com/pautome/m11-asix-pub/blob/master/UF3-Firewall/exercicis/firewall-iptables.md
* Farem servir dos equips virtuals Ubuntu amb xarxa pont i la màquina física com a tercer equip. Tots els equips a la mateixa xarxa.
+
* Farem servir dos equips virtuals i la màquina física:
 +
:* OpenSuse amb ''NAT'' i ''host-only'', un Ubuntu Desktop amb ''NAT'' i ''host-only'' i la màquina física com a tercer equip. Tots els equips compartiran la xarxa ''host-only'' en el rang 192.168.57.0/24.
 
* Quan configurem el tallafocs és molt important l'ordre de les regles, ja que per a cada paquet es comprova la llista de regles i si es troba una regla que concorda amb els criteris de selecció, s'executa el TARGET i ja no es mira la resta que venen darrera.
 
* Quan configurem el tallafocs és molt important l'ordre de les regles, ja que per a cada paquet es comprova la llista de regles i si es troba una regla que concorda amb els criteris de selecció, s'executa el TARGET i ja no es mira la resta que venen darrera.
 
*Farem servir una màquina virtual Ubuntu Desktop (l'anomenarem "Servidor") on configurarem el firewall iptables.
 
*Farem servir una màquina virtual Ubuntu Desktop (l'anomenarem "Servidor") on configurarem el firewall iptables.

Revisió del 15:22, 12 feb 2019

Contingut

Enunciat

https://gitlab.com/pautome/m11-asix-pub/blob/master/UF3-Firewall/exercicis/firewall-iptables.md

  • Farem servir dos equips virtuals i la màquina física:
  • OpenSuse amb NAT i host-only, un Ubuntu Desktop amb NAT i host-only i la màquina física com a tercer equip. Tots els equips compartiran la xarxa host-only en el rang 192.168.57.0/24.
  • Quan configurem el tallafocs és molt important l'ordre de les regles, ja que per a cada paquet es comprova la llista de regles i si es troba una regla que concorda amb els criteris de selecció, s'executa el TARGET i ja no es mira la resta que venen darrera.
  • Farem servir una màquina virtual Ubuntu Desktop (l'anomenarem "Servidor") on configurarem el firewall iptables.

Exercicis

1. Esborra totes les regles al Servidor i tindrem el firewall sense cap regla i aturat

iptables -F
iptables -X


2. Que fa cada comanda? Mira l'estat actual de les regles amb iptables -L -v -n

Solució

Quan executem la comanda del punt anterior, veiem que ens dóna aquest output per consola:

root@ubuntu18-server-gsb:/home/guillem# iptables -L -v -n
Chain INPUT (policy ACCEPT 118 packets, 8580 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 80 packets, 13008 bytes)
 pkts bytes target     prot opt in     out     source               destination

Veiem que a les 3 cadenes (INPUT, FORWARD i OUTPUT) s'hi queda una política default d'ACCEPT; pel que aquesta comanda fa una neteja de les regles de les cadenes. Si mirem el manual de IPTables, veiem que aquestes opcions que hem passat a la comanda signifiquen:

  • L'opció -F fa un Flush de les regles de la cadena que diguem. Si no s'especifica cap cadena, es netegen les regles de totes les cadenes.
  • L'opció -X elimina cadenes personalitzades per l'usuari seleccionades; o bé s'eliminen totes si no s'especifica.


3. En una altre equip virtual Ubuntu (serà "Client") instal·la el programari zenmap (o fes servir nmap directament) i arrenca'l. Ens servirà per fer scan de ports i comprovar si es pot accedir als serveis del servidor

Solució

4. Si les polítiques per defecte no són ACCEPT en INPUT, OUTPUT o FORWARD, poseu:

iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

Solució

5. Instal·la Apache i openssh-server al Servidor

Solució

6. Comprova que pots veure els serveis actius des del client, accedint amb un navegador web i un client ssh al servidor

Solució

7. Comprova també que Zenmap, amb l'opció "Quick scan" et mostra que els ports dels serveis web i sshd estan oberts (escoltant)

Solució

8. Ara canvia la configuració del firewall per tancar l'accés al servidor. Posa a iptables que la política sigui per defecte DROP. Comprova l'estat actual del firewall

Solució

9. Des del client comprova que els ports dels serveis ja no són accessibles i tampoc es pot accedir amb els clients web i ssh. Comprova que tampoc pots accedir des del servidor a la xarxa, fent un ping al client

Solució

10. Canvia la política a REJECT i comprova des del client quina és la diferència (navegador, client ssh, Zenmap)

Solució

11. Permet l'accés a la màquina server només des de la màquina client (tant d'entrada com de sortida)

iptables -A INPUT -s ip_client -j ACCEPT
iptables -A OUTPUT -d ip_client -j ACCEPT

Solució

12. Comprova que no es pot accedir per exemple des de la màquina física (ping, client web), i un scan amb Zenmap et donarà tots els ports tancats. En canvi des del client no

Solució

13. Permet l'accés a la màquina servidor només als ports dels serveis Web (80, 443) i SSH (22), des de qualsevol equip, i prova que ara des de la màquina física pots accedir als serveis web i ssh, però que no pots fer un ping, per exemple

Solució

14. Prova a posar només la regla de la cadena INPUT. Funciona el servei web? Per què necessites la regla de la cadena OUTPUT?

Solució

15. Escriu, per un servei concret les següents regles, on -A és afegir una regla a una cadena (INPUT, OUTPUT O FORWARD), -p és "protocol" (tcp, udp o icmp), --dport és "destination port" i --sport és "source port" i -j és "jump" que vol dir que especifica l'objectiu de la regla. Canvia n_port pel número de port assignat al servei

iptables -A INPUT -p tcp --dport n_port -j ACCEPT
iptables -A OUTPUT -p tcp --sport n_port -j ACCEPT

Solució

16. Permet fer ping a la màquina server (busca els icmp-type del ping), des de l'equip físic, i prova que ara des de la màquina física pots fer ping

iptables -A INPUT -s ip-fisica -p icmp --icmp-type ?? -j ACCEPT
iptables -A OUTPUT -d ip-fisica -p icmp --icmp-type ?? -j ACCEPT

Solució

17. Per què necessitem la regla de la cadena OUTPUT?

Solució

18. Si volem denegar que es pugui fer un ping, haurem de fer dues regles INPUT i OUTPUT o només amb INPUT ja deneguem?

Solució

19. Activa ara el servei FTP del servidor i limita l'accés al servidor FTP als ordinadors d'un rang adreces IP. Pensa que el protocol FTP fa servir 2 ports, el 20 i el 21 (en mode actiu). Prova primer a permetre el port de comandes (21) i després si funciona, obre el port de dades (20)

Solució

20. Fes que la configuració sigui persistent al servidor. Comprova reiniciant el servidor

Solució