divendres, 28 de desembre del 2018

FIREWALL

 El firewall es un dispositivo (software/hardware) que hace un filtrado en la red que se ha colocado. Cualquier sistema operativo(Microsoft Windows, GNU/Linux, MAC) dispones de un firewall en su software por defecto.

El firewall de Windows es muy sencillo y  grafico en los sistemas de escritorio. En Linux el firwall que viene por defecto y se llaman iptables.

En linux utiliza la v2.4
El uso de IPtables es bastante complejo, por lo que vamos a hacer un vistazo general sobre sus opciones:

Para Iniciar/Parar/Reiniciar Iptables debemos ejecutar estos comandos:

  • sudo service iptables start
  • sudo service iptables stop
  • sudo service iptables restart

Los principales comandos de IPtables son los siguientes (argumentos de una orden):

  • -A –append → agrega una regla a una cadena.
  • -D –delete → borra una regla de una cadena especificada.
  • -R –replace → reemplaza una regla.
  • -I –insert → inserta una regla en lugar de una cadena.
  • -L –list → muestra las reglas que le pasamos como argumento.
  • -F –flush → borra todas las reglas de una cadena.
  • -Z –zero → pone a cero todos los contadores de una cadena.
  • -N –new-chain → permite al usuario crear su propia cadena.
  • -X –delete-chain → borra la cadena especificada.
  • -P –policy → explica al kernel qué hacer con los paquetes que no coincidan con ninguna regla.
  • -E –rename-chain → cambia el orden de una cadena.

Condiciones principales para Iptables:

  • -p –protocol → la regla se aplica a un protocolo.
  • -s –src –source → la regla se aplica a una IP de origen.
  • -d –dst –destination → la regla se aplica a una Ip de destino.
  • -i –in-interface → la regla de aplica a una interfaz de origen, como eth0.
  • -o –out-interface → la regla se aplica a una interfaz de destino.

Condiciones TCP/UDP

  • -sport –source-port → selecciona o excluye puertos de un determinado puerto de origen.
  • -dport –destination-port → selecciona o excluye puertos de un determinado puerto de destino.
Existen muchas mas condiciones para una configuración avanzada del firewall, pero las elementales ya las tenemos listadas.

Configurar reglas por defecto

La configuración por defecto de un firewall debería ser, traducido al español, “bloquear todo excepto [reglas]”. Para configurar el firewall para que bloquee todas las conexiones debemos teclear:
  • iptables -P INPUT DROP
  • iptables -P FORWARD DROP
  • iptables -P OUTPUT DROP
Con esto nos quedaremos sin internet, por lo que a continuación debemos empezar a crear reglas permisivas.

Para aplicar una regla que filtre un determinado puerto, debemos ejecutar:

  • iptables -A INPUT -p tcp –sport 22 22 → crea una regla para el puerto de origen tcp 2222

Para bloquear el tráfico procedente de una determinada IP, debemos ejecutar:

  • iptables -A INPUT -p tcp -m iprange –src-range 192.168.1.13-192.168.2.19 (ejemplo de IP)

También podriamos bloquear por MAC con la condición –mac-source.

  • iptables -A INPUT -m mac –mac-source 00:00:00:00:00:01
Una vez ejecutadas las reglas que queramos aplicar, debemos guardarlas tecleando sudo service iptables save

Ver el estado del firewall

  • iptables -L -n -v
El parámetro L muestra las líneas abiertas. V permite recibir más información sobre las conexiones y N nos devuelve las direcciones IP y sus correspondientes puertos sin pasar por un servidor DNS.

Eliminar las reglas existentes

Para borrar toda la configuración del firewall para volver a configurarlo de nuevo debemos teclear:
  • iptables -F

Permitir conexiones entrantes

Teclearemos los siguientes parámetros:

  • iptables -A INPUT -i [interface] -p [protocolo] –dport [puerto] -m state –state NEW,ESTABLISHED -j ACCEPT