You are on page 1of 37

Bastille Linux

Petru Mircea Butnariu Daniel Hernndez Mora SGY

Introduccin
La gestin de la seguridad local de los equipos de una organizacin puede ser extremadamente costosa. Algunas organizaciones estn constantemente poniendo en marcha nuevos equipos, ya sea para su uso como PC de trabajo o como servidor. En teora, el Departamento de Seguridad debera supervisar la creacin y configuracin de estos nuevos equipos pero en la prctica estos departamentos suelen estar saturados de trabajo y carecen de personal disponible para asignarlo a esta tarea. Es aqu donde entra en juego el uso de scripts que aseguren una correcta configuracin del equipo antes de pasarlo a produccin.

El departamento de Seguridad le pasa estos scripts al de Sistemas y le urge aplicarlo justo antes de la puesta en produccin del equipo. De esta manera se automatiza la tarea y se gana en eficiencia. Una opcin es que el diseemos nosotros mismos estos scripts, la otra es no reinventar la rueda y utilizar lo que otros ya han creado.

En este sentido Bastille es una de las aplicaciones ms reconocidas. Es un proyecto desarrollado por Jon Lasser en conjunto con Jay Beale. Y es una suite de seguridad creada para sistemas Red Hat y Mandrake, tambin se puede utilizar en otros sistemas GNU/Linux (pero se pueden tener problemas con las paths). As como otros S.O. basados en Unix, HP-UX, Mac OS X y Solaris Bastille es un conjunto de scripts que van a proteger nuestro sistema de forma muy sencilla.

Cmo Funciona Bastille?


Son una serie de preguntas que el usuario tiene que responder, dependiendo de estas repuestas, Bastille configurar ciertos parmetros del ordenador protegindolo. Junto a cada pregunta Bastille incluye una detallada explicacin acerca del motivo de la cuestin y lo que se har en funcin de la respuesta que se le de. Adems se aprenden conceptos bsicos de seguridad utilizndolo.

Al instalarlo se incluyen mdulos los cuales cumplen funciones tales como: Configuracin de Ipchains Establecer permisos sobre archivos Asegurar cuentas de usuario Asegurar el arranque del sistema Configuracin de Inetd Deshabilitar compiladores para usuarios Configuracin de PAM

Activar y desactivar demonios Asegurar Send Mail Instalar SSH Asegurar Named Asegurar Apache Deshabilitar Impresoras Asegurar Ftpd Asegurar HP-UX Detector de scaneos de puertos

Instalacin
La instalacin de Bastille es sumamente simple, se procede a descomprimir el archivo en un directorio, el cual inicia el UI (User Interface). Para ello tenemos dos intefaces disponibles, una basada en Ncurses (bastille -x) y otra en Tk (bastille -c)

Una vez instalado, ya se puede ejecutar Bastille. Se recomienda ejecutarlo en modo interactivo, de tal manera que el programa le vaya haciendo una serie de preguntas con el fin de averiguar el uso que se le piensa dar al equipo. En funcin de las respuestas, Bastille configurar el equipo de la manera ms segura posible. Dichas preguntas se formularn a travs de un sencillo interfaz basado en ncurses y por tanto fcilmente visualizable a travs de una sesin de ssh. Gracias a Bastille bastar con que el departamento de Seguridad le de al de Sistemas una "chuleta" donde se diga qu responder a cada una de las preguntas de tal manera que ellos mismo puedan ejecutar Bastille en cada uno de los sistemas Linux que vayan instalando.

Preguntas que nos hace Bastille.

1.- Would you like to set more restrictive permissions on the administration utilities? [N]
til en mquinas con mltiples cuentas de usuario. Hay utilidades que, en general, slo son ejecutadas por el administrador de la mquina aunque por defecto los usuarios habituales tienen acceso a ellas, al menos a parte de sus funcionalidades (que necesidad tiene el usuario de ejecutar herramientas de administracin como top o ifconfig?). Para evitar los posible problemas de seguridad a los que podra dar lugar esto, Bastille puede cambiar los permisos de las mencionadas aplicaciones con el fin de asegurar que slo el administrador pueda ejecutarlas. Si usted es el nico usuario de la mquina no tiene sentido que habilite esta opcin. Si cuenta con otros usuarios que acceden a ella (por ejemplo para subir fichero a sus carpetas web) s que sera interesante aadir esta opcin.

