Asegurar una instalación de Debian para uso doméstico general

8

Debian viene con varios hardenpaquetes, diseñados para hacer que una computadora sea más segura. Mis necesidades son muy simples: procesamiento de textos y navegación web. No ejecuto ningún servidor especial, no uso SSH, telnet, etc. El único software que debería usar Internet, que yo sepa, es iceweasely apt.

  • ¿Hay alguna manera de garantizar que solo estas dos piezas de software puedan acceder a Internet?
  • ¿Alguno de los hardenpaquetes es adecuado para estas necesidades?
Pueblo
fuente
1
Ver también Hardening Linux Server y Secure Linux Desktop sobre seguridad de la información
Gilles 'SO- deja de ser malvado'

Respuestas:

6

En una instalación de usuario predeterminada, solo hay ssh como aplicación de servidor instalada que puede simplemente desinstalar a aptitude remove openssh-servertravés de cualquier otro administrador de paquetes que use.

Restringir el acceso a la red para las aplicaciones es difícil. {{EDITAR : Sin embargo, ahora está desarrollado Leopard Flower, que parece proporcionar las características que necesita (firewall por proceso, interfaz de usuario interactiva). }} Ver ¿ Por firewall de proceso? para más información sobre el tema Sin utilizar soluciones complicadas, solo puede restringir el acceso a la red a usuarios especiales a través del ownermódulo iptables .

Como usuario normal, no necesita ningún harden-*paquete. O bien entran en conflicto con paquetes inseguros, que probablemente no haya instalado de todos modos, o instalan paquetes de seguridad que son para sistemas normales demasiado complicados de configurar y mantener, como los sistemas de intrusión de red.

jofel
fuente
3

Estoy de acuerdo con el uso estricto de iptables. Es un cortafuegos basado en una línea de comandos muy simple que utiliza el núcleo (en la mayoría de las distribuciones).

Otra sugerencia que haría es selinux. No estoy seguro si debian ahora viene con él por defecto. En resumen, Selinux es un control de acceso obligatorio, lo que significa que a nivel del núcleo rige la comunicación entre la aplicación y los recursos externos (es decir, los archivos y las propiedades del sistema). Como nota al margen, también se desarrolló con la ayuda de la NSA. Con los perfiles de selinux puede evitar que las aplicaciones lean archivos más allá de su alcance.

En combinación con las mejores prácticas, como deshabilitar daemons innecesarios, las buenas reglas de firewall selinux podrían ser la opción que está buscando para fortalecer este cuadro.

Andrew Munro
fuente
Esta respuesta podría mejorarse proporcionando un ejemplo de política de selinux que demostrara hacer lo que el OP estaba pidiendo.
jmtd
Como se solicita aquí, hay un buen ejemplo de Cent OS de cómo fortalecer un acceso apache usando la línea de comando selinux. wiki.centos.org/HowTos/…
Andrew Munro
2

Por desgracia, allí no parece haber ninguna alternativa a Linux littlesnitcho zonealarm, y la mayoría de los cortafuegos GUI'd hará que desee. Por supuesto, puede hacer bastantes cosas útiles con un iptablesseguimiento de conexión.

Una utilidad que a menudo se pasa por alto es tcpwrappers. Yo agregaría una regla a /etc/hosts.deny:

ALL: PARANOID

Además, deshabilite el ping y otras respuestas ICMP agregando la siguiente línea a /etc/sysctl.conf:

net.ipv4.icmp_echo_ignore_all = 1

EDITAR : Me inclino a estar de acuerdo con jmtd, pensándolo bien, hay mejores formas de filtrar pings.

kwarrick
fuente
El problema tcpwrapperses que es opcional : el programa debe estar vinculado a la biblioteca de envoltorios para que surta efecto. iceweaselno es. Podrías forzarlo a través de un LD_PRELOADtruco si quisieras.
jmtd
deshabilitar las respuestas ICMP es de beneficio cuestionable en cuanto a seguridad, y no está exento de costos: puede hacer que las interacciones de red sean mucho más lentas si una respuesta espera a que se agote el tiempo de espera, en lugar de obtener una denegación explícita. La tasa de respuestas limitantes para proteger contra DDoS es un enfoque mucho mejor. ICMP-DDoS es un problema casi inexistente para los usuarios de escritorio en la era moderna.
jmtd
@jmtd tcpwrapper no es LD_PRELOADcapaz. Los programas necesitan apoyarlo. Para programas enlazados estáticos, LD_PRELOADno funcionaría de todos modos.
jofel
@jmtd Estoy de acuerdo, he editado mi respuesta. Sin embargo, sigo creyendo que ignorar los pings es beneficioso no para la protección de ICMP-DDoS solo para evitar el descubrimiento del host.
kwarrick
1

Detenga todos los servicios que no desea iniciar: ssh, smtp, http, cualquier otra cosa que no desee que se inicie. Configure sus iptables para bloquear todo lo que acceda a su máquina o la deje aparte del software que desee.

Tenga en cuenta que no estoy dando una lista completa de comandos para escribir, ya que es vital que uno aprenda y comprenda las implicaciones de los servicios e iptables antes de meterse con ellos.

Sardathrion - contra el abuso SE
fuente
1

La base más popular de filtrado de red / firewalls en Linux es iptables, que no funciona en una aplicación. Lo que necesita es un programa de política de seguridad que pueda restringir que los programas puedan acceder a los recursos de la red. Dos enfoques serían SELinux y AppArmor .

Estos son algunos ejemplos de recetas de AppArmor , una de las cuales abre el acceso a la red para Firefox / Iceweasel.

jmtd
fuente