Arquivo da tag: postfix

Tutorial Debian 8 x64 com ISPConfig e NginX: Firewall

Um servidor sem Firewall é como aguardar por um desastre anunciado, você sabe que vai acontecer e, como administrador de sistemas, tem que tomar providências para minimizar os estragos.

Durante algumas semanas deixei o meu site num servidor que a gente chama “honey pot“. Esse tipo de servidor é usado para, propositalmente, receber ataques e fazer log de tudo direcionando-os para determinados arquivos do sistema. Com essa técnica consegue-se filtrar e catalogar os tipos mais comuns de ataques, e as análises extraídas servem de base para melhorar as defesas do sistema.

Neste artigo Vamos acionar o Firewall do ISPConfig (Bastille Firewall), reconfigurar o Fail2Ban melhorando a detecção, ajustar o JailKit, acertar o NginX para mitigar ataques DDoS e, opcionalmente, instalar o Logwatch e desativar o modo recursivo do BIND.

Configurando o Firewall do Sistema

* Acesse o terminal SSH como superusuário root para executar os comando de instalação e configuração.

Acionando o Firewall do ISPConfig

No artigo anterior deste tutorial mostrei como adicionar as portas para o modo passivo do FTP ao firewall do ISPConfig, se você pulou aquele passo ou não prestou atenção, proceda da seguinte maneira:

Acesse: ISPConfig → Sistema → Firewall

Clique no botão “Adicionar Registro de Firewall” e confirme a tela que abrirá (se já havia adicionado o Firewall simplesmente abra a configuração existente), em seguida clique na linha de configuração e na caixa de “Portas TCP abertas” adicione “40110:40210” (portas para o FTP passivo) desta maneira:

20,21,22,25,53,80,110,143,443,587,993,995,3306,8080,8081,10000,40110:40210

* Pode-se parar o firewall do ISPConfig pelo console a qualquer momento digitando: /etc/init.d/bastille-firewall stop (isso pode ser útil caso queira testar se algum serviço externo não está conseguindo acessar o servidor por causa de alguma restrição de porta)

Reconfigurando o Fail2Ban e melhorando a detecção de ataques

Fail2Ban é a ferramenta responsável por detectar ataques ao servidor e automaticamente aplicar regras de ban. Alguns serviços básicos já estão configurados, mas vamos adicionar outros para minimizar riscos.

* Antes de adicionar os filtros abaixo ao Postfix, verifique se você tem um nome de servidor FQDN configurado, isso é muito importante para o correto funcionamento. Para uma melhor explicação veja o passo “Antes de começar” neste link.

2a ⇒ Edite o arquivo /etc/postfix/main.cf e altere/adicione as linhas abaixo:

#Próximo à Linha 57: Substitua a instrução "smtpd_recipient_restrictions" por esta abaixo (note que é uma linha única. e note também que no script novo de instalação há suporte a greylisting de emails e que o repositório padrão configurado para checagens é o zen.spamhaus.org. O SpamHaus é conhecido por cometer "enganos" com IPs legítimos, caso decida usar o serviço deles não precisa alterar a linha 57):

smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf, reject_unknown_recipient_domain, permit
 
#Próximo às linhas 66 e 67: Substitua as linhas com instruções "smtpd_sender_restrictions" e "smtpd_client_restrictions" pelo bloco de código abaixo:

#EDIT Out/2016: Ajuste das instruções para a nova versão do instalador do ISPConfig, mantido o bloco antigo somente para compatibilidade

smtpd_data_restrictions = reject_unauth_pipelining
smtpd_delay_reject = yes
smtpd_sender_restrictions = 
   permit_mynetworks,
   reject_non_fqdn_sender,
   reject_unknown_sender_domain,
   check_sender_access mysql:/etc/postfix/mysql-virtual_sender.cf,
   permit
smtpd_client_restrictions = 
   permit_mynetworks,
   permit_sasl_authenticated,
   reject_unknown_client_hostname,
   check_client_access mysql:/etc/postfix/mysql-virtual_client.cf,
   permit

#Para instalações a partir de Out/2016 use este bloco de código:
smtpd_data_restrictions = reject_unauth_pipelining
smtpd_delay_reject = yes
smtpd_sender_restrictions =
   permit_mynetworks,
   permit_sasl_authenticated,
   reject_non_fqdn_sender,
   reject_unknown_sender_domain,
   check_sender_access mysql:/etc/postfix/mysql-virtual_sender.cf,
   permit
smtpd_client_restrictions =
   permit_mynetworks,
   permit_sasl_authenticated,
   reject_unknown_client_hostname,
   check_client_access mysql:/etc/postfix/mysql-virtual_client.cf,
   permit

continuar lendo..

Gerenciamento de Servidores Cloud com atendimento e consultoria em português. Planos mensais com os melhores preços do mercado.
Envie um email para [email protected] e saiba mais!

PolicyD: Limitando o envio de emails pelo Postfix

PolicyD, também conhecido como Cluebringer, é uma ferramenta que permite limitar a quantidade de emails enviados pelo servidor através do Postfix. Neste tutorial mostrarei como instalar a última versão (policyD v2.1) no Linux Debian 7 e configurar o WebUI com NginX para gerenciar as regras.

Veremos também como limitar os emails enviados pelo Roundcube, e no final deste artigo poderemos, opcionalmente, modificar o Postfix para que não permita o envio de email por scripts PHP que não sejam através de contas cadastradas e verificadas (isso aumentará a segurança contra ataques hackers por code injection ou outras vulnerabilidades).

* Procurei documentaçöes durante semanas para conseguir escrever este artigo que ficará como referência, pois essa solução (completa) não existe em qualquer outro tutorial online. Em sites especializados fala-se que a grande falha do Cluebringer é não conseguir limitar o envio pelo Roundcube, vamos ao tutorial e irei provar que isso não é verdade.

Instalando e configurando a última versão do PolicyD para limitar o envio de emails

* Este tutorial foi testado em nosso servidor Debian 7 com ISPConfig 3 e Postfix, clique aqui e veja como instalar.

* Sempre faça backup/snapshot do servidor antes de instalar e configurar pacotes de aplicativos Linux, caso algo de errado aconteça você poderá restaurar o sistema.

Baixe e instale o Cluebringer (PolicyD)

Baixe a versão 2.1.x: Essa versão permite conexões IPv6 além de ter recursos extras. Acesse o console SSH como superusuário root e digite:

* Note que faremos a instalação manual do aplicativo pois essa versão não está disponível no repositório Debian. Note também que instalaremos o WebUI um web panel que facilitará o gerenciamento de regras.

> cd /root

> wget http://download.policyd.org/v2.1.x-201310261831/cluebringer_2.1.x~201310261831_all.deb

> wget http://download.policyd.org/v2.1.x-201310261831/cluebringer-webui_2.1.x~201310261831_all.deb

Desinstale a versão anterior caso tenha instalado: Se você seguiu outros tutoriais antes de encontrar este provavelmente tem a versão “postfix cluebringer” instalada, para removê-la:

> apt-get remove postfix-cluebringer postfix-cluebringer-mysql postfix-cluebringer-webui

Instale o PolicyD: Talvez seja necessário baixar algumas bibliotecas adicionais para suprir dependências dos pacotes, execute os comandos abaixo para resolvê-las e instalar:

> apt-get update
> apt-get install libconfig-inifiles-perl libcache-fastmmap-perl liblist-moreutils-perl

> dpkg -i cluebringer_2.1.x~201310261831_all.deb
> dpkg -i cluebringer-webui_2.1.x~201310261831_all.deb

Crie as tabelas no Banco de Dados: O instalador adicionou alguns arquivos ao sistema, acesse o diretório /usr/share/doc/cluebringer/database/ para configurar o MySQL:

D.1) Acesse o diretório, descompacte alguns dumps necessários e torne o conversor executável:

> cd /usr/share/doc/cluebringer/database/

> gunzip *.gz

> chmod 744 /usr/share/doc/cluebringer/database/convert-tsql

D.2) As instruções para criar as tabelas apresentam problema com InnoDB no MySQL, execute o conversor para corrigir isso (será criado um novo arquivo chamado policyd.sql):

> for i in core.tsql access_control.tsql quotas.tsql amavis.tsql checkhelo.tsql checkspf.tsql greylisting.tsql accounting.tsql; do ./convert-tsql mysql55 $i; done > policyd.sql

D.3) Ainda dentro do diretório database/ acesse o console do MySQL para criar as tabelas:

* Como exemplo criaremos a tabela com o nome policyd e com as credenciais (Usuário: policyd e Senha: y3Wj7r6X2WbZ)

> mysql -u root -p

* Será solicitado a senha admin do MySQL

mysql> CREATE DATABASE policyd;

