viernes, 7 de julio de 2017

6) CentOS 7 Instalación y configuración de IPtables

  No hay comentarios


Introducción

En el presente informe haremos la práctica de virtualización del servidor CentOS con su instalación de diversas características, que iremos configurando de los más básicos hasta posteriores cambios que requieran más características en el transcurso de la practica Se realizará el cambio del firewall por defecto de centos 7 a firewall de iptables buscando tener mas funcionalidades como proxys, reglas de acceso y routing.
Para esto deberemos aplicar ciertos comandos que realicen el remplazo de firewall de manera estable.
Con el enrutamiento podremos brindar internet a nuestros clientes de la red LAN además de proveer de los dominios internos http://
Con la gestión de reglas quitaremos acceso a las paginas sociales (ejemplo de todo escenario laboral)
Iptables es un firewall a base de Kernel Linux 4.2 desde sus inicios, por lo cual este nos provee mas funcionalidades a la hora de aplicar reglas y configuraciones a niveles de red como reenvío de paquetes y filtrado de los mismos. Esto nos abrirá las puertas a Filtrado de direcciones y Enrutamiento WAN/Servidor a LAN/Cliente


Glosario  

Hyper-V. - 
Tecnología de virtualización nativa para sistemas operativos Windows, optimizados
CentOS. - 
CentOS es una distribución de el código fuente de Red Hat Enterprise Linux contando con las mismas características y funcionalidades, también que está abierto para todos.
Direcciones estáticas. - 
Dirección IP asignada por el usuario de manera manual, o por el servidor de la red con base en la Dirección MAC del cliente.
Direcciones dinámicas. - 
IP asignada mediante un servidor DHCP (Dynamic Host Configuration Protocol) al usuario.
Iptables.- 
Es el nombre de la herramienta de espacio de usuario (User Space, es decir, área de memoria donde todas las aplicaciones, en modo de usuario, pueden ser intercambiadas hacia memoria virtual cuando sea necesario) a través de la cual los administradores crean reglas para cada filtrado de paquetes y módulos de NAT. Iptables es la herramienta estándar de todas las distribuciones modernas de GNU/Linux.
Cadenas.- 
Las cadenas pueden ser para tráfico entrante (INPUT), tráfico saliente (OUTPUT) o tráfico reenviado (FORWARD).
Reglas Destino.-
Las reglas de destino pueden ser aceptar conexiones (ACCEPT), descartar conexiones (DROP), rechazar conexiones (REJECT), encaminamiento posterior (POSTROUTING), encaminamiento previo (PREROUTING), SNAT, NAT, entre otras.
Políticas por Defecto. - 
Establecen cual es la acción a tomar por defecto ante cualquier tipo de conexión. La opción -P cambia una política para una cadena. En el siguiente ejemplo se descartan (DROP) todas las conexiones que ingresen (INPUT), todas las conexiones que se reenvíen (FORWARD) y todas las conexiones que salgan (OUTPUT), es decir, se descarta todo el tráfico que entre desde una red pública y el que trate de salir desde la red local.
Reglas Específicas.- 
Las opciones más comunes son:
-A añade una cadena, la opción -i define una interfaz de tráfico entrante
-o define una interfaz para tráfico saliente
-j establece una regla de destino del tráfico, que puede ser ACCEPT, DROP o REJECT.
-m define que se aplica la regla si hay una coincidencia específica
--state define una lista separada por comas de distinto tipos de estados de las conexiones (INVALID, ESTABLISHED, NEW, RELATED).
--to-source define que IP reportar al tráfico externo
-s define trafico de origen
-d define tráfico de destino
--source-port define el puerto desde el que se origina la conexión
--destination-port define el puerto hacia el que se dirige la conexión
-t tabla a utilizar, pueden ser nat, filter, mangle o raw.
Ipv4.- 
El firewall iptables está diseñado para manejar reglas de tráfico IPv4.
Filtrado.- 
El filtrado se aplica en función de la política de seguridad implementada en la red. Este permite bloquear sitios considerados maliciosos o sitios considerados inútiles en relación a la actividad de la empresa (Reglas Iptables)
Seguridad.-
Aumentan también la seguridad, ya que pueden filtrar cierto contenido web y programas maliciosos.
Enrutar.- 
Enrutar es redirigir o encaminar una conexión a un equipo en concreto que dispone de un servicio especifico o un software que necesita realizar conexiones por un puerto X.
Servicio Proxy.- 
Permiten proteger y mejorar el acceso a las páginas web, al conservarlas en la caché. De este modo, cuando un navegador envía una petición para acceder a una página web, que previamente ha sido almacenada en la caché, la respuesta y el tiempo de visualización es más rápido.

Grafica Iptables Enrutamiento y Filtrado

 


Práctica
Configurar Iptables como Enrutador y Proxy

Activaremos mediante reglas el enrutamiento y restricciones de páginas webs

Configurar Iptables Enrutador
1)      Ejecutar terminal y acceder root

Ejecutaremos un terminal y accederemos al root con el comando “sudo su”, y escribiremos la contraseña y se mostrará el indicador # que ya estamos como root.

 

2)      Activar Forward

Por defecto centos7 trae los parámetros de enrutamiento desactivados para activarlo ejecutaremos “sysctl -w net.ipv4.ip_foward=1”  con esto activaremos esta característica (si al encender el servidor presenta problemas ejecutar de nuevo este comando)

 

 

3)      Verificación de Instalación

Para comprobar el archivo ejecutaremos “sysctl -p /etc/sysctel.conf”

 

 

Reglas para enrutamiento

Una vez configurado iptables a nivel de sistema, vamos a proceder a crear las reglas que nos permitirán el enrutamiento para nuestra red LAN