2.- Would you like to disable SUID status for mount/umount? [Y]
En general, los programas que tienen el atributo SUID son muy peligrosos ya que aunque pueden ser invocados por usuarios normales, se ejecutan con privilegios de superusuario. Esto no entraara ningn riesgo si estos programas se limitasen a hacer aquello para lo que fueron diseados, el problema est en que es relativamente habitual que se descubran bugs en estas aplicaciones que permitan "engaarlas" para que hagan cosas con privilegios de superusuario. Si dice que s en esta pregunta Bastille se asegurar de que el comando mount/umount slo pueda ser ejecutado por aquellos que conozcan la contrasea de superusuario, reduciendo as la exposicin al riesgo del equipo.

3.- Would you like to disable SUID status for ping? [Y] ---> Similar al anterior. 4.- Would you like to disable SUID status for at? [Y] ---> Similar al anterior.

5.- Should Bastille disable clear-text r-protocols that use IP-based authentication? [Y]
Las llamadas r-tools son un conjunto de utilidades para la administracin remota de equipos. El problema con ellas es que no usaban encriptacin para el intercambio de datos y usaban las direcciones IP como mtodo de autentificacin. Esta carencia de confidencialidad y la facilidad para falsificar las direcciones IP de origen han llevado a que se desaconseje el uso de las r-tools y se usen en su lugar alternativas ms seguras.

6.- Would you like to enforce password aging? [Y]


Habilita un tiempo de caducidad de las contraseas de 180 das. Antes de que pase ese tiempo se pedir al usuario que cambie su contrasea. Si se cumple el plazo y el usuario no ha cambiado su contrasea se proceder a bloquear su cuenta hasta que el administrador la vuelva a activar.

7.- Would you like to password protect singleuser-mode? [Y]


El modo mono-usuario sirve para arrancar el sistema de manera que nica y exclusivamente pueda acceder el superusuario. Es un tipo de acceso que se utiliza en casos de emergencia, cuando por ejemplo no se recuerda la contrasea de root ya que no suele solicitarse autentificacin, esto supone un arma de doble filo que puede permitir el acceso no autorizado al sistema. Si se activa esta opcin, Bastille evitar esta situacin solicitando contrasea de root al acceder por dicho modo.

8.- Would you like to set a default-deny on TCP Wrappers and xinetd? [N]
inetd es un demonio que se inicia al principio de la secuencia de arranque en Linux, que tiene la funcin de escuchar varios puertos concretos y as cuando una conexin a un puerto es requerida, inicia el proceso asociado a dicho puerto. Como pueden ser las de servicios de FTP, POP, IMAP, etctera, por lo que no es recomendable desactivarlo si se quiere utilizar dichos servicios.

9.- Should Bastille ensure the telnet service does not run on this system? [Y]
El servicio de telnet est obsoleto y supone un riesgo grave para la seguridad del sistema al transmitir los datos en claro. Lo recomendable en la actualidad es usar SSH que permite acceder a la consola pero a travs de un canal cifrado.

10.- Should Bastille ensure inetd's FTP service does not run on this system? [y]
Lo dicho para el servicio de telnet es igualmente vlido para el de FTP. En este caso lo mejor es sustituirlo por SCP o SFTP.

11.- Would you like to display "Authorized Use" messages at log-in time? [Y]
Esta opcin habilitar un mensaje que aparecer al comienzo de las sesiones de consola. Este mensaje advertir de que se est accediendo a un sistema restringido y que cualquier acceso no permitido puede ser perseguido por va legal. Posteriormente podremos editar dicho mensaje para adecuarlo convenientemente a lo que diga el Departamento Jurdico.

12.- Who is responsible for granting authorization to use this machine?


