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?

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.


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.


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.


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.


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.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.