Você está na página 1de 16

Prctica 15 Configuracin de firewall mediante iptables

Configuracin del firewall


1. Conctate a tu mquina virtual Centos y utiliza la cuenta de root. 2. Crea una nueva cadena llamada PERSONALIZADO. 3. Haz que todos los paquetes que lleguen a la cadena INPUT vayan a la cadena PERSONALIZADO. 4. Agrega una regla en la cadena PERSONALIZADO para que todos los paquetes sean rechazados con el motivo icmp-host-unreachable. Si estabas conectado por putty a centos comprobars que te has quedado sin conexin. Comprueba que no puedes hacer un ping a tu mquina centos desde ubuntu y comprueba que el mensaje que obtienes es el que nosotros hemos establecido. 5. Muestra las reglas del firewall con el nmero de lnea regla que acabamos de aadir y en su lugar aade una que haga que se descarten todos los paquetes sin Prueba a hacer ping ahora desde la mquina ubuntu reglas del firewall. asociado. Elimina la en PERSONALIZADO dar ningn motivo. a centos. Salva las

6. Aade una regla encima de la que acabamos de configurar de tal forma que todas las conexiones que se vayan a rechazar desde la mquina centos se registren en el log. Prueba a hacer un telnet desde ubuntu al puerto 22 de centos y comprueba en el log de la mquina centos (/var/log/messages) que se estn registrando los intentos de conexin. 7. Intenta conectarte desde centos al puerto 25 de tu propia mquina centos. Comprobars que no es posible realizar la conexin. Crea una nueva regla en PERSONALIZADO para permitir todas las conexiones que utilicen la interfaz de red de loopback (lo), es decir, todas las conexiones que se produzcan desde la propia mquina y vayan a la propia mquina. Prueba a hacer el telnet ahora. Salva las reglas del firewall. 8. Aade las reglas necesarias a la cadena PERSONALIZADO de tal forma que se permitan las conexiones por ssh a la mquina centos desde cualquier equipo de tu red. Para crear las reglas necesitars saber los puertos utilizados por el servicio ssh as como el protocolo que utilizan. Comprueba que funciona correctamente intentando conectarte por ssh a tu mquina centos. 9. Aade una regla a la cadena PERSONALIZADO de tal forma que se permita hacer ping a la mquina centos a todos los equipos. Comprueba que puedes hacer ping desde tu equipo fsico. Salva las reglas del firewall.
Administracin de sistemas de software libre. Prctica 15

10. Aade las reglas necesarias a la cadena PERSONALIZADO de tal forma que se permita hacer ftp a la mquina centos desde cualquier equipo. Comprueba que puedes hacer ftp desde tu equipo fsico. 11. Aade las reglas necesarias a la cadena PERSONALIZADO de tal forma que se permitan las conexiones al servicio samba desde cualquier equipo de tu red. Necesitars consultar los puertos en los que est escuchando samba (smb) y (nmb). Comprueba que puedes acceder desde tu mquina ubuntu mediante smbclient -U pedro //centos/rrhh. Si no recuerdas la contrasea del usuario pedro puedes asignarle otra mediante smbpasswd. Salva las reglas del firewall. 12. Aade las reglas necesarias a la cadena PERSONALIZADO de tal forma que puedas acceder desde cualquier equipo de la red al servicio cups de la mquina centos. Necesitars comprobar los puertos que utiliza cups. Comprueba que funciona correctamente intentando acceder a la interfaz web de cups desde tu equipo fsico. 13. Aade las reglas necesarias a la cadena PERSONALIZADO para permitir el acceso a cualquier equipo a los puertos utilizados por apache. Comprueba que funciona correctamente intentando acceder desde el navegador a https://www.cursosl.com. Salva las reglas del firewall. 14. Aade una regla a la cadena PERSONALIZADO para permitir a cualquier equipo de tu red acceder al servicio dns de tu equipo centos. El servicio utiliza el puerto 53/tcp y 53/udp. Para comprobar que funciona correctamente prueba a preguntar por dns.cursosl.com desde tu mquina centos. 15. Comprueba el puerto utilizado por squid y permite el acceso al mismo a todos los equipos de la red aadiendo una regla a la cadena PERSONALIZADO. Comprueba que funciona intentando visualizar cualquier pgina desde tu mquina centos. te ha dejado? No debera dejarte. Para solucionar el problema debers aadir una regla a la cadena PERSONALIZADO para que se acepten todas las conexiones con estado ESTABLISHED y RELATED. Comprueba que funciona. Asegrate de que esta regla permanece como la primera del firewall a partir de ahora. Salva las reglas del firewall. 16. Aade las reglas necesarias a la cadena PERSONALIZADO de tal forma que se permita la conexin desde cualquier equipo de la red a los puertos utilizados por postfix (master) y dovecot. Para comprobar que funciona correctamente prueba a hacer telnet a cualquiera de los puertos. 17. Crea una regla de tal forma que cuando cualquier equipo de la red intente acceder a travs del navegador a la ip de la mquina centos al puerto 80/tcp se le redirija al puerto 631 y vea por lo tanto la interfaz web de cups. Averigua a qu tabla y a qu cadena debes aadir la regla para que funcione correctamente. Comprueba que funciona correctamente. Guarda las reglas del firewall. 18. Aade una regla para rechazar todas las conexiones que se produzcan desde la mquina centos y tengan como destino el puerto 80/tcp de cualquier equipo. Comprueba que no puedes acceder a ninguna pgina web desde tu mquina centos.

