Cómo proteger a Apache con Let’s Encrypt en Ubuntu 16.04

Introducción

Este tutorial le mostrará cómo configurar un certificado TLS / SSL de Let’s Encrypt en un servidor Ubuntu 16.04 que ejecute Apache como un servidor web. También cubriremos cómo automatizar el proceso de renovación de certificados.

Los certificados SSL se utilizan en los servidores web para cifrar el tráfico entre el servidor y el cliente, proporcionando seguridad adicional a los usuarios que acceden a su aplicación. Let’s Encrypt proporciona una forma sencilla de obtener e instalar certificados de confianza de forma gratuita. Sigue leyendo

Cómo configurar SSL / TLS para MySQL en Ubuntu 16.04

Introducción

MySQL es el sistema de gestión de base de datos relacional de código abierto más popular del mundo. Los gestores de paquetes modernos han reducido algo de fricción para que MySQL funcione y se ejecute, pero todavía hay alguna configuración que debe hacerse después de la instalación. Una de las áreas más importantes para pasar algún tiempo extra es la seguridad.

De forma predeterminada, MySQL está configurado para aceptar sólo conexiones locales. Si necesita permitir conexiones remotas, es importante hacerlo de forma segura. En esta guía, vamos a demostrar cómo configurar MySQL en Ubuntu 16.04 para aceptar conexiones remotas con cifrado SSL / TLS. Sigue leyendo

Cómo crear un certificado SSL auto-firmado para Apache en Ubuntu 16.04

Introducción

TLS o seguridad de capa de transporte, y su predecesor SSL , que representa la capa de sockets seguros, son protocolos web usados ​​para envolver el tráfico normal en un contenedor protegido y encriptado.

Utilizando esta tecnología, los servidores pueden enviar tráfico de forma segura entre el servidor y los clientes sin la posibilidad de que los mensajes sean interceptados por terceros. El sistema de certificados también ayuda a los usuarios a verificar la identidad de los sitios con los que se conectan.

En esta guía, le mostraremos cómo configurar un certificado SSL autofirmado para su uso con un servidor web Apache en un servidor Ubuntu 16.04.

Nota: Un certificado autofirmado cifrará la comunicación entre su servidor y cualquier cliente. Sin embargo, debido a que no está firmado por ninguna de las autoridades de certificados de confianza incluidas en los exploradores web, los usuarios no pueden utilizar el certificado para validar la identidad de su servidor de forma automática.

Un certificado autofirmado puede ser apropiado si no tiene un nombre de dominio asociado con su servidor y para instancias en las que la interfaz web cifrada no es orientada al usuario. Si hacer tener un nombre de dominio, en muchos casos, es mejor utilizar un certificado firmado. Puede averiguar cómo configurar un certificado de confianza gratuito con el proyecto Let’s Encrypt aquí .

Sigue leyendo

Configurar Gmail en Outlook, en Apple Mail o en otros clientes de correo electrónico

Puedes descargarte mensajes de Gmail y verlos con otro programa (Microsoft Outlook, Apple Mail, Thunderbird, etc.) aunque no estés conectado a Internet. Este procedimiento se conoce como POP o IMAP, y es gratuito para todos los usuarios de Gmail.

Consejo: Te recomendamos que uses IMAP siempre que sea posible, pues te garantiza que puedas ver todo tu correo cuando quieras y en todos tus dispositivos. Si prefieres utilizar POP, lee las instrucciones para habilitar POP.

Paso 1: Habilita IMAP

Puedes recuperar tus mensajes de Gmail a través de un cliente o dispositivo que sea compatible con el acceso IMAP, como son Microsoft Outlook y Apple Mail.

Inicia sesión en Gmail.
Haz clic en el icono de la rueda dentada de la esquina superior derecha y selecciona Configuración.
Haz clic en Reenvío y correo POP/IMAP.
Selecciona Habilitar IMAP.
Haz clic en Guardar cambios.
Nota: Este ajuste no está disponible si tienes activada la vista básica en HTML de Gmail. Para habilitar IMAP, tienes que utilizar la vista estándar. Más información sobre la vista estándar y la vista básica en HTML

Paso 2: Configura tu cliente

Consulta la tabla siguiente para configurar tu cliente de correo.

Servidor de correo entrante (IMAP): imap.gmail.com

Requiere SSL: sí

Puerto: 993

Servidor de correo saliente (SMTP): smtp.gmail.com

Utilizar autenticación:

Puerto para SSL: 465 o 587

Utilizar la misma configuración que para el servidor de correo entrante

Nombre completo o Nombre para mostrar: [tu nombre]
Nombre de cuenta o Nombre de usuario: tu dirección de correo electrónico completa (incluido @gmail.com o @tudominio.com)
Dirección de correo electrónico: tu dirección de correo electrónico completa (incluido @gmail.com o @tudominio.com)
Contraseña: tu contraseña de Gmail

Inspeccionando la cola de correos sin entregar en Postfix

Por defecto se reintenta la entrega de los correos cada 5 minutos y se descartan (generando un correo de advertencia al remitente) si no ha podido hacerse transcurridos cinco días del envío. Podemos variar estos valores introduciendo los siguientes parámetros en el fichero de configuración principal (/etc/postfix/main.cf):

1
2
queue_run_delay = 600
maximal_queue_lifetime = 1d

Existen más parámetros relacionados con esta directiva en este enlace del manual de postfix.

Podemos inspeccionar la cola de postfix para ver que mensajes no ha podido entregar y la causa de ello en cualquier momento usando los comandos mailq o postqueue -p (ambos son equivalentes y proporcionan la misma salida aunque mailq es un comando mucho más flexible y potente con más opciones).


8A5E9E9225A 1708097 Mon Mar 7 22:40:01 a.hernandez@dominio.com.mx
(host dedrelay.securesvrfix.mx[208.109.80.210] refused to talk to me: 554 p3plsmtps2ded45.prod.phx3.securesvrfix.mx : HOSTING RELAY : d9OoamSM5zzCi : DED : You've rea
ched your daily relay quota - 209.109.80.210)
alatorre.c@dominio2.com
d.molina@grupomaas.com.mx8B012E9266E 67309 Mon Mar 7 17:55:15 a.hernandez@dominio.com.mx
(host dedrelay.securesvrfix.mx[208.109.80.54] refused to talk to me: 554 p3plsmtpout045.prod.phx3.securesvrfix.mx: HOSTING RELAY : d9JyaxC4eLF21 : DED : You've reach
ed your daily relay quota - 208.109.80.210)
sfernandez@dominio2.com.mx

el identificador del mensaje que nos permite ver mucha más información acerca del mismo, su estado y su contenido usando el comando postcat -vq seguido de dicho identificador. Por ejemplo, para inspeccionar el primer mensaje de la cola de aquí arriba:

1
postcat -vq A3C3486137

También podemos decirle en cualquier momento a postfix que reprocese esos mensajes mediante los comandos postqueue -f o postfix flush. O podemos pedirle que reintente sólo uno de los mensajes de la cola usando el identificador que ya conocemos así:

1
postqueue -i A3C3486137

Por último, para eliminar todos los mensajes en espera de entrega que están en la cola podemos usar el siguiente comando:

1
postsuper -d ALL deferred

Ten en cuenta que, en este caso, los mensajes serán eliminados sin que el remitente reciba ningún tipo de notificación de que no ha podido realizarse la entrega.

El siguiente comando elimina de la cola de correos el mensaje especificado.

postsuper -d D8D24E923E4

How to Install and Configure vsftpd on Ubuntu 14.04 LTS

FTP (File Transfer Protocol) is probably the most popular method of uploading files to a server; a wide array of FTP servers, such as vsftpd, and clients exist for every platform.

Pre-Flight Check

  • These instructions are intended specifically for installing the vsfptd on Ubuntu 14.04 LTS.
  • I’ll be working from a Liquid Web Core Managed Ubuntu 14.04 LTS server, and I’ll be logged in as root.

 

Step 1: Install vsftpd

Warning: FTP data is insecure; traffic is not encrypted, and all transmissions are clear text (including usernames, passwords, commands, and data). Consider securing your FTP connection with SSL/TLS.

First, you’ll follow a simple best practice: ensuring the list of available packages is up to date before installing anything new.

apt-get update

Then let’s install vsftpd and any required packages:

apt-get -y install vsftpd

Step 2: Configure vsftpd

For a refresher on editing files with vim see: New User Tutorial: Overview of the Vim Text Editor

Let’s edit the configuration file for vsftpd:

vim /etc/vsftpd.conf

Disallow anonymous, unidentified users to access files via FTP; change the anonymous_enable setting to NO:

anonymous_enable=NO

Allow local uses to login by changing the local_enable setting to YES:

local_enable=YES

If you want local user to be able to write to a directory, then change the write_enable setting to YES:

write_enable=YES

Local users will be ‘chroot jailed’ and they will be denied access to any other part of the server; change the chroot_local_user setting to YES:

chroot_local_user=YES

Exit and save the file with the command :wq.

Restart the vsftpd service:

service vsftpd restart

Step 3: Configure the User’s Home Directory

With certain version of vsftpd you may receive the following error: 500 OOPS: vsftpd: refusing to run with writable root inside chroot().

Not to worry! Create a new directory for the user receiving the error (user2 in this case) that is a subdirectory of their home directory (/home/user2). For example:

Fix permissions for user2‘s home directory:

chmod a-w /home/user2/

Make a new directory for uploading files:

mkdir /home/user2/files
chown user2:user2 /home/user2/files/

Activar SSL en Apache2 (Ubuntu 10.04)

# Instalamos Apache
sudo aptitude install apache2

# Habilitamos el módulo SSL
sudo a2enmod ssl

# Habilitamos la configuración SSL por default

sudo a2ensite default-ssl

# Reiniciamos el servidor
sudo /etc/init.d/apache2 restart

Ya con esto queda habilitado, puedes probarlo entrando al localhost con https://127.0.0.1
Para crear  nuestro certificado, debemos seguir los siguientes pasos

# Creamos las llaves

cd /etc/apache2

sudo openssl genrsa -des3 -out server.key 1024

# Creamos el certificado con la llave
sudo openssl req -new -key server.key -out server.csr

# Creamos nuestro certificado, contestando las preguntas que nos indique recordando la contraseña


sudo openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

#Cambiamos de carpeta la llave y certificado

sudo cp server.crt /etc/ssl/certs/
sudo cp server.key /etc/ssl/private/

# Abrimos el archivo de configuracion default-ssl

cd /etc/apache2/sites-available
sudo vim default-ssl

# reemplazamos y habilitamos la siguiente configuracion
SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key

# habilitamos el archivo

sudo a2ensite default-ssl

# Reiniciamos apache y listo!!
sudo /etc/init.d/apache2 restart