Overview for Hosting


Cloudflare para manejar los DNS y varias cosas más

Después de migrar el sitio de Linode, tuve que buscar donde hostear los DNS, ya que ChicagoVPN no proveía ese servicio. Fue la excusa que necesitaba para probar Cloudflare que además de DNS management tiene muchas otras funcionalidades interesantes como ser protección contra ataques DDoS, CDN, Firewall, Analytics, SSL y varias más. Pero empecemos por el comienzo.

Nuevo server, nueva virtualización

UPDATE: No fue buena mi experiencia con ChicagoVPS, por lo que volví a las fuentes y ahora estoy hosteando el sitio en Vultr.

Navegando entre las ofertas de black friday de LowEndBox (muy recomendado si necesitan contratar servers baratos), encontré una muy buena oferta para ChicagoVPS, empresa de la cual tengo buenas referencias, por lo que decidí aprovecharla y contratar el server donde ahora está hosteado el sitio, para ir probando la performance. Igual aún mantengo otros sitios en Linode que, como comenté hace un tiempo, es una muy buena opción para servers de 5 USD.

Después del salto comento los desafíos que encontré al migrar el server.

Uncomplicated Firewall para protejer nuestro server

Linux trae una gran herramienta para prevenir accesos no deseados: iptables. El problema con iptables es que no es tan sencilla de configurar (alguna vez me dejé sin acceso a mi propio server, jeje).

Por suerte existe uncomplicated firewall, o simplemente UFW, para que asegurar nuestro servidor sea realmente sencillo. Vamos al paso a paso:

UPDATE: Certificado SSL con Let's Encrypt

En la entrada sobre como instalar el certificado SSL con Let's Encrypt usaba la versión del certbot del repo de ubuntu. Ahora hay una versión más reciente disponible, su instalación es simple y tiene algunas ventajas que nos van a ser útiles.

Hay un par de pasos extras a realizar, pero nada muy complejo. Vamos a verlo:

Seguridad para conexión SSH

La manera más usual para conectarnos a un servidor Linux es usando ssh. Esto lo sabemos nosotros y también algún usuario malicioso. De hecho cuando recibo el email de logwatch encuentro cosas como esta:

sshd:
    Authentication Failures:
       root (58.218.198.151): 5245 Time(s)
       root (116.31.116.28): 2060 Time(s)
       root (59.45.175.67): 360 Time(s)
       root (59.45.175.62): 274 Time(s)
       root (221.194.47.252): 237 Time(s)
       root (121.18.238.123): 226 Time(s)
       root (121.18.238.119): 192 Time(s)
       root (59.45.175.56): 186 Time(s)
       root (221.194.44.240): 153 Time(s)
       root (59.45.175.88): 141 Time(s)
       root (59.45.175.66): 135 Time(s)

Como ven, muchos intentos de ingresar al server, por lo que siempre es mejor agregarle una capa extra de seguridad a nuestro acceso.

Sistema actualizado con unattended-upgrades

Siempre es recomendable tener un sistema actualizado para evitar problemas con exploits conocidos (WannaCry, te hablo a vos!). 

Una forma de hacer esto es entrar al servidor al menos un par de veces por semana y correr el update manualmente. Otra forma es usar unattended-upgrades y que las actualizaciones se hagan automáticamente.

Obviamente, yo opté por la segunda :D

Logwatch para monitorear los logs del servidor

Habrán visto que en su server todo es logueado (accessos por ssh, estadísticas de apache, actualizaciones, etc) pero se hace muy dificil, por no decir imposible, leer esos logs diariamente para asegurarnos que todo anda bien en nuestro sistema. 

Por suerte existen herramientas como logwatch, que nos hacen un resumen de los logs del sistema y nos lo envían por email. Vamos a ver como lo dejamos configurado.