Tutoriales y Manuales
Entradas Mensuales
-
►
2024
(Total:
1058
)
- ► septiembre (Total: 50 )
-
►
2023
(Total:
710
)
- ► septiembre (Total: 65 )
-
►
2022
(Total:
967
)
- ► septiembre (Total: 72 )
-
▼
2021
(Total:
730
)
- ► septiembre (Total: 56 )
-
▼
enero
(Total:
52
)
- Configuración MariaDB (MySQL) Gestor Base de Datos
- Instalar WSL2 en Windows 10 para ejecutar Linux de...
- Análisis BackBlaze de los discos duros mecánicos m...
- Tecnologías grabación disco duro mecánico HDD: dif...
- Europol desmantela Emotet: la botnet de malware má...
- Obtener IP de un contacto mediante una llamada en ...
- Nomenclatura de la BIOS/UEFI: ErP Ready, CSM, VRM,...
- Vulnerabilidad en sudo presente desde 2011 permite...
- Seguridad en SSH: uso de llaves privadas y multifa...
- Securizar una RaspBerry Pi
- Convierte tu Raspberry PI en un analizador de red ...
- Optimizar módulo PHP FPM y opciones de seguridad e...
- Los mejores HoneyPots: ejemplos, tipos, caracterís...
- SMiShing: ¿Por qué son tan efectivos los engaños p...
- Vulnerabilidad en "Enviar a Kindle" por e-mail per...
- Utilizan Windows RDP (Escritorio Remoto) puerto 33...
- Secuestran mediante phishing la cuenta de Instagra...
- Google indexa de nuevo datos privados de WhatsApp ...
- Arbitrium-RAT: troyano de acceso remoto multiplata...
- Un exempleado interrumpe el envío de suministros d...
- Los 10 mejores sitios web descarga de Torrent de 2021
- La Policía Nacional detiene en Valencia varón 25 a...
- La policía británica borra por error 400.000 histo...
- Guía configuración y optimización Apache (MPM, suE...
- Administración de Trump añade a Xiamoi a lista de ...
- Comprobar la capacidad real de espacio en un pendr...
- Error en Windows 10 corrompe tu disco duro al ver ...
- Empresa china filtra 200 millones de datos de usua...
- Expertos alertan potente y peligroso RAT llamado R...
- nVidia presenta la serie GeForce RTX Serie 30 y AM...
- Intel agrega a procesadores capacidades de detecci...
- Archivan todas las publicaciones de Parler elimina...
- Fuga de datos privados de la ONU: trabajadores de ...
- Muchas otras redes sociales se unen al veto de Twi...
- SolarWinds contrata una nueva empresa de cibersegu...
- Compartir la ubicación de Telegram no es tan priva...
- HackTools v0.3.0 : la extensión todo en uno para W...
- FBI advierte a empresas sobre ataques del ransomwa...
- Estados Unidos condena ruso a 12 años de cárcel po...
- Aumentan las descargas de Signal y Telegram ante p...
- Condenan a Vodafone a devolver 20.380 euros a un c...
- La aplicación KeyDecoder permite usar el teléfono ...
- Comprendiendo el cifrado TPM con BitLocker y métod...
- Descubre contraseñas escuchando las pulsaciones de...
- Grupo Ransomware DoppelPaymer roba y publica datos...
- Apple compara cuántos metadatos recoge Whatsapp Vs...
- Nintendo pide $15 millones de daños de un sitio we...
- Crecen los ciberataques a los bancos a raíz del co...
- iptables Vs FirewallD: diferencias, ejemplos práct...
- Desactivar scripts PowerShell para evitar ataques ...
- Fallo en Facebook SDK permitía robar cuentas vía o...
- ¿Se atreverá Twitter banear a Donald Trump cuando ...
-
►
2020
(Total:
212
)
- ► septiembre (Total: 21 )
-
►
2019
(Total:
102
)
- ► septiembre (Total: 14 )
-
►
2017
(Total:
231
)
- ► septiembre (Total: 16 )
-
►
2016
(Total:
266
)
- ► septiembre (Total: 38 )
-
►
2015
(Total:
445
)
- ► septiembre (Total: 47 )
-
►
2014
(Total:
185
)
- ► septiembre (Total: 18 )
-
►
2013
(Total:
100
)
- ► septiembre (Total: 3 )
-
►
2011
(Total:
7
)
- ► septiembre (Total: 1 )
Blogroll
Etiquetas
Entradas populares
-
Después de ver qué es una vCPU y la diferencia entre núcleos (cores) e hilos en los procesadores, pasamos a explicar toda la nomenclatura d...
-
Un fallo de diseño en el mecanismo de registro del servidor VPN de Fortinet puede aprovecharse para ocultar la verificación exitosa de cre...
-
Trinity asegura haber robado 560 GB de datos de la Agencia Tributaria (AEAT) española, así como haber secuestrado parte de sus sistemas, ci...
iptables Vs FirewallD: diferencias, ejemplos prácticos reglas, sintaxis
FirewallD es un controlador frontend para la tabla iptables
que se usa para implementar reglas de tráfico de red persistentes.
Provee una línea de comando e interfaces gráficas y está disponible en
los repositorios de la mayoría de las distribuciones Linux. Otra opción más sencilla que iptables es ufw: Uncomplicated Firewall (UFW)
Diferencias
Trabajar con FirewallD tiene dos diferencias principales cuando se compara a trabajar directamente con iptables
:
- FirewallD utiliza zonas y servicios en lugar de cadenas y reglas.
- FirewallD administra los grupos de reglas dinámicamente, permitiendo actualizaciones sin tener que romper las sesiones y conexiones.
¿Qué es iptables?
Primero, necesitamos saber qué es iptables. La mayoría de los profesionales senior de TI lo conocen y también solían trabajar con él. Iptables es una aplicación / programa que permite a un usuario configurar la seguridad o las tablas de seguridad del cortafuegos proporcionadas por el cortafuegos del kernel de Linux y las cadenas para que el usuario pueda agregar / eliminar reglas de cortafuegos en consecuencia para cumplir con sus requisitos de seguridad. Iptables usa diferentes módulos de kernel y diferentes protocolos para que el usuario pueda sacar lo mejor de él.
Como por ejemplo, iptables se usa para IPv4 (IP versión 4/32 bit) e ip6tables para IPv6 (IP versión 6/64 bit) tanto para tcp como udp. Normalmente, las reglas de iptables las configura el administrador del sistema, el analista del sistema o el gerente de TI. Debe tener privilegios de root para ejecutar todas las reglas de iptables. El kernel de Linux utiliza el marco Netfilter para que pueda proporcionar varias operaciones relacionadas con la red que se pueden realizar mediante iptables. Anteriormente, ipchains se usaba en la mayoría de las distribuciones de Linux con el mismo propósito. Todas las reglas de iptables son manejadas directamente por el propio kernel de Linux y se conoce como deber del kernel. Independientemente de las herramientas de GUI u otras herramientas de seguridad que esté utilizando para configurar la seguridad del firewall de su servidor, al final del día, se convierte en reglas de iptables y se suministra al kernel para realizar la operación.
Historia de iptables
El auge de las iptables comienza con netfilter. Paul Rusty Russell fue el autor inicial y el grupo de expertos principal detrás de netfilter / iptables. Más tarde se le unieron muchas otras personas de tecnología y luego formaron y construyeron el equipo central de Netfilter y desarrollaron y mantuvieron el proyecto netfilter / iptables como un esfuerzo conjunto como muchos otros proyectos de código abierto. Harald Welte fue el ex líder hasta 2007 y luego Patrick McHardy fue el jefe hasta 2013. Actualmente, el jefe del equipo principal de netfilter es Pablo Neira Ayuso.
Cómo instalar iptables
Hoy en día, cada kernel de Linux viene con iptables y se puede encontrar precompilado o preinstalado en todas las distribuciones modernas famosas de Linux. En la mayoría de los sistemas Linux, iptables se instala en este directorio / usr / sbin / iptables. También se puede encontrar en / sbin / iptables, pero como iptables se parece más a un servicio que a un “binario esencial”, la ubicación preferida permanece en el directorio / usr / sbin.
Para Ubuntu o Debian
sudo apt-get install iptables
Para CentOS
sudo yum install iptables-services
Para RHEL
sudo yum install iptables
Versión de iptables
Para conocer su versión de iptables, escriba el siguiente comando en su terminal.
sudo iptables --version
Iniciar y detener su firewall de iptables
Para OpenSUSE 42.1, escriba lo siguiente para detener.
sudo / sbin / rcSuSEfirewall2 stop
Para empezar de nuevo
sudo / sbin / rcSuSEfirewall2 start
Para Ubuntu, escriba lo siguiente para detener.
sudo service ufw stop
Para empezar de nuevo
sudo service ufw start
Para Debian y RHEL, escriba lo siguiente para detener.
sudo /etc/init.d/iptables stop
Para empezar de nuevo
sudo /etc/init.d/iptables start
Para CentOS, escriba lo siguiente para detener.
sudo service iptables stop
Para empezar de nuevo
sudo service iptables start
Si sólo queremos usar iptables sin firewalld
sudo systemctl disable firewalld
sudo systemctl mask firewalld
sudo systemctl enable iptables
sudo systemctl enable ip6tables
Obtener todas las listas de reglas de iptables
Para conocer todas las reglas que están actualmente presentes y activas en sus iptables, simplemente abra una terminal y escriba lo siguiente.
sudo iptables -L
Si no hay reglas de salida en iptables significa que si no hay reglas agregadas hasta ahora en su firewall de iptables,
Parámetros -L (muestra reglas) -n (no dns) -v (verbose)
sudo iptables -L -n -v
Podrás ver que hay tres (3) cadenas y son INPUT, FORWARD, OUTPUT y no existen reglas. De hecho, todavía no he añadido uno.
Escriba lo siguiente para conocer el estado de las cadenas de su firewall iptables.
sudo iptables -S
Con el comando anterior, puede saber si sus cadenas aceptan o no.
/etc/sysconfig/iptables
/etc/sysconfig/ip6tables
Borrar todas las reglas de iptables
Para borrar todas las reglas de su firewall de iptables, escriba lo siguiente. Esto normalmente se conoce como limpiar las reglas de iptables.
sudo iptables -F
Si desea descargar solo la cadena de ENTRADA, o cualquier cadena individual, emita los siguientes comandos según sus requisitos.
sudo iptables -F INPUT
sudo iptables -F OUTPUT
sudo iptables -F FORWARD
Variante:
# iptables -F
# iptables -X
# iptables -t nat -F
# iptables -t nat -X
# iptables -t mangle -F
# iptables -t mangle -X
# iptables -P INPUT ACCEPT
# iptables -P OUTPUT ACCEPT
# iptables -P FORWARD ACCEPT
Explicaciones:
ACEPTAR o DROP Cadenas
Para aceptar o eliminar una cadena en particular, emita cualquiera de los siguientes comandos en su terminal para cumplir con sus requisitos.
iptables --policy INPUT DROP
La regla anterior no aceptará nada que ingrese a ese servidor. Para revertirlo nuevamente a ACEPTAR, haga lo siguiente
iptables --policy INPUT ACCEPT
Lo mismo ocurre con otras cadenas, así como
iptables --policy OUTPUT DROP
iptables --policy FORWARD DROP
Nota: Por defecto, todas las cadenas de iptables (INPUT, OUTPUT, FORWARD) están en modo ACEPTAR. Esto se conoce como comportamiento predeterminado de la cadena de políticas.
Guardar reglas
# service iptables save
# iptables-save > /root/my.active.firewall.rules
# cat /root/my.active.firewall.rules
Para restaurar las reglas
# iptables-restore < /root/my.active.firewall.rules
En CentOS / RHEL / Fedora Linux:
# service iptables restart
Denegar - bloquear una IP
# iptables -A INPUT -s 1.2.3.4 -j DROP
Logear una IP
# iptables -A INPUT -i eth1 -s 1.2.3.4 -j LOG --log-prefix "Log 1.2.3.4: "# iptables -A INPUT -i eth1 -s 1.2.3.4 -j DROP
Ver el tráfico guardado en /var/log/messages f
# tail -f /var/log/messages
# grep --color 'Log 1.2.3.4' /var/log/messages
Permitiendo cualquier puerto
Si está ejecutando cualquier servidor web en su host, entonces debe permitir su firewall iptables para que su servidor escuche o responda al puerto 80. Por defecto, el servidor web se ejecuta en el puerto 80. Hagámoslo entonces.
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
En la línea anterior, A significa agregar significa que estamos agregando una nueva regla a la lista de iptables. INPUT significa la cadena INPUT. P significa protocolo y dport significa puerto de destino. De forma predeterminada, cualquier servidor web se ejecuta en el puerto 80. De manera similar, también puede permitir el puerto SSH.
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
De forma predeterminada, SSH se ejecuta en el puerto 22. Pero es una buena práctica no ejecutar SSH en el puerto 22. Ejecute siempre SSH en un puerto diferente. Para ejecutar SSH en un puerto diferente, abra el archivo /etc/ssh/sshd_config en su editor favorito y cambie el puerto 22 a otro puerto.
Bloqueando cualquier puerto
Digamos que queremos bloquear el puerto 135. Podemos hacerlo mediante
sudo iptables -A INPUT -p tcp --dport 135 -j DROP
si desea bloquear su servidor para iniciar cualquier conexión SSH desde el servidor a otro host / servidor, emita el siguiente comando
sudo iptables -A OUTPUT -p tcp --dport 22 -j DROP
Al hacerlo, nadie puede usar su servidor para iniciar una conexión SSH desde el servidor. La cadena OUPUT filtrará y DROP cualquier conexión tcp saliente hacia otros hosts.
Permitir IP específica con puerto
sudo iptables -A INPUT -p tcp -s 0/0 --dport 22 -j ACCEPT
Aquí -s 0/0 significa cualquier fuente entrante con cualquier dirección IP. Por lo tanto, no hay forma de que su servidor responda por un paquete tcp cuyo puerto de destino sea 22. Si desea permitir solo una IP en particular, utilice la siguiente.
sudo iptables -A INPUT -p tcp -s 12.12.12.12/32 --dport 22 -j ACCEPT
En el ejemplo anterior, solo permite que la dirección IP 12.12.12.12 se conecte al puerto SSH. Las direcciones IP de descanso no podrán conectarse al puerto 22. De manera similar, puede permitir mediante el uso de valores CIDR. Como
sudo iptables -A INPUT -p tcp -s 12.12.12.0/24 --dport 22 -j ACCEPT
El ejemplo anterior muestra cómo puede permitir un bloque de IP completo para aceptar la conexión en el puerto 22. Aceptará la IP a partir del 12.12.12.1 al 12.12.12.255.
Si desea bloquear dicho rango de direcciones IP, haga lo contrario reemplazando ACCEPT por DROP como se muestra a continuación
sudo iptables -A INPUT -p tcp -s 12.12.12.0/24 --dport 22 -j DROP
Por lo tanto, no permitirá obtener una conexión en el puerto 22 desde las direcciones IP 12.12.12.1 hasta 12.12.12.255.
Bloqueo de ICMP
Si desea bloquear la solicitud ICMP (ping) hacia y desde su servidor, puede intentar lo siguiente. El primero se bloqueará para no enviar una solicitud de eco de ping ICMP a otro host.
sudo iptables -A OUTPUT -p icmp --icmp-type 8 -j DROP
Ahora, intente hacer ping a google.com. Su servidor OpenSUSE no podrá hacer ping a google.com.
Si desea bloquear la solicitud de eco ICMP (ping) entrante para su servidor, simplemente escriba lo siguiente en su terminal.
sudo iptables -I INPUT -p icmp --icmp-type 8 -j DROP
Ahora, no responderá a ninguna solicitud de eco de ping ICMP. Digamos que la dirección IP de su servidor es 13.13.13.13. Y si hace ping a esa IP de su servidor, verá que su servidor no responde a esa solicitud de ping.
# iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
Pero aceptar ping de 192.168.1.0/24
# iptables -A INPUT -s 192.168.1.0/24 -p icmp --icmp-type echo-request -j ACCEPT
Bloqueo del puerto MySql / MariaDB
Como Mysql contiene su base de datos, debe proteger su base de datos de archivos adjuntos externos. Permita que las direcciones IP de su servidor de aplicaciones de confianza solo se conecten con su servidor MySQL. Para bloquear a otros
sudo iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 3306 -m state --state NEW, ESTABLISHED -j ACCEPT
Por lo tanto, no tomará ninguna conexión MySql excepto el bloque de IP 192.168.1.0/24. Por defecto, MySql se ejecuta en el puerto 3306.
Bloqueo de SMTP
Si no está ejecutando ningún servidor de correo en su servidor host o si su servidor no está configurado para actuar como un servidor de correo, debe bloquear SMTP para que su servidor no envíe correo no deseado o correo a ningún dominio. Debe hacer esto para bloquear cualquier correo saliente de su servidor. Para hacerlo
sudo iptables -A OUTPUT -p tcp --dport 25 -j DROP
Si quieres logear añade el parámetro
-j LOG --log-prefix "PORT 25 DROP: " --log-level 7
Bloqueo Rango de puertos
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 7000:7010 -j DROP
Bloquear DDoS
Todos estamos familiarizados con el término DDoS. Para deshacerse de él, ejecute el siguiente comando en su terminal.
iptables -A INPUT -p tcp --dport 80 -m limit --limit 20 / minute --limit-burst 100 -j ACCEPT
Debe configurar el valor numérico para cumplir con sus requisitos. Este es solo un estándar a mantener.
Puedes proteger más
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects
echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route
echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
echo 1 > /proc/sys/net/ipv4/conf/lo/rp_filter
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
echo 1800 > /proc/sys/net/ipv4/tcp_keepalive_time
echo 1 > /proc/sys/net/ipv4/tcp_window_scaling
echo 0 > /proc/sys/net/ipv4/tcp_sack
echo 1280 > /proc/sys/net/ipv4/tcp_max_syn_backlog
Bloqueo de escaneo de puertos
Hay cientos de personas que escanean los puertos abiertos de su servidor e intentan romper la seguridad de su servidor. Para bloquearlo
sudo iptables -N block-scan
sudo iptables -A block-scan -p tcp —tcp-flags SYN, ACK, FIN, RST RST -m limit —limit 1 / s -j RETURN
sudo iptables -A block-scan -j DROP
Aquí, block-scan es el nombre de una nueva cadena.
Bloqueo de puertos defectuosos
Es posible que también deba bloquear algunos puertos defectuosos para su servidor. Así es como puede hacer esto.
badport = "135,136,137,138,139,445"
sudo iptables -A INPUT -p tcp -m multiport --dport $ badport -j DROP
sudo iptables -A INPUT -p udp -m multiport --dport $ badport -j DROP
Puede agregar más puertos según sus necesidades.
Bloquear países enteros con iptables
Otra alternativa al script de shell anterior es usar el parche geoip iptables. Estos no son módulos estándar de iptables. Necesita descargar el parche y compilar el kernel de Linux.
- Coge el parche geoipt del sitio web oficial.
- Descargue e instale el kernel de Linux y el código fuente de iptables.
- Tome e instale la herramienta llamada patch-o-matic (necesaria para los módulos geoip).
- Finalmente, tome la base de datos de IP GEO de MaxMind.
Los detalles de la compilación del kernel y el parcheo de iptables están más allá del alcance de estas preguntas frecuentes. Esto se deja como ejercicio para los lectores.
Redireccionar de puerto A a puerto B
iptables -t nat -A PREROUTING -i $interfaceName -p tcp --dport $srcPortNumber -j REDIRECT --to-port $dstPortNumber
Ejemplo redirección puerto 80 al puerto 8080
# iptables -t nat -I PREROUTING --src 0/0 --dst 192.168.1.5 -p tcp --dport 80 -j REDIRECT --to-ports 8080
¿Qué es firewalld?
Firewalld proporciona un firewall administrado dinámicamente con soporte para zonas de red / firewall que define el nivel de confianza de las conexiones o interfaces de red. Tiene soporte para configuraciones de firewall IPv4, IPv6, puentes ethernet y conjuntos de IP. Hay una separación entre las opciones de configuración permanente y de tiempo de ejecución. También proporciona una interfaz para servicios o aplicaciones para agregar reglas de firewall directamente.
El modelo anterior de firewall con system-config-firewall / lokkit era estático y cada cambio requería un reinicio completo del firewall. Esto incluyó también descargar los módulos del kernel de netfilter del firewall y cargar los módulos necesarios para la nueva configuración. La descarga de los módulos estaba rompiendo el cortafuegos con estado y las conexiones establecidas. El demonio de firewall, por otro lado, administra el firewall de forma dinámica y aplica cambios sin reiniciar todo el firewall. Por lo tanto, no es necesario volver a cargar todos los módulos del kernel del firewall. Pero el uso de un demonio de firewall requiere que todas las modificaciones del firewall se realicen con ese demonio para asegurarse de que el estado en el demonio y el firewall en el kernel estén sincronizados. El demonio de firewall no puede analizar las reglas de firewall agregadas por las herramientas de línea de comandos iptables y ebtables. El demonio proporciona información sobre la configuración actual del firewall activo a través de D-BUS y también acepta cambios a través de D-BUS utilizando métodos de autenticación de PolicyKit.
Por lo tanto, firewalld usa zonas y servicios en lugar de cadenas y reglas para realizar las operaciones y puede administrar las reglas de forma dinámica permitiendo actualizaciones y modificaciones sin romper las sesiones y conexiones existentes.
Tiene las siguientes características.
- API de D-Bus.
- Reglas de firewall cronometradas.
- Rich Language para reglas de firewall específicas.
- Compatibilidad con IPv4 e IPv6 NAT.
- Zonas de cortafuegos.
- Soporte de conjunto de IP.
- Registro simple de paquetes denegados.
- Interfaz directa.
- Bloqueo: lista blanca de aplicaciones que pueden modificar el firewall.
- Soporte para backends de firewall iptables, ip6tables, ebtables e ipset.
- Carga automática de módulos del kernel de Linux.
- Integración con Puppet.
Cómo instalar firewalld
Antes de instalar firewalld, asegúrese de detener iptables y también asegúrese de que iptables no se esté usando ni funcionando más. Para hacerlo
sudo systemctl stop iptables
Esto detendrá iptables desde su sistema.
Y luego asegúrese de que su sistema ya no use iptables emitiendo el siguiente comando en la terminal.
sudo systemctl mask iptables
Ahora, verifique el estado de iptables.
sudo systemctl status iptables
Ahora, estamos listos para instalar firewalld en nuestro sistema.
Para Ubuntu
Para instalarlo en Ubuntu, primero debe eliminar UFW y luego puede instalar Firewalld. Para eliminar UFW, emita el siguiente comando en la terminal.
sudo apt-get remove ufw
Después de eliminar UFW, ejecute el siguiente comando en la terminal
sudo apt-get install firewall-applet
Puede abrir el Centro de software de Ubuntu y buscar o buscar "firewall-applet" y luego instalarlo en su sistema Ubuntu.
Para RHEL, CentOS y Fedora
Escriba el siguiente comando para instalar firewalld en su sistema CentOS.
sudo yum install firewalld firewall-config -y
Cómo configurar firewalld
Antes de configurar firewalld, debemos conocer el estado de firewalld después de la instalación. Para saber eso, escriba lo siguiente.
sudo systemctl status firewalld
sudo firewall-cmd –state
Como firewalld funciona por zonas, necesitamos comprobar todas las zonas y servicios, aunque todavía no hemos realizado ninguna configuración.
Por Zonas
sudo firewall-cmd --get-active-zones
sudo firewall-cmd --get-zones
Para conocer la zona predeterminada, emita el siguiente comando
sudo firewall-cmd --get-default-zone
Y, para servicios
sudo firewall-cmd --get-services
Aquí puede ver los servicios cubiertos por firewalld.
Configuración de la zona predeterminada
Una nota importante es que, después de cada modificación, debe volver a cargar firewalld para que se puedan realizar los cambios.
Para configurar la zona predeterminada
sudo firewall-cmd --set-default-zone=internal
sudo firewall-cmd --set-default-zone=public
Después de cambiar la zona, compruebe si cambia o no.
sudo firewall-cmd --get-default-zone
Agregar puerto en zona pública
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
Esto agregará el puerto tcp 80 en la zona pública de firewalld. También puede agregar el puerto que desee reemplazando 80 por el suyo
Ahora recargue el Firewalld.
sudo firewall-cmd --reload
Ahora, verifique el estado para ver si el puerto tcp 80 se ha agregado o no.
sudo firewall-cmd --zone=public --list-ports
Aquí, puede ver que se ha agregado el puerto tcp 80.
O incluso puedes probar algo como esto.
sudo firewall-cmd --zone=public --list-all
Eliminar puerto de la zona pública
Para eliminar el puerto Tcp 80 de la zona pública, escriba lo siguiente.
sudo firewall-cmd --zone=public --remove-port=80/tcp
Verá un texto de "éxito" haciendo eco en su terminal.
También puede poner su puerto deseado reemplazando 80 por su propio puerto.
Agregar servicios en Firewalld
Para agregar el servicio ftp en firewalld, emita el siguiente comando
sudo firewall-cmd --zone=public --add-service=ftp
Verá un texto de "éxito" haciendo eco en su terminal.
De manera similar, para agregar el servicio smtp, emita el siguiente comando
sudo firewall-cmd --zone=public --add-service=smtp
Reemplace ftp y smtp por su propio servicio que desee agregar en el Firewall.
Eliminar servicios de Firewalld
Para eliminar los servicios ftp y smtp de firewalld, ejecute el siguiente comando en la terminal.
sudo firewall-cmd --zone=public --remove-service=ftp
sudo firewall-cmd --zone=public --remove-service=smtp
Bloquear cualquier paquete (s) entrante y saliente
Si lo desea, puede bloquear cualquier paquete / conexión entrante o saliente utilizando firewalld. Esto se conoce como "pánico" de firewalld. Para hacerlo, emita el siguiente comando.
sudo firewall-cmd --panic-on
Verá un texto de "éxito" haciendo eco en su terminal.
Después de hacer esto, no podrá hacer ping a un host o incluso navegar por ningún sitio web.
Para desactivar esto, emita el siguiente comando en su terminal.
sudo firewall-cmd --panic-off
Configuración avanzada
Los servicios y puertos están bien para una configuración básica, pero pueden ser limitantes en escenarios más avanzados. Las reglas rich y las interfaces directas le permiten agregan reglas de firewall completamente personalizadas a cualquier zona para cualquier puerto, protocolo, dirección o acción.
Reglas rich
La sintaxis de las reglas en el lenguaje rico (o rich) están documentadas en el manual FirewallD Rich Language. También puede ejecutar man firewalld.richlanguage
desde su terminal para ver la información de ayuda del propio FirewallD. Use --add-rich-rule
, --list-rich-rules
y --remove-rich-rule
con el comando firewall-cmd
para administrar estas reglas.
Agregar dirección IP en Firewalld
sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.4" accept'
Al hacerlo, firewalld aceptará paquetes IP v4 de la IP de origen 192.168.1.4.
Bloquear una dirección IP de Firewalld
Del mismo modo, para bloquear cualquier dirección IP
sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.4" reject'
Al hacerlo, firewalld eliminará / descartará todos los paquetes IP v4 de la IP de origen 192.168.1.4
Interfaz directa a iptables
Para un uso aún más avanzado, o para expertos en iptables, FirewallD
proporciona una interfaz directa que permite pasarle comandos de
iptables directamente. Las reglas de Interfaz Directa no son
persistentes a menos que utilice el parámetro --permanent
.
Para ver todas las cadenas o reglas personalizadas añadidas a Firewall usa
firewall-cmd --direct --get-all-chainsfirewall-cmd --direct --get-all-rules
Guardar reglas de Firewalld
sudo iptables -S | tee ~/firewalld_iptables_rules
Lo mismo para las reglas ipv6
sudo ip6tables -S | tee ~/firewalld_ip6tables_rules
Bonus: Controlar el firewall de Windows desde Netsh
Es un firewall de host con estado que ayuda a proteger el dispositivo al permitirle crear reglas que determinen qué tráfico de red puede entrar en el dispositivo desde la red y qué tráfico de red puede enviar el dispositivo a la red. Firewall de Windows Defender también es compatible con la seguridad de protocolo de Internet (IPsec), que puede usar para requerir la autenticación de cualquier dispositivo que intente comunicarse con el dispositivo.
Controlar el firewall de Windows desde Netsh, también conocido como Network Shell.
Para acceder debemos entrar en el Símbolo del sistema. Vamos a Inicio, escribimos CMD y lo ejecutamos en modo de administrador. Posteriormente ejecutamos
netsh advfirewall
netsh advfirewall set currentprofile state on
Pongamos por ejemplo que queremos habilitar el puerto 80 del cortafuegos y lo queremos hacer desde la línea de comandos. En este caso tendríamos que ejecutar:
netsh advfirewall firewall add rule name= «Open Port 80» dir=in action=allow protocol=TCP localport=80
Si queremos eliminar un programa o un puerto también podemos hacerlo fácilmente. En este caso tendríamos que ejecutar:
netsh advfirewall firewall delete rule name= rule name program=»C:ProgramasPrograma.exe» (en el caso de un programa)
netsh advfirewall firewall delete rule name= rule name protocol=udp localport=500 (en el caso de un puerto, el que sea)
Si hemos realizado cambios para probar algunos parámetros y queremos volver a como estaba originalmente, podemos hacerlo fácilmente. Simplemente hay que restaurar los valores predeterminados, que podemos hacerlo también desde la línea de comandos. En esta ocasión hay que ejecutar:
netsh advfirewall reset
Más información y ejemplos:
0 comentarios :
Publicar un comentario
Los comentarios pueden ser revisados en cualquier momento por los moderadores.
Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.
Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.