Overview for Linux


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.

Usar megatools para hacer backups

Siempre es bueno tener algún backup para estar protejidos ante eventuales fallas que nos podrían costar los datos de nuestro sitio.

Lo ideal es utilizar una herramienta de versionado para nuestro código, pero si sos como yo, no te gusta agregar la DB a git, ya que estamos hablando de datos de un server, no del código en si.

La mayoría de los hosting actuales ofrecen servicios de backup, pero vamos a utilizar, además, nuestra cuenta de mega para guardar ahi los DB de nuestra DB.

Certificado SSL con Let's Encrypt (y ajustes a Nginx)

Como comentaba en el artículo pasado, para poder usar el protocolo HTTP/2 en los browsers más conocidos es necesario servir las páginas sobre una conexión segura, para lo cual, a su vez, necesitamos un certificado expedido por un CA (Certificate Authority). Por suerte para todos nosotros que no podemos pagar 100 dólares anuales por un certificado, Let's Encrypt es un CA y nos permite obtener un certificado de manera simple y gratuita.

Vamos a ver el paso a paso para tener el certificado instalado en nuestro server Ubuntu 16.04.

Usar nginx como reverse proxy (Y utilizar http 2)

Si sos curioso, habrás notado que este blog está usando el protocolo http2 para servir las páginas:

Para esto utilicé una configuración que es bastante popular: Nginx como reverse proxy comunicándose con el cliente y sirviendo el contenido estático, y delegando en Apache (que escucha en otro puerto) el contenido PHP.

Vamos a ver el paso a paso para dejar este stack andando en Ubuntu 16.04.