SecHackLabs: Linux Hardening - Instalando tu distribución Linux de manera segura.
El corazón de nuestro sistema GNU/Linux son el Kernel y el sistema operativo. Combinados, forman el la base de su sistema, en el cual todas las aplicaciones se ejecutarán. Hablando comparativamente el sistema GNU y el kernel Linux son razonablemente seguros. Un gran número de carácteristicas de seguridad están integradas en el kernel, herramientas relacionadas a la seguridad y otras carácteristicas vienen con la mayoría de distribuciones GNU/Linux o están disponibles en la red de manera open-source. Adicionalmente GNU/Linux ofrece un control excepcional sobre quien, cómo y cuales recursos y aplicaciones pueden ser accedidas por los usuarios. Entonces ¿donde están los riesgos?
Un viejo refrán dice "El diablo está en los detalles". La seguridad de su sistema depende de una amplia variedad de elementos de configuración tanto a nivel del sistema operativo como a nivel de aplicación. Además, el sistema operativo Linux y el kernel son complejos y no siempre es fácil de configurar. De hecho, los sistemas Linux son casi infinitamente configurables, y cambios de configuración sutiles pueden tener importantes implicaciones de seguridad. Por lo tanto, muchas expocisiones (de estar expuesto a ataques) de seguridad y vulnerabilidades no siempre son obvias de inmediato, y la falta de comprensión sobre el impacto global de los cambios en los elementos de configuración puede conducir a expocisiones inadvertidas.
Además la seguridad en sistemas GNU/Linux no es estática, una vez asegurado tu sistema, este no está perpetuamente protegido, a medida que usas tu sistema, la seguridad se va debilitando. Esto puede suceder debido a cambios operacionales o funcionales, así cómo el descubrimiento de nuevas vulnerabilidades y exploits en aplicaciones y paquetes. Asegurar su sistema es algo continuo y viviente, muchos de los cambios que se aplicarán a lo largo de esta serie de publicaciones debes hacerce más de una vez (por ejemplo, luego de un cambio a nivel operacional, una reinstalación de componentes, etc) o ya sea de manera rutinaria para mantener el nivel de seguridad en su sistema.
Por defecto, la mayoría de distribuciones GNU/Linux vienen con un gran número de paquetes instalados, aplicaciones y configuraciones de manera predeterminada para ti. Esto depende del creador de la distribución y de la finalidad de la misma.
· Instalando tu distribución Linux de manera segura.
Esta serie de publicaciones no pretende centrarse en una distribución en especifico y las recomendaciones dadas a lo largo de la misma son apicables a la mayoría de sistemas GNU/Linux. Aquí no explicaremos el proceso de instalación de ninguna distribución es especifico y se dará consejos generalizados para la instalación de tu distribución, sea cual sea tu elección. Este proceso es una de las claves del proceso de hardening, la clave de la seguridad de la tecnología de la información (IT) es la minimización de sus riesgos. Las instalaciones por defecto de la mayoría de distribuciones hacen lo contrario.
Tips Generales.
* Habilite SHA1, shadow o cualquier otro método o algoritmo que ayude a mantener sus contraseñas relativamente más seguras.
* Cuando se te pida la contraseña del usuario root introduzca una contraseña robusta, el usuario root tiene permisos para hacer todo en el sistema. Aquí dejo un link sobre cómo crear contraseñas seguras.
* Cree un usuario diferente de root con los permisos adecuados y estrictamente necesarios, de este modo se evita estar conectado siempre cómo root y además de que todo lo que se ejecute se haga con privilegios root.
* Si durante la instalación es preguntado, instale un firewall de los propuestos allí, si te proponen opciones de control para el firewall, elija aquella que permita el mínimo número de conexiones. Solamente habilite conexiones explicitas cuando esté completamente seguro de que las necesita. Recuerde que generalmente cualquier firewall instalado y configurado durante la instalación, no es adecuado para propositos de producción.
Instala solo lo que necesites.
Cómo hemos dicho, el minimalismo es importante. Si su distribución te da la posibilidad de elegir una mínima o personalizada cantidad de paquetes durante la instalación, entonces elija esa. De hecho, recomendamos que solo instale el sistema base y deje todo lo demás sin instalar.
Nosotros no te podemos dar un número detallado de paquetes que no deben ser instalados, pero muchos de ellos basta con el uso del sentido común para saber que no se necesitan. ¿Realmente necesita usted tener metasploit o aircrack-ng en un servidor web con Apache?, con ese tipo de preguntas fácilmente puedes identificar que tipos de los paquetes que vienen preinstalados son candidatos para remover.
Varias de las áreas que recomendamos revisar para remover paquetes innecesarios son:
· Juegos.
· Servidores de red.
· Demonios y servicios (Esto incluye scripts de autoarranque).
· Bases de datos.
· Herramientas Web.
· Editores.
· Paquetes relacionados con multimedia (Reproductores, quemadores de CD, etc)
· Herramientas de desarrollo y compiladores.
· Herramientas de impresión.
· Herramientas de Office.
· Herramientas de manejo de documentos.
· Entornos de escritorio y todo lo relacionado con X-Windows.
Una de las recomendaciones más importantes durante la instalación, es el elegir no instalar paquetes relacionados con X-Windows o entornos de escritorio. Además, sistemas Linux de producción (Servidores {web, email, FTP, firewall, etc}) no necesitan X-Windows para realizar sus funciones. X-Windows es una inmensa cantidad de paquetes que contiene numerosos componentes y una larga historia de vulnerabilidades que lo convierten en un componente potencialmente peligroso. Adicionalmente, Linux al contrario de Windows, no necesita entornos de escritorio o GUI's (Graphical User Interface) para funcionar, nada de lo que hagas desde un entorno de escritorio no se puede hacer desde la línea de comandos.
Precaución: No instale su distribución mientras está conectado a internet o conectado a una red que está conectada a internet.
Puede parecer una buena idea estar conectado a internet cuando usted va a obtener actualizaciones, parches de seguridad o registrar su sistema. ¿Pero en realidad lo es? Probablemete tu CD/USB/DVD de instalación esté descatualizado, un número de vulnerabilidades y fallos desde entonces han sido descubiertos. Esto significa que su sistema está potencialmente expuesto a un gran número de ataques, entonces, hasta que usted descargue todos los parches y actualizaciones, su sistema es vulnerable. Mientras usted está ocupado esperando que su sistema descargue los requeridos parches y actualizaciones y los aplique, un atacante tiene el potencial de identificar su sistema desprotegido y vulnerar este usando una vulnerabilidad que aún no ha sido parchada.
Para reducir los riesgos de conectar un sistema desprotegido a internet, te recomendamos estar offline o desconectado de internet hasta que usted haya parchado y aplicado las correspondientes actualizaciones y parches de seguridad. Para realizar esto, recomendamos descargar primero todas las actualizaciones y parches en otro sistema primero y comparar las sumas MD5 o MD5 checksums de los paquetes descargados contra los publicados por el creador del sistema en su sitio oficial, además de validar su clave GPG.
Una recomendación muy práctica de nuestra parte es que configures una máquina central de "Actualizaciones y Parches" y descargues y verifiques todos los paquetes en ella antes de instalarlos en su sistema de producción. También puede utilizar dicha máquina para probar nuevas versiones o actualizaciones antes de hacerlo con sus sistemas de producción. Para una nueva instalación, usted puede empaquetar y grabar las actualizaciones en un CD y cargarlas directamente en el sistema que va a ser actualizado o parchado.
Esperamos que este post haya sido de su utilidad, cualquier duda o sugerencia pueden dejarla en los comentarios.
Síguenos en Facebook, Twitter, unete a nuestra charla en Riot, únete a IRC o únete a Telegram.
Síguenos en Facebook, Twitter, unete a nuestra charla en Riot, únete a IRC o únete a Telegram.
0 comentarios:
Publicar un comentario