AWS
HVM versus PV
SECURIZAR LA INSTANCIA
En AWS las instancias de ubuntu se crean con un usuario ubuntu por defecto. Para hacer la máquina algo más segura, vamos a crear un usuario nuevo y eliminar el usuario por defecto. Para ello nos conectamos a la nueva instancia por SSH y vamos desarrollando los siguientes pasos.
Crear nuevo usuario
Inicialmente creamos el nuevo usuario con el comando adduser (al hacerlo se nos preguntaran algunas opciones). Con el usuario creado, lo añadiremos al grupo de usuarios ‘sudo’ que será lo que permitirá que dicho usuario pueda hacer sudo (básicamente tener un rol de administrador o root y hacer determinadas operaciones que solo estos perfiles pueden hacer).
adduser nuevousuario
sudo adduser nuevousuario sudo
Darle acceso remoto (SSH)
De nada nos sirve el nuevo usuario si no puede conectarse via SSH (y ademas con clave, no con contraseña).
Añadir la clave publica al nuevo usuario
Para poder conectarnos remotamente necesitaremos una pareja de clave privada y clave pública. La clave privada es la que nosotros debemos tener (y no deberiamos compartir) mientras que la clave publica debe estar en el servidor; en una ubicación determinada que tenemos que crear de la siguiente forma:
sudo su <nuevousuario>
sudo mkdir /home/<nuevousuario>/.ssh
sudo chmod 700 /home/<nuevousuario>/.ssh
Poner la clave pública básicamente podemos hacerlo de dos maneras, dependiendo de si ya tenemos la clave pública en la máquina remota o no:
Opcion 1 - Ya tenemos la clave pública en otro usuario
Entonces copiaremos el fichero con la clave del otro usuario (llamemosle
sudo cp /home/<viejousuario>/.ssh/authorized_keys /home/<nuevousuario>/.ssh/authorized_keys
sudo chown <nuevousuario>:<nuevousuario> /home/<nuevousuario>/.ssh/authorized_keys
sudo chmod 600 /home/<nuevousuario>/.ssh/authorized_keys
El último comando, que cambia el permiso a authorized_keys, probablemente no haga falta porque el fichero copiado ya tenga esos permisos, pero en cualquier caso hay que comprobarlo (por ejemplo con li -l donde la linea correspondiente a authorized_keys deberia empezar con -rw——- y que indica que solo el usuario propietario del fichero puede leerlo o escribirlo)
Opcion 2 - Generamos una clave privada nueva
Crear el fichero a mano, copiarle la clave publica, guardarlo y dar permisos
sudo ....
sudo nano /home/<nuevousuario>/.ssh/authorized_keys
sudo chmod 600 /home/<nuevousuario>/.ssh/authorized_keys
Editar sshd_config
sudo nano /etc/ssh/sshd_config
En el fichero hay que buscar la directiva PermitRootLogin
y cambiar el valor a no
PermitRootLogin no
Al final del fichero, podemos añadir la directiva de usuarios a los que permitir la conexión remota.
AllowUsers <nuevousuario>
sudo service ssh restart