🔧 Configuración Post Instalación

1. Acceso al Sistema

Primero, debemos introducir el usuario y la contraseña que hemos creado. En este caso, el usuario es meghribe y la contraseña es 42Password-.

Imagen 151


2. Instalación de sudo y Configuración de Usuarios y Grupos 👤

  1. Para instalar sudo, primero debemos estar en el usuario root. Ejecutamos su en el terminal e introducimos la contraseña, en este caso 42Barcelona-. Luego, instalamos sudo con el siguiente comando:

     apt update -y && apt install sudo -y && sudo reboot
    
    • apt update -y: Actualiza la lista de paquetes disponibles en el sistema. La opción -y confirma automáticamente la actualización.
    • apt install sudo -y: Instala el paquete sudo. La opción -y confirma automáticamente la instalación.
    • sudo reboot: Reinicia el sistema para aplicar cambios.

    Imagen 153

  2. Después del reinicio, volvemos a entrar con nuestro usuario (meghribe) y accedemos a root con su y la contraseña.

  3. Creamos un nuevo grupo llamado user42:

     sudo addgroup user42
    
    • sudo addgroup user42: Crea un nuevo grupo llamado user42. El comando addgroup es utilizado para gestionar grupos en el sistema.

    GID es el identificador del grupo, que es una abreviatura de Group ID. Para verificar si el grupo se ha creado correctamente, podemos usar el comando getent group nombre_grupo o cat /etc/group.

  4. Añadimos nuestro usuario al grupo user42 y a sudo:

     sudo adduser meghribe user42
     sudo adduser meghribe sudo
    
    • sudo adduser meghribe user42: Añade el usuario meghribe al grupo user42.
    • sudo adduser meghribe sudo: Añade el usuario meghribe al grupo sudo, otorgándole permisos administrativos.

    Para verificar que se ha hecho correctamente:

     getent group sudo
     getent group user42
    
    • getent group sudo: Muestra los miembros del grupo sudo.
    • getent group user42: Muestra los miembros del grupo user42.

    Imagen 155


3. Instalación y Configuración de SSH

  1. Instalamos el protocolo SSH:

     sudo apt install openssh-server -y
    
    • sudo apt install openssh-server -y: Instala el servidor SSH. La opción -y confirma automáticamente la instalación.

    Imagen 156

  2. Verificamos el estado del servicio SSH:

     sudo service ssh status
    
    • sudo service ssh status: Muestra el estado del servicio SSH para asegurarse de que esté corriendo.

    Imagen 157

  3. Instalamos el editor de texto vim:

     sudo apt install vim -y
    
    • sudo apt install vim -y: Instala el editor de texto vim. La opción -y confirma automáticamente la instalación.

    Imagen 159

  4. Configuramos el protocolo SSH:

    • Editamos el archivo /etc/ssh/sshd_config para definir el puerto 4242 y desactivar el login de root. Verificamos los valores actuales con:

      cat /etc/ssh/sshd_config | grep Port
      cat /etc/ssh/sshd_config | grep PermitRootLogin
      
      • cat /etc/ssh/sshd_config | grep Port: Muestra la línea que define el puerto en el archivo de configuración SSH.
      • cat /etc/ssh/sshd_config | grep PermitRootLogin: Muestra la línea que define el permiso de login para el usuario root.

      Editamos el archivo con vim:

      vim /etc/ssh/sshd_config
      
      • vim /etc/ssh/sshd_config: Abre el archivo de configuración del servidor SSH en el editor vim.

      Descomentamos #Port 22 y cambiamos el número a 4242, y descomentamos #PermitRootLogin prohibit-password y lo cambiamos a PermitRootLogin no.

      Imagen 160
      Imagen 161
      Imagen 162

    • Ahora, editamos el archivo /etc/ssh/ssh_config para definir el mismo puerto:

      vim /etc/ssh/ssh_config
      
      • vim /etc/ssh/ssh_config: Abre el archivo de configuración del cliente SSH en el editor vim.

      Cambiamos el puerto a 4242.

      Imagen 163
      Imagen 164
      Imagen 165

    • Reiniciamos el servicio SSH:

      sudo service ssh restart
      
      • sudo service ssh restart: Reinicia el servicio SSH para aplicar los cambios de configuración.
    • Instalamos y configuramos el firewall ufw:

      sudo apt install ufw -y
      sudo ufw enable
      sudo ufw status
      sudo ufw allow 4242
      sudo ufw status
      ip -c a
      
      • sudo apt install ufw -y: Instala el firewall ufw. La opción -y confirma automáticamente la instalación.
      • sudo ufw enable: Habilita el firewall.
      • sudo ufw status: Muestra el estado actual del firewall.
      • sudo ufw allow 4242: Permite el tráfico en el puerto 4242.
      • ip -c a: Muestra la configuración de red, incluyendo direcciones IP.

      Imagen 168
      Imagen 170

    • Finalmente, probamos la conexión SSH:

      ssh LA_IP_DE_LA_MAQUINA_VIRTUAL -p 4242
      
      • ssh LA_IP_DE_LA_MAQUINA_VIRTUAL -p 4242: Conecta a la máquina virtual mediante SSH en el puerto 4242.

      Imagen 172