1)      Activar Aceleración de Paquetes

Activaremos la aceleración de paquetes para nuestra conexión eth0 la cual remitirá los paquetes desde WAN a nuestra red interna, para esto ejecutaremos “iptables -t nat -A POSTROUTING -o eh0 -j MASQUERADE”, y damos enter

 

2)      Aceptar Forward para Input

Ahora aceptaremos las peticiones provenientes de nuestra red LAN con el comando “iptables -A FORWARD -i eth1 -j ACCEPT” y damos enter

 

 

3)      Aceptar Forward para Output

Ahora aceptaremos el envió de peticiones de WAN a LAN con el comando “iptables -A FORWARD -o eth1 -j ACCEPT” y damos enter

 

 

4)      Reconocimiento de peticion Interna y Externa

Ahora agregaremos una regla que nos permita reconcoer el tipo de petición y si es local que redireccione al servicio local por ejemplo (https://ww.google.com) -> WAN y (http://server.practica.com)-> LAN, para esto ejecutaremos “iptables -t nat -A PREROUTING -i eth0 tcp --dport 80 -j DNAT --to 192.168.0.3:80” y enter

 

 

5)      Regla para aceptar Forward puerto 80

Ahora ejecutaremos “iptables -A FORWARD -i eth0 -tcp --dport 80 -d 192.168.0.3 -j ACCEPT”,  para aceptar peticiones tcp a través del adaptador LAN

 

 

6)      Guardamos Reglas

Para guardar las reglas registradas ejecutamos “iptables-save | sudo tee /etc/sysconfig/iptables” con esto las reglas quedaran guardadas en nuestro archivo de configuración.

 

 

7)      Reiniciar Servicio Iptables

Una vez hecho y guardado, reiniciaremos el servicio para esto ejecutaremos “systemctl restart iptables”

 

 

Comprobar Cliente Windows

Ahora comprobaremos en el cliente lo que nos ofrece estas configuraciones.

Verificación de Conectividad
1)      Conectiva a internet

Iremos a nuestro cliente Windows y abriremos algún navegador y tipiaremos www.google.com y confirmaremos que tenemos acceso Internet a través de nuestra LAN

2)      Conectiva a intranet

En este punto evidenciaremos el funcionamiento del reenvío de paquetes http a la red interna de nuestro servidor ofreciendo la posibilidad de tener internet y todos los servicios que implementemos en nuestro servidor, a través de nuestra URL (server.practica.com).

 

 

Reglas de configuración para Proxy

Ahora evidenciaremos de forma básica como podemos implementar un proxy de manera rápida mediante las reglas de nuestro firewall iptables (Si se desea eliminar una regla accedemos “nano /etc/sysconfig/iptables” y eliminamos la regla que añadimos, recodando guarda CTRL+O al salir y reiniciar el servicio iptables)

Configuraciones Reglas
1)      Ingresar direcciones Restringir

De forma rápida ingresaremos direcciones de “facebook.com” y “twitter.com” mediante reglas que bloquearan el acceso a ellas en toda nuestra red LAN, así como podemos definirlas restricciones para cada IP, esta vez lo haremos para toda la RED

2)      Guardamos Reglas

Para guardar las reglas registradas ejecutamos “iptables-save | sudo tee /etc/sysconfig/iptables” con esto las reglas quedaran guardadas en nuestro archivo de configuración.

 

 

3)      Reiniciar Servicio Iptables

Una vez hecho y guardado, reiniciaremos el servicio para esto ejecutaremos “systemctl restart iptables”

 

 

 

Comprobar Cliente Windows

Ahora comprobaremos en el cliente lo que nos ofrece estas configuraciones.

Verificación de Conectividad
1)      Conectiva a internet

Iremos a nuestro cliente Windows y abriremos algún navegador y tipiaremos www.google.com y confirmaremos que tenemos acceso Internet a través de nuestra LAN

2)      Conectiva a intranet

En este punto evidenciaremos el funcionamiento del reenvío de paquetes http a la red interna de nuestro servidor ofreciendo la posibilidad de tener internet y todos los servicios que implementemos en nuestro servidor, a través de nuestra URL (server.practica.com).

 

 

3)      Acceso a las redes sociales bloqueadas

Como observamos el proxy funciona bien, cabe recalcar la existencia de más configuraciones a nivel granular para realizar reglas más personalizadas, pero IPTABLES es una buena opción para manejar estas temáticas

 

Conclusiones

El firewallD por defecto que ofrece Centos 7 es muy bueno en tareas de Filtrados pero tiene limitantes, la razón de la implementación de Iptables en centos es su estructura de reglas que suele ser más configurable.

Iptables nos ofrece más alternativas aparte de ser un excelente firewall a nivel local, también puede serlo a nivel de WEB asumiendo técnicas de Proxy Cliente/Servidor y tiene la posibilidad de ser un Enrutador de paquetes con lo cual podremos brindar internet realizando rutas a nuestros clientes.

Por último, es muy importante las configuraciones iniciales de nuestro servidor en los que se incluyen Configuraciones de adaptadores, de hostnames, de dirección Hosts, y del archivo resolv.conf. Por este motivo estas configuraciones fueron realizadas en la práctica de instalación y configuración de CentOS 7, así también el registro de los puertos en el firewall.

 

Links para configuración de Iptables/Rules

 

http://www.seavtec.com/en/content/soporte/documentacion/iptables-howto-ejemplos-de-iptables-para-sysadmins

http://www.alcancelibre.org/staticpages/index.php/introduccion-iptables

https://www.adslayuda.com/linux-iptables_basico.html

 

No hay comentarios :

Publicar un comentario