1 / 22

Iptables

Iptables. IPTABLES. FIREWALLS En la mayoría de las organizaciones la seguridad en redes es una parte mas de la red y del sistema Existen muchas amenazas en internet que se deben proteger: • Hackers maliciosos.

Download Presentation

Iptables

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Iptables IPTABLES

  2. FIREWALLS En la mayoría de las organizaciones la seguridad en redes es una parte mas de la red y del sistema Existen muchas amenazas en internet que se deben proteger: • Hackers maliciosos. • Propagación de gusanos • Dos (Denegación de Servicios) • Muchos otros. FIREWALL

  3. Fundamentos para implementar un firewall: • Instalar un servidor con 2 tarjetas de red (Red Outside, Red Incide). O Instalar un servidor con 3 tarjetas (Red DMZ)‏ • Filosofía: Abro el trafico que necesito y cierro todos los demás. • Tráfico de entrada y salida mediante puertos TCP, UPD, ICMP. FIREWALL

  4. IPTABLES también llamado netfilter es una herramienta que nos permite configurar las reglas del sistema de filtrado de paquetes del kernel de Linux, desde su versión 2.4. NetFilter es el nombre del proyecto e iptables el nombre del software en linux que viene integrado en el kernel 2.4.x Es el sucesor de ipchains y ipfwadmin con esta herra- mienta podremos crear un firewall adaptado a nuestras necesidades un firewall es un dispositivo que filtra el trafico entre redes. El firewall puede ser un dispositivo fisico o un software sobre un sistema operativo. En general debemos verlo como una caja con dos o mas interfaces de red en la que se establecen unas reglas de filtrado con las que se decide si una conexcion determinada puede establecerse o no. FIREWALL

  5. Funcionamiento de iptables A iptables se le proporcionan unas reglas, especificando cada una de ellas unas determinadas características que debe cumplir un paquete. Además, se especifica para esa regla una acción o target. Las reglas tienen un orden, y cuando se recibe o se envía un paquete, las reglas se recorren en orden hasta que las condiciones que pide una deellas se cumplen en el paquete, y la regla se activa realizando sobre el paquete la acción que le haya sido especificada. FIREWALL

  6. Cadenas (chain)‏ INPUT - Todos los paquetes dirigidos a la computadora. OUTPUT - Todos los paquetes originados en la computadora. FORWARD - Todos los paquetes que no son originados o dirigidos al PC, pero pasan a través (enrutados) de la computadora. Esta cadena es usada si usted está usando su computadora como un enrutador. FIREWALL

  7. ACCIONES Estas acciones se plasman en los que se denominan targets, que indica lo que se debe hacer con el paquete. Los mas usados son: ACCEPT(aceptar): este destino o target hace que iptables acepte el paquete. De hecho un paquete que se lo acepta en la cadena de entrada (INPUT) se le permite ser recibido por la terminal (host), a un paquete que se lo acepte en la cadena de salida (OUTPUT) se le permite aban- donar la terminal y a un paquete que se lo acepta en la cadena de redireccion(FORWARD) se le permite ser ruteado a traves de la terminal DROP(descartar): este destino hace que iptables descarte el paquete sin ningun otro tipo de procesamiento. QUEUE(encolar): este destino hace que el paquete sea enviado a una cola en el espacio de usuario. Si no hay ninguna aplicación que lea la cola, este destino es equivalente a DROP. FIREWALL

  8. RETURN(retorno): Hace que el paquete en cuestion deje de circular en la cadena en cuya regla se ejecuto el destino RETURN. Si dicha cadena es una subcadena de otra, el paquete continuara por la cadena superior como si nada hubiera pasado. Si por el contrario la cadena es una cadena principal (por ejemplo una cadena INPUT), al paquete se le aplicara la politica por defecto de la cadena en cuestion(ACCEPT,DROP o similar). REJECT(RECHAZO): este destino tiene el mismo efecto que 'DROP', salvo que envia un paquete de error a quien envio originalmente. Se usa principalmente en las cadenas de ENTRADA(input) y de REDIRECCION (FORWARD) de la tabla de filtrado. FIREWALL

  9. OPCIONES Para determinar las ubicaciones que se esta agregando se utilizan las siguientes opciones: -t <<(tabla)>> indica en qué tabla se va a ubicar la reglas -A «cadena» Agrega una regla al final de la lista de reglas de la «cadena» -I «cadena» [pos] Inserta una regla dentro de la cadena «cadena» en la posición [pos] Para determinar la especificación del paquete se utilizan estas opciones generalmente: -s «dirección» Indica que el paquete proviene de la dirección «dirección» FIREWALL

  10. -d «dirección» Indica que el paquete va destinado a la dirección «dirección». -i «interface» Indica la interface de entrada (en la especificación de interfaces se puede utilizar el símbolo ``+'' como metacaracter, por ejemplo ``eth+'' que contempla eth0, eth1, eth2, etc). -o «interface» Indica la interface de salida. -p «protocolo» Indica el protocolo del paquete (los más comunes son ``tcp'', ``udp'', `icmp'', pero hay muchos tipos de protocolos soportados) - -dport «puerto» Indica el número de puerto destino - -sport «puerto» Indica el número de puerto origen FIREWALL

  11. -m «módulo» Indica que se va a utilizar un módulo en particular(si bien esto no hace a la especificación del paquete, se debe indicar para que el iptables entienda qué funcionalidad extra deberá utilizar con el fin de ``matchear'' el paquete) -j «acción o cadena» Con esta opción le indicamos que cuando un paquete coincida con las características expresadas en la regla, se deberá toma la acción «acción» o saltar a la cadena «cadena». Dependiendo la acción el kernel dejará de verificar las subsiguientes reglas o no. FIREWALL

  12. Que hacer para configurar iptables. • Borrar todas las tablas (reglas) que están creadas para empezar con una configuración desde cero. • Crear un archivo donde estén las reglas listadas, no olvidar adicionar las reglas: • Probar que los módulos están arriba. • echo "1" > /proc/sys/net/ipv4/ip_forward FIREWALL

  13. Sintaxis de comandos para iptables. El trabajo con iptables desde la línea de comando requiere los privilegios de root. Iptables debe estar instalado por defecto en todas las instalaciones de CentOS 3.x, 4.x y 5.x. Puede comprobar si iptables está instalado en el sistemas con: # rpm -q iptables iptables-1.3.5-1.2.1 Para ver si iptables está corriendo, podemos comprobar que los módulos de iptables están cargados y usar la opción -L para inspeccionar las reglas que están cargadas actualmente: FIREWALL

  14. # lsmod | grep ip_tables ip_tables 29288 1 iptable_filter x_tables 29192 6 ip6t_REJECT,ip6_tables,ipt_REJECT,xt_state,xt_tcpudp,ip_tables. # iptables -L Chain INPUT (policy ACCEPT)‏ target prot opt source destination RH-Firewall-1-INPUT all -- anywhere anywhere Chain FORWARD (policy ACCEPT)‏ target prot opt source destination RH-Firewall-1-INPUT all -- anywhere anywhere Chain OUTPUT (policy ACCEPT)‏ target prot opt source destination Chain RH-Firewall-1-INPUT (2 references)‏ target prot opt source destination ACCEPT all -- anywhere anywhere ACCEPT icmp -- anywhere anywhere icmp any ACCEPT esp -- anywhere anywhere ACCEPT ah -- anywhere anywhere ACCEPT udp -- anywhere 224.0.0.251 udp dpt:mdns ACCEPT udp -- anywhere anywhere udp dpt:ipp ACCEPT tcp -- anywhere anywhere tcp dpt:ipp ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh REJECT all -- anywhere anywhere reject-with icmp-host-prohibited FIREWALL

  15. vemos el conjunto de reglas predeterminadas además del acceso al servicio SSH (es un sistema para poder conectarse de forma remota )‏ Si iptables no está corriendo puede habilitarlo ejecutando la linea de comandos: # system-config-securitylevel. configurar un cortafuegos del tipo Stateful Packet Inspection (SPI)‏ que permitirá todas las conexiones salientes pero bloqueará todas las conexiones entrantes indeseada. # iptables -F # iptables -P INPUT DROP # iptables -P FORWARD DROP # iptables -P OUTPUT ACCEPT # iptables -A INPUT -i lo -j ACCEPT # iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # iptables -L -v FIREWALL

  16. lo cual debe darle la siguiente salida: Chain INPUT (policy DROP 0 packets, 0 bytes)‏ pkts bytes target prot opt in out source destination 0 0 ACCEPT all -- lo any anywhere anywhere 0 0 ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED Chain FORWARD (policy DROP 0 packets, 0 bytes)‏ pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)‏ pkts bytes target prot opt in out source destination Ahora vamos a ver cada uno de los siete comandos anterior para ver lo realizado: iptables -F : Lo primero que hemos hecho es usar la opción -F para eliminar las reglas una por una, de forma tal que comencemos con un estado limpio en el cual comenzar a adicionar reglas nuevas. FIREWALL

  17. iptables -P INPUT DROP : La opción -P fija la política por defecto en la cadena especificada. Así que aquí estamos fijando a DROP como la política por defecto en la cadena INPUT. Esto quiere decir que si un paquete entrante no coincide una de las reglas siguientes será descartado. iptables -P FORWARD DROP : De la misma forma, aquí estamos fijando a DROP la política por defecto para la cadena FORWARD porque no estamos usando nuestra computadora como un enrutador así que no deberían estar pasando paquetes a través de nuestra computadora. iptables -P OUTPUT ACCEPT : y finalmente fijamos a ACCEPT la política por defecto para la cadena OUTPUT porque queremos permitir todo el tráfico saliente (porque confiamos en nuestros usuarios). iptables -A INPUT -i lo -j ACCEPT : Ahora es el momento de comenzar a adiciona algunas reglas. Usamos la opción -A para anexar (o adicionar) una regla a la cadena específica, en este caso la cadena INPUT. FIREWALL

  18. iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT : Esta es la regla que hace la mayor parte del trabajo y nuevamente estamos adicionando (-A) a la cadena INPUT. Aquí estamos usando la opción -m para cargar un módulo (state). El módulo estado está disponible para examinar el estado de un paquete y determinar si este es nuevo (NEW), establecido (ESTABLISHED) o relacionado (RELATED). NEW se refiere a los paquetes entrantes que son conexiones entrantes nuevas que fueron iniciadas por el sistema anfitrión. ESTABLISHED y RELATED se refieren a los paquetes entrantes que son parte de una conexión ya establecida o relacionada a la conexión ya establecida. FIREWALL

  19. iptables -L -v : Listar (-L) las reglas que acabamos de adicionar para comprobar que han sido carga das correctamente. Finalmente, lo último que necesitamos hacer es salvar las reglas para que la próxima vez que reiniciemos la computadora nuestras reglas sean recargadas automáticamente: # /sbin/service iptables save Esto ejecuta el script init de iptables el cual corre /sbin/iptables-save y escribe la configuración actual de iptables a /etc/sysconfig/iptables. Con el reinicio, el script init de iptables vuelve a aplicar las reglas salvadas en /etc/sysconfig/iptables usando el comando /sbin/iptables-restore. FIREWALL

  20. [root@localhost ~]# /sbin/iptables-save # Generated by iptables-save v1.3.5 on Fri Dec 5 13:45:55 2008 *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :RH-Firewall-1-INPUT - [0:0] -A INPUT -j RH-Firewall-1-INPUT -A FORWARD -j RH-Firewall-1-INPUT -A RH-Firewall-1-INPUT -i lo -j ACCEPT -A RH-Firewall-1-INPUT -p icmp -m icmp --icmp-type any -j ACCEPT -A RH-Firewall-1-INPUT -p esp -j ACCEPT -A RH-Firewall-1-INPUT -p ah -j ACCEPT -A RH-Firewall-1-INPUT -d 224.0.0.251 -p udp -m udp --dport 5353 -j ACCEPT -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 25 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 2049 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT -A RH-Firewall-1-INPUT -p udp -m state --state NEW -m udp --dport 137 -j ACCEPT -A RH-Firewall-1-INPUT -p udp -m state --state NEW -m udp --dport 138 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 139 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 445 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 23 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited COMMIT # Completed on Fri Dec 5 13:45:55 2008 [root@localhost ~]# FIREWALL

  21. Archivo de configuracion de iptables # Firewall configuration written by system-config-securitylevel # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :RH-Firewall-1-INPUT - [0:0] -A INPUT -j RH-Firewall-1-INPUT -A FORWARD -j RH-Firewall-1-INPUT -A RH-Firewall-1-INPUT -i lo -j ACCEPT -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT -A RH-Firewall-1-INPUT -p 50 -j ACCEPT -A RH-Firewall-1-INPUT -p 51 -j ACCEPT -A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 2049 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 23 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited COMMIT FIREWALL

  22. INTEGRANTES: CAROLINA CORRALES KATERINE GUZMAN JUAN LOPEZ 2008 UNICOR FIREWALL

More Related