6 claves para proteger tu servidor

6 CLAVES PARA PROTEGER TU SERVIDOR

Hola muy buenas, Bienvenidos a Aprende Web Dev.

En este articulo, te voy a enseñar unas pautas para que puedas asegurar tu servidor, tu VPS. Concretamente te voy a dar 6 Claves para proteger tu Servidor.

Estas cosas que te voy a decir son cosas que me han servido y que veo impresindibles para cualquier configuración de servidor.

Para el hosting del servidor voy a estar usando Digitalocean. Si quieres conseguir un crédito de 100$ con Digitalocean, picha aqui

Dicho esto, vamos a ir desglosando 1 por 1 las claves, para conseguir mejorar la seguridad de tu servidor.

Claves Para Proteger tu servidor

1. Setup ssh: La primera clave es usar claves SSH, en vez de la contraseña tradicional. SSH es super seguro y te permite conectar con servidores remotos de una manera muy facil y segura. Para hacer las conexiones SSH, se necesitan 2 claves, la publica y la privada. La clave privada se localiza en tu ordenador, mientras que la publica se mete en el servidor remoto. Entonces cada vez que se conecta, se comprueba la clave del servidor con la clave que esta en tu ordenador. Si las claves no son correctas no te dejara acceder al servidor.

# generar clave ssh
ssh-keygen -t rsa

# Copiar la clave publica a digitalocean 
cat id_rsa_secure_server.pub | pbcopy .

# actualizar servidor 
sudo apt-get update 
sudo apt-get upgrade

2. deshabilitar autenticación por contraseña: La segunda clave para asegurar el server, es deshabilitar la autenticación con contraseña. No queremos usar ninguna autenticacion por contraseña por la razones que hemos dicho antes. Ademas si tienes autenticacion por contraseña habilitada, te pueden hacer un ataque por fuerza bruta(Bruteforce).

cd /etc/ssh 

# Cambiar las siguientes variables 
PasswordAuthentication: no 
ChallengeResponseAuthentication: 
no usePAM: no 

# actualizar la configuración  
systemctl restart sshd

3. deshabilitar el root login y crear un nuevo usuario: Como los hackers ya saben que en todos los sistemas existe un usuario root, vamos a desabilitar su login y vamos a crear un nuevo usuario para nosotros.

# Crear Nuevo Usuario 
adduser zeshan 

# añadir al nuevo usuario al grupo de sudo
usermod -aG sudo zeshan 

# copiar la clave ssh al nuevo usuario
su - zeshan  
mkdir ~/.ssh 
nano ~/.ssh/authorized_keys

# Cambiar configuración de ssh  
cd /etc/ssh/sshd_config 

# cambiar la variable PermitRootLogin
PermitRootLogin: no 

# actualizar configuración 
systemctl restart sshd  

4. Configurar UFW: Esta clave es para habilitar un cortafuegos en el server. Este firewall te ayudara proteger tu VPS.

sudo ufw allow OpenSSH 
sudo ufw allow 80/tcp 
sudo ufw allow 443/tcp 
sudo ufw enable 

sudo ufw default deny incoming 
sudo ufw default allow outgoing 

# reload ufw
sudo ufw reload

5. Cambiar sysctl.conf: Esto lo que hara es, habilitar características de seguridad en nuestro servidor.

sudo nano /etc/sysctl.conf 

# cambiar las siguientes variables 
net.ipv4.conf.default.rp_filter=1
net.ipv4.conf.all.rp_filter=1

net.ipv4.conf.all.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0

net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.all.accept_source_route = 0
net.ipv6.conf.all.accept_source_route = 0

net.ipv4.conf.all.log_martians = 1

# ver las variables cambiadas 
sudo sysctl -p

6. Configurar fail2Ban: vamos a instalar una herramienta llamada fail2Ban. Esto te detecta ataques 2Dos y si ve que esta ocurriendo algún ataque bloquea la IP. si ve que hay algun usuario malicioso, lo bloquea automáticamente.

# instalar fail2ban 
sudo apt install fail2ban 

# habilitamos fail2ban 
sudo systemctl enable fail2ban 

# iniciar fail2ban 
sudo systemctl start fail2ban 

# ver el estado de fail2ban 
sudo systemctl status fail2ban  

Siempre que implemento estas medidas de seguridad, me gusta reniciar el servidor. Esto es para verificar que todo esta bien configurado y funciona bien.

sudo reboot

Si el artículo os ha parecido interesante, no os olvidéis de echarle un ojo a mi canal de Youtube.

Si a alguien le ocurre mas cosas para la seguridad, me la podéis poner abajo en los comentarios.

Muchas gracias por vuestro tiempo. Espero que os haya sido de utilidad y nos vemos en la próxima!!

Acerca del autor

Zeshan Choudhary

Zeshan es un apasionado de las tecnologías modernas y le gusta experimentar con cosas nuevas. Actualmente esta trabajando de lo que le gusta, Desarrollo Backend.

Ver todos los artículos

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *