One place for hosting & domains

      Instalar

      Cómo instalar MongoDB desde los repositorios APT predeterminados de Ubuntu 20.04


      Introducción

      MongoDB es una base de datos de documentos gratuita y de código abierto utilizada comúnmente en las aplicaciones web modernas.

      En este tutorial, instalará MongoDB, administrará su servicio y, de forma opcional, habilitará el acceso remoto.

      Nota: Al momento de la publicación de este artículo, este tutorial instala la versión 3.6 de MongoDB, que es la versión disponible en los repositorios predeterminados de Ubuntu. Sin embargo, generalmente recomendamos instalar la versión más reciente de MongoDB, es decir, la versión 4.4 al momento de la publicación de este artículo. Si desea instalar la versión más reciente de MongoDB, le recomendamos que siga esta guía sobre Cómo instalar MongoDB en Ubuntu 20.04.

      Requisitos previos

      Para seguir este tutorial, necesitará lo siguiente:

      Paso 1: Instalar MongoDB

      En los repositorios oficiales de paquetes de Ubuntu se incluye MongoDB, lo que significa que podemos instalar los paquetes necesarios utilizando apt. Como se mencionó en la introducción, la versión disponible en los repositorios predeterminados no es la más reciente. Para instalar la versión más reciente de Mongo, siga este tutorial.

      Primero, actualice la lista de paquetes para tener la versión más reciente de listados de repositorios:

      A continuación, instale el propio paquete de MongoDB:

      Este comando le solicitará confirmar que quiere instalar el paquete mongodb y sus dependencias. Para hacerlo, presione Y y, luego, ENTER.

      Este comando instala varios paquetes que contienen una versión estable de MongoDB, junto con herramientas de administración útiles para el servidor de MongoDB. El servidor de la base de datos se inicia de forma automática tras la instalación.

      A continuación, comprobaremos que el servidor esté activo y funcione de forma correcta.

      Paso 2: Comprobar el servicio y la base de datos

      El proceso de instalación inició MongoDB de forma automática, pero verificaremos que el servicio se inicie y que la base de datos funcione.

      Primero, compruebe el estado del servicio:

      • sudo systemctl status mongodb

      Verá este resultado:

      Output

      ● mongodb.service - An object/document-oriented database Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2020-10-08 14:23:22 UTC; 49s ago Docs: man:mongod(1) Main PID: 2790 (mongod) Tasks: 23 (limit: 2344) Memory: 42.2M CGroup: /system.slice/mongodb.service └─2790 /usr/bin/mongod --unixSocketPrefix=/run/mongodb --config /etc/mongodb.conf

      Según este resultado, el servidor MongoDB está funcionando.

      Podemos verificar esto en profundidad estableciendo conexión con el servidor de la base de datos y ejecutando el siguiente comando de diagnóstico. Con esto se mostrarán la versión actual de la base de datos, la dirección y el puerto del servidor, y el resultado del comando status:

      • mongo --eval 'db.runCommand({ connectionStatus: 1 })'

      Output

      MongoDB shell version v3.6.8 connecting to: mongodb://127.0.0.1:27017 Implicit session: session { "id" : UUID("e3c1f2a1-a426-4366-b5f8-c8b8e7813135") } MongoDB server version: 3.6.8 { "authInfo" : { "authenticatedUsers" : [ ], "authenticatedUserRoles" : [ ] }, "ok" : 1 }

      Un valor de 1 para el campo ok en la respuesta indica que el servidor funciona correctamente.

      A continuación, veremos la forma de administrar la instancia del servidor.

      Paso 3: Gestionar el servicio de MongoDB

      El proceso de instalación descrito en el Paso 1 configura MongoDB como servicio de systemd, lo que significa que puede administrarlo utilizando comandos systemctl estándares, junto con todos los demás servicios de sistema en Ubuntu.

      Para verificar el estado del servicio, escriba lo siguiente:

      • sudo systemctl status mongodb

      Puede detener el servidor en cualquier momento escribiendo lo siguiente:

      • sudo systemctl stop mongodb

      Para iniciar el servidor cuando esté detenido, escriba lo siguiente:

      • sudo systemctl start mongodb

      También puede reiniciar el servidor con el siguiente comando:

      • sudo systemctl restart mongodb

      Por defecto, MongoDB se configura para iniciarse de forma automática con el servidor. Si desea desactivar el inicio automático, escriba lo siguiente:

      • sudo systemctl disable mongodb

      Puede volver a habilitar el inicio automático en cualquier momento con el siguiente comando:

      • sudo systemctl enable mongodb

      A continuación, ajustaremos la configuración del firewall para nuestra instalación MongoDB.

      Paso 4: Ajustar el firewall (opcional)

      Suponiendo que siguió las instrucciones del tutorial de configuración inicial para servidores para habilitar el firewall en su servidor, no será posible acceder al servidor de MongoDB desde Internet.

      Si tiene intención de usar el servidor de MongoDB solo a nivel local con aplicaciones que se ejecuten en el mismo servidor, este es el ajuste recomendado y seguro. Sin embargo, si desea poder conectarse con su servidor MongoDB desde Internet, deberá permitir las conexiones entrantes añadiendo una regla UFW.

      Para permitir el acceso a MongoDB en su puerto predeterminado 27017 desde cualquier parte, podría ejecutar sudo ufw allow 27017. Sin embargo, permitir el acceso a Internet al servidor de MongoDB en una instalación predeterminada proporciona acceso ilimitado al servidor de la base de datos y a sus datos.

      En la mayoría de los casos, solo se debe acceder a MongoDB desde determinadas ubicaciones de confianza, como otro servidor que aloje una aplicación. Para permitir solo el acceso al puerto predeterminado de MongoDB mediante otro servidor de confianza, puede especificar la dirección IP del servidor remoto en el comando ufw. De esta manera, solo se permitirá que esa máquina se conecte de forma explícita:

      • sudo ufw allow from trusted_server_ip/32 to any port 27017

      Puede verificar el cambio en los ajustes del firewall con ufw:

      Debería ver la habilitación del tráfico hacia el puerto 27017 en el resultado. Tenga en cuenta que si decidió permitir que solo una dirección IP determinada se conecte con el servidor de MongoDB, en el resultado de este comando se enumerará la dirección IP de la ubicación autorizada en lugar de Anywhere.

      Output

      Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 27017 ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) 27017 (v6) ALLOW Anywhere (v6)

      Puede encontrar ajustes de firewall más avanzados para restringir el acceso a servicios en Aspectos básicos de UFW: Reglas y comandos comunes de firewall.

      Aunque el puerto esté abierto, MongoDB seguirá escuchando solo en la dirección local 127.0.0.1. Para permitir conexiones remotas, agregue la dirección IP pública de su servidor al archivo mongodb.conf.

      Abra el archivo de configuración de MongoDB en su editor de texto preferido: Este comando de ejemplo utiliza nano:

      • sudo nano /etc/mongodb.conf

      Agregue la dirección IP de su servidor de MongoDB al valor bindIP: Asegúrese de colocar una coma entre la dirección IP existente y la que agregó.

      /etc/mongodb.conf

      ...
      logappend=true
      
      bind_ip = 127.0.0.1,your_server_ip
      #port = 27017
      
      ...
      

      Guarde el archivo y salga del editor. Si utilizó nano para editar el archivo, hágalo pulsando CTRL + X, Y y, luego, ENTER.

      Luego, reinicie el servicio de MongoDB:

      • sudo systemctl restart mongodb

      MongoDB ahora recibirá conexiones remotas, pero cualquiera podrá acceder a él. Siga el tutorial Cómo instalar y proteger MongoDB en Ubuntu 20.04 para agregar un usuario administrativo y ampliar el bloqueo.

      Conclusión

      Puede encontrar tutoriales más detallados sobre cómo configurar y utilizar MongoDB en estos artículos de la comunidad de DigitalOcean. La documentación oficial de MongoDB también es un gran recurso en el que se abordan las posibilidades que ofrece MongoDB.



      Source link

      Como instalar o MongoDB a partir dos repositórios APT padrão no Ubuntu 20.04


      Introdução

      O MongoDB é um banco de dados de documento NoSQL de código aberto e gratuito usado habitualmente em aplicativos Web modernos.

      Neste tutorial, você irá instalar o MongoDB, gerenciar seus serviços e, de maneira opcional, habilitar o acesso remoto.

      Nota: no momento em que este artigo está sendo escrito, este tutorial instala a versão 3.6 do MongoDB, que é a versão disponível nos repositórios padrão do Ubuntu. No entanto, geralmente recomendamos a instalação da versão mais recente do MongoDB — versão 4.4 no momento em que este artigo está sendo escrito — ao invés disso. Se quiser instalar a versão mais recente do MongoDB, encorajamos que siga este guia sobre Como instalar o MongoDB no Ubuntu 20.04 da origem.

      Pré-requisitos

      Para seguir este tutorial, será necessário:

      Passo 1 — Como instalar o MongoDB

      Os repositórios de pacotes oficiais do Ubuntu incluem o MongoDB, ou seja, podemos instalar os pacotes necessários utilizando o apt. Como mencionado na introdução, a versão disponível dos repositórios padrão não é a mais recente. Para instalar a versão mais recente do Mongo, siga este tutorial.

      Primeiramente, atualize a lista de pacotes para ter a versão mais recente dos registros:

      Agora, instale o pacote MongoDB:

      Esse comando solicitará que você confirme se deseja instalar o pacote mongodb e suas dependências. Para fazer isso, pressione Y e então ENTER.

      Esse comando instala vários pacotes que contêm uma versão estável do MongoDB, junto com ferramentas de gerenciamento úteis para o servidor MongoDB. O servidor de banco de dados é iniciado automaticamente após a instalação.

      Em seguida, vamos verificar se o servidor está funcionando corretamente.

      Passo 2 — Como verificar o serviço e o banco de dados

      O processo de instalação iniciou o MongoDB automaticamente, mas vamos verificar se o serviço está iniciado e que o banco de dados está funcionando.

      Primeiramente, verifique o estado do serviço:

      • sudo systemctl status mongodb

      Você verá este resultado:

      Output

      ● mongodb.service - An object/document-oriented database Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2020-10-08 14:23:22 UTC; 49s ago Docs: man:mongod(1) Main PID: 2790 (mongod) Tasks: 23 (limit: 2344) Memory: 42.2M CGroup: /system.slice/mongodb.service └─2790 /usr/bin/mongod --unixSocketPrefix=/run/mongodb --config /etc/mongodb.conf

      De acordo com esse resultado, o servidor MongoDB está em funcionamento.

      Podemos verificar isso mais adiante ao nos conectarmos ao servidor de banco de dados e executarmos um comando de diagnóstico. Isso mostrará a versão atual do banco de dados, o endereço e a porta do servidor, e o resultado do comando de estado:

      • mongo --eval 'db.runCommand({ connectionStatus: 1 })'

      Output

      MongoDB shell version v3.6.8 connecting to: mongodb://127.0.0.1:27017 Implicit session: session { "id" : UUID("e3c1f2a1-a426-4366-b5f8-c8b8e7813135") } MongoDB server version: 3.6.8 { "authInfo" : { "authenticatedUsers" : [ ], "authenticatedUserRoles" : [ ] }, "ok" : 1 }

      Um valor de 1 para o campo ok na resposta indica que o servidor está funcionando corretamente.

      Em seguida, vamos ver como gerenciar a instância do servidor.

      Passo 3 — Como gerenciar o serviço MongoDB

      O processo de instalação mostrado no Passo 1 configura o MongoDB como um serviço systemd, ou seja, você pode gerenciá-lo usando comandos systemctl padrão junto com todos os outros serviços de sistema no Ubuntu.

      Para verificar o estado do serviço, digite:

      • sudo systemctl status mongodb

      Para interromper o servidor a qualquer momento, digite:

      • sudo systemctl stop mongodb

      Para iniciar o servidor quando ele for parado, digite:

      • sudo systemctl start mongodb

      Você também pode reiniciar o servidor com o comando a seguir:

      • sudo systemctl restart mongodb

      Por padrão, o MongoDB está configurado para iniciar automaticamente com o servidor. Se quiser desativar o inicializador automático, digite:

      • sudo systemctl disable mongodb

      Você pode habilitar novamente a inicialização automática a qualquer momento com o seguinte comando:

      • sudo systemctl enable mongodb

      Em seguida, vamos ajustar as configurações de firewall para nossa instalação do MongoDB.

      Passo 4 — Como ajustar o Firewall (opcional)

      Considerando que você seguiu todas as instruções do tutorial de configuração inicial do servidor para habilitar o firewall no seu servidor, então o servidor MongoDB estará inacessível pela internet.

      Se quiser usar o servidor MongoDB apenas localmente com aplicativos funcionando no mesmo servidor, esta é a configuração recomendada e segura. Entretanto, se quiser poder se conectar ao seu servidor MongoDB pela internet, será necessário permitir as conexões de entrada adicionando uma regra UFW.

      Para permitir o acesso ao MongoDB em sua porta padrão 27017 de todos os lugares, utilize o comando sudo ufw allow 27017. Entretanto, habilitar o acesso à internet ao servidor MongoDB em uma instalação padrão dá a qualquer um acesso ilimitado ao servidor de banco de dados e seus dados.

      Na maioria dos casos, o MongoDB deve ser acessado apenas por certos locais confiáveis, como outro servidor que hospeda um aplicativo. Para permitir o acesso à porta padrão do MongoDB apenas por outro servidor confiável, especifique o endereço IP do servidor remoto no comando ufw. Dessa forma, apenas essa máquina será explicitamente autorizada a se conectar:

      • sudo ufw allow from trusted_server_ip/32 to any port 27017

      Verifique a mudança nas configurações do firewall com o ufw:

      Você deve ver o tráfego permitido para a porta 27017 no resultado. Se tiver decidido permitir que apenas um certo endereço IP se conecte ao servidor MongoDB, o endereço IP do local permitido estará listado ao invés de Anywhere no resultado do comando:

      Output

      Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 27017 ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) 27017 (v6) ALLOW Anywhere (v6)

      Você pode encontrar configurações de firewall mais avançadas para restringir o acesso a serviços em Essenciais do UFW: regras e comandos comuns do firewall.

      Embora a porta esteja aberta, o MongoDB estará escutando apenas no endereço local 127.0.0.1. Para permitir conexões remotas, adicione o endereço IP roteável publicamente do seu servidor ao arquivo mongodb.conf.

      Abra o arquivo de configuração do MongoDB em seu editor de texto preferido. Este comando de exemplo usa o nano:

      • sudo nano /etc/mongodb.conf

      Adicione o endereço IP do seu servidor MongoDB ao valor bindIP. Certifique-se de colocar uma vírgula entre o endereço IP existente e o que você adicionou:

      /etc/mongodb.conf

      ...
      logappend=true
      
      bind_ip = 127.0.0.1,your_server_ip
      #port = 27017
      
      ...
      

      Salve o arquivo e saia do editor. Se você usou o nano para editar o arquivo, faça isso pressionando CTRL + X, Y, depois ENTER.

      Em seguida, reinicie o serviço MongoDB:

      • sudo systemctl restart mongodb

      O MongoDB agora está escutando conexões remotas, mas qualquer um pode acessá-lo. Siga Como proteger o MongoDB no Ubuntu 20.04 para adicionar um usuário administrativo e bloquear as coisas mais adiante.

      Conclusão

      Encontre tutoriais mais aprofundados sobre como configurar e usar o MongoDB nestes artigos da comunidade DigitalOcean. A documentação oficial do MongoDB também é um ótimo recurso sobre as possibilidades que o MongoDB proporciona.



      Source link

      Cómo instalar y configurar Postfix como servidor SMTP solo de envío en Ubuntu 20.04


      El autor seleccionó Free and Open Source Fund para recibir una donación como parte del programa Write for DOnations.

      Introducción

      Postfix es un agente de transferencia de correo (MTA), una aplicación que se utiliza para enviar y recibir correos electrónicos. Se puede configurar para que solo se pueda utilizar para enviar correos electrónicos mediante una aplicación local.  Esto es útil en situaciones en las que necesita enviar notificaciones por correo electrónico de sus aplicaciones de forma regular o, simplemente, si tiene mucho tráfico saliente que un proveedor de servicios de correo electrónico externo no permite. También es una alternativa más ligera a la ejecución de un servidor SMTP completo que mantiene la funcionalidad necesaria.

      En este tutorial, instalará y configurará Postfix como servidor SMTP de solo envío. También solicitará certificados TLS gratuitos de Let´s Encrypt para su dominio y cifrará los correos electrónicos salientes con ellos.

      Requisitos previos

      • Un servidor de Ubuntu 20.04 configurado conforme a la Configuración inicial de servidores para Ubuntu 20.04, con un usuario no root.
      • Un nombre de dominio registrado por completo. Para este tutorial, se utilizará your_domain en todo momento. Puede adquirir un nombre de dominio en Namecheap, obtener uno gratuito en Freenom o utilizar un registrador de dominios que elija.
      • Un registro DNS A con your_domain orientado a la dirección IP pública de su servidor. Puede utilizar esta introducción al DNS de DigitalOcean para obtener más información sobre cómo agregarlos.

      Nota: El nombre de host de su servidor y el nombre de su Droplet deben coincidir con your_domain, dado que DigitalOcean establece registros de PTR automáticamente para la dirección IP del Droplet de acuerdo con su nombre.

      Puede verificar el nombre de host del servidor al escribir hostname en el símbolo del sistema. El resultado debe coincidir con el nombre que le dio al Droplet al crearlo.

      Paso 1: Instalar Postfix

      En este paso, instalará Postfix. Lo más rápido es instalar el paquete mailutils, que agrupa Postfix con algunos programas complementarios que usará para probar el envío de correos electrónicos.

      Primero, actualice la base de datos del paquete:

      A continuación, instale Postfix al ejecutar el siguiente comando:

      • sudo apt install mailutils

      Cerca del final del proceso de instalación, se le presentará la ventana de configuración de Postfix:

      Seleccione Internet Site en el menú y, luego, presione TAB para seleccionar<Ok>y, luego, presione ENTER.

      La opción predeterminada es Internet Site. Es la opción recomendada para su caso de uso, por lo tanto, presione TAB y, luego, ENTER. Si solo ve el texto de la descripción, presione TAB para seleccionar OK y, luego, ENTER.

      Si no se muestra automáticamente, ejecute el siguiente comando para iniciarlo:

      • sudo dpkg-reconfigure postfix

      Luego, recibirá otro mensaje de configuración con respecto a System mail name (el nombre de correo del sistema):

      Ingrese su nombre de dominio y, luego, presione TAB para seleccionar<Ok>y, luego, ENTER.

      El nombre de correo del sistema debe ser el mismo que el que asignó a su servidor al crearlo. Cuando termine, presione TAB y, luego, ENTER.

      Ahora, tiene Postfix instalado y está listo para comenzar a configurarlo.

      Paso 2: Configurar Postfix

      En este paso, configurará Postfix para enviar y recibir correos electrónicos únicamente del servidor en el que se está ejecutando; es decir, desde localhost.

      Para que eso suceda, debe configurar Postfix para que escuche únicamente en la interfaz de loopback, que es la interfaz de red virtual que utiliza el servidor para comunicarse internamente. Para realizar los cambios necesarios, deberá editar el archivo de configuración principal de Postfix, denominado main.cf, que se encuentra en etc/postfix.

      Ábralo para modificarlo con su editor de texto favorito:

      • sudo nano /etc/postfix/main.cf

      Busque las siguientes líneas:

      /etc/postfix/main.cf

      . . .
      mailbox_size_limit = 0
      recipient_delimiter = +
      inet_interfaces = all
      . . .
      

      Establezca el valor de inet_interfaces en loopback-only:

      /etc/postfix/main.cf

      . . .
      mailbox_size_limit = 0
      recipient_delimiter = +
      inet_interfaces = loopback-only
      . . .
      

      Otra directiva que deberá modificar es mydestination, que especifica la lista de dominios que se entregan a través del transporte de entrega de correo local_transport. Por defecto, los valores son similares a los siguientes:

      /etc/postfix/main.cf

      . . .
      mydestination = $myhostname, your_domain, localhost.com, , localhost
      . . .
      

      Cambie la línea para que tenga el siguiente aspecto:

      /etc/postfix/main.cf

      . . .
      mydestination = localhost.$mydomain, localhost, $myhostname
      . . .
      

      Si su dominio, en realidad, es un subdominio y desea que los mensajes de correo electrónico se vean como si se enviaran del dominio principal, puede añadir la siguiente línea al final de main.cf:

      /etc/postfix/main.cf

      ...
      masquerade_domains = your_main_domain
      

      La configuración opcional de masquerade_domains especifica para qué dominios se eliminará la parte de subdominio en la dirección de correo electrónico.

      Cuando termine, guarde y cierre el archivo.

      Nota: Si aloja varios dominios en un único servidor, los demás también se pueden pasar a Postfix al utilizar la directiva mydestination.

      A continuación, reinicie Postfix al ejecutar el siguiente comando:

      • sudo systemctl restart postfix

      Configuró Postfix para que solo envíe correos electrónicos desde su servidor. Ahora, lo probará al enviar un mensaje de ejemplo a una dirección de correo electrónico.

      Paso 3: Probar el servidor SMTP

      En este paso, probará si Postfix puede enviar correos electrónicos a una cuenta de correo electrónico externa usando el comando mail, que es parte del paquete mailutils que instaló en el primer paso.

      Para enviar un correo electrónico de prueba, ejecute el siguiente comando:

      • echo "This is the body of the email" | mail -s "This is the subject line" your_email_address

      Puede cambiar el cuerpo y el asunto del correo electrónico a su gusto. Recuerde sustituir your_email_address por una dirección de correo electrónico válida a la que pueda acceder.

      Ahora, revise el correo en la dirección de correo electrónico a la que envió este mensaje. Debería ver el mensaje en su bandeja de entrada. Si no lo ve, revise su carpeta de correo no deseado. En este punto, los correos electrónicos que envía no están cifrados, lo que hace que los proveedores de servicios piensen que es probable que sean correos no deseados.  Configurará el cifrado más adelante, en el paso 5.

      Si recibe un error del comando mail, o si no recibió un mensaje después de un período prolongado, compruebe que la configuración de Postfix que modificó sea válida y que el nombre de su servidor y el nombre de host estén establecidos con el nombre de su dominio.

      Observe que, con esta configuración, la dirección del campo From de los correos electrónicos de prueba que envíe tendrá el formato your_user_name@your_domain​​, en el que your_user_name es el nombre del usuario del servidor con el que ejecutó el comando.

      En este punto, envió un correo electrónico desde su servidor y verificó que se haya recibido correctamente. En el siguiente paso, configurará el reenvío de correos electrónicos para root.

      Paso 4: Reenviar correos del sistema

      En este paso, configurará el reenvío de correos electrónicos para el usuario root, a fin de que los mensajes generados por el sistema que se le envíen en su servidor se reenvíen a una dirección de correo electrónico externa.

      El archivo /etc/aliases contiene una lista de nombres alternativos de destinatarios de correo electrónico. Ábralo​​​ para editarlo:

      En su estado predeterminado, tiene el siguiente aspecto:

      /etc/aliases

      # See man 5 aliases for format
      postmaster:    root
      

      La única directiva presente especifica que los correos electrónicos generados por el sistema se envíen a root.

      Añada la siguiente línea al final del archivo:

      /etc/aliases

      ...
      root:          your_email_address
      

      Con esta línea, especifica que los correos electrónicos enviados al usuario root se reenvíen a una dirección de correo electrónico específica. Recuerde sustituir your_email_address por su dirección de correo electrónico personal. Cuando termine, guarde y cierre el archivo.

      Para que el cambio surta efecto, ejecute el siguiente comando:

      Al ejecutar newaliases, se creará una base de datos de alias que utiliza el comando mail, que se toman del archivo de configuración que acaba de editar.

      Compruebe que se envíen correos electrónicos al usuario root al ejecutar lo siguiente:

      • echo "This is the body of the email" | mail -s "This is the subject line" root

      Debería recibir el correo en su dirección de correo electrónico. Si no lo ve, revise su carpeta de correo no deseado.

      En este paso, configuró el reenvío de mensajes generados por el sistema a su dirección de correo electrónico. Ahora, habilitará el cifrado de mensajes para que todos los correos electrónicos que envíe su servidor estén protegidos contra alteraciones en tránsito y se consideren más legítimos.

      Paso 5: Habilitar el cifrado SMTP

      Ahora, habilitará el cifrado SMTP al solicitar un certificado TLS gratuito de Let´s Encrypt para su dominio (con Certbot) y configurará Postfix para que lo utilice al enviar mensajes.

      Ubuntu incluye Certbot en sus repositorios de paquetes predeterminados, para que pueda instalarlo ejecutando el siguiente comando:

      Cuando se le pida confirmación, escriba Y y presione ENTER.

      En los requisitos previos, instaló el firewall sencillo ufw como parte de la configuración inicial del servidor. Deberá configurarlo para que habilite el puerto HTTP 80 para que se pueda completar la verificación de dominios. Ejecute el siguiente comando para habilitarlo:

      El resultado tendrá el siguiente aspecto:

      Output

      Rule added Rule added (v6)

      Ahora que el puerto está abierto, ejecute Certbot para obtener un certificado:

      • sudo certbot certonly --standalone --rsa-key-size 4096 --agree-tos --preferred-challenges http -d your_domain

      Este comando le ordena a Certbot que emita certificados con un tamaño de clave RSA de 4096 bits, que ejecute un servidor web autónomo temporal (--standalone) para la verificación y que revise a través del puerto 80 (--preferred-challenges http). Recuerde sustituir your_domain por su dominio antes de ejecutar el comando e ingrese su dirección de correo electrónico cuando se le solicite hacerlo.

      El resultado tendrá un aspecto similar a este:

      Output

      Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator standalone, Installer None Obtaining a new certificate Performing the following challenges: http-01 challenge for `your_domain` Waiting for verification... Cleaning up challenges IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/your_domain/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/your_domain/privkey.pem Your cert will expire on 2020-07-11. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run "certbot renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le

      Como se indica en las notas, su certificado y su archivo de clave privada se guardaron en /etc/letsencrypt/live/your_domain.

      Ahora que tiene su certificado, abra main.cf para editarlo:

      • sudo nano /etc/postfix/main.cf

      Busque la siguiente sección:

      /etc/postfix/main.cf

      # TLS parameters
      smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
      smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
      smtpd_tls_security_level=may
      
      smtp_tls_CApath=/etc/ssl/certs
      smtp_tls_security_level=may
      smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
      

      Modifíquela para que tenga este aspecto, sustituyendo your_domain por su dominio cuando sea necesario. Esto actualizará sus ajustes TLS para Postfix:

      /etc/postfix/main.cf

      # TLS parameters
      smtpd_tls_cert_file=/etc/letsencrypt/live/your_domain/fullchain.pem
      smtpd_tls_key_file=/etc/letsencrypt/live/your_domain/privkey.pem
      smtpd_tls_security_level=may
      
      smtp_tls_CApath=/etc/ssl/certs
      smtp_tls_security_level=may
      smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
      

      Cuando termine, guarde y cierre el archivo.

      Aplique los cambios al reiniciar Postfix:

      • sudo systemctl restart postfix

      Ahora, vuelva a probar enviar un correo electrónico:

      • echo "This is the body of an encrypted email" | mail -s "This is the subject line" your_email_address

      A continuación, revise el correo de la dirección de correo electrónico que proporcionó. Es posible que vea el mensaje en su bandeja de entrada de inmediato, porque es mucho más probable que los proveedores de correo electrónico clasifiquen los mensajes no cifrados como correo no deseado.

      Puede consultar la información técnica sobre el mensaje de correo electrónico en su cliente para ver que el mensaje, efectivamente, está cifrado.

      Conclusión

      Ahora, tiene un servidor de correo electrónico de solo envío de Postfix. Cifrar todos los mensajes salientes es un buen primer paso para que los proveedores de correo electrónico no clasifiquen sus mensajes directamente como correo no deseado. Si está haciendo esto en un escenario de desarrollo, esta medida debería ser suficiente.

      Sin embargo, si desea enviar correos electrónicos a posibles usuarios del sitio (por ejemplo, correos de confirmación para la inscripción a un tablero de mensajes), considere establecer registros SPF para que los correos electrónicos de su servidor tengan más probabilidades de considerarse legítimos.



      Source link