mysql> CREATE USER 'policyd'@'localhost' IDENTIFIED BY 'y3Wj7r6X2WbZ';

mysql> GRANT ALL PRIVILEGES ON policyd.* TO 'policyd'@'localhost';

mysql> USE policyd;

mysql> \. policyd.sql

mysql> quit

continuar lendo..

Gerenciamento de Servidores Cloud com atendimento e consultoria em português. Planos mensais com os melhores preços do mercado.
Envie um email para [email protected] e saiba mais!

Servidor de Email: Desativando o certificado SSL para autenticação das contas

Quando instalamos o servidor de email configuramos o Postfix com um certificado SSL livre que permite o envio de mensagens SMTP criptografadas pela porta 587 (TLS)  do servidor. O certificado instalado, por ser genérico, faz com que apareça uma mensagem ao configurar o cliente de email dizendo que o certificado não é confiável ou válido.

Para algumas pessoas, como é o meu caso, isso não faz muita diferença pois não uso clientes de email de desktop. Eu configuro meus envios e recebimentos do servidor pelo Gmail que considero a melhor opção para gerenciar contas. Mas para empresas que revendem sites e hospedagem o erro de certificado é inconveniente para os clientes, que quase sempre usam o Microsoft Outlook Express.

Neste tutorial mostrarei como desativar o modo obrigatório de criptografia para envios pela porta 587, e explicarei como configurar alguns dos clientes de email mais populares.

No Microsoft Outlook o erro apresentado geralmente é este: The server you are connected to is using a security certificate that cannot be verified ou este: O certificado de segurança foi emitido por uma empresa na qual você não escolheu confiar.

Configurando o Postfix e os clientes de email

* Este tutorial foi testado em nosso servidor Debian 7 com ISPConfig 3 e Postfix, clique aqui e veja como instalar.

Desative a criptografia TLS obrigatória para envios SMTP pela porta 587

Acesse o servidor com o usuário root e edite o arquivo /etc/postfix/master.cf. Em seguida modifique conforme abaixo:

# Altere a partir da linha 16 substituindo este código:

submission inet n - - - - smtpd
 -o syslog_name=postfix/submission
 -o smtpd_tls_security_level=encrypt
 -o smtpd_sasl_auth_enable=yes
 -o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING


# Por este outro:

submission inet n - - - - smtpd
 -o syslog_name=postfix/submission
 -o smtpd_enforce_tls=no
 -o smtpd_tls_security_level=may
 -o smtpd_tls_auth_only=no
 -o smtpd_sasl_auth_enable=yes
 -o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING

continuar lendo..

Gerenciamento de Servidores Cloud com atendimento e consultoria em português. Planos mensais com os melhores preços do mercado.
Envie um email para [email protected] e saiba mais!

Elastic Email: Conta gratuita permite enviar até 25 mil emails por mês

Em mais esta alternativa de SMTP Relay mostrarei como configurar o Elastic Email que permite o envio de até 25 mil emails mensais, sem limite de envios diários, na conta gratuita. Das empresas que selecionei essa é a que oferece a maior quantidade de envios na versão free.

Uma das grandes vantagens de se usar SMTP Relay externo é a garantia da entrega dos emails na caixa de entrada. Em nossos tutoriais anteriores mostramos como adicionar regras de firewall e tentar garantir que hackers não usem nosso servidor com técnicas de spoofing e backscatter, que “sujam” o IP do VPS adicionando-o em blacklists. Mas mesmo assim, digamos que você tenha uma revenda de hospedagem e um dos seus clientes seja spammer, isso também irá prejudicar o seu IP. Spammers buscam hospedagens que não tenham muito controle nas contas porque as grandes empresas limitam o envio.

Escreverei este tutorial de maneira muito parecida com o anterior e optando por SMTP Relay seletivo, podendo ser usado para somente algumas contas de um domínio ou domínios inteiros.

SMTP Relay com Elastic Email e Postfix

* Este tutorial foi testado em nosso servidor Debian 7 com ISPConfig 3 e Postfix, clique aqui e veja como instalar. Consideraremos que a sua tabela DNS de domínio já esteja configurada e devidamente propagada.

Crie uma conta gratuita no Elastic Email e configure o domínio

Crie uma conta: Clique neste link para cadastrar-se: https://elasticemail.com/account#/create-account

» Email: <– [email protected] (o email que irá gerenciar a conta)

» Confirm Email: <– [email protected] (confirme o email)

