paint-brush
Entendiendo UFWpor@nkgokul
19,134 lecturas
19,134 lecturas

Entendiendo UFW

por Gokul N K2019/02/06
Read on Terminal Reader
Read this story w/o Javascript

Demasiado Largo; Para Leer

Siempre he tenido miedo de las tablas de IP. Si desea saber el motivo, consulte la <a href="http://ipset.netfilter.org/iptables.man.html" target="_blank">página del manual para conocer el mismo.</a> Aunque he escuchado de muchas personas que las IPtables son más robustas y seguras, nunca las he usado porque siempre ha sido desalentador. Personalmente, creo que si no me siento cómodo con algo como IPtables y aún lo uso, podría agregar más agujeros de seguridad sin aprovechar los beneficios que brinda. Así que me he limitado a usar ufw por ahora. Es por la misma razón que prefiero Ubuntu sobre otros sabores. La familiaridad genera confianza y sé que cometeré menos errores. No considere esto como una promoción de Ubuntu sobre otras versiones más seguras, porque no lo es. Es solo mi preferencia personal.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Entendiendo UFW
Gokul N K HackerNoon profile picture

Ubuntu Firewall para humanos

Siempre he tenido miedo de las tablas de IP. Si desea saber el motivo, consulte la página del manual para conocer el mismo. Aunque he escuchado de muchas personas que las IPtables son más robustas y seguras, nunca las he usado porque siempre ha sido desalentador. Personalmente, creo que si no me siento cómodo con algo como IPtables y aún lo uso, podría agregar más agujeros de seguridad sin aprovechar los beneficios que brinda. Así que me he limitado a usar ufw por ahora. Es por la misma razón que prefiero Ubuntu sobre otros sabores. La familiaridad genera confianza y sé que cometeré menos errores. No considere esto como una promoción de Ubuntu sobre otras versiones más seguras, porque no lo es. Es solo mi preferencia personal.

Nota al margen: ¿Sabía que "Ubuntu" generalmente se traduce como "Soy porque somos"?

Antes de empezar

Tenga en cuenta estas cosas antes de comenzar.

  1. Utilice algún tipo de cortafuegos. Si no es ufw, puede usar iptables directamente.
  2. Si está utilizando ufw, asegúrese de que su servicio ufw se inicie al reiniciar.
  3. Comprenda bien los valores predeterminados de ufw.
  4. La lista negra de todos y la lista blanca de lo que se requiere siempre es una mejor opción.
  5. Configure una herramienta de monitoreo como zabbix que le brinde un disparador cuando ufw está inactivo.

Instalando ufw

sudo apt instalar ufw

Comprobar estado


# ufw statusEstado: inactivo

Habilitaremos ufw después de agregar las reglas relevantes.

Lista blanca de ssh

Asegúrese de permitir ssh antes de habilitar ufw para que pueda acceder a su servidor desde cualquier lugar usando ssh.



#sudo ufw allow sshRules actualizado Reglas actualizadas (v6)

Comprobación de reglas añadidas

No puede verificar las reglas agregadas usando el ufw status cuando ufw no está activo. En su lugar, puede usar ufw show added. Puede usar esto incluso después de habilitar el ufw.



# ufw muestra las reglas de usuario agregadas (ver 'estado de ufw' para ejecutar el firewall): ufw allow 22/tcp

Habilitar ufw

Habilitar ufw sin agregar una regla para ssh podría bloquearlo de su servidor. Así que tenga cuidado antes de habilitar ufw. Aunque no lo he probado, así que no puedo estar seguro. :PAGS



# ufw enableCommand puede interrumpir las conexiones ssh existentes. ¿Continuar con la operación (s|n)? yFirewall está activo y habilitado en el inicio del sistema

Comprobar estado

ufw status le brinda el estado de ufw y también enumera todas las reglas habilitadas.


# ufw statusEstado: activo




A la acción desde-- ------ ----22/tcp PERMITIR Cualquier lugar22/tcp (v6) PERMITIR Cualquier lugar (v6)

ufw status puede ser problemático ya que no brinda todos los detalles. Consulte la siguiente sección.

Valores predeterminados de UFW

No saber los valores predeterminados me costó un par de horas el otro día.

Dado que los valores predeterminados no se mostraban y los detalles en Acción no eran lo suficientemente claros, asumí algunas cosas que me costaron mucho. Así que revise las opciones predeterminadas antes de configurar las reglas relevantes para sus aplicaciones.

Puede obtener esos detalles usando ufw status verbose





# ufw status verboseStatus: activeLogging: on (low)Predeterminado: denegar (entrante), permitir (saliente), deshabilitado (enrutado)Nuevos perfiles: omitir




A la acción De-- ------ ----22/tcp PERMITIR EN Cualquier lugar22/tcp (v6) PERMITIR EN Cualquier lugar (v6)

