Instalación

Instalación

Debo confesar que soy muy nuevo en el mundo Linux, y hay conceptos que me parecen muy desconocidos.

Una cosa que más extraño es un firewall a nivel de aplicación bueno pero simple. A partir de ahora, con toda esta conectividad permanente, intrusiva y generalizada a Internet, es imprescindible saber qué está haciendo exactamente su computadora, por qué y con quién. Un analizador de protocolos está bien, pero es demasiado hostil y requiere mucho tiempo para "analizarlo", lo que es prácticamente inútil para los usuarios domésticos.

He descubierto muchos programas en entornos Windows que no deberían conectarse a Internet pero lo hacen (y con mi firewall gratuito ZoneAlarm puedo detenerlos).

Con Gufw (y varios otros) tienes que saber qué aplicaciones ya tienes instaladas (y sabemos que esto es casi imposible con este sistema operativo moderno con miles de millones de líneas de código).

Lo que estoy buscando es un firewall que monitoree la conexión NIC/WAN y detecte cualquier programa/aplicación o cualquier cosa que intente "hablar" a través de él de manera proactiva, independientemente del puerto que intente usar (deben las aplicaciones que mencioné anteriormente intentar conectarse). utilizando puertos TCP bien conocidos: 80, 443, 8080). ¿Esto existe? (Si no es así, ¿cómo puedo saber con seguridad qué está haciendo mi computadora?)

Respuesta1

Douane

Douane es un firewall personal que protege la privacidad de un usuario al permitirle controlar qué aplicaciones pueden conectarse a Internet desde su computadora GNU/Linux.


Instalación

Hasta ahora (22/05/2017) no hay paquetes de Ubuntu disponibles. Debes compilarlo desde la fuente.

Estas instrucciones de instalación se basan en información delWiki Douaney probado en Ubuntu 16.04.2 de 64 bits.

Abra una terminal ( Ctrl+ Alt+ T) para ejecutar los comandos.

Preparación

Actualice su sistema:

sudo apt update
sudo apt full-upgrade

Si recibe una notificación solicitando que reinicie su computadora, reiníciela.

Instalar las dependencias

sudo apt install git build-essential dkms libboost-filesystem-dev libboost-regex-dev libboost-signals-dev policykit-1 libdbus-c++-dev libdbus-1-dev liblog4cxx10-dev libssl-dev libgtkmm-3.0-dev python3 python3-gi python3-dbus

Crear un directorio para la compilación.

cd
mkdir Douane
cd Douane

Construya el módulo del kernel

git clone https://github.com/Douane/douane-dkms
cd douane-dkms
sudo make dkms

Compruebe si el módulo se construyó e instaló correctamente:

lsmod | grep douane

Deberías ver algo como:

douane                 20480  0

Construye el demonio

cd ~/Douane
git clone --recursive https://github.com/Douane/douane-daemon
cd douane-daemon
make
sudo make install

Construir el proceso de diálogo

cd ~/Douane
git clone --recursive https://github.com/Douane/douane-dialog
cd douane-dialog
make
sudo make install

Inicie el proceso de diálogo:

/opt/douane/bin/douane-dialog &

Luego verifique si se está ejecutando:

pgrep -a douane-dialog

Deberías ver algo como:

21621 /opt/douane/bin/douane-dialog

Construye el configurador

cd ~/Douane
git clone https://github.com/Douane/douane-configurator
cd douane-configurator
sudo python3 setup.py install

Inicie el demonio y configure el inicio automático.

Tuve que insertar el siguiente texto en el archivo /etc/init.d/douanepara permitir el inicio automático del demonio:

### BEGIN INIT INFO
# Provides:          douane
# Required-Start:
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Douane firewall
### END INIT INFO

Abra el archivo para editarlo:

sudo nano /etc/init.d/douane

Luego pegue el texto anterior después de la descripción del programa. Presione Ctrl+ O, Enterpara guardar, luego Ctrl+ Xpara salir del editor.

Estas son las primeras 21 líneas del archivo después de insertar el texto:

#!/bin/bash
#
# douane      This shell script takes care of starting and stopping
#             douane daemon (A modern firewall at application layer)
#
# Author: Guillaume Hain [email protected]
#
# description: douane is the daemon process of the Douane firewall application. \
# This firewall is limiting access to the internet on application bases.

### BEGIN INIT INFO
# Provides:          douane
# Required-Start:
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Douane firewall
### END INIT INFO

# Source function library.
. /lib/lsb/init-functions

Ahora puedes configurar el inicio automático e iniciar el demonio:

sudo systemctl daemon-reload
sudo systemctl enable douane
sudo systemctl start douane

Active el filtro e inicie automáticamente el diálogo.

Inicie el configurador:

douane-configurator

Luego asegúrese de que los interruptoresUsar Douane para filtrar el tráfico de mi redyInicio automático de Douane al arrancarambos están encendidos.

Puede revisar las reglas de filtrado en elNormaspestaña. Al hacer clic derecho en una regla, obtienes la opción de eliminarla.

Prueba