4. Configuración Adicional de sudo

  1. Configuramos sudo para registrar intentos de acceso y otras configuraciones:

     sudo su
     touch /etc/sudoers.d/sudo_config
     mkdir /var/log/sudo
    
    • sudo su: Cambia al usuario root para realizar tareas administrativas.
    • touch /etc/sudoers.d/sudo_config: Crea un nuevo archivo de configuración para sudo en el directorio /etc/sudoers.d.
    • mkdir /var/log/sudo: Crea un directorio para almacenar los logs de sudo.

    Editamos el archivo /etc/sudoers.d/sudo_config:

     Defaults  passwd_tries=3
     Defaults  badpass_message="Mensaje de error personalizado"
     Defaults  logfile="/var/log/sudo/sudo_config"
     Defaults  log_input, log_output
     Defaults  iolog_dir="/var/log/sudo"
     Defaults  requiretty
     Defaults  secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
    
    • Defaults passwd_tries=3: Establece el número máximo de intentos de contraseña para sudo.
    • Defaults badpass_message="Mensaje de error personalizado": Mensaje personalizado que se muestra cuando la contraseña es incorrecta.
    • Defaults logfile="/var/log/sudo/sudo_config": Archivo de log para sudo.
    • Defaults log_input, log_output: Registra la entrada y salida de comandos ejecutados con sudo.
    • Defaults iolog_dir="/var/log/sudo": Directorio donde se almacenan los logs de entrada/salida.
    • Defaults requiretty: Requiere que sudo se ejecute en una terminal.
    • Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin": Define el path seguro para la ejecución de comandos con sudo.

    Imagen 174
    Imagen 175


5. Configuración de Políticas de Contraseña

  1. Editamos el archivo /etc/login.defs para definir políticas de contraseñas:

     vim /etc/login.defs
    
    • vim /etc/login.defs: Abre el archivo de configuración de políticas de contraseñas en el editor vim.

    Ajustamos los valores para la expiración y advertencia de contraseñas:

     PASS_MAX_DAYS  30
     PASS_MIN_DAYS  2
     PASS_WARN_AGE  7
    
    • PASS_MAX_DAYS 30: Establece el número máximo de días que una contraseña puede ser utilizada antes de que sea necesario cambiarla.
    • PASS_MIN_DAYS 2: Establece el número mínimo de días que debe pasar antes de que una contraseña pueda ser cambiada nuevamente.
    • PASS_WARN_AGE 7: Número de días antes de la expiración de la contraseña en los que se debe advertir al usuario.

    Imagen 176
    Imagen 178

  2. Instalamos el módulo libpam-pwquality para mejorar la calidad de las contraseñas:

     sudo apt install libpam-pwquality -y
    
    • sudo apt install libpam-pwquality -y: Instala el módulo libpam-pwquality, que proporciona políticas de calidad para contraseñas. La opción -y confirma automáticamente la instalación.

    Imagen 179

  3. Editamos el archivo /etc/pam.d/common-password para establecer políticas de calidad de contraseñas:

     vim /etc/pam.d/common-password
    
    • vim /etc/pam.d/common-password: Abre el archivo de configuración de contraseñas en el editor vim.

    Cambiamos la configuración a:

     minlen=10 ucredit=-1 dcredit=-1 lcredit=-1 maxrepeat=3 reject_username difok=7 enforce_for_root
    
    • minlen=10: Establece el número mínimo de caracteres en una contraseña.
    • ucredit=-1: Requiere al menos una letra mayúscula.
    • dcredit=-1: Requiere al menos un dígito.
    • lcredit=-1: Requiere al menos una letra minúscula.
    • maxrepeat=3: Permite que un carácter se repita un máximo de 3 veces consecutivas.
    • reject_username: No permite que la contraseña sea igual al nombre de usuario.
    • difok=7: Requiere que las nuevas contraseñas sean diferentes de al menos 7 caracteres de la contraseña anterior.
    • enforce_for_root: Aplica estas políticas también para el usuario root.

    Imagen 180
    Imagen 182
    Imagen 184

  4. Revisamos la configuración de expiración de contraseñas para el usuario root:

     sudo chage -l root
     sudo chage -m 2 root
     sudo chage -M 30 root
     sudo chage -l root
    
    • sudo chage -l root: Muestra la configuración actual de expiración de contraseñas para el usuario root.
    • sudo chage -m 2 root: Establece el número mínimo de días entre cambios de contraseña para el usuario root.
    • sudo chage -M 30 root: Establece el número máximo de días antes de que sea necesario cambiar la contraseña del usuario root.

    Imagen 186


6. Información del Sistema

Finalmente, obtenemos información sobre el sistema:

uname -a
  • uname -a: Muestra información detallada sobre el núcleo del sistema y el sistema operativo.

Imagen 187

results matching ""

    No results matching ""