Esta una pregunta dirigida a redactar el mensaje mencionado antes. En este caso se trata de identificar al responsable del equipo encargado de autorizar los diferentes accesos a l, en nuestro caso Petru Mircea Butnariu.

13.- Would you like to put this limits on system resource usage? [N]
Permite establecer ciertos lmites al nmero de procesos y memoria usados por usuario con el fin de evitar ataques de denegacin de servicio. Si no se activa, posteriormente podemos configurarlo manualmente editando al archivo de configuracin /etc/security/limits.conf

14.- Should we restrict console access to a small group of users accounts? [N]
En algunas distribuciones, los usuarios que inician sesin por consola tienen algunos derechos especiales de acceso (como la posibilidad de montar la unidad de CD-ROM). Esta opcin es mucho ms flexible, restringiendo el acceso a la consola.

15.- Would you like to add additional logging? [Y]


Configura el equipo para que incremente el nmero de fuentes de log y se aadan /var/log/kernel y /var/log/syslog siendo accesibles desde las terminales 7 y 8 (mediante Alt+F7 y F8 respectivamente).

Si ya tiene un registro de host remoto, se puede configurar la mquina para acceder a ella.

16.- Do you have a remote logging host? [N]

Si ya tiene un registro de host remoto, se puede configurar la mquina para acceder a ella.

17.- Would you like to set up process accounting? [N]


Linux tiene la capacidad de registrar los comandos cuando se ejecutan y por quin. Esto es muy til para tratar de analizar qu es lo que realmente ha hecho un usuario concreto. El inconveniente es que los parmetros de comandos no se registran, pero con Bastille tenemos la posibilidad de activarlo teniendo en cuenta el uso excesivo de CPU y de disco. A menos que usted haya examinado cuidadosamente esta opcin, es recomendable que seleccione que No.

18.- Would you like to disable acpid and/or apmd? [Y]


Se utilizan para controlar la bateria y se utiliza casi exclusivamente para portatiles y notebooks.

19.- Would you like to desactive NFS and Samba? [Y]


Se recomienda encarecidamente desactivar ambos servicios a menos de que lo usis por motivos convencionales, ya que NFS tiene bastantes vulnerabilidades de seguridad y Samba (SMB) siendo un mejor sistema de archivos compartidos, todava plantea graves preocupaciones de seguridad potencialmente indeseables. Ambos servicios se basan en texto claro, lo que significa que los datos transferidos pueden ser detectados.

20.- Would you like to stop sendmail running in daemon mode? [Y]
Sendmail es un servicio encargado de procesar peticiones de correo, sean estas entrantes o salientes (recibir o enviar). De forma predeterminada sendmail es ejecutado en daemon mode, lo que significa que desde que se inicie el sistema hasta que se detenga, el servicio estar procesando peticiones de correo. Esto es un problema de seguridad porque muchos usuarios no usan este servicio y nisiquiera se han dado cuenta que se est ejecutando lo que hace que sea muy fcil para muchos hacer cosas como smtp spoofing. Si esta pregunta se responde afirmativamente, sendmail ser configurado para no ejecutarse en daemon mode y a su vez se configurar en un cron que cada cierto tiempo se ejecutar para procesar las colas de peticiones relacionadas al envo de correo. Si tienes un mail server obviamente debers contestar que

21.- Would you like to deactivate the Apache web server?[Y]


Debera desactivarse si el servicio (httpd) no es utilizado.

22.- Would you like to disable printing? [N]


Si el equipo no cuenta con una impresora, dejar el demonio de impresin activado es dejar una puerta abierta al desastre.

24.- Would you like to run the packet filtering script? [N]
Activa el cortafuegos nativo de Linux. Activarlo es lo ms seguro pero tenga en cuenta que tendr que configurarlo localmente (si lo hace en remoto puede que se "corte las manos") bien a travs de la lnea de comandos o bien mediante el GUI correspondiente. As que tendr que documentarse adecuadamente antes de activarlo.

25.- Are you finished making changes to your Bastille configuration?


Y por fin! hemos llegado al final de nuestra trayectoria. Si estamos seguros de la configuracin respondemos afirmativamente.