En dìas en que la seguridad informtica es de vital importancia (robos en distintas plataformas de contenidos denunciados por testigos como @r2cornell, @tekraze y otros)continúo con entusiasmo a desarrollar esta serie de tutorialkes dedicados a Bastille Linux.
Bastille Linux es una herramienta de fortalecimiento automático orientada originalmente a las distribuciones RedHat y Mandrake. Sin embargo, el paquete bastille suministrado con Debian (desde woody) viene parcheado con objeto de proporcionar la misma funcionalidad en los sistemas Debian GNU/Linux.
BootSecurity - Seguridad en el arranque.
La opciones propuestas por este módulo abarcan la seguridad física de una máquina. Este módulo corrige los agujeros de seguridad de versiones previas que permitían a cualquier persona acceder físicamente a la consola y adquirir privilegios de (i.e. superusuario). En efecto, era suficiente ejecutar LILO en modo monousuario, (LILO: linux single) para encontrarse con un gentil intérprete de comandos perteneciente al root ;-P
Obviamente esto no basta. Para proteger físicamente a una computadora se debe proteger la BIOS con una contraseña, el disco duro debe ser el único dispositivo de arranque, el gabinete debe estar asegurado para evitar que alguien agregue su propio disco duro... Este es por supuesto un comportamiento paranoico que no necesita aplicarse sin que exista una muy buena razón.
Desde el punto de vista del programa, algunas medidas elementales brindan un compromiso razonable con las mencionadas anteriormente:
Would you like to password-protect the LILO prompt? - ¿Desea proteger a LILO mediante una contraseña? [N]
Al contestar "Yes" (SÍ) evita que gente desautorizada acceda al sistema tras el arranque.
Would you like to reduce the LILO delay time to zero? - ¿Desea reducir a cero el tiempo de espera de LILO? [N]
De esta manera nadie puede ingresar parámetros en tiempo de arranque. Si nuestra computadora posee diversos sistemas operativos no debe responderse en forma afirmativa pues el único SO que arrancará será el elegido por defecto.
Do you ever boot Linux from the hard drive? - ¿Siempre arranca Linux desde el disco duro? [Y]
Si respondió YES (SÍ) a algunas de las preguntas previas y tiene instalado LILO en su sistema, debe responder también aquí YES (SÍ) para que se graben las modificaciones al disco.
Would you like to write the LILO changes to a boot floppy? - ¿Desea guardar los cambios hechos a LILO en un disquete de arranque? [N]
Debe responder afirmativamente si dispone de un disquete de arranque para emergencias o bien si es el modo elegido para arrancar Linux.
Would you like to disable CTRL-ALT-DELETE rebooting? - ¿Desea desactivar la secuencia CTRL-ALT-DELETE para reiniciar el sistema? [N]
El objetivo es evitar que alguien reinicie la máquina. Sin embargo, esto es inútil a menos que también se encuentre protegido el suministro de energía eléctrica ;-)
Would you like to password protect single-user mode? - ¿Desea proteger el modo monousuario mediante una contraseña? [Y]
Como hemos visto al principio de este módulo, resulta ser una muy buena idea evitar que cualquier persona adquiera privilegios de superusuario.
SecureInetd - Seguridad Inetd.
El propósito de este módulo es restringir y desactivar servicios superfluos. Los hackers fácilmente pueden encontrar agujeros de seguridad en cualquier servicio privilegiado, por lo tanto se deben restringir tanto los servicios como sus privilegios.
Por ejemplo, un error en el DNS de RedHat 6.0 permite adquirir privilegios de superusuario en forma remota. Desactivando este servicio o reduciendo sus privilegios nos protegerá de este inconveniente.
Algunos protocolos, como los comandos r ya mencionados pero también el ftp o el telnet resultan ser muy vulnerables. Otros permiten al atacante obtener información (finger o identd por ejemplo) de las cuentas de una máquina, etc. Muchos de estos servicios están administrados por tcp_wrapper que permite controlar al que accede a un determinado servicio (por intermedio del archivo /etc/hosts.{allow, deny}). Una vez que el wrapper decide si el cliente puede acceder al servicio solicitado, envía la solicitud al correspondiente servidor.
Esta parte continúa siendo un tanto rígida y debería reveerse completamente en futuras versiones.
Would you like to modify inetd.conf and /etc/hosts.allow to optimize use of Wrappers? - ¿Desea modificar inetd.conf y /etc/hosts.allow para optimizar el uso de Wrappers? [Y]
Bastille-Linux instala estos dos archivos. Puede resultar interesante hecharles un vistazo para pasarles parámetros más precisos en función a nuestras necesidades.
Would you like to set sshd to accept connections only from a small list of IP addresses? - ¿Desea autorizar el acceso a sshd solamente a un número limitado de direcciones IP? [N]
sshd es un demonio que permite conectarse de modo seguro (intercambio de claves, cifrado de contraseñas y datos,...) Permite reemplazar totalmente a telnet, rlogin, rsh, rcp y ftp. Cabe destacar un versión equivalente de ssh bajo la licencia BSD: OpenSSH. Volveremos sobre este asunto posteriormente.
Would you like to make "Authorized Use" banners? - ¿Desea instalar mensajes con la leyenda "Uso autorizado"? [Y]
Toda persona que intente conectarse a nuestra máquina verá un mensaje de advertencia que le preguntará si está autorizado para conectarse a través de este servicio. Este mensaje se encuentra en el archivo /etc/motd.
Antes de proseguir, recordemos que una red se basa en un modelo cliente-servidor. Por lo tanto, para cada servicio hay que saber si se está del lado del cliente o del lado del servidor. Por ejemplo, el no hacer funcionar el servidor web no nos impide navegar por Internet ya que el navegador juega el rol del cliente.
DisableUserTools - Deshabilitar las herramientas de los usuarios
Este módulo es breve pero absolutamente indispensable para un servidor. En general, un hacker ingresa a una máquina mediante una cuenta de usuario normal. A continuación recompila algunos programas del sistema a fin de poder explotar sus puntos débiles. Este módulo desactiva al compilador C para todos los usuarios salvo para el superusuario.
Por lo tanto, si una máquina es únicamente un servidor donde nadie necesita compilar hay que eliminar el compilador.
ConfigureMiscPAM - Configuración de PAM.
La finalidad de este módulo consiste en disminuir los riesgos de ataques tipo 'Denegación de servicios' estos ataques cuelgan al sistema sobrecargándolo (por ejemplo: llenando una partición con archivos core, ejecutando pings mortales, etc)
PAM significa "Pluggable Authentification Module". Se trata de una biblioteca que permite al administrador del sistema elegir el modo en que autentica cada aplicación a sus usuarios, los permisos que tienen, los recursos a los que pueden acceder, etc.
Would you like to put limits on system resource usage? - ¿Desea imponer limitaciones al uso de recursos del sistema? [Y]
El archivo /etc/security/limits.conf contiene los límites impuestos al sistema. Bastille-Linux los modifica de la siguiente manera:
- a la cantidad de archivos core la acota a 0 ;
- cada usuario puede ejecutar a los sumo 150 procesos ;
- el máximo tamaño de un archivo se limita a 40 Mb.
Se pueden modificar cada uno de estos valores directamente desde el archivo de configuración.
Should we restrict console access to a small group of user accounts? - ¿Se debe restringir el acceso a la consola a un pequeño grupo de cuentas de usuario? [N]
En RedHat 6.0/6.1, los usuarios que se conectan inicialmente desde la consola se benefician con ciertos privilegios como el poder montar el CD-ROM. Es posible restringir el acceso a la consola a un grupo de usuario de confianza. Esta pregunta permite precisar dichos usuarios si se opta por este tipo de política.
bastille-2
SEPARADOR
In days when computer security is of vital importance (thefts on different content platforms reported by witnesses such as @r2cornell, @tekraze and others) I continue with enthusiasm to develop this series of tutorials dedicated to Bastille Linux.
Bastille Linux is an automatic hardening tool originally targeted at RedHat and Mandrake distributions. However, the bastille package supplied with Debian (from woody) is patched to provide the same functionality on Debian GNU/Linux systems.
BootSecurity - Boot security.
The options proposed by this module cover the physical security of a machine. This module fixes security holes in previous versions that allowed anyone to physically access the console and acquire (i.e. superuser) privileges. In fact, it was enough to run LILO in single-user mode (LILO: linux single) to find a friendly command interpreter belonging to root ;-P
Obviously this is not enough. To physically protect a computer the BIOS must be password protected, the hard drive must be the only boot device, the enclosure must be secured to prevent someone from adding their own hard drive... This is of course paranoid behavior which need not be applied without there being a very good reason.
From a program point of view, some elementary measures provide a reasonable compromise with those mentioned above:
bastille logo
Would you like to password-protect the LILO prompt? - Do you want to protect LILO with a password? [N]
Answering "Yes" prevents unauthorized people from accessing the system after boot.
Would you like to reduce the LILO delay time to zero? - Do you want to reduce the LILO wait time to zero? [N]
This way no one can enter parameters at boot time. If our computer has several operating systems, the answer should not be affirmative because the only OS that will start will be the one chosen by default.
Do you ever boot Linux from the hard drive? - Does Linux always boot from the hard drive? [AND]
If you answered YES to some of the previous questions and you have LILO installed on your system, you must also answer YES here for the modifications to be written to disk.
Would you like to write the LILO changes to a floppy boot? - Do you want to save changes made to LILO to a bootable floppy disk? [N]
You must answer affirmatively if you have a boot diskette for emergencies or if it is the chosen way to boot Linux.
Would you like to disable CTRL-ALT-DELETE rebooting? - Do you want to disable the CTRL-ALT-DELETE sequence to reboot the system? [N]
The goal is to prevent someone from restarting the machine. However, this is useless unless the power supply is also protected ;-)
Would you like to password protect single-user mode? - Do you want to protect single-user mode with a password? [AND]
As we saw at the beginning of this module, it turns out to be a very good idea to prevent anyone from acquiring superuser privileges.
SecureInetd - Inetd Security.
The purpose of this module is to restrict and disable superfluous services. Hackers can easily find security holes in any privileged service, so both the services and their privileges should be restricted.
For example, a bug in RedHat 6.0's DNS allows you to remotely acquire superuser privileges. Disabling this service or reducing its privileges will protect us from this inconvenience.
Some protocols, such as the r commands already mentioned but also ftp or telnet, turn out to be very vulnerable. Others allow the attacker to obtain information (finger or identd for example) of a machine's accounts, etc. Many of these services are managed by tcp_wrapper, which allows you to control who accesses a certain service (through the /etc/hosts.{allow, deny} file). Once the wrapper decides if the client can access the requested service, it sends the request to the corresponding server.
This part remains somewhat rigid and should be completely revised in future versions.
Would you like to modify inetd.conf and /etc/hosts.allow to optimize use of Wrappers? - Do you want to modify inetd.conf and /etc/hosts.allow to optimize the use of Wrappers? [AND]
Bastille-Linux installs these two files. It may be interesting to take a look at them to give them more precise parameters based on our needs.
Would you like to set sshd to accept connections only from a small list of IP addresses? - Do you want to allow sshd access to only a limited number of IP addresses? [N]
sshd is a daemon that allows you to connect securely (key exchange, encryption of passwords and data,...) It allows you to completely replace telnet, rlogin, rsh, rcp and ftp. It is worth highlighting an equivalent version of ssh under the BSD license: OpenSSH. We will return to this matter later.
Would you like to make "Authorized Use" banners? - Do you want to install messages with the legend "Authorized use"? [AND]
Anyone trying to connect to our machine will see a warning message asking if they are authorized to connect through this service. This message is located in the /etc/motd file.
Before continuing, let's remember that a network is based on a client-server model. Therefore, for each service you have to know whether it is client-side or server-side. For example, not having the web server working does not prevent us from browsing the Internet since the browser plays the role of the client.
DisableUserTools - Disable user tools
This module is brief but absolutely essential for a server. Generally, a hacker enters a machine using a normal user account. He then recompiles some of the system's programs in order to exploit its weaknesses. This module disables the C compiler for all users except the superuser.
Therefore, if a machine is just a server where no one needs to compile, the compiler must be removed.
ConfigureMiscPAM - PAM configuration.
The purpose of this module is to reduce the risks of 'Denial of Service' attacks, these attacks hang the system by overloading it (for example: filling a partition with core files, executing deadly pings, etc.)
PAM stands for "Pluggable Authentication Module". This is a library that allows the system administrator to choose how each application authenticates its users, the permissions they have, the resources they can access, etc.
Would you like to put limits on system resource usage? - Do you want to impose limitations on the use of system resources? [AND]
The /etc/security/limits.conf file contains the limits imposed on the system. Bastille-Linux modifies them as follows:
- limits the number of core files to 0;
- each user can execute at most 150 processes;
- The maximum file size is limited to 40 Mb.
Each of these values can be modified directly from the configuration file.
Should we restrict console access to a small group of user accounts? - Should console access be restricted to a small group of user accounts? [N]
In RedHat 6.0/6.1, users who initially connect from the console benefit from certain privileges such as being able to mount the CD-ROM. It is possible to restrict console access to a trusted user group. This question allows you to specify these users if you opt for this type of policy.
Capturas de pantallas / Screenshots:
Blogs, Sitios Web y Redes Sociales / Blogs, Webs & Social Networks | Plataformas de Contenidos/ Contents Platforms |
---|---|
Mi Blog / My Blog | Los Apuntes de Tux |
Mi Blog / My Blog | El Mundo de Ubuntu |
Mi Blog / My Blog | Nel Regno di Linux |
Mi Blog / My Blog | Linuxlandit & The Conqueror Worm |
Mi Blog / My Blog | Pianeta Ubuntu |
Mi Blog / My Blog | Re Ubuntu |
Mi Blog / My Blog | Nel Regno di Ubuntu |
Red Social Twitter / Twitter Social Network | @hugorep |
Blurt Official | Blurt.one | BeBlurt | Blurt Buzz |
---|---|---|---|
Hahah better to have Red hat or Kali Linux directly than applying so much config.
I checked my system with multiple rootkit and malware scanners. Nothing suspicious found.
Even checked each services manually from task manager.
I believe Linux is secure unless you allow some bad app root access manually(by mistake)
Thanks for sharing such info by the way.
I see that you are also a faithful follower of the wink pin.
Greetings and have a happy end of year holiday @tekraze.
Upvoted. Thank You for sending some of your rewards to @null. Read my last posts to make sure that BLURT burning is profitable for you. Before using this bot please make sure your account has at least 100 BP. Get more BLURT:
@ mariuszkarowski/how-to-get-automatic-upvote-from-my-accounts
@ blurtbooster/blurt-booster-introduction-rules-and-guidelines-1699999662965
@ nalexadre/blurt-nexus-creating-an-affiliate-account-1700008765859
@ kryptodenno - win BLURT POWER delegation
@ ctime/burn-bot-liquid-blurt
Thank you @ctime. Merry christmas.