» Password: <– digite uma senha e confirme no próximo campo

» Account Type: <– Transactional (Marketing é um tipo de conta para emails de campanha, e Transactional são emails de contato, suporte, etc.. *Você poderá alterar isso a qualquer momento no painel)

» Marque a opção “I have read and agree to the Terms of Use” e clique em “Create“. *Será enviado um email de confirmação para habilitar a conta.

Adicione um domínio: Selecione a opção “Settings” no menu e clique no botão “Adicionar Domínio“. Digite o nome do seu domínio sem o “www” e clique em “Salvar“. Após salvar teremos que verificar o domínio.

Adicione os registros DNS do domínio: Isso é necessário, se não fizermos este passo a conta não enviará emails. Abra sua tabela DNS para editar os registros, na DigitalOcean o link é: https://cloud.digitalocean.com/domains/seudominio.com.br

* Se tiver dúvidas ao adicionar os registros abaixo consulte a documentação oficial do Elastic Email neste link.

* Aprenda como adicionar registros na tabela DNS seguindo este link.

» SPF: Na entrada SPF altere para incluir o servidor do elasticemail (e substitua o IP pelo do seu servidor), exemplo:

"v=spf1 ip4:104.130.85.225 include:_spf.elasticemail.com ~all"

*Um segundo exemplo: Digamos que você já tenha seguido algum tutorial nosso de outro SMTP Relay, pode-se digitar vários "includes" da seguinte maneira (não podemos criar mais do que um registro SPF na tabela, dará erro na verificação do cabeçalho do email):

"v=spf1 ip4:104.130.85.225 include:spf.mandrillapp.com include:_spf.elasticemail.com ~all"

continuar lendo..

Gerenciamento de Servidores Cloud com atendimento e consultoria em português. Planos mensais com os melhores preços do mercado.
Envie um email para [email protected] e saiba mais!

Mailgun: Solução de SMTP Relay no Postfix para servidores VPS

Mailgun é mais uma solução externa para entrega de emails, a diferença é que a conta gratuita permite enviar 10 mil emails mensais sem limitações diárias como na maioria dos concorrentes, e ainda permite adicionar até 5 domínios customizados pela mesma conta gratuita.

Há algum tempo atrás escrevi um tutorial de como usar o Mandrill para essa mesma função, porém eles mudaram a política e agora só é possivel enviar 2 mil emails na conta gratuita (o limite era 12 mil mensais anteriormente). Na minha opinião eles são a melhor empresa pois pertencem ao mesmo grupo da MailChimp, e as mensagens são todas entregues na caixa de entrada.

O Mailgun, em meus testes, também entrega na caixa de entrada sendo fácil de configurar. E com o limite de 10 mil mensais dá para enviar muito email marketing e newsletter sem se preocupar muito. Leia mais sobre os limites da conta clicando aqui.

Já mostramos como configurar o Postfix para enviar usando um SMTP Relay, autenticando a conta e os usuários, neste link e neste outro. Neste tutorial explicarei novamente porém de uma forma mais resumida, e optando por envios seletivos (para múltiplos domínios no mesmo servidor).

SMTP Relay com Mailgun e Postfix

* Este tutorial foi testado em nosso servidor Debian 7 com ISPConfig 3 e Postfix, clique aqui e veja como instalar. Consideraremos que a sua tabela DNS de domínio já esteja configurada e devidamente propagada.

Crie uma conta gratuita no Mailgun e configure o domínio

Crie uma conta: Clique neste link para criar uma conta no Mailgun: https://mailgun.com/signup

» Company/Account Name: <– FatorBinario (pode ser o nome do seu site aqui)

» Your Name: <– Luis (o seu nome)

» Your Email: <– [email protected] (o email que irá gerenciar a conta)

» Password: <– digite uma senha e confirme no próximo campo

» Add payment info now: <– <desmarcado> (apesar do aviso na tela não há necessidade de se adicionar um cartão de crédito ou outra forma de pagamento para habilitar a conta, veremos isso abaixo)

» Responda o captcha e clique em “Create Account“. *Será enviado um email de confirmação para habilitar a conta.

Adicione um domínio: Selecione a opção “Domains” no menu e clique no botão “Add New Domain“. Digite o nome do seu domínio sem o “www” e clique em “Add Domain“. Na próxima tela iremos verificar o domínio.

