Configurar UFW (Firewall sin complicaciones) en Ubuntu
La herramienta de configuración de firewall predeterminada para Ubuntu es ufw. Desarrollado para facilitar la configuración del firewall iptables, ufw proporciona una forma fácil de usar para crear un firewall basado en host IPv4 o IPv6. De forma predeterminada, UFW está deshabilitado.
Sintaxis básica y ejemplos
Las reglas predeterminadas están bien para el usuario doméstico promedio
Cuando activa UFW, utiliza un conjunto predeterminado de reglas (perfil) que debería estar bien para el usuario doméstico promedio. Ese es al menos el objetivo de los desarrolladores de Ubuntu. En resumen, todo lo ‘entrante’ está siendo denegado, con algunas excepciones para facilitar las cosas a los usuarios domésticos.
Habilitar y deshabilitar
Habilitar UFW
Para activar UFW con el conjunto predeterminado de reglas:
sudo ufw enable
Para comprobar el estado de UFW:
sudo ufw status verbose
El resultado debería ser así:
youruser@yourcomputer:~$ sudo ufw status verbose
[sudo] password for youruser: Status: active Logging: on (low) Default: deny (incoming), allow (outgoing) New profiles: skip youruser@yourcomputer:~$
Tenga en cuenta que, de forma predeterminada, se está aplicando denegar a la entrada. Hay excepciones, que se pueden encontrar en la salida de este comando:
sudo ufw show raw
También puede leer los archivos de reglas en /etc/ufw (los archivos cuyos nombres terminan con .rules).
Deshabilitar UFW
Para deshabilitar el uso de ufw:
sudo ufw disable
Permitir y denegar (reglas específicas)
Conceder
sudo ufw allow <port>/<optional: protocol>
ejemplo: Para permitir el paquete tcp y udp entrante en el puerto 53
sudo ufw allow 53
ejemplo: Para permitir paquetes TCP entrantes en el puerto 53
sudo ufw allow 53/tcp
ejemplo: Para permitir paquetes udp entrantes en el puerto 53
sudo ufw allow 53/udp
Negar
sudo ufw deny <port>/<optional: protocol>
ejemplo: Para denegar paquetes TCP y UDP en el puerto 53
sudo ufw deny 53
ejemplo: Para denegar paquetes TCP entrantes en el puerto 53
sudo ufw deny 53/tcp
ejemplo: Para denegar paquetes udp entrantes en el puerto 53
sudo ufw deny 53/udp
Eliminar regla existente
Para eliminar una regla, simplemente prefije la regla original con delete. Por ejemplo, si la regla original era:
ufw deny 80/tcp
Use esto para eliminarlo:
sudo ufw delete deny 80/tcp
Servicios
También puede permitir o denegar por nombre de servicio ya que ufw lee desde /etc/services Para ver obtener una lista de servicios:
less /etc/services
Permitir por nombre de servicio
sudo ufw allow <service name>
ejemplo: para permitir ssh por nombre
sudo ufw allow ssh
Denegar por nombre de servicio
sudo ufw deny <service name>
ejemplo: para denegar ssh por su nombre
sudo ufw deny ssh
Estado
Al verificar el estado de ufw, se le indicará si ufw está habilitado o deshabilitado y también se enumerarán las reglas actuales de ufw que se aplican a sus iptables.
Para comprobar el estado de ufw:
sudo ufw status Firewall loaded To Action From -- ------ ---- 22:tcp DENY 192.168.0.1 22:udp DENY 192.168.0.1 22:tcp DENY 192.168.0.7 22:udp DENY 192.168.0.7 22:tcp ALLOW 192.168.0.0/24 22:udp ALLOW 192.168.0.0/24
si ufw no estuviera habilitado, el resultado sería:
sudo ufw status Status: inactive
Registro
Para habilitar el uso del registro:
sudo ufw logging on
Para deshabilitar el uso de registro:
sudo ufw logging off
Sintaxis avanzada
También puede utilizar una sintaxis más completa, especificando las direcciones, puertos y protocolos de origen y destino.
Permitir acceso
En esta sección se muestra cómo permitir un acceso específico.
Permitir por IP específica
sudo ufw allow from <ip address>
ejemplo: Para permitir paquetes desde 207.46.232.182:
sudo ufw allow from 207.46.232.182
Permitir por subred
Puede usar una máscara de red:
sudo ufw allow from 192.168.1.0/24
Permitir por puerto específico y dirección IP
sudo ufw allow from <target> to <destination> port <port number>
Ejemplo: permitir el acceso de la dirección IP 192.168.0.4 al puerto 22 para todos los protocolos
sudo ufw allow from 192.168.0.4 to any port 22
Permitir por puerto específico, dirección IP y protocolo
sudo ufw allow from <target> to <destination> port <port number> proto <protocol name>
Ejemplo: permitir el acceso de la dirección IP 192.168.0.4 al puerto 22 mediante TCP
sudo ufw allow from 192.168.0.4 to any port 22 proto tcp
Habilitar PING
Nota: La seguridad por oscuridad puede ser de muy poco beneficio real con los scripts de cracker modernos. De forma predeterminada, UFW permite solicitudes de ping. Es posible que desee dejar habilitadas las solicitudes de ping (icmp) para diagnosticar problemas de red.
Para deshabilitar las solicitudes de ping (icmp), debe editar /etc/ufw/before.rules y eliminar las siguientes líneas:
# ok icmp codes -A ufw-before-input -p icmp --icmp-type destination-unreachable -j ACCEPT -A ufw-before-input -p icmp --icmp-type source-quench -j ACCEPT -A ufw-before-input -p icmp --icmp-type time-exceeded -j ACCEPT -A ufw-before-input -p icmp --icmp-type parameter-problem -j ACCEPT -A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT
o cambie el botón «ACEPTAR» por «DROP»
# ok icmp codes -A ufw-before-input -p icmp --icmp-type destination-unreachable -j DROP -A ufw-before-input -p icmp --icmp-type source-quench -j DROP -A ufw-before-input -p icmp --icmp-type time-exceeded -j DROP -A ufw-before-input -p icmp --icmp-type parameter-problem -j DROP -A ufw-before-input -p icmp --icmp-type echo-request -j DROP
Denegar acceso
Denegar por IP específica
sudo ufw deny from <ip address>
ejemplo: Para bloquear paquetes desde 207.46.232.182:
sudo ufw deny from 207.46.232.182
Denegar por puerto y dirección IP específicos
sudo ufw deny from <ip address> to <protocol> port <port number>
ejemplo: denegar el acceso a la dirección ip 192.168.0.1 al puerto 22 para todos los protocolos
sudo ufw deny from 192.168.0.1 to any port 22
Trabajar con reglas numeradas
Reglas de listado con un número de referencia
Puede usar el estado numerado para mostrar el orden y el número de identificación de las reglas:
sudo ufw status numbered
Edición de reglas numeradas
Eliminar regla numerada
A continuación, puede eliminar las reglas utilizando el número. Esto eliminará la primera regla y las reglas se desplazarán hacia arriba para completar la lista.
sudo ufw delete 1
Insertar regla numerada
sudo ufw insert 1 allow from <ip address>
Ejemplo avanzado
Escenario: Desea bloquear el acceso al puerto 22 desde 192.168.0.1 y 192.168.0.7, pero permitir que todas las demás direcciones IP 192.168.0.x tengan acceso al puerto 22 mediante tcp
sudo ufw deny from 192.168.0.1 to any port 22 sudo ufw deny from 192.168.0.7 to any port 22 sudo ufw allow from 192.168.0.0/24 to any port 22 proto tcp
Esto pone las reglas específicas en primer lugar y las genéricas en segundo lugar. Una vez que una regla coincide, las demás no se evaluarán (consulte el manual a continuación), por lo que debe poner las reglas específicas primero. A medida que cambian las reglas, es posible que deba eliminar las reglas antiguas para asegurarse de que las nuevas reglas se pongan en el orden adecuado.
Para verificar sus pedidos de reglas, puede verificar el estado; Para el escenario, el resultado siguiente es el resultado deseado para que las reglas funcionen correctamente
sudo ufw status Firewall loaded To Action From -- ------ ---- 22:tcp DENY 192.168.0.1 22:udp DENY 192.168.0.1 22:tcp DENY 192.168.0.7 22:udp DENY 192.168.0.7 22:tcp ALLOW 192.168.0.0/24
Cambio de escenario: Desea bloquear el acceso a los puertos 22 a 192.168.0.3, así como a 192.168.0.1 y 192.168.0.7.
sudo ufw delete allow from 192.168.0.0/24 to any port 22 sudo ufw status Firewall loaded To Action From -- ------ ---- 22:tcp DENY 192.168.0.1 22:udp DENY 192.168.0.1 22:tcp DENY 192.168.0.7 22:udp DENY 192.168.0.7 sudo ufw deny 192.168.0.3 to any port 22 sudo ufw allow 192.168.0.0/24 to any port 22 proto tcp sudo ufw status Firewall loaded To Action From -- ------ ---- 22:tcp DENY 192.168.0.1 22:udp DENY 192.168.0.1 22:tcp DENY 192.168.0.7 22:udp DENY 192.168.0.7 22:tcp DENY 192.168.0.3 22:udp DENY 192.168.0.3 22:tcp ALLOW 192.168.0.0/24
Comments