Administracin de sistemas de software libre. Prctica 15

19. Aade una regla para no permitir a la mquina centos realizar consultas dns. Comprueba que al preguntar por la ip de www.google.es no se te da respuesta. Guarda las reglas del firewall. 20. Modifica la poltica por defecto de la cadena OUTPUT de manera que se descarten todos los paquetes. Prueba a hacer un ping a la mquina ubuntu. 21. Vuelve a cambiar la poltica por defecto de la cadena OUTPUT a ACCEPT. Agrega una regla de tal forma que se rechacen todos los paquetes que vayan a cualquier red distinta de la red en la que se encuentran las mquinas virtuales. Asegrate de que esta regla es la primera. Prueba a hacer un ping a www.google.es y despus a la ip de tu mquina ubuntu. Guarda las reglas del firewall. 22. Elimina todas las reglas de la cadena OUTPUT. Prueba a hacer ping a www.google.es ahora. Muestra todas las reglas de la tabla filter de forma detallado y mostrando las ips en lugar de los nombres asociados a cada ip. 23. Elimina la regla de la cadena PERSONALIZADO que registra los eventos(LOG). Vuelve a mostrar las reglas del firewall para comprobar que ya no est. Guarda las reglas del firewall. 24. Deshabilita el servicio iptables y haz que no arranque con el inicio del sistema.

Solucin
1. Accedemos a la mquina va putty o bien a travs de la propia terminal que lleva incorporada y usamos la cuenta de root: su 2. Creamos la nueva cadena: iptables -N PERSONALIZADO 3. Creamos la regla que haga que todo lo que vaya a INPUT se redirija a PERSONALIZADO: iptables -A INPUT -j PERSONALIZADO 4. Agregamos la regla: iptables -A PERSONALIZADO -j REJECT --reject-with icmp-hostunreachable

Administracin de sistemas de software libre. Prctica 15

Si probamos a hacer un ping desde ubuntu a centos: ping centos

Comprobamos que efectivamente obtenemos unreachable" tal y como habamos configurado. 5. Mostramos las reglas existentes en el firewall: iptables --line -L

la

respuesta

"host

Comprobamos que la regla aadida ocupa la posicin 1 de la cadena PERSONALIZADO. Eliminamos la regla que acabamos de aadir: iptables -D PERSONALIZADO 1 A continuacin aadimos una regla que haga que se descarten todos los paquetes en lugar de rechazarlos: iptables -A PERSONALIZADO -j DROP Probamos a hacer ping desde ubuntu a centos:

Comprobamos que no responde nada la mquina centos. De esta forma conseguimos ganar seguridad y ancho de banda.
Administracin de sistemas de software libre. Prctica 15

A continuacin salvamos las reglas del firewall: /etc/init.d/iptables save

6. Insertamos la regla justo encima de la ya existente: iptables -I PERSONALIZADO -j LOG

OJO

Asegrate de que utilizas -I y no -A para insertarla encima o de lo contrario no funcionar, el orden es importante

A continuacin probamos a hacer un telnet desde la mquina ubuntu: telnet centos 22

Si comprobamos el log en la mquina centos: tail /var/log/messages

Comprobamos que se registra una conexin con (SRC=10.0.0.72) y con destino centos (DST=10.0.0.71) 7. Si intentamos hacer un telnet a localhost: telnet localhost 25

origen

ubuntu

Comprobamos que no nos est permitido. A continuacin insertamos la nueva regla en el firewall: iptables -I PERSONALIZADO -i lo -j ACCEPT

Administracin de sistemas de software libre. Prctica 15

Si probamos a hacer el telnet ahora: telnet localhost 25

A continuacin salvamos las reglas del firewall: /etc/init.d/iptables save

8. Lo primero que hacemos es comprobar en qu puerto o puertos est escuchando el servicio ssh: netstat -lnp | grep ssh

Comprobamos que utiliza el puerto 22/tcp. A continuacin, aadimos la regla al firewall para permitir realizar la conexin al servicio ssh a cualquier equipo de la red: iptables -I PERSONALIZADO -s 10.0.0.0/255.255.255.0 -p tcp -dport 22 -j ACCEPT (modificar la ip de la red por la de tu red) A continuacin si probamos a conectarnos desde el equipo fsico usando putty a la mquina centos comprobaremos que no hay ningn problema. 9. Aadimos una regla que permita todos los paquetes de tipo icmp: iptables -I PERSONALIZADO -p icmp -j ACCEPT (modificar la ip de la red por la de tu red)

Administracin de sistemas de software libre. Prctica 15

A continuacin, si probamos a hacer ping desde nuestra mquina fsica:

Comprobamos que no tenemos ningn problema. A continuacin salvamos las reglas del firewall: /etc/init.d/iptables save

10. Comprobamos los puertos usados por ftp: netstat -lnp | grep ftp

A continuacin introducimos la regla: iptables -I PERSONALIZADO -p tcp --dport 21 -j ACCEPT Comprobamos que podemos hacer ftp a la mquina centos despus del cambio: ftp 10.0.0.71 (modifica la ip por la de tu mquina centos)

11. Consultamos los puertos utilizados por el servicio samba: netstat -lnp | grep smb

Administracin de sistemas de software libre. Prctica 15

netstat -lnp | grep nmb

Una vez que sabemos los puertos en los que est escuchando el servicio, incorporamos las reglas al firewall: iptables -I PERSONALIZADO -s 10.0.0.0/255.255.255.0 -p tcp -dport 139 -j ACCEPT iptables -I PERSONALIZADO -s 10.0.0.0/255.255.255.0 -p tcp -dport 445 -j ACCEPT iptables -I PERSONALIZADO -s 10.0.0.0/255.255.255.0 -p udp -dport 137 -j ACCEPT iptables -I PERSONALIZADO -s 10.0.0.0/255.255.255.0 -p udp -dport 138 -j ACCEPT (modifica los valores con los de tu red) Ahora si intentamos acceder a centos usando comprobaremos que no tenemos ningn problema: smbclient -U pedro //centos/rrhh el cliente samba

A continuacin salvamos las reglas del firewall: /etc/init.d/iptables save

Administracin de sistemas de software libre. Prctica 15

12. Comprobamos los puertos en los que est escuchando cups: netstat -lnp | grep cups

A continuacin establecemos las reglas en el firewall: iptables -I PERSONALIZADO -s 10.0.0.0/255.255.255.0 -p tcp -dport 631 -j ACCEPT iptables -I PERSONALIZADO -s 10.0.0.0/255.255.255.0 -p udp -dport 631 -j ACCEPT (modifica los valores con los de tu red) A continuacin si pruebas a acceder a la interfaz web de cups desde tu equipo fsico comprobars que no tienes ningn problema:

(modifica la ip por la de tu mquina centos) 13. Comprobamos los puertos utilizados por apache: netstat -lnp | grep http

Administracin de sistemas de software libre. Prctica 15

Aadimos las reglas en cuestin: iptables -I PERSONALIZADO -p tcp --dport 200 -j ACCEPT iptables -I PERSONALIZADO -p tcp --dport 443 -j ACCEPT Probamos a acceder a la web configurada en apache a travs del navegador https://www.cursosl.com:

Salvamos las reglas del firewall: /etc/init.d/iptables save

14. Aadimos las reglas: iptables -I PERSONALIZADO -s 10.0.0.0/255.255.255.0 -p tcp -dport 53 -j ACCEPT iptables -I PERSONALIZADO -s 10.0.0.0/255.255.255.0 -p udp -dport 53 -j ACCEPT (modifica las ips por las de tu red) Comprobamos que las reglas funcionan correctamente: ping dns.cursosl.com

Administracin de sistemas de software libre. Prctica 15

10

15. Comprobamos el puerto utilizado por squid: cat /etc/services | grep squid