Adicione os registros DNS do domínio: Isso é necessário, se não fizermos este passo a conta ficará limitada a enviar somente 300 emails diários. Nesta tela veremos 5 passos mas precisamos executar somente o segundo “Add DNS Records For Sending“. Adicione o texto “include:mailgun.org” no seu registro SPF e crie um registro TXT para a chave DKIM do domínio (cole a chave entre aspas duplas no registro).

* Na tela de configuração não aparece mas temos que incluir um “ponto” no final do “hostname” quando criarmos o registro. Exemplo: “fatorbinario.com.”. Já mostramos várias vezes como fazer isso, mas se ainda tiver dúvidas siga este link.

Verifique o domínio: Após copiar os valores e adicionar os registros cloque no botão “Continue to Domain Overview” . Na próxima tela logo abaixo de “Domain Verification & DNS” clique no botão “Check DNS Records Now“. Se a tabela estiver propagada e com os registros inseridos uma mensagem em verde “Active” aparecerá no campo “State”.

Crie uma credencial para o SMTP Relay: Fazendo isso não precisaremos usar as credenciais da conta principal no Postfix. Ao lado de “Default Password” clique em “Manage SMTP credentials“.  Em seguida clique no botão “New SMTP Credential“. Em login escreva um alias qualquer, exemplo: mgsmtp (esse email servirá somente para configurarmos o acesso pelo Postfix). Digite e confirme uma senha, anote-a pois vamos precisar usá-la abaixo. O seu login da API será [email protected]

Configure o Postfix para enviar os emails por SMTP Relay

Edite o arquivo /etc/postfix/main.cf e modifique/adicione as seguintes linhas (os números das linhas são referentes ao arquivo original, se você alterou o arquivo por algum motivo encontre-as):

# Linha 23:

smtpd_use_tls = yes
# Modifique a linha 35 para um valor nulo

relayhost =
# Adicione estas linhas ao final (lembre-se de deixar uma linha vazia no final do arquivo para prevenir problemas). Isso ira ativar o SASL para autenticação externa

smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
sender_dependent_relayhost_maps = hash:/etc/postfix/relayhost_maps
smtp_sasl_security_options = noanonymous

continuar lendo..

Gerenciamento de Servidores Cloud com atendimento e consultoria em português. Planos mensais com os melhores preços do mercado.
Envie um email para [email protected] e saiba mais!

Configurando o Zoho Mail como SMTP Relay no Postfix via Stunnel

Zoho Mail é um serviço de emails corporativos gratuito que permite enviar e receber mensagens em domínios customizados. Publicamos recentemente um tutorial de como cadastrar-se e usar a ferramenta, clique aqui para ler o artigo.

A conta gratuita permite adicionar um domínio e ter até 10 caixas de email com 5Gb cada, e tem uma limitação de até 200 emails diários por domínio (para domínios com menos de 4 usuários ativos o limite é de 50 emails por usuário/dia), o que é mais do que suficiente para a maioria dos sites poderem comunicar-se com seus usuários/clientes.

O painel de acesso deles é fácil de operar e está parcialmente traduzido para o português. E a URL de acesso ao painel pode ser alterada para domínios personalizados, ao invés de mail.zoho.com. Clique aqui e veja como fazer.

Porém uma questão é como fazer para enviar emails através de scripts PHP ou formulários de contato do WordPress, uma vez que você teria que estar logado no painel do Zoho para fazer envios. Neste caso você pode configurar a função mail() do PHP para usar um SMTP externo, ou no caso do WordPress, usar um plugin que envia por SMTP externo, clique aqui e veja como instalar e usar o plugin.

Neste tutorial mostrarei uma outra alternativa, configurando o Zoho Mail como SMTP Relay externo, e de forma seletiva, configurar contas de email para usar o serviço.

DICA: Após configurar e entender este tutorial você poderá extender as funcionalidades de uso dos serviços de email no servidor VPS. Por exemplo, pode-se desativar as entradas MX do Zoho na tabela DNS e adicionar um registro MX do próprio servidor configurando o RoundCube para receber os emails, utilizando o Zoho via SMTP Relay para enviar os emails (pode-se inclusive enviar mensagens de um cliente de email para o servidor que elas serão encaminhadas pela conta do Zoho). Parece meio confuso num primeiro momento mas será mais fácil de entender após tudo configurado.

Instalando o Stunnel 4:

* Este tutorial foi testado em nosso servidor Debian 7 com ISPConfig 3 e Postfix, clique aqui e veja como instalar.