Si todo está bien, deberías ver la ventana de Douane pidiendo permiso cuando abres aplicaciones que utilizan conexiones de red.

Respuesta2

Hay un nuevo proyecto llamado OpenSnitch descrito en

https://www.cyberciti.biz/python-tutorials/opensnitch-the-little-snitch-application-like-firewall-tool-for-linux/

La página del proyecto eshttps://www.opensnitch.io/

En este punto se considera software alfa y, curiosamente, está escrito en Python, pero al menos es un nuevo intento, mientras que Douane es un programa muy antiguo que (creo) es mucho más difícil de instalar.

Descargo de responsabilidad: No he probado personalmente ninguno de los programas, solo estaba tratando de encontrar si hay otras opciones y noté que nadie había mencionado OpenSnitch aquí todavía.

Respuesta3

Esta es una muy buena pregunta, pero odio preguntas como esta porque son muy difíciles de responder sin dar la impresión de que la seguridad no es importante.

Primero, permítanme decir que la seguridad es importante, pero que Linux la maneja de manera muy diferente a como lo hace Windows.

Entonces, abordemos tu pregunta.

Primero, no habrá un firewall saliente que funcione de la misma manera que una alarma de zona. Linux simplemente no tiene una gran necesidad de uno. Muchas aplicaciones funcionan en una arquitectura cliente/servidor aunque las esté utilizando en la misma máquina. Xorg es un gran ejemplo. Primero tienes un servidor (en este caso la parte que dibuja en la pantalla) y un cliente (gedit). gedit habla con el servidor sobre cómo dibujar sus botones, colocar su texto, etc. Incluso algo tan simple como un mouse tiene esta misma arquitectura (o podría tenerla). Un programa actúa como un servidor que escucha información y envía datos cuando los recibe, luego un cliente se "conecta" a ese "servidor de mouse" y espera información.

Esto es tan frecuente en Linux que si creara un "firewall" que pidiera permiso para cada conexión de red, probablemente no podría configurarlo porque no podría conectarse a su propio servidor.

Todo esto es un ejemplo muy aproximado, algo de él es engañoso porque es de muy alto nivel. Pero sigue siendo muy cierto.

Para protegernos a los usuarios de Linux contra esto, tenemos un conjunto de dos reglas muy básicas que hacen un muy buen trabajo "básico".

Primero, ningún usuario, excepto root, puede abrir ningún puerto por debajo de 1024 (nuevamente, un nivel muy alto). Esto significa que incluso para ejecutar un servidor FTP (en un puerto estándar) necesita tener acceso de root. Usted, como usuario, normalmente puede abrir "puertos altos" (aquellos por encima de 1024). Pero vea la regla dos.

2do. ningún proceso puede acceder a ningún archivo al que el usuario que inicia el proceso no pudo acceder. (nuevamente nivel muy alto) Entonces, si "coteyr" iniciara un servidor FTP, entonces ese servidor FTP en el peor de los casos (nivel alto) solo tendría exactamente el mismo acceso que el usuario coteyr que lo inició.

Debido a la combinación de estas dos reglas, un "software" que pregunta cada vez que algo intenta conectarse al firewall simplemente se interpone en el camino y no hay mucha demanda para él.

Dicho esto, siempre puedes crear una regla de firewall saliente y, en muchos casos, probablemente no sea una mala idea. Muchos servicios pueden configurarse (y lo están de forma predeterminada) para utilizar sockets basados ​​en archivos (o basados ​​en memoria) y no sockets basados ​​en red.

Una regla de firewall entrante generalmente cierra cualquier espacio extraño que haya quedado por la regla 1 o 2.

Mi punto es este. La seguridad es importante y no estoy tratando de decir que no lo sea, es sólo que aquí en la tierra de Linux tenemos diferentes herramientas y objetivos. Le recomendaría que investigue los permisos de usuarios y grupos de Linux y luego use una herramienta como gfw e IPTABLES para llenar los vacíos.

Respuesta4

OpenSnitch, que se mencionó en una respuesta aquí,ya no está en desarrollo activo. hayun tenedoraunque eso continúa el desarrollo, que ha mejorado en muchas áreas con respecto al OpenSnitch que ahora no se mantiene.

Al igual que el proyecto original, la bifurcación OpenSnitch es un firewall gratuito y de código abierto a nivel de aplicación para Linux que está compuesto por un demonio (escrito en Go) y una GUI (PyQt5). También al igual que el proyecto original, esta bifurcación está en proceso, con un mensaje en la página del proyecto que dice "no espere que esté libre de errores y no confíe en él para ningún tipo de seguridad".

La aplicación monitorea las conexiones salientes que sus aplicaciones intentan realizar, impidiendo o permitiendo su conexión según un conjunto de reglas (se le solicita al usuario que permita o niegue el acceso cuando no se encuentran reglas existentes). La aplicación está inspirada en Little Snitch, un firewall de aplicaciones comercial basado en host para macOS.

Para Ubuntu hay paquetes DEB disponibles para descargar en el proyectoGitHub.

Fuente.

información relacionada