Aadimos la regla a la cadena PERSONALIZADO: iptables -I PERSONALIZADO -s 10.0.0.0/255.255.255.0 -p tcp -dport 3128 -j ACCEPT Si probamos a visualizar cualquier web desde centos comprobaremos que no es posible. Aadimos la regla para permitir las conexiones con estado ESTABLISHED O RELATED: iptables -I PERSONALIZADO ESTABLISHED,RELATED -j ACCEPT -m state --state

A continuacin si probamos a visualizar cualquier web desde la mquina centos comprobaremos que no tenemos ningn problema:

Guardamos las reglas del firewall: /etc/init.d/iptables save

16. Comprobamos los puertos en los que estn escuchando los servicios: netstat -lnp | grep master

Administracin de sistemas de software libre. Prctica 15

11

netstat -lnp | grep dovecot

Una vez que sabemos los puertos que debemos desbloquear, aadimos las reglas al firewall asegurndonos de que se insertan debajo de la regla que comprueba el estado de las conexiones: iptables -I PERSONALIZADO 2 -s 10.0.0.0/255.255.255.0 -p tcp --dport 25 -j ACCEPT iptables -I PERSONALIZADO 2 -s 10.0.0.0/255.255.255.0 -p tcp --dport 995 -j ACCEPT iptables -I PERSONALIZADO 2 -s 10.0.0.0/255.255.255.0 -p tcp --dport 993 -j ACCEPT (cambia las ips por las correspondientes para tu red) Si probamos a hacer telnet al puerto 25 por ejemplo comprobamos que funciona correctamente: telnet 10.0.0.71 25 (modifica la ip por la de tu mquina centos)

17. Para que funcione correctamente deberemos aadir la regla a la cadena PREROUTING: iptables -t nat -A PREROUTING -s 10.0.0.0/255.255.255.0 -p tcp --dport 80 -j DNAT --to :631 Si probamos a acceder a la ip de la mquina centos desde un navegador comprobaremos que se nos redirige a la interfaz web de cups:

Administracin de sistemas de software libre. Prctica 15

12

Guardamos las reglas del firewall: /etc/init.d/iptables save

18. Aadimos la regla en cuestin a la cadena OUTPUT: iptables -A OUTPUT -p tcp --dport 80 -j REJECT Ahora si probamos a acceder a travs del navegador a cualquier pgina web comprobaremos que no nos es posible. 19. Aadimos las reglas a la cadena OUTPUT: iptables -A OUTPUT -p tcp --dport 53 -j REJECT iptables -A OUTPUT -p udp --dport 53 -j REJECT A continuacin, si probamos a hacer un ping a www.google.es desde la mquina centos comprobaremos que no nos resolver: ping www.google.es

/etc/init.d/iptables save

20. Modificamos la poltica por defecto de la cadena OUTPUT: iptables -P OUTPUT DROP Ahora si probamos a hacer un ping a la mquina ubuntu comprobaremos que no somos capaces: ping 10.0.0.72 (modifica la ip por la de tu mquina Ubuntu)

Administracin de sistemas de software libre. Prctica 15

13

21. Volvemos a modificar la poltica por defecto: iptables -P OUTPUT ACCEPT A continuacin agregamos la regla especificada: iptables -I OUTPUT ! -d 10.0.0.0/255.255.255.0 -j REJECT A continuacin si probamos a hacerle un ping a www.google.es no obtendremos respuesta: ping www.google.es

Si hacemos el ping a la mquina ubuntu no tendremos problemas: ping 10.0.0.72 (modifica la ip por la de tu mquina Ubuntu)

Guardamos las reglas del firewall: /etc/init.d/iptables save

22. Eliminamos todas las reglas de la tabla OUTPUT: iptables -F OUTPUT Probamos a hacer ping a www.google.es ahora: ping www.google.es

Administracin de sistemas de software libre. Prctica 15

14

Mostramos las reglas del firewall con los parmetros especificados: iptables -nvL

23. Mostramos las reglas con el nmero de lnea: iptables -nvL --line

Ahora borramos la regla del LOG que ocupa la lnea 20: iptables -D PERSONALIZADO 20

Administracin de sistemas de software libre. Prctica 15

15

Mostramos las reglas de nuevo y comprobamos que la cadena en cuestin ya no est: iptables -nvL

Guardamos las reglas del firewall: /etc/init.d/iptables save

24. Deshabilitamos el servicio iptables: /etc/init.d/iptables stop

Lo dejamos deshabilitado por defecto: chkconfig iptables off

Administracin de sistemas de software libre. Prctica 15

16

Você também pode gostar