Instale e configure o Stunnel:

Baixe os pacotes com apt-get (na pergunta se deseja continuar tecle ENTER)

apt-get install stunnel

Configure os arquivos.

Edite o arquivo /etc/default/stunnel4 e altere a linha 6 conforme abaixo:

# Change to one to enable stunnel automatic startup

ENABLED=1

Crie e edite o arquivo /etc/stunnel/stunnel.conf (pode-se editá-lo com o Notepad++ como mostramos neste tutorial), adicionando as seguintes linhas de código:

> touch /etc/stunnel/stunnel.conf

pid = /var/run/stunnel.pid
[smtp-tls-wrapper]
client=yes
accept=11125
connect = smtp.zoho.com:465

* No código acima confguramos a porta 11125 para aceitar conexões repassando as requisições para a porta 465 (SSL) do Zoho, criando um túnel criptografado e enviando o email como se estivéssemos no servidor do Zoho Mail.

Libere as portas no firewall do ISPConfig. Se você seguiu nosso tutorial de segurança saberá onde encontrar o Firewall, ou acesse “Sistema / Firewall / Adicionar registro de firewall“, na lista de portas TCP liberadas adicione a 465 e a 11125 desta forma:

20,21,22,25,53,80,110,143,443,465,587,993,995,3306,8080,8081,10000,11125

Reinicie o serviço Stunnel:

/etc/init.d/stunnel4 restart

Instale o cliente Telnet no servidor e teste se o túnel SSL está funcionando:

> apt-get install telnet

> telnet localhost 11125

* Se a última linha da resposta for “220 mx.zohomail.com SMTP Server ready” então a conexão está ok. Para sair do Telnet pressione as teclas “CTRL + ]” e em seguida digite quit e ENTER.

Configure o Postfix para enviar os emails por SMTP Relay:

* Já configuramos um serviço de SMTP Relay nesse tutorial, o que mostraremos abaixo é um resumo definido para este artigo somente.

Edite o arquivo /etc/postfix/main.cf e modifique/adicione as seguintes linhas (os números das linhas são referentes ao arquivo original, se você alterou o arquivo por algum motivo encontre-as):

# Linha 23:

smtpd_use_tls = yes

continuar lendo..

Gerenciamento de Servidores Cloud com atendimento e consultoria em português. Planos mensais com os melhores preços do mercado.
Envie um email para [email protected] e saiba mais!

Firewall: Tutorial de Segurança no Servidor de Email do VPS

Ataques ao servidor de emails em um VPS são mais frequentes do que as pessoas imaginam, num único dia um servidor pode ser alvo de dezenas dessas tentativas de invasão. Técnicas de Spoofing e BackScatter podem “sujar” um endereço IP limpo pois conseguem  “forjar” um remetente (Quem nunca recebeu um email marcado como SPAM que foi enviado pelo seu próprio endereço?). Aprenda como se defender de ameaças e mantenha o IP do VPS limpo para que o mesmo não seja marcado em blacklists.

Este tutorial foi elaborado durante semanas de testes e busca por informações. Documentos atualizados falando sobre o assunto são difíceis de encontrar, e os mais antigos têm regras que não se aplicam atualmente. Nos próximos parágrafos tentarei explicar como analisar os arquivos de log e identificar ameaças, e ainda mostrarei como configurar alguns serviços para repelir quase 100% das tentativas de invasão. *Fizemos os testes em nosso servidor Debian 7 com ISPConfig 3, clique aqui para seguir o tutorial de como instalar um sistema completo com painel de controle.

Para que possamos defender o servidor de forma apropriada é importante certificar-se de que o sistema esteja configurado corretamente. Verifique se o nome do seu VPS seja FQDN e esteja ativo, não invente nomes fictícios de domínio, ele precisa existir para o DNS poder localizá-lo (caso tenha criado com o nome errado clique aqui e veja como alterar); Nosso MTA será o Postfix e usaremos o Fail2Ban com o Firewall do ISPConfig 3 para distribuir bans. Como camada extra de segurança eu indico a CloudFlare que tem um firewall próprio além de servir como proxy-cache do site (veja como configurar o DNS com CloudFlare).

*Se você está lendo este artigo e pensa que o seu VPS está seguro então é melhor dar uma olhada nos arquivos de log. Clique aqui para ler minha postagem falando sobre esses arquivos.

Antes de começar: Postfix:

