Asegurar el sistema operativo con Bastille
Bastille no es un programa propiamente dicho, es un conjunto de scripts ideados para dotar de más seguridad nuestra distribución GNU/Linux. Paliar sus potenciales vulnerabilidades, optimizando el sistema basándose en las fuentes de Security Linux y protegiendo el núcleo de ataques malintencionados.
No es que nuestra distribución preferida no sea segura ni mucho menos, pero no hay ninguna infalible y con Bastille se logra evitar posibles agujeros de seguridad ya conocidos. Esto lo puede hacer cualquier usuario avanzado ya que como digo son scripts ya conocidos, pero lo que hace este conjunto de herramientas es que estas funciones estén al alcance de todos, independientemente de sus conocimientos.
Su instalación y configuración no es muy complicada y además es muy didáctica ya que los más nuevos entenderán un poco mejor como funciona su sistema.
Que es asegurar un Sistema Operativo?
Es la reconfiguración de un sistema operativo para ser más seguro, estable y resistente a los ataques.
Sistema minimalista y de mínimos privilegios.
Implica desactivar los programas innecesarios y auditar las configuraciones de los que quedan.
No implica la modificación a nivel de kernel del sistema.
Implica la auditoría de los permisos y/o listas de archivos de control de acceso y considerar si los permisos son apropiados o demasiado laxos.
Implica ajustar los parámetros de funcionamiento básico del sistema para ofrecer a los usuarios sólo los accesos que necesitan.
Ejemplos:
Eliminar procesos innecesarios.
Configuración de permisos de archivos.
Configuración de controles de acceso a la red.
Bastille es un programa de codigo abierto que facilita el fortalecimiento de un sistema Linux.
El programa deshabilita servicios y puertos que no se necesitan en el funcionamiento del sistema, instala cortafuegos y/o implementa accesos seguros.
Bastille es potente y puede ahorrar mucho tiempo a los administradores desde la configuracion de cada archivo hasta la programacion por medio del sistema operativo.Esta escrito para Red Hat y Mandrake pero con unos pequeños cambios puede funcionar en la mayoria de los entornos Linux.Antes de instalar Bastille en su sistema operativo asegurese de que su version soporta el programa.
Instalacion y funciones
Para instalar Bastille en Ubuntu 10.04 LTS tenemos que tener los paquetes de fuente necesarios para la instalacion del programa y nos los tenemos que descargar aparte porque aunque Bastille esta en el Centro de Software de Ubuntu los paquetes fuente necesarios no.Tenemos tambien la posibilidad de descargarla desde su propia página oficial.
Una vez instalado, ejecutaremos Bastille desde la línea de comandos. Para ello tenemos dos intefaces disponibles, una basada en Ncurses (bastille -x) y otra en Tk (bastille -c)
NOTA: Debemos de tener instalado Perl-Tk para su ejecución.
Junto a cada pregunta Bastille incluye una detallada explicación acerca del motivo de la cuestión y lo que se hará en función de la respuesta que se le de. Aún así a continuación se mostrarán las preguntas que realiza Bastille y se intentará dar una explicación sencilla:
1ª pregunta
Would you like to set more restrictive permissions on the administration utilities?
Útil en máquinas con múltiples cuentas de usuario. Hay utilidades que, en general, sólo son ejecutadas por el administrador de la máquina 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 administración como top o ifconfig?). Para evitar los posible problemas de seguridad a los que podría dar lugar esto Bastille puede cambiar los permisos de las mencionadas aplicaciones con el fin de asegurar que sólo el administrador pueda ejecutarlas. Si usted es el único usuario de la máquina no tiene sentido que habilite esta opción. Si cuenta con otros usuarios que acceden a ella (por ejemplo para subir fichero a sus carpetas web) sí que sería interesante añadir esta opción.
2ª pregunta
Would you like to disable SUID status for mount/umount?
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 entrañaría ningún riesgo si estos programas se limitasen a hacer aquello para lo que fueron diseñados, el problema está en que es relativamente habitual que se descubran bugs en estas aplicaciones que permitan “engañarlas” para que hagan cosas con privilegios de superusuario. Si dice que śi en esta pregunta Bastille se asegurará de que el comando mount/umount sólo pueda ser ejecutado por aquellos que conozcan la contraseña de superusuario, reduciendo así la exposición al riesgo del equipo.
3ª pregunta
Would you like to disable SUID status for ping?
Similar al anterior.
4ª pregunta
Would you like to disable SUID status for at?
Similar al anterior.
5ª pregunta
Would you like to enforce password aging?
Habilita un tiempo de caducidad de las contraseñas de 180 días. Antes de que pase ese tiempo se pedirá al usuario que cambie su contraseña. Si se cumple el plazo y el usuario no ha cambiado su contraseña se procederá a bloquear su cuenta hasta que el administrador la vuelva a activar.
6ª pregunta
Should we disallow root login on tty’s 1-6?
: Las tty, son terminales accesibles desde las combinaciones CTRL+ALT+F1 hasta F7, por lo que Bastille nos ofrece deshabilitar el acceso root a dichas terminales para que sea conectado antes con un usuario normal con los mínimos privilegios posibles.
7ª pregunta
Would you like to password protect single-user-mode?
: 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 contraseña de root ya que no suele solicitarse autentificación, esto supone un arma de doble filo que puede permitir el acceso no autorizado al sistema. Si se activa esta opción, Bastille evitará esta situación solicitando contraseña de root al acceder por dicho modo.
8ª pregunta
Would you like to set a default-deny on TCP Wrappers and xinetd?
: inetd es un demonio que se inicia al principio de la secuencia de arranque en Linux, que tiene la función de escuchar varios puertos concretos y así cuando una conexión a un puerto es requerida, inicia el proceso asociado a dicho puerto. Como pueden ser las de servicios de FTP, POP, IMAP, etcétera, por lo que no es recomendable desactivarlo si se quiere utilizar dichos servicios.
9ª pregunta
Should Bastille ensure the telnet service does not run on this system?
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 través de un canal cifrado.
10ª pregunta
Should Bastille ensure inetd’s FTP service does not run on this system?
Lo dicho para el servicio de telnet es igualmente válido para el de FTP. En este caso lo mejor es sustituirlo por SCP o SFTP.
11ª pregunta
Would you like to display “Authorized Use” messages at log-in time?
Esta opción 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 vía legal. Posteriormente podremos editar dicho mensaje para adecuarlo convenientemente a lo que diga el Departamento Jurídico.
12ª pregunta
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.
13ª pregunta
Would you like to put this limits on system resource usage?
: Permite establecer ciertos límites al número de procesos y memoria usados por usuario con el fin de evitar ataques de denegación de servicio. Si no se activa, posteriormente podemos configurarlo manualmente editando al archivo de configuración /etc/security/limits.conf
14ª pregunta
Should we restrict console access to a small group of users accounts?
: En algunas distribuciones, los usuarios que inician sesión por consola tienen algunos derechos especiales de acceso (como la posibilidad de montar la unidad de CD-ROM). Esta opción es mucho más flexible, restringiendo el acceso a la consola.
15ª pregunta
Would you like to add additional logging?
: Configura el equipo para que incremente el número de fuentes de log y se añadan /var/log/kernel y /var/log/syslog siendo accesibles desde las terminales 7 y 8 (mediante Alt+F7 y F8 respectivamente)
16ª pregunta
Do you have a remote logging host?
: Si ya tiene un registro de host remoto, se puede configurar la máquina para acceder a ella.
17ª pregunta
Would you like to set up process accounting?
: Linux tiene la capacidad de registrar los comandos cuando se ejecutan y por quién. Esto es muy útil para tratar de analizar que es lo que realmente ha hecho un usuario concreto. El inconveniente es que los parámetros 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 opción, es recomendable que seleccione que “No”.
18ª pregunta
Would you like to disable acpid and/or apmd?
: Se utilizan para controlar la bateria y se utiliza casi exclusivamente para portatiles y notebooks.
19ª pregunta
Would you like to desactive NFS and Samba?
: Se recomienda encarecidamente desactivar ambos servicios a menos de que lo uséis por motivos convencionales, ya que NFS tiene bastantes vulnerabilidades de seguridad y Samba (SMB) siendo un mejor sistema de archivos compartidos, todavía 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ª pregunta
Would you like to stop sendmail running in daemon mode?
: 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 fácil 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 envío de correo. Si tienes un mail server obviamente deberás contestar que “No” a esta pregunta.
21ª pregunta
Would you like to deactivate the Apache web server?
: Debería desactivarse si el servicio (httpd) no es utilizado.
22ª pregunta
Would you like to disable printing?
Si el equipo no cuenta con una impresora, dejar el demonio de impresión activado es dejar una puerta abierta al desastre.
23ª pregunta
Would you like to install TMPDIR/TMP scripts?
Activar esta opción hará que Bastille instale unos scripts en las cuentas de los usuarios que configuren las variables TMPDIR y TMP de tal manera que utilicen directorios de ficheros temporales completamente individuales, en vez de que todos usen el /tmp lo que puede ser extremadamente peligroso en entornos multiusuarios.
24ª pregunta
Would you like to run the packet filtering script?
Activa el cortafuegos nativo de Linux. Activarlo es lo más seguro pero tenga en cuenta que tendrá que configurarlo localmente (si lo hace en remoto puede que se “corte las manos”) bien a través de la línea de comandos o bien mediante el GUI correspondiente. Así que tendrá que documentarse adecuadamente antes de activarlo.
25ª pregunta
Are you finished making changes to your Bastille configuration?: Y ¡por fin! hemos llegado al final de nuestra trayectoria. Si estamos seguros de la configuración respondemos afirmativamente.
Finalmente, seleccionamos Go Back and Change Configuration para aplicar los cambios, pero si tan solo quisiéramos guardar la configuración, seleccionaríamos Exit Without Saving.
Bastille no es la única herramienta de “hardening” para Linux, en todo caso, es la más sencilla. Otras herramientas conocidas son AppArmor, GRSecurity (Hardening a nivel del kernel), y por supuesto, hay distribuciones ya hechas que implementan muchas políticas de seguridad, normalmente tienen el mismo nombre de la distribución seguido de la palabra Hardened (ejemplo: Gentoo Hardened) y otra muy buena opción es Engarde Linux.
A continuacion
Y aqui con el Bastille activando/desactivando el telnet:
Referencias
http://bastille-linux.sourceforge.net : Sitio oficial de Bastille-Linux
Bastille-Linux: A Walkthrough : en el sitio www.SecurityFocus.com. Este artículo está en inglés y fue escrito por Jay Beale, autor principal de la Bastille-Linux. Presenta al programa y su instalación.
http://www.sans.org : el sitio del grupo SANS (Jay Beale colabora con ellos). Fuente inagotable de información sobre seguridad computacional.
http://www.securityfocus.com/frames/?content=/vdb/stats.html: siempre en SecurityFocus, muestra un interesante estudio sobre los sistemas operativos y sus fallos. El primer lugar lo ocupa una familia de sistemas operativos muy conocidos y a continuación Linux
www.kitetoa.com : un sitio que se dedica a probar servidores web y a encontrar cosas interesantes.Solamente en Francés
http://www.ssh.com : sitio oficial del secured shell. ssh es de uso gratuito para evaluación, uso no comercial o para ámbitos universitarios
http://www.openssh.org : lo mismo que ssh … pero bajo licencia BSD
Si les gustó el post no se olviden de dejar un comentario y recomendarlo a sus seguidores.
Cualquier comentario ofensivo, fuera de lugar, meme, etc; el comentario será borrado y el usuario bloqueado.


