Seguimos con mis apuntes acerca de la Raspberry, y en esta ocasión voy a conectarla por primera vez a la red y voy a empezar a configurar aspectos relacionados con la seguridad.
¡Manos a la obra!
Insertamos la tarjeta microSD en la Raspberry y eventualmente el disco SSD, conectamos vía ethernet y aplicamos 5V. Para continuar la configuración de la Raspberry, utilizaremos SSH teniendo en cuenta que el usuario por defecto es alarm y su password alarm:
ssh alarm@192.168.1.60Una vez conectados, cambiamos a root. La palabra de paso por defecto de root es root:
suSiempre he tenido problemas con el servidor de réplicas que viene por defecto. En teoría utiliza el sistema de GeoIP para detectar el servidor más cercano y rápido a mi ubicación, pero siempre he tenido problemas de lentitud. Empezamos cambiando esta configuración:
nano /etc/pacman.d/mirrorlistComentamos el servidor por defecto:
## Geo-IP based mirror selection and load balancing
#Server = http://mirror.archlinuxarm.org/$arch/$repoY descomentamos los alemanes que siempre me han funcionado:
### Germany
## Aachen
Server = http://de3.mirror.archlinuxarm.org/$arch/$repo
## Berlin
Server = http://de.mirror.archlinuxarm.org/$arch/$repo
## Coburg
Server = http://de4.mirror.archlinuxarm.org/$arch/$repo
## Falkenstein
Server = http://eu.mirror.archlinuxarm.org/$arch/$repo
Server = http://de5.mirror.archlinuxarm.org/$arch/$repoIniciamos el depósito de claves de pacman:
pacman-key --init
pacman-key --populate archlinuxarmActualizamos el sistema, y ya de paso, instalamos sudo que lo necesitaremos más adelante:
pacman -Syyu sudoCargamos el idioma:
locale-geny lo añadimos:
localectl set-locale LANG="es_ES.UTF8", LC_TIME="es_ES.UTF8"Si vamos a utilizar un servidor NTP, ahora lo podríamos configurar. Aquí tengo un artículo que te puede interesar al respecto, si no, continuamos configurando el uso horario:
ln -f /usr/share/zoneinfo/Europe/Madrid /etc/localtimeCreamos un nuevo usuario con el comando siguiente cambiando usernew por el usuario que queremos crear:
useradd -m -g users -G audio,lp,optical,storage,video,wheel,games,power,scanner -s /bin/bash usernewCambiamos la palabra de paso:
passwd usernewY ya que estamos, cambiamos también la palabra de paso al usuario root:
passwdPara poder ejecutar comandos reservados a root con un usuario normal, editamos el fichero visudo:
EDITOR=nano visudoy descomentamos:
%wheel ALL=(ALL) ALLSalimos de root, cambiamos al usuario recién creado y probamos a actualizar el sistema:
exit
su usernew
sudo pacman -SyuWe trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.A partir de este punto, ya vamos a realizar todas las operaciones con nuestro nuevo usuario y utilizando sudo.
Para añadir un poco más de seguridad, vamos a evitar que root se conecte vía SSH. Editamos el fichero sshd_config:
sudo nano /etc/ssh/sshd_configY añadimos al final del archivo la línea:
PermitRootLogin noTambién cambiaremos el puerto por defecto de SSH:
#Port 22
Port 6814Reiniciamos el servicio:
sudo systemctl restart sshdDesconectamos de la Raspberry y nos reconectamos con el nuevo usuario e indicando el nuevo puerto:
ssh usernew@192.168.1.60 -p 6814Si se trata de una reinstalación, nos podemos encontrar que falla la llave de verificación SSH. Vamos a reiniciarla con:
sudo ssh-keygenAl ejecutar el comando nos pide dónde salvar las nuevas llaves:
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):introducimos, modificando user por nuestro usuario:
/home/user/.ssh/known_hostsy cuando nos avise que ya existe y que si queremos sobrescribir, responderemos y. En passphrase lo dejaremos en blanco. Volvemos a intentar la conexión:
ssh usernew@192.168.1.60 -p 6814Y finalizamos borrando el usuario por defecto:
sudo userdel -r alarmY esto es todo para la primera conexión. En el siguiente artículo, empiezo una serie dedicada a la seguridad en la Raspberry, empezando por actualizar el firmware.