5) CentOS 7 Firewall IpTables Instalación y Configuración
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án
configuración básica como la instalación de un servidor DHCP para Centos 7 en
nuestra práctica, evidenciaremos como las configuraciones iniciales de nuestro
servidor tienen un impacto alto a la hora de ir agregando características.
Esto nos
permitirá detectar clientes en nuestra red y asignar direcciones prestablecidas
de forma automática. Buscando establecer de forma correcta configuraciones para
la comunicación entre El servidor Centos 7 y el cliente (Windows / Linux,etc.)
Glosario
Hyper-V. -
Tecnología de virtualización nativa para sistemas operativos Windows, optimizadosCentOS. -
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.
Grafica Iptables Función Básica
Práctica
Instalación Iptables en Centos 7
Procederemos a cambiar el firewalld por IPtables en centos 7
Instalar Iptables
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) Instalar Iptables mediante yum
Procederemos a instalar mediante
yum el paquete Iptables para esto ejecutaremos “yum install iptables-service -y”
3) Verificación de Instalación
Para verificar que nuestro
servicio se instaló de forma correcta y que tenemos habilitado su archivo de
configuración ejecutaremos “head -2
/etc/sysconfig/iptables”, al obtener
el resultado #sample indicara que el
archivo esta listo para configurarse
Cambiar FirewallD a Iptables
Ahora procederemos a realizar el cambio de firewall para
esto debemos recordad que teníamos un firewall por defecto en centos 7,ahora
implementaremos otro, las migraciones entre reglas de FirewallID a Iptables
resultan tediosas y poco acertadas, se recomienda elegir un firewall al inicio
de la instalación de centos, para nuestro caso que tenemos pocas reglas
implementadas no nos tomara mucho tiempo adaptar el nuevo firewall con lo cual
evidenciaremos un cambio de estructuras en producción.
1) Desactivar FirewallD de Centos 7
Para esto ejecutaremos “systemctl stop firewalld”, NOTA: En
producción el firewall debe cambiado de forma rápida reduciendo índice de
sinseguridad.
2) Inicializar Iptables como Firewall
De forma rápida (Escenario en
producción) ejecutaremos “systemctl
start iptables; systemctl start ip6tables” con esto iniciamos nuestro nuevo
firewall
3) Verificación de Reglas Iptables
Verificaremos que el archivo de
configuración de iptables entro en funcionamiento ejecutando “iptables -S”
4) Quitar firewallD de inicio automático
Una vez hecho el cambio no
queremos que al apagar nuestro servidor el firewalld se inicie para esto
ejecutaremos “systemctl disable
firewalld”
5) Limpiar accesos de inicio
Ejecutaremos el siguiente comando
“systemctl mask firewalld” con esto nos aseguramos de desvincular
cualquier registro de este firewall del inicio con el sistema
6) Activar Iptables con inicio del sistema
Haremos que iptables arranque con
el Servidor Centos7 para esto ejecutaremos “systemctl
enable iptables; systemctl enable ip6tables”
7) Verificación de estado Iptables
Comprobaremos el estado del
servicio iptables con “systemctl status
iptables”
Configuraciones de Reglas en Iptables
Configuraremos la reglas de forma básica para nuestro
servidor, habilitando las reglas necesarias para que nuestros servicios
funcionen de nuevo, ya que se encuentran bloqueados por el nuevo firewall
Configuraciones Reglas
1) Archivo de configuracion
Para configurar las reglas de
iptables accederemos a su archivo de configuración con “nano /etc/sysconfig/iptables”, aquí iremos agregando reglas
necesarias para nuestro servicio sea funcional.
2) Reglas para nuestro DNS Server
Como configuramos un servidor DNS
anteriormente tenemos unas ventajas, como al permitir la conexión al DNS
agilitaremos las conexiones a nuestros servicios/ports en el servidor como
(:80,:1813,etc)
3) Reglas para nuestro Servicio/Port 80
Configuraremos iptables para le
puerto 80
4) Reglas para nuestro Servicio/Port 1813
Configuraremos iptables para le
puerto 1813
5) Reglas para nuestro Servicio/Port 67:68
Configuraremos iptables para le
puerto 67:68
6) Establecer Configuración
Finalmente, nuestra configuración
deberá quedar de la siguiente forma. Echo esto apretaremos CTRL + O para
guardar y CTRL+X para salir
7) Reiniciamos nuestro Servicio Iptables
Para establecer los cambios
reiniciaremos con “systemctl restart iptables”
Conexión Cliente Windows
Probaremos el funcionamiento de los diversos servicios que
hasta ahora tenemos en nuestro servidor
Comprobando Conjunto
1) Comprobar la asignación de DHCP
En el cmd ejecutamos “ipconfig /renew” y como vemos la
asignación esta funcionado
2) Comprobar DNS servidor
Ahora ejecutaremos en el cmd “nslookup server.practica.com” y como
resultado nos resolverá nuestra dirección también podemos probar con ping a la
dirección del servidor “ping
server.practica.com”
3) Acceder a Webmin (Interfaz)
Probaremos accediendo a la
dirección “server.practica.com:1813” con esto evidenciamos nuestro nuevo firewall
está configurado correctamente (Conf. Básica)
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.alcancelibre.org/staticpages/index.php/introduccion-iptables
https://www.adslayuda.com/linux-iptables_basico.html
Buenas tardes amigo,
ResponderEliminarConfigure un server DHCP con CentOS 7 y no puedo darle internet a mi equipo cliente Windows 7, le asiga una ip pero no me da internet, te envio la configuracion del dhcpd.conf
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
# A slightly different configuration for an internal subnet.
subnet 10.0.0.0 netmask 255.255.255.0 {
interface enp0s8;
range 10.0.0.50 10.0.0.100;
option domain-name-servers 8.8.8.8;
option domain-name "soporte.cl";
option routers 10.0.0.1;
option broadcast-address 10.0.0.255;
}
host Cliente1 {
hardware ethernet 08:00:27:B6:13:16;
fixed-address 10.0.0.30;
}
y la del iptables:
# Generated by iptables-save v1.4.21 on Sun Jun 24 14:07:25 2018
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [6:968]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -i enp0s3 -p tcp -m tcp --dport 80 -j ACCEPT
-A FORWARD -i enp0s3 -p tcp -m tcp --dport 80 -j ACCEPT
COMMIT
# Completed on Sun Jun 24 14:07:25 2018
# Generated by iptables-save v1.4.21 on Sun Jun 24 14:07:25 2018
*nat
:PREROUTING ACCEPT [4:987]
:INPUT ACCEPT [4:987]
:OUTPUT ACCEPT [2:204]
:POSTROUTING ACCEPT [2:204]
-A POSTROUTING -s 10.0.0.0/24 -o enp0s3 -j MASQUERADE
COMMIT
Cabe destacar que el servidor dhcp tanto como el cliente en win7 sestan virtulizados
Gracias de antemano!