OpenWrt: Securizando el router
2018-04-05
Índice
- Usando HHTPS para descargar paquetes OPKG
- Añadir un usuario para trabajar con SUDO
- Cambiar de puerto SSH
- Evitar conexiones SSH con usuario y contraseña
- Referencias:
En el anterior articulo vimos como instalar OpenWrt en un router Xiaomi 3G, y una de las primeras cosas que hicimos fue ponerle una contraseña al usuario root ya que por defecto viene en blanco.
Como uno de los objetivos de esta serie de artículos es llegar a quitar el livebox fibra que proporciona Orange, y poner en su lugar nuestro router, tendremos que llevar a cabo una serie de acciones que nos proporcionen un mínimo de seguridad en nuestro router, como cambiar de puerto el servicio SSH, habilitar un nuevo usuario para administrar el router sin tener que utilizar el usuario root, permitir solo conexiones SSH mediante firma y no por contraseña, etc.
Usando HHTPS para descargar paquetes OPKG
Lo primero es actualizar el sistema y descargar los certificados que nos permitirán realizar la conexión
opkg update
opkg install wget
opkg install ca-certificates luci-ssl
Yo prefiero trabajar con nano como editor de texto, por lo que lo instalado
opkg install nano
Editamos el fichero de las fuentes y cambamos http por https.
nano /etc/opkg/distfeeds.conf
Añadir un usuario para trabajar con SUDO
No es buena costumbre trabajar con el usuario root por razones obvias, así que vamos a crear un nuevo usuario e instalar sudo para poder utilizar comandos privilegios de root.
En el ejemplo vamos a crear un usuario llamado carlos
opkg update
opkg install shadow-useradd
useradd carlos
passwd carlos
mkdir /home
mkdir /home/carlos
chown carlos:carlos /home/carlos
opkg install sudo
Necesitamos editar el fichero /etc/passwd
para que el usuario tenga una shell para trabajar
nano /etc/passwd
carlos:x:1000:1000::/home/carlos:/bin/ash
Con estos pasos ya tendremos habilitado un nuevo usuario para poder trabajar.
Cambiar de puerto SSH
Vamos a empezar a utilizar la interfaz LuCI para cambiar el número de puerto al servidor SSH Dropbear, nos conectamos a la dirección http://192.168.1.1 y vamos al menú Sistemas-> Administración
Nos dirigimos Instancia de Dropbear y cambiamos el puerto, en el ejemplo he puesto el 2222, y desmarcamos las casillas Permitir autorización de contraseña SSH y Permitir al usuario root con contraseña.
Evitar conexiones SSH con usuario y contraseña
Antes de guardar los cambios, y puesto que hemos deshabilitado el poder conectarnos por SSH mediante contraseña vamos a habilitar el poder conectarnos de forma automática mediante nuestra clave publica, la cual deberemos de haber generado anteriormente
Debemos de tener una clave publica, si no la tienes o no sabes como hacerlo, en este otro articulo te explico como obtener tu propia clave publica.
ls -l ~/.ssh/
-w------- 1 xxxxx xxxxx 3243 oct 15 13:34 id_rsa
-rw-r--r-- 1 xxxxx xxxxx 747 oct 15 13:34 id_rsa.pub
-rw-r--r-- 1 xxxxx xxxxx 1252 feb 25 16:49 known_hosts
Copiaremos el contenido del fichero idrsa.pub, clave pública, desde el ordenador que deseemos conectarnos y la pegamos en el campo Clave SSH
Despuós de pulsar en Guardar y aplicar, a partir de ahora ya no sera posible conectarnos a SSH mediante usuario y contraseña, solo mediante nuestra clave pública
ssh -p 2222 [email protected]
BusyBox v1.27.2 () built-in shell (ash)
_______ ________ __
| |.-----.-----.-----.| | | |.----.| |_
| - || _ | -__| || | | || _|| _|
|_______|| __|_____|__|__||________||__| |____|
|__| W I R E L E S S F R E E D O M
-----------------------------------------------------
OpenWrt SNAPSHOT, r6305-8f24653
-----------------------------------------------------
root@OpenWrt:~#
Si vamos a conectarnos al router con un usuario diferente a root, deberemos añadir la clave pública de ese usuario,=$HOME/.ssh/idrsa.pub=, al fichero .ssh/authorized_keys
del usuario creado en el router, por ejemplo, hemos creado un usuario llamado carlos en el router, por lo tanto copiamos el fichero $HOME/.ssh/id_rsa.pub
desde mi ordenador al fichero /home/carlos/.ssh/authorized_keys
del router.
Referencias:
Espero que te haya gustado, pasa un buen día. 🐧