O MTA do nosso servidor será o Postfix que é responsável pelo controle dos emails enviados diretamente do VPS ou via SMTP por um cliente de email (Outlook, Thunderbird). *Erroneamente algumas pessoas pensam que o responsável pelo envio é o sistema operacional ou o painel de controle, veremos isso abaixo.

Quando instalamos o Postfix seguindo o tutorial ele ficou pronto para uso, criamos caixas de entrada e domínios de email. Agora veremos como “tunar” algumas opções para melhorar a segurança.

Arquivo /etc/postfix/main.cf:

*Talvez você possa ter alterado o arquivo original main.cf então vamos verificar algumas configurações. Procure no arquivo pelas seguintes linhas e veja se estão com estes parâmetros, adicione as que não houver (faça um backup do arquivo, um erro aqui e o Servidor de Email para de funcionar):

#Importante: Não altere a ordem em que as linhas aparecem no arquivo

smtpd_use_tls = yes

#Substitua o próximo parâmetro pelo nome FQDN que você deu ao VPS (Se voce seguiu o tutorial com ISPConfig os proximos dois parametros ja devem estar certos)
myhostname = vps1.fatorbinario.com

#Certifique-se de incluir o nome do VPS na próxima linha
mydestination = vps1.fatorbinario.com, localhost, localhost.localdomain

#Para melhor aceitacao no Gmail
inet_protocols = ipv4

#Comente a linha:
#smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf

#E substitua por este bloco (note as virgulas):
smtpd_recipient_restrictions = 
   permit_mynetworks,
   permit_sasl_authenticated,
   reject_unauth_destination,
   reject_unknown_recipient_domain,
   check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf,
   permit

#Verifique ainda se as 2 linhas abaixo estão presentes no seu arquivo 
header_checks = regexp:/etc/postfix/header_checks
smtpd_tls_security_level = may

#Comente as linhas:
#smtpd_sender_restrictions = check_sender_access mysql:/etc/postfix/mysql-virtual_sender.cf
#smtpd_client_restrictions = check_client_access mysql:/etc/postfix/mysql-virtual_client.cf

#E substitua por este bloco de codigo abaixo adicionando parametros novos:
smtpd_data_restrictions = reject_unauth_pipelining
smtpd_delay_reject = yes
smtpd_helo_required = yes
smtpd_helo_restrictions =
   permit_mynetworks,
   permit_sasl_authenticated,
   reject_non_fqdn_helo_hostname,
   reject_invalid_helo_hostname,
   permit
smtpd_sender_restrictions = 
   permit_mynetworks,
   reject_non_fqdn_sender,
   reject_unknown_sender_domain,
   check_sender_access mysql:/etc/postfix/mysql-virtual_sender.cf,
   permit
smtpd_client_restrictions = 
   permit_mynetworks,
   permit_sasl_authenticated,
   reject_unknown_client_hostname,
   check_client_access mysql:/etc/postfix/mysql-virtual_client.cf,
   permit

continuar lendo..

Gerenciamento de Servidores Cloud com atendimento e consultoria em português. Planos mensais com os melhores preços do mercado.
Envie um email para [email protected] e saiba mais!

Servidor de Emails: Configurando um Relay SMTP Externo

Aprenda como configurar um serviço externo de SMTP Relay para enviar emails de um servidor VPS Linux usando o Postfix. Em nossos tutoriais anteriores mostramos como prevenir que mensagens de email enviadas pelo servidor sejam marcadas como SPAM, configurando o registro SPF e a chave DKIM, garantindo a entrega da maioria dos emails sem problemas. Porém, em alguns casos a mensagem pode ser bloqueada pelo Hotmail (de todos os testes que fizemos durante quase um mês o Hotmail é o que mais apresenta problemas para receber emails).

continuar lendo..

Gerenciamento de Servidores Cloud com atendimento e consultoria em português. Planos mensais com os melhores preços do mercado.
Envie um email para [email protected] e saiba mais!

Linux: Como autenticar emails com DKIM e Postfix

Neste tutorial vamos mostrar como configurar um servidor Linux para enviar emails autenticados com assinatura DKIM pelo Postfix.

Em nosso tutorial “Debian Wheezy e ISPConfig 3” mostramos como instalar o Linux Debian e configurá-lo com o painel de controle ISPConfig 3 para gerenciar domínios, websites e servidor de emails. Porém alguns leitores relatam a falta de uma assinatura DKIM nos emails enviados através do servidor, que autentica a mensagem e ajudar a prevenir que seja enviada como SPAM.

