Debo confesar que soy muy nuevo en el mundo de Linux, y hay conceptos que me parecen muy desconocidos.
Lo que más extraño es un cortafuegos de nivel de aplicación bueno pero simple. A partir de ahora, con toda esta conectividad intrusiva y permanente penetrante 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 sí (y con mi firewall gratuito ZoneAlarm puedo detenerlos).
Con Gufw (y muchos otros) tienes que saber qué aplicaciones 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 lo que sea que intente "hablar" a través de él de manera proactiva, independientemente del puerto que intente usar (la mayoría de las aplicaciones que mencioné anteriormente intentan conectarse) utilizando puertos TCP bien conocidos: 80, 443, 8080). ¿Existe esto? (Si no, ¿cómo sé con certeza qué está haciendo mi computadora?)
fuente
Respuestas:
Douane
Instalación
Hasta ahora (2017/05/22) no hay paquetes de Ubuntu disponibles. Debes construirlo desde la fuente.
Estas instrucciones de instalación se basan en información de Douane Wiki y se probaron en Ubuntu 16.04.2 de 64 bits.
Abra una terminal ( Ctrl+ Alt+ T) para ejecutar los comandos.
Preparación
Actualiza tu sistema:
Si recibe una notificación pidiéndole que reinicie su computadora, reiníciela.
Instalar las dependencias
Crear un directorio para compilar
Construye el módulo del núcleo
Compruebe si el módulo fue construido e instalado correctamente:
Deberías ver algo como:
Construye el demonio
Construye el proceso de diálogo
Comience el proceso de diálogo:
Luego verifique si se está ejecutando:
Deberías ver algo como:
Construye el configurador
Inicie el demonio y configure el inicio automático
Tuve que insertar el siguiente texto en el archivo
/etc/init.d/douane
para habilitar el inicio automático del demonio:Abra el archivo para editar:
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:
Ahora puedes configurar el inicio automático e iniciar el demonio:
Active el filtro e inicie automáticamente el diálogo
Inicie el configurador:
Luego, asegúrese de que los interruptores Use Douane para filtrar el tráfico de mi red y el Inicio automático Douane en el arranque estén encendidos.
Puede revisar las reglas de filtrado en la pestaña Reglas . Al hacer clic derecho en una regla, tiene la opción de eliminarla.
Prueba
Si todo está bien, debería ver la ventana de Douane pidiendo permiso al abrir aplicaciones que usan conexiones de red.
fuente
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 es https://www.opensnitch.io/
En este punto se considera software alfa, y extrañamente 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 me di cuenta de que nadie había mencionado OpenSnitch aquí todavía.
fuente
Esta es una muy buena pregunta, pero odio preguntas como esta porque son realmente difíciles de responder sin decir que la seguridad no es importante.
Primero, permítanme decir que la seguridad es importante, pero que Linux la maneja de manera muy diferente que Windows.
Así que abordemos su pregunta.
Primero, no habrá un firewall saliente que funcione de la misma manera que la 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 tiene un servidor (en este caso, la parte que se 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 tener). Un programa actúa como un servidor que escucha la información y envía datos cuando la recibe, luego un cliente "se conecta" a ese "servidor del mouse" y espera la información.
Esto es tan frecuente en Linux que si creara un "firewall" que solicitara permiso para cada conexión de red, entonces probablemente no podría configurarlo porque no podría conectarse a su propio servidor.
Todo esto es un ejemplo muy tosco, parte de esto es engañoso porque tiene un nivel muy alto. Pero sigue siendo muy cierto.
Para proteger 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 cualquier puerto por debajo de 1024. (nuevamente 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 generalmente puede abrir "puertos altos" (aquellos por encima de 1024). Pero mira la regla dos.
2do. ningún proceso puede acceder a ningún archivo al que el usuario que inicia el proceso no pueda 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 conectar el cortafuegos simplemente se interpone, y no hay mucha demanda.
Dicho esto, siempre se puede crear una regla de firewall de salida, y en muchos casos probablemente no sea una mala idea. Muchos servicios se pueden configurar (y están predeterminados) para usar sockets basados en archivos (o en memoria) y no sockets basados en red.
Una regla de firewall entrante generalmente cierra cualquier espacio extraño que haya dejado la regla 1 o 2.
Mi punto es este. La seguridad es importante y no estoy tratando de decir que no lo es, solo aquí, en la tierra de Linux, tenemos diferentes herramientas y objetivos. Le recomendaría que revise los permisos de usuarios y grupos de Linux y luego use una herramienta como gfw e IPTABLES para llenar los vacíos.
fuente
sshd
en 22), pero la pregunta parece preguntar más sobre la exfiltración de datos. Que son conexiones casi enteramente salientes y tienen poco que ver con los puertos a los que se te permite unirte.netstat
En este momento mi caja tiene 1354 conexiones abiertas. 65 de ellos son conexiones de red. Ese es un número bastante bajo para mí (no digo que sea para todos), pero luego comenzarías a tratar de descubrir qué hace cada una de esas conexiones. Como dije, no es que la seguridad no sea importante, es solo un entorno muy diferente.