Perteneciente a LPIC-1
Se explican los buenos usos en seguridad, la integridad del sistema, los virus, los rootkits, los límites, las actualizaciones, la seguridad de la red y de los servicios, el firewall, GPG y los derechos sudo.
NOTA: Este ejercicio se puede completar usando cualquier máquina virtual existente
Adjuntar capturas de pantalla para ver los resultados
PARTE I: Configure la seguridad del host - Evite los inicios de sesión
1. Cree un nuevo usuario en su sistema (usando valores predeterminados) llamado 'testuser'.
Para la realización de los ejercicios, se usarán máquinas virtuales con Debian 11.
Creamos el usuario testuser de la siguiente manera:
useradd testuser
Los valores predeterminados podemos consultarlos en el fichero /etc/default/useradd
Podríamos haberlo creado con la herramienta adduser:
useradd testuser
2. Mostrar el shell de inicio de sesión predeterminado para la cuenta 'testuser' en el archivo apropiado.
Podemos revisar el contenido del fichero /etc/passwd y filtrar por dicho usuario para ver qué shell se le ha establecido:
cat /etc/passwd | grep -i testuser
Podemos confirmar que se trata de /bin/sh
3. Establezca una contraseña para ese usuario y asegúrese de que la cuenta pueda iniciar sesión en el sistema.
De la forma que creamos el usuario testuser, no se le ha asignado una contraseña, por lo que no podrá iniciar sesión en el sistema. Para establecer una contraseña, siendo root, ejecutamos:
passwd testuser
Le ponemos una contraseña y la confirmamos.
Si volviésemos al fichero /etc/shadow veríamos que ahora sí tiene una contraseña.
cat /etc/shadow | grep -i testuser
Ya podemos entrar en el sistema:
Podemos apreciar un aviso en la captura anterior porque al crear el usuario no le hemos indicado un directorio personal, así que entra en /.
4.Cambie el shell de inicio de sesión predeterminado para que el usuario testuser ya no puedan iniciar sesión.
En el caso de Debian 11, podemos elegir como shell /usr/sbin/nologin lo cual hará que el usuario no pueda iniciar sesión en el sistema:
usermod -s /usr/sbin/nologin testuser
5. Verifique que el usuario ahora no pueda iniciar sesión en el sistema.
No puedo registrar una captura porque en el momento en que inicio sesión con este usuario, el sistema me echa y vuelve al inicio de sesión.
PARTE II - Seguridad en la conexión y el cifrado de datos
NOTA: Este ejercicio puede completarse con cualquier máquina virtual disponible, sin embargo, se recomienda que tenga dos instancias separadas para probar en este y en el laboratorio relacionado en esta sección.
1. Instale el servicio ssh en ambas máquinas
Las dos máquinas tienen instalado Debian 11, y están configuradas con las siguientes IPs:
El servidor SSH se instala con:
apt install ssh
Verificamos que esté en funcionamiento:
systemctl status sshd.service
2. Cree en cada máquina virtual dos usuarios nuevos que se utilizarán para iniciar sesión en el sistema local a través de SSH. Por simplicidad, configure sus contraseñas iguales al nombre de usuario.
Esta vez, por comodidad y para ver una alternativa, usaremos el comando adduser:
adduser fulanito
adduser menganito
3. Inicie sesión ssh como cada usuario en cada máquina (es decir, ssh -l usuario localhost) para que se creen los archivos de hosts conocidos apropiados.
En cada una de las dos máquinas ejecutamos:
ssh -l fulanito localhost
ssh -l meganito localhost
4. Utilizando uno de los usuarios creados, genere un par de claves públicas / privadas de RSA y DSA y añádalas en su archivo de salida. Utilizando el segundo usuario, genere AMBAS claves públicas / privadas RSA y DSA; sin embargo, durante la generación, que los archivos se llamen “RSAPair” y “DSAPair”.
Con fulanito, para crear el par de claves RSA:
ssh-keygen -t rsa
Otro par de claves, pero usando DSA:
ssh-keygen -t dsa
Con menganito haremos lo mismo, pero especificaremos el nombre de las claves por RSAPair:
ssh-keygen -t rsa
Y DSAPair:
ssh-keygen -t dsa
5. Usando uno de los usuarios creados anteriormente, copie la clave pública generada en la maquina1 a la otra 2 usando el comando apropiado.
fulanito@maquina1: $ ssh-copy-id -i $HOME/.ssh/id_rsa.pub fulanito@maquina2
6. Usando el segundo usuario creado anteriormente, copie la clave pública generada en la maquina 2 a la 1 usando el comando apropiado (recordando que generó un archivo de clave que no usa el nombre predeterminado).
menganito@maquina2: $ ssh-copy-id -i $HOME/.ssh/RSAPair.pub fulanito@maquina2
7. Ubique las claves en el sitio adecuado de cada máquina respectiva, y pruebe a conectarse sin necesidad de introducir la contraseña
Las claves públicas se instalaron en el fichero authorized_keys de cada usuario ubicado en $HOME/.ssh. Por ejemplo, este es el contenido de /home/menganito/.ssh/authorized_keys:
IMAAAAAAAAAGEN
Desde la máquina 1 accedemos a la máquina 2 con el usuario fulanito:
IMAAAAAAAAAAAGEN
No nos ha pedido contraseña.
Ahora probamos con el usuario menganito de la máquina 2. Como le dimos un nombre a las claves diferente al habitual, se lo tenemos que indicar a la hora de establecer la conexión:
ssh -i ~/.ssh/RSAPair menganito@192.168.0.19
Hemos accedido sin introducir la contraseña.
Which command would you use to become root so that you would NOT inherit the settings from root's user scripts on login?
su (Solución)sudo su -su -¿Dónde viene explicado esto?
Which Gnu Privacy Guard command would you use to generate a new public and private key to use for encrypting and exchanging files with a third party?
gnupg --keygpg --gen-key (Solución)gpg --keygnupg --gen-keyWhich of the following files is the default SSH configuration file?
* ''/etc/ssh.conf'' * ''/etc/sshd/sshd_config'' (**Solución**) * ''/etc/sshd.conf'' * ''/etc/sshd/ssh_config''
Which of the following key types is generated by default with the command 'ssh-keygen'?
Which of the following services can be configured to manage other services in an 'on demand' capacity?
servicesystemctlxinetd (Solución)¿Dónde viene explicado esto?