Bastille no es un programa propiamente dicho, es un conjunto de scripts ideados para dotar de más seguridad nuestra distribución GNU/Linux. Paliar sus potenciales vulnerabilidades, optimizando el sistema basándose en las fuentes de Security Linux y protegiendo el núcleo de ataques malintencionados.
No es que nuestra distribución preferida no sea segura ni mucho menos, pero no hay ninguna infalible y con Bastille se logra evitar posibles agujeros de seguridad ya conocidos. Esto lo puede hacer cualquier usuario avanzado ya que como digo son scripts ya conocidos, pero lo que hace este conjunto de herramientas es que estas funciones estén al alcance de todos, independientemente de sus conocimientos.
Su instalación y configuración no es muy complicada y además es muy didáctica ya que los más nuevos entenderán un poco mejor como funciona su sistema.

Que es asegurar un Sistema Operativo?
Es la reconfiguración de un sistema operativo para ser más seguro, estable y resistente a los ataques.
Sistema minimalista y de mínimos privilegios.
Implica desactivar los programas innecesarios y auditar las configuraciones de los que quedan.
No implica la modificación a nivel de kernel del sistema.
Implica la auditoría de los permisos y/o listas de archivos de control de acceso y considerar si los permisos son apropiados o demasiado laxos.
Implica ajustar los parámetros de funcionamiento básico del sistema para ofrecer a los usuarios sólo los accesos que necesitan.
Ejemplos:
Eliminar procesos innecesarios.
Configuración de permisos de archivos.
Configuración de controles de acceso a la red.
Bastille es un programa de codigo abierto que facilita el fortalecimiento de un sistema Linux.

