Diferència entre revisions de la pàgina «ASIX/M11/UF3/EX1»
| Línia 6: | Línia 6: | ||
==Procediment== | ==Procediment== | ||
| − | ''1. Esborra totes les regles al Servidor i tindrem el firewall sense cap regla i aturat'' | + | '''1. Esborra totes les regles al Servidor i tindrem el firewall sense cap regla i aturat''' |
<source> | <source> | ||
iptables -F | iptables -F | ||
| Línia 13: | Línia 13: | ||
| − | ''2. Que fa cada comanda? Mira l'estat actual de les regles amb "iptables -L -v -n"'' | + | '''2. Que fa cada comanda? Mira l'estat actual de les regles amb "iptables -L -v -n"''' |
| − | ''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'' | + | '''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''' |
| − | ''4. Si les polítiques per defecte no són ACCEPT en INPUT, OUTPUT o FORWARD, poseu:'' | + | '''4. Si les polítiques per defecte no són ACCEPT en INPUT, OUTPUT o FORWARD, poseu:''' |
<source> | <source> | ||
iptables -P INPUT ACCEPT | iptables -P INPUT ACCEPT | ||
| Línia 27: | Línia 27: | ||
| − | ''5. Instal·la Apache i openssh-server al Servidor'' | + | '''5. Instal·la Apache i openssh-server al Servidor''' |
| − | ''6. Comprova que pots veure els serveis actius des del client, accedint amb un navegador web i un client ssh al servidor'' | + | '''6. Comprova que pots veure els serveis actius des del client, accedint amb un navegador web i un client ssh al servidor''' |
| − | ''7. Comprova també que Zenmap, amb l'opció "Quick scan" et mostra que els ports dels serveis web i sshd estan oberts (escoltant)'' | + | '''7. Comprova també que Zenmap, amb l'opció "Quick scan" et mostra que els ports dels serveis web i sshd estan oberts (escoltant)''' |
| − | ''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'' | + | '''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''' |
| − | ''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'' | + | '''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''' |
| − | ''10. Canvia la política a REJECT i comprova des del client quina és la diferència (navegador, client ssh, Zenmap)'' | + | '''10. Canvia la política a REJECT i comprova des del client quina és la diferència (navegador, client ssh, Zenmap)''' |
| − | ''11. Permet l'accés a la màquina server només des de la màquina client (tant d'entrada com de sortida)'' | + | '''11. Permet l'accés a la màquina server només des de la màquina client (tant d'entrada com de sortida)''' |
<source> | <source> | ||
iptables -A INPUT -s ip_client -j ACCEPT | iptables -A INPUT -s ip_client -j ACCEPT | ||
| Línia 51: | Línia 51: | ||
</source> | </source> | ||
| − | ''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'' | + | '''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''' |
| − | ''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'' | + | '''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''' |
| − | ''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?'' | + | '''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?''' |
| − | ''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'' | + | '''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''' |
<source> | <source> | ||
iptables -A INPUT -p tcp --dport n_port -j ACCEPT | iptables -A INPUT -p tcp --dport n_port -j ACCEPT | ||
| Línia 67: | Línia 67: | ||
| − | ''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'' | + | '''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''' |
<source> | <source> | ||
iptables -A INPUT -s ip-fisica -p icmp --icmp-type ?? -j ACCEPT | iptables -A INPUT -s ip-fisica -p icmp --icmp-type ?? -j ACCEPT | ||
| Línia 74: | Línia 74: | ||
| − | ''17. Per què necessitem la regla de la cadena OUTPUT?'' | + | '''17. Per què necessitem la regla de la cadena OUTPUT?''' |
| − | ''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?'' | + | '''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?''' |
| − | ''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)'' | + | '''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)''' |
| − | ''20. Fes que la configuració sigui persistent al servidor. Comprova reiniciant el servidor'' | + | '''20. Fes que la configuració sigui persistent al servidor. Comprova reiniciant el servidor''' |
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 | ||
Revisió del 16:41, 28 gen 2019
Enunciat
- 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.
- 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.
Procediment
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"
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
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
5. Instal·la Apache i openssh-server al Servidor
6. Comprova que pots veure els serveis actius des del client, accedint amb un navegador web i un client ssh al servidor
7. Comprova també que Zenmap, amb l'opció "Quick scan" et mostra que els ports dels serveis web i sshd estan oberts (escoltant)
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
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
10. Canvia la política a REJECT i comprova des del client quina és la diferència (navegador, client ssh, Zenmap)
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
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
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
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?
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
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
17. Per què necessitem la regla de la cadena OUTPUT?
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?
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)
20. Fes que la configuració sigui persistent al servidor. Comprova reiniciant el servidor
https://gitlab.com/pautome/m11-asix-pub/blob/master/UF3-Firewall/exercicis/firewall-iptables.md