Herramientas de usuario

Herramientas del sitio


informatica:certificaciones:lpic:lpic-1:110_security

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Próxima revisión
Revisión previa
informatica:certificaciones:lpic:lpic-1:110_security [2022/03/21 12:09] – creado tempwininformatica:certificaciones:lpic:lpic-1:110_security [2022/05/03 14:42] (actual) – [Ejercicios] tempwin
Línea 1: Línea 1:
 ====== Topic 110: Security ====== ====== Topic 110: Security ======
 +
 +Perteneciente a [[informatica:certificaciones:lpic:lpic-1|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**.
 +
 +  * [[informatica:certificaciones:lpic:lpic-1:110_security:110.1_perform_security_administration_tasks|110.1 Perform security administration tasks]] (3)
 +  * [[informatica:certificaciones:lpic:lpic-1:110_security:110.2_setup_host_security|110.2 Setup host security]] (3)
 +  * [[informatica:certificaciones:lpic:lpic-1:110_security:110.3_securing_data_with_encryption|110.3 Securing data with encryption]] (4)
 +
 +===== Ejercicios =====
 +
 +**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:
 +
 +<code>
 +useradd testuser
 +</code>
 +
 +Los valores predeterminados podemos consultarlos en el fichero ''/etc/default/useradd''
 +
 +Podríamos haberlo creado con la herramienta ''adduser'':
 +
 +<code>
 +useradd testuser
 +</code>
 +
 +**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:
 +
 +<code>
 +cat /etc/passwd | grep -i testuser
 +</code>
 +
 +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:
 +
 +<code>
 +passwd testuser
 +</code>
 +
 +Le ponemos una contraseña y la confirmamos.
 +
 +Si volviésemos al fichero ''/etc/shadow'' veríamos que ahora sí tiene una contraseña.
 +
 +<code>
 +cat /etc/shadow | grep -i testuser
 +</code>
 +
 +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:
 +
 +<code>
 +usermod -s /usr/sbin/nologin testuser
 +</code>
 +
 +**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:
 +
 +  * maquina1: 192.168.0.19/24
 +  * maquina2: 192.168.0.4/24
 +
 +El servidor SSH se instala con:
 +
 +<code>
 +apt install ssh
 +</code>
 +
 +Verificamos que esté en funcionamiento:
 +<code>
 +systemctl status sshd.service
 +</code>
 +
 +**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'':
 +
 +<code>
 +adduser fulanito
 +</code>
 +
 +<code>
 +adduser menganito
 +</code>
 +
 +**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:
 +
 +<code>
 +ssh -l fulanito localhost
 +</code>
 +
 +<code>
 +ssh -l meganito localhost
 +</code>
 +
 +**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:
 +
 +<code>
 +ssh-keygen -t rsa
 +</code>
 +
 +Otro par de claves, pero usando DSA:
 +
 +<code>
 +ssh-keygen -t dsa
 +</code>
 +
 +Con menganito haremos lo mismo, pero especificaremos el nombre de las claves por **RSAPair**:
 +
 +<code>
 +ssh-keygen -t rsa
 +</code>
 +
 +Y **DSAPair**:
 +
 +<code>
 +ssh-keygen -t dsa
 +</code>
 +
 +**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.**
 +
 +<code>
 +fulanito@maquina1: $ ssh-copy-id -i $HOME/.ssh/id_rsa.pub fulanito@maquina2
 +</code>
 +
 +**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).**
 +
 +<code>
 +menganito@maquina2: $ ssh-copy-id -i $HOME/.ssh/RSAPair.pub fulanito@maquina2
 +</code>
 +
 +**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:
 +
 +<code>
 +ssh -i ~/.ssh/RSAPair menganito@192.168.0.19
 +</code>
 +
 +Hemos accedido sin introducir la contraseña.
 +===== Tests =====
 +
 +**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 -''
 +  * None of the Above
 +  * ''su -''
 +
 +<WRAP center round important 60%>
 +¿Dónde viene explicado esto?
 +</WRAP>
 +
 +
 +**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 %%--%%key''
 +  * ''gpg %%--%%gen-key''  (**Solución**)
 +  * ''gpg %%--%%key''
 +  * ''gnupg %%--%%gen-key''
 +
 +**Which 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'?**
 +
 +  * None of the Above
 +  * SHA256
 +  * DSA
 +  * RSA (**Solución**)
 +
 +**Which of the following services can be configured to manage other services in an 'on demand' capacity?**
 +
 +  * ''service''
 +  * None of the Above
 +  * ''systemctl''
 +  * ''xinetd'' (**Solución**)
 +
 +<WRAP center round important 60%>
 +¿Dónde viene explicado esto?
 +</WRAP>
  
informatica/certificaciones/lpic/lpic-1/110_security.1647860982.txt.gz · Última modificación: por tempwin