Rss

  • youtube
  • linkedin
  • google

Archives for : dovecot

Setting up an E-mail server

Tenho meu próprio servidor de e-mail utilizando ;Postfix, Dovecot, MariaDB, Spamassassin, ClamAV, Amavisd-new, Fail2ban, Nginx, Postfixadmin and Roundcube ;under CentOS 8.
Embora já tenha diversas receitas de como configurar este pacote, precisei de muitas horas para entender como manter o serviço rodando corretamente, cada configuração no main.cf and in the master.cf and in the end manage to reduce the flood of spam that arrives every instant.
E anti-spam é o foco desta publicação. Sofri e continuo sofrendo com as constantes tentativas de utilizarem meus serviços como um zumbi ou disseminador de vírus, fraud and everything else you can.

Perdi a conta de quantas vezes meu serviço de DNS parou por excesso de tentativas de conexão que entupiam a memória e forçava o S.O. a cortar processos para economizar recursos e o ;named ;was chosen for being the weakest link.
Então, este artigo tem foco na configuração adequada para serviços de email privado, de poucos usuários e poucos domínios. Certamente muito do que está neste pequeno manual serve para serviços mais parrudos, mas acredito que para estes casos o uso de ferramentas ou serviços dedicados e especializados deva ser sempre levado em consideração.

Então deixemos de lado o falatório para irmos direto ao ;mão na massa.

Instalação dos pacotes

O primeiro passo é instalar todo os pacotes que serão utilizados. Roundcube and Postfixadmin run under a PHP-supported webserver whose email accounts can be stored on a database server. Como Webserver eu utilizo o Nginx e embora prefira o PostgreSQL vou utilizar o MariaDB como SGBD devido ao fato de que a maioria já o utiliza (due to WordPress probably).

Então, ao final do processo de instalação, deveremos ter instalado alguns novos repositórios de pacotes.

Ative os repositórios de Extra Packages para a sua distribuição, caso ainda não o tenha feito. For CentOS 8 os comando abaixo fará isso.

$ sudo dnf install epel-release

Additionally, install the packages Curl, htop, I came, yum-utils, wget, NET-tools, chrony and certbot que serão necessários em outros pontos da configuração.

$ sudo dnf install -y curl htop vim yum-utils wget net-tools chrony certbot

Postfix

Postfix ;é um MTA (mail transfer agent). An MTA bridges the gap between the computers for the exchange of electronic mail messages. For our case, é o elemento principal.

A versão do Postfix que utilizarei neste documento é a 3.3. Para saber qual a versão que será instalada digite:

$ sudo dnf info postfix

To install run the command

$ sudo dnf install -y postfix postfix-mysql postfix-pcre

Vamos deixar o serviço parado por enquanto mas já configurado para iniciar junto com o Sistema Operacional.

$ sudo systemctl enable postfix

Dovecot

Dovecot ;é um Servidor de Email Imap e Pop3. Com ele que poderemos enviar e receber as mensagens via Postfix e entre outras coisas controlar o acesso ao serviço via autenticação.
To install Dovecot with mysql support just run the command:

$ sudo dnf install -y dovecot dovecot-mysql

Once again, vamos ativar o serviço porém deixá-lo parado.

$ sudo systemctl enable dovecot

Amavis

Amavis ;é um filtro de conteúdo para correio eletrônico. Com ele é possível filtrar mensagens nocivas usando configurações contra spam, vírus e outros malwares. Below the commands that install. Ele requer muitas dependencias que serão atualizadas e/ou instaladas junto. Uma dessas dependencias é o ;SpamAssassin ;que será configurado mais adiante, along with all the other packages we're installing.

Primeiro certifique-se de que o repositorio PowerTools está habilitado, pois é a partir dele que instalaremos o Amavisd-New.

$ sudo dnf config-manager --set-enabled powertools

Em seguida instalamos o Amavis e algumas dependencias sendo uma delas o ;ClamAV ;que é um antivirus simples e bastante eficiente para os tipos mais comuns de ameaças e totalmente gratuito.

$ sudo dnf -y install amavisd-new clamd perl-Digest-SHA1 perl-IO-stringy

Again, vamos ativar os serviços para que sempre iniciem de forma automática, but for now leaving them standing.

$ sudo systemctl enable amavisd spamassassin

MariaDB (or MySQL)

Normally, quem usa WordPress já possui instalado e configurado o ;MariaDB ;or MySQL. If that's the case, can skip this step.

I prefer PostgreSQL, mas como a intenção deste documento é permitir que DevOps consigam ter seus proprios serviços e nem sempre dá pra ter varias instancias resolvi usar o MariaDB. In this way, If you need to add the WordPress, não precisará adicionar um SGBD adicional ou mesmo usar wrappers para que ele tenha suporte a PostgreSQL.

Não se preocupe com as configurações neste momento, pois as detalharei mais adiante em outra publicação. Continuando com a instalação devemos executar o comando:

$ sudo dnf install -y mariadb-server

e em seguida ativar o serviço para iniciar junto com o sistema

$ sudo systemctl enable mariadb

Webserver (Nginx + Php-Fpm)

The last elements to be installed are part of the Webserver. É possível que você já tenha um rodando como o Apache então esse ponto pode ser pulado. Se você está iniciando um novo servidor ou se não tem intimidade com a configuração do Apache e PHP, recomendo seguir as dicas dessa instalação.

Eu gosto muito do ;Nginx ;e vou usar em conjunto com o ;Php-Fpm.

$ sudo dnf install -y nginx php-fpm

Neste ponto já temos todos os arquivos necessários para inciar a configuração do Servidor de Email.

Sou muito preguiçoso

Não gosta de ficar digitando ou não está preocupado nos detalhes de cada item instalado. Your problems are over!

Você pode executar todos os comando deste documento com as linhas abaixo:

ATENÇÃO! Este script é apenas um arquivo com as linhas de comando. Eventualmente pode não funcionar corretamente dependendo das configurações do seu sistema.

$ sudo dnf update
$ sudo dnf install -y epel-release
$ sudo dnf config-manager --set-enabled powertools
$ sudo dnf -y install --enable-repo=epel-release,powertools curl htop vim yum-utils wget net-tools chrony certbot postfix dovecot amavisd-new clamd perl-Digest-SHA1 perl-IO-stringy mariadb-server ngixn php-fpm
$ sudo systemctl enable postfix mariadb spamassassin amavisd dovecot nginx php-fpm 

Com tudo instalado podemos iniciar as configurações. Comecemos pelo ;MariaDB.

Servidor de Email –; Part 4 ; Postfix 3

Part 1 ; Configure main.cf file

Esta é a quarta parte do processo de criação do servidor de Email em um CentOS 8 e a primeira parte da configuração do Postfix. If you came here by accident, melhor ler primeiro uma das publicações abaixo:

Part 1 ; Instalação dos Pacotes

Part 2 ; Configuração do MariaDB

Part 3 ; Configuração do Dovecot

O Postfix é a parte mais importante do nosso servidor de email. Ele será responsável por conversar com outros MTAs para que receba e envie as mensagens de correio eletrônico e para que ele possa ser contatado é necessário que ele seja identificável através do nome do servidor ou o seu hostname.



Continue Reading >>

Servidor de Email –; Part 3 ; Dovecot

Esta é a terceira parte do processo de criação do servidor de Email em um CentOS 8. If you came here by accident, melhor ler primeiro as publicações anteriores

Part 1 ; Instalação dos Pacotes

Part 2 ; Configurar MariaDB

O Dovecot é um MDA (Mail Delivery Agent) que é um agente que transporta as mensagens do Postfix para as caixas de mensagens virtuais. Nesta seção iremos configurar a instalação do Dovecot para forçar os usuários a usarem SSL quando eles se conectarem, in this way never sending passwords in plain text mode.

Eu sempre gosto de manter os arquivos originais de qualquer definição para caso eu acabar me perdendo durante as configurações. Eu posso dizer que esse passo não é necessário caso esteja fazendo esse tutorial integralmente, porém, se já tem uma configuração anterior e está apenas usando para melhorá-lo sugiro fortemente que faça copia de seus arquivos.

In our case, os arquivos de configuração estarão em /etc/dovecot/conf.d/. Podemos então fazer a cópia com o comando:



Continue Reading >>

Servidor de Email –; Part 2 ; MariaDB

Esta é a segunda parte do processo de criação do servidor de Email em um CentOS 8. If you came here by accident, melhor ler primeiro a publicação anterior sobre a Instalação dos Pacotes

Why use MariaDB/MySQL?

Antes de tudo devo deixar claro que prefiro usar o PostgreSQL em detrimento do MariaDB/MySQL por muitas razões, porém, há uma que pesa muito contra o uso do PostgreSQL em um servidor unificado com WordPress e serviços de E-mail que é o simples fato de que o WP não possui suporte nativo ao PostgreSQL. Você pode ter mais informações sobre esse assunto na documentação oficial do WordPress This link. Como estou me baseando em experiências pessoais para escrever este documento e também para pequenos serviços, estou usando o que há de mais comum e mais acessível. If the use of PostgreSQL is of your interest, você pode consultar este documento mais tarde onde mostrarei como migrar do MariaDB para o PostgreSQL.

Configuring MariaDB/MySQL

Supondo que você esteja seguindo os passos deste manual, você estará com uma instalação do MariaDB ainda não configurada. Caso já tenha uma instalação funcional, You can skip to the próximo passo.



Continue Reading >>

Servidor de Email –; Part 1 ; Instalações necessárias

Tenho meu próprio servidor de e-mail utilizando Postfix, Dovecot, MariaDB, SpamAssassin, ClamAV, Amavisd-new, fail2ban, nginx, postfixadmin and RoundCube under CentOS 7.
Embora já tenha diversas receitas de como configurar este pacote, precisei de muitas horas para entender como manter o serviço rodando corretamente, cada configuração no main.cf e no master.cf e no fim conseguir diminuir a enxurrada de spam que chega a cada instante.
E anti-spam é o foco desta publicação. Sofri e continuo sofrendo com as constantes tentativas de utilizarem meus serviços como um zumbi ou disseminador de vírus, fraud and everything else you can.

Perdi a conta de quantas vezes meu serviço de DNS parou por excesso de tentativas de conexão que entupiam a memória e forçava o S.O. cutting processes to conserve resources and the named was chosen for being the weakest link.
Então, este artigo tem foco na configuração adequada para serviços de email privado, de poucos usuários e poucos domínios. Certamente muito do que está neste pequeno manual serve para serviços mais parrudos, mas acredito que para estes casos o uso de ferramentas ou serviços dedicados e especializados deva ser sempre levado em consideração.



Continue Reading >>

Error when starting Amavisd-new

Há dois dias estou tentando instalar os softwares para meu novo servidor que abrigará este blog, my personal projects and my e-mail server.
I'm using as a base this HOWTO.

Tive muitos problemas na instalação e em especial um erro ao iniciar o Amavisd-new

Problem in Amavis::DKIM code: Can't locate Crypt/OpenSSL/RSA.pm in @INC

Googando I saw different ways to solve and no work. That's when I realized something silly, but that's making perfect sense. The packages mentioned, Perl-Mail-DKIM and perl-Crypt-OpenSSL-RSA., pointed to EL5 while the package Amavis pointed to EL6.
Checked that the DAG of rpmforge was using EL5 and correct for my Centos 6.3 was to use the DAG EL6. To correct this item and update packages, VOI-la. Everything worked beautifully.

Segue os passos para a correção

first import the key for the repository
rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
Then uninstall the current (use yum search rpmforge-release to find out the correct name of the package), baixe o arquivo RPM e o faça a instalação.

> yum remove rpmforge-release-0.5.2-2.el5.rf.x86_64
> wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
> rpm -i rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

O ultimo passo é sincronizar a distribuição, que fará com que os pacotes EL5 sejam substituídos por existentes em EL6.
> yum distribution-synchronization

From this point, se já houver feito a instalação dos pacotes todos anteriormente, eles já não devem apresentar mais esse erro.

I hope it helped you.

Useful links
http://wiki.centos.org/AdditionalResources/Repositories/RPMForge#head-f0c3ecee3dbb407e4eed79a56ec0ae92d1398e01