Seguridad en server casero

M

He montado un servidor web casero y me gustaría saber qué sugerencias tenéis para securizarlo correctamente y evitar tener un caballo de troya en casa. Yo lo que siempre suelo hacer es:

  • fail2ban
  • SSH con certificado y bloqueo de acceso con contraseña
  • Abrir el puerto que necesito en este caso uno personalizado en el router para servidor web
  • Firewalld

Y luego para testear, nmap para ver desde fuera lo que tengo abierto.

¿Alguna sugerencia más?

doogie780

Un IDS/IPS en el router.

kidandcat

Mantener actualizado el SO, y asegurarte de que no tienes nada más expuesto. Ojo, que si estas con un ISP chustero a veces tienen sistemas para conectarse en remoto a tu router y más de una vez ha habido problemas de seguridad por ahí, a veces eso suele aparecer en el router y puedes cambiarle la contraseña de acceso remoto.

PD: Yo aparte de lo que dices siempre cambio el puerto SSH a uno que no sea el 22, con lo de acceso solo por certificado deberías estar más que cubierto, pero si logeas todos los intentos de conexion que recibes, flipas, solo por eso lo cambio.

ArfeX

oculta cabeceras del tipo de web server que sea apache o nginx por ej. su respectiva versión, añade configs para evitar cross site scripting y demás, puedes seguir las recomendaciones de las OWASP https://owasp.org/www-project-secure-headers/

B

Si puedes segmentar la red para que el servidor web no esté en la misma red que tus dispositivos del hogar mejor. En caso de la web, depende de lo que sea la app, si son webs estáticas no habría problema. Las cabeceras pues no mostrarlas, aunque con que hayas instalado un sistema actualizado y los últimos paquetes, no debería haber problemas. Un WAF, hay versiones gratuitas para que el tráfico que se vea a legua que es malicioso simplemente lo tire

El SSH no lo expondría a internet, me crearía una VPN para poder conectarme como si estuviera conectado localmente

nV8x

Como dice el compañero de arriba, yo no expondría el ssh a internet, montaría una vpn wireguard.

Pero si igualmente lo ves necesario, cambiaría el login usando solo pub key en vez de con contraseña.

hda

Yo tengo reverse proxy con traefik2 y gestiono las apps del servidor y lan desde ahí. También meto cabeceras en las peticiones que me interesen (middleware como oauth y authelia, p.e.). Por último, monto un servidor VPN para escritorio remoto y backup de dispositivos en el NAS de modo que rule sobre WAN. Sí tengo algún portforwarding directo, broadcast al puerto 7 de la intranet para magic packet.

M

#2 eso sería lo ideal, pero en mi caso es inviable. Mi router no permite instalar nada y montar un firewall dedicado es caro ya que tendría que comprar un switch con port mirroring y utilizar una Raspberry o similar o directamente comprar un firewall.

#3 y #6 eso por supuesto, nunca exponer el puerto 22 a la red. El router es de Lowi, por lo que aunque no es lo mejor del mundo, tampoco es lo peor.

#4 la verdad que es bastante importante y para tener en cuenta.

#5 lo del WAF lo tengo que mirar. El server lo tengo en una red distinta del resto de la casa, por lo que si consiguieran entrar, solo verían el server y otro router que protege los demás dispositivos sin ningún puerto abierto.

#7 en mi caso el reverse proxy lo tengo hecho con nginx y nada de abierto a internet, solo el server con las aplicaciones montadas en docker y exponiendo nginx reverse proxy como único punto de entrada.

Gracias a todos por responder, estoy acostumbrado a hacer este tipos de deploys en la nube, donde a la hora de configurar lo tienes mucho más sencillo y te despreocupas en la mayoría de los casos de consumo de recursos e instalación de las capas intermedias como el WAF y el IDs/IP que en muchos casos es un click o dos y ya y tienes un firewall de red dedicado muchísimo más potente y caro

1 3 respuestas
alexsanro

Yo tengo mi server a traves de una VPN asi no tengo nada expuesto

B

#8 También existen los Host-based intrusion detection system, por si quieres cacharrear con programas open source. Incluso hacer tu mismo de atacante y ver como funcionan estos sistemas

1 1 respuesta
PiPePiTo

#8 nginx proxy manager uso yo y...ya, el resto todo cerrado y todo a puertos random lo que va al nginx (el que expone el docker digo) y accedo por vpn interna.

El que se te ponga a llamar a la puerta va a acabar encontrando la ganzua correcta...

En mi caso tengo pendiente meter un opensense o un pfsense delante de todo y hacer la burrada máxima, lo mismo te interesa tenerlo echado un ojo.

1 respuesta
doogie780

#8

Puedes virtualizar pfsense y usar un bridge para enrutar el tráfico, no necesitas hardware físico. Si tienes el típico router de Asus/TP-Link que se le puede meter openwrt, puedes instalar Snort y hacer IPS por ahí. Yo compré un mini-pc de aliexpress con 4 tomas ethernet por 250€ y le puedes poner pfSense, OpnSense, openWRT o cualquier distro linux que haga de firewall/router.

Por lo demás cambiaría el puerto SSH por otro y logeo por clave de autenticación únicamente. Si ya tienes el fail2ban, tienes todo para estar OK. No vas a impedir el ataque/pararlo a nivel de red, pero lo tendrás cubierto.

1 respuesta
M

#10 #11 #12 al final me habéis puesto los dientes largos y lo acabaré haciendo. He estado viendo cosas como las NanoPi y la Orange Pi R1 plus LTS, pero por el precio y las prestaciones sale más a cuenta pillar uno de esos PCs que dice #12 y ponerse a cacharrear.

1 1 respuesta
doogie780

#13

Yo no concibo mi casa sin un pfSense desde que hice el cambio. Si te animas, abre hilo y te echamos una manija.

hda

Si abres hilo lo seguiré con ganas, todo lo que sea mejorar en securización es bienvenido.

1
Li3cht

Tengo un firewall de Palo Alto en casa.

kidandcat

Para el server casero tengo en la mira esto: https://www.zimaboard.com/
Aunque todavia no he podido pillarme una.

Usuarios habituales