El programa deshabilita servicios y puertos que no se necesitan en el funcionamiento del sistema, instala cortafuegos y/o implementa accesos seguros.
Bastille es potente y puede ahorrar mucho tiempo a los administradores desde la configuracion de cada archivo hasta la programacion por medio del sistema operativo.Esta escrito para Red Hat y Mandrake pero con unos pequeños cambios puede funcionar en la mayoria de los entornos Linux.Antes de instalar Bastille en su sistema operativo asegurese de que su version soporta el programa.
Instalacion y funciones
Para instalar Bastille en Ubuntu 10.04 LTS tenemos que tener los paquetes de fuente necesarios para la instalacion del programa y nos los tenemos que descargar aparte porque aunque Bastille esta en el Centro de Software de Ubuntu los paquetes fuente necesarios no.Tenemos tambien la posibilidad de descargarla desde su propia página oficial.

Una vez instalado, ejecutaremos Bastille desde la línea de comandos. Para ello tenemos dos intefaces disponibles, una basada en Ncurses (bastille -x) y otra en Tk (bastille -c)
NOTA: Debemos de tener instalado Perl-Tk para su ejecución.

Junto a cada pregunta Bastille incluye una detallada explicación acerca del motivo de la cuestión y lo que se hará en función de la respuesta que se le de. Aún así a continuación se mostrarán las preguntas que realiza Bastille y se intentará dar una explicación sencilla:

1ª pregunta
Would you like to set more restrictive permissions on the administration utilities?

2ª pregunta
Would you like to disable SUID status for mount/umount?

3ª pregunta
Would you like to disable SUID status for ping?

4ª pregunta
Would you like to disable SUID status for at?

5ª pregunta
Would you like to enforce password aging?

6ª pregunta
Should we disallow root login on tty’s 1-6?

7ª pregunta
Would you like to password protect single-user-mode?

8ª pregunta
Would you like to set a default-deny on TCP Wrappers and xinetd?

9ª pregunta
Should Bastille ensure the telnet service does not run on this system?

10ª pregunta
Should Bastille ensure inetd’s FTP service does not run on this system?

11ª pregunta
Would you like to display “Authorized Use” messages at log-in time?

12ª pregunta
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.
13ª pregunta
Would you like to put this limits on system resource usage?

14ª pregunta
Should we restrict console access to a small group of users accounts?

15ª pregunta
Would you like to add additional logging?

16ª pregunta
Do you have a remote logging host?

17ª pregunta
Would you like to set up process accounting?

18ª pregunta
Would you like to disable acpid and/or apmd?

19ª pregunta
Would you like to desactive NFS and Samba?

20ª pregunta
Would you like to stop sendmail running in daemon mode?

21ª pregunta
Would you like to deactivate the Apache web server?

22ª pregunta
Would you like to disable printing?

23ª pregunta
Would you like to install TMPDIR/TMP scripts?

24ª pregunta
Would you like to run the packet filtering script?

25ª pregunta
Are you finished making changes to your Bastille configuration?: Y ¡por fin! hemos llegado al final de nuestra trayectoria. Si estamos seguros de la configuración respondemos afirmativamente.

Finalmente, seleccionamos Go Back and Change Configuration para aplicar los cambios, pero si tan solo quisiéramos guardar la configuración, seleccionaríamos Exit Without Saving.
Bastille no es la única herramienta de “hardening” para Linux, en todo caso, es la más sencilla. Otras herramientas conocidas son AppArmor, GRSecurity (Hardening a nivel del kernel), y por supuesto, hay distribuciones ya hechas que implementan muchas políticas de seguridad, normalmente tienen el mismo nombre de la distribución seguido de la palabra Hardened (ejemplo: Gentoo Hardened) y otra muy buena opción es Engarde Linux.
A continuacion


Y aqui con el Bastille activando/desactivando el telnet:


Referencias
http://bastille-linux.sourceforge.net : Sitio oficial de Bastille-Linux
Bastille-Linux: A Walkthrough : en el sitio www.SecurityFocus.com. Este artículo está en inglés y fue escrito por Jay Beale, autor principal de la Bastille-Linux. Presenta al programa y su instalación.
http://www.sans.org : el sitio del grupo SANS (Jay Beale colabora con ellos). Fuente inagotable de información sobre seguridad computacional.
http://www.securityfocus.com/frames/?content=/vdb/stats.html: siempre en SecurityFocus, muestra un interesante estudio sobre los sistemas operativos y sus fallos. El primer lugar lo ocupa una familia de sistemas operativos muy conocidos y a continuación Linux
www.kitetoa.com : un sitio que se dedica a probar servidores web y a encontrar cosas interesantes.Solamente en Francés
http://www.ssh.com : sitio oficial del secured shell. ssh es de uso gratuito para evaluación, uso no comercial o para ámbitos universitarios
http://www.openssh.org : lo mismo que ssh … pero bajo licencia BSD

Si les gustó el post no se olviden de dejar un comentario y recomendarlo a sus seguidores.
Cualquier comentario ofensivo, fuera de lugar, meme, etc; el comentario será borrado y el usuario bloqueado.
Mis Posts
Mi Perfil
MP