Como puede ver en la salida ahora

  1. Los valores predeterminados son denegar (entrante): esto asegurará que ningún sistema externo pueda conectarse a su máquina hasta que agregue una regla anulatoria para el mismo.
  2. Los valores predeterminados son permitir (saliente): esto significa que todas las solicitudes salientes están habilitadas. Si bien esta configuración lo ayuda a ejecutar comandos como apt-install , wget y ping sin ningún problema. Pero si desea mantener su servidor seguro, es mejor establecer los valores predeterminados como bloquear los salientes y luego permitir las IP/dominios específicos que necesita.
  3. Por defecto están deshabilitados (enrutados) Esto significa que todo el enrutamiento está deshabilitado y el reenvío está bloqueado. Este es un buen valor predeterminado siempre que no esté utilizando su máquina como enrutador.
  4. Como puede ver en las columnas de Acción, es "PERMITIR ENTRAR". Lo que significa que también hay "PERMITIR FUERA". Debe agregar dicha regla si establece el valor predeterminado como denegar (saliente).

Cambio de valores predeterminados

Los valores predeterminados que vemos arriba son equivalentes a las siguientes reglas.


sudo ufw predeterminado denegar entrantesudo ufw predeterminado permitir saliente

Si desea cambiar el valor predeterminado para denegar salientes, puede ejecutar



#sudo ufw default deny outgoingLa política saliente predeterminada cambió a 'denegar' (asegúrese de actualizar sus reglas en consecuencia)

Si establece el valor predeterminado anterior, deberá agregar reglas manualmente para acceder a los sistemas externos. Puede ser un proceso engorroso pero mucho más seguro.

Por ejemplo, digamos que desea permitir el tráfico saliente en el puerto 10060, luego puede ejecutar

ufw permitir salir 10060

En lugar de mantener el valor predeterminado de outgoing como está, creo que es mejor denegar la salida. Siempre que desee realizar algunas actualizaciones o instalar software, puede agregar una regla como temporalmente y luego eliminarla una vez que haya terminado.

Además, si desea abrir solo puertos específicos para poder usar apt, puede usar las siguientes reglas que tomé prestadas de esta respuesta.

 ufw default deny incomingufw default deny outgoingufw limit sshufw allow svnufw allow gitufw allow out httpufw allow in http ufw allow out httpsufw allow in httpsufw allow out 53ufw logging onufw enable

Mostrar reglas

Puede usar ufw show added para mostrar todas las reglas añadidas.






# ufw show addedufw allow 22/tcpufw permite desde xxxx a cualquier puerto 27017ufw permite desde xxxx a cualquier puerto 27017ufw permite desde xxxx a cualquier puerto 10050ufw permite desde xxxx a cualquier puerto 10050

Anteriormente estaba usando el comando ufw status numbered pero ahora uso ufw show added y luego uso las reglas de allí para eliminar como sigue.

ufw eliminar permitir 22/tcp

Reglas del pulgar

  1. Asegúrese de que ufw se haya iniciado en el arranque.
  2. Cambie los valores predeterminados para que sean más restrictivos según su comodidad.
  3. Denegar por defecto y habilitar solo lo que se requiere.
  4. Mantenga sus reglas lo más específicas posible. Ejemplo sudo ufw allow from 192.168.0.0/24 to any port 22 proto tcp
  5. Agregue una herramienta de monitoreo como Zabbix que verifique el estado de ufw y cualquier regla que sea muy crítica.

Otras lecturas

Si desea más detalles y más opciones de consulta, consulte https://help.ubuntu.com/community/UFW

Había creado meteduras de pata sin conocer claramente la ufw. Espero que este artículo pueda evitar que cometas tales errores.

Si te gustó este artículo y te gustaría leer artículos similares, no olvides aplaudir.

Haz clic y arrastra para aplaudir más de una vez. 50 es el límite.

Puedes leer los demás artículos de la serie.


Comprender las promesas en JavaScript _He tenido una especie de relación de "amor y odio" con JavaScript. Sin embargo, JavaScript siempre fue intrigante... _hackernoon.com


Comprender async-await en Javascript — Gokul NK — Medium _Async y Await son extensiones de promesas. Entonces, si no tiene claro los conceptos básicos de las promesas, póngase cómodo … _hackernoon.com


¿Debería usar Promises o Async- Await? Recientemente leí una publicación mediana en la que el autor afirmaba que usar async-await es mejor que usar promesas. Mientras esto…_hackernoon.com

Si está interesado en las criptomonedas, haga el pago


10 cosas que debe saber/hacer antes de invertir en criptomonedas _“Nunca invierta en algo que no entiende”_hackernoon.com


Guía para principiantes sobre "Invertir en criptomonedas" _Ha pasado más de un año desde que comencé a invertir en criptomonedas. Siguiendo el consejo de Warren Buffet de “Nunca…_hackernoon.com


Por qué es incorrecto comparar los precios de las criptomonedas _El precio es un indicador importante. Pero también puede ser engañoso en muchos casos._blog.goodaudience.com