O que significa DKIM?

DKIM é uma especificação do Internet Engineering Task Force (IETF) que define um mecanismo para autenticação de e-mail baseado em criptografia de chaves pública e privada. Através do uso do DKIM, uma organização assina digitalmente as mensagens que envia, permitindo ao receptor confirmar a autenticidade da mensagem. Para verificar a assinatura digital, a chave pública é obtida por meio de consulta ao DNS no domínio do assinante, certificando a origem da mensagem.

* Antes de instalar e configurar a chave DKIM verifique se a mesma já não está ativada. Veja como fazer isso lendo o passo 11 deste tutorial (role a tela até o final)

Instalando e configurando o OpenDKIM:

* Os comandos abaixo referem-se ao nosso servidor Debian 7.0 Wheezy, que <instalamos anteriormente>. Lembre-se de fazer login como “root” para executar os comandos de instalação e configuração. Editaremos os arquivos usando o WinSCP e Notepad++ conforme mostramos <neste tutorial>.

1.Faça login no terminal SSH do seu servidor como superusuário “root”.

2.Instale o OpenDKIM digitando o comando:

> apt-get install opendkim opendkim-tools

Do you want to continue? <– ENTER

3.Edite o arquivo /etc/opendkim.conf e adicione as seguintes linhas no final:

AutoRestart          Yes
AutoRestartRate      10/1h
UMask                002
Syslog               yes
SyslogSuccess        Yes
LogWhy               Yes

Canonicalization     relaxed/simple

ExternalIgnoreList   refile:/etc/opendkim/TrustedHosts
InternalHosts        refile:/etc/opendkim/TrustedHosts
KeyTable             refile:/etc/opendkim/KeyTable
SigningTable         refile:/etc/opendkim/SigningTable

Mode                 sv
PidFile              /var/run/opendkim/opendkim.pid
SignatureAlgorithm   rsa-sha256
UserID               opendkim:opendkim
Socket               inet:[email protected]

continuar lendo..

Gerenciamento de Servidores Cloud com atendimento e consultoria em português. Planos mensais com os melhores preços do mercado.
Envie um email para [email protected] e saiba mais!

Tutorial VPS: Debian Wheezy e ISPConfig 3 – Parte 2

Prosseguiremos nosso Tutorial VPS da DigitalOcean com Debian 7 e ISPConfig instalando o painel de controle.

Preparando o servidor para a instalação:

* Na Parte 1 instalamos o Debian e configuramos a Zona DNS, mas antes de baixar e instalar o ISPConfig será necessário executar os seguintes passos para uma instalação sem problemas:

1.Acesse o sistema via SSH (para facilitar abra o explorador de arquivos pelo WinSCP conforme apresentamos neste tutorial).

2.Edite o arquivo /etc/apt/sources.list e adicione non-free ao final das 2 linhas (isso irá prevenir erros na instalação). Salve o arquivo após editar.

deb http://mirrors.digitalocean.com/debian wheezy main non-free
deb http://security.debian.org/ wheezy/updates main non-free

3.Abra o terminal de comandos no shell SSH (se você está seguindo nossas dicas tecle CTRL + P no WinSCP). *Note que neste tutorial não usaremos o comando “sudo” para os ações no terminal, executaremos as configurações principais sempre como “root“.

4.Execute os seguintes comandos para atualizar a lista de pacotes do Debian:

> apt-get update
> apt-get upgrade

* * Será exibida uma mensagem: “After this operation, xxx kB of additional disk space will be used. Do you want to continue? [Y/n]”. *A partir de agora sempre que houver a pergunta sobre usar espaço em disco adicional tecle ENTER.

5.Por padrão o Debian usa o shell de comando Dash, mas o ISPConfig recomenda o Bash para evitar problemas na instalação. Vamos trocar o shell com o comando:

> dpkg-reconfigure dash

* * Na tela exibida selecione <No> com as setas do teclado, em seguida tecle ENTER.  Após isso note que o link simbólico /bin/sh aponta para bash.

6.E por último vamos instalar o sincronizador do relógio do sistema e acertar o Fuso Horário:

> apt-get install ntp ntpdate
> dpkg-reconfigure tzdata

continuar lendo..

Gerenciamento de Servidores Cloud com atendimento e consultoria em português. Planos mensais com os melhores preços do mercado.
Envie um email para [email protected] e saiba mais!