Rss

  • youtube
  • linkedin
  • google

Servidor de Email – Parte 4 – Postfix 3

Compartilhe em suas mídias sociais
  •  
  •  
  •  
  •  

Parte 1 – Configurar arquivo main.cf

Esta é a terceira parte do processo de criação do servidor de Email em um CentOS 7 e a primeira parte da configuração do Postfix. Se chegou aqui por acaso, melhor ler primeiro uma das publicações abaixo:

Parte 1 – Instalação dos Pacotes

Parte 2 – Configuração do MariaDB

Parte 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 >>

Compartilhe em suas mídias sociais
  •  
  •  
  •  
  •  

Servidor de Email – Parte 3 – Dovecot

Compartilhe em suas mídias sociais
  •  
  •  
  •  
  •  

Esta é a terceira parte do processo de criação do servidor de Email em um CentOS 7. Se chegou aqui por acaso, melhor ler primeiro as publicações anteriores

Parte 1 – Instalação dos Pacotes

Parte 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, desta forma nunca enviando senhas em modo texto simples.

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.

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

Criando usuário

O Dovecot irá armazenar as mensagens (e todo seu conteúdo) em um diretório que definiremos no arquivo de configuração e para que ele consiga fazer isso é necessário que ele rode sob um usuário com as permissões adequadas. Os comandos abaixo irão criar este usuário e grupo. Usarei um padrão comum aos nomes que facilitam bastante a busca por soluções de problemas pela internet.

Editando Arquivos de Configurações

Primeiro arquivo que vamos configurar é o de autenticação. Como vamos usar uma tabela no banco de dados MariaDB para guardar os usuários e suas senhas vamos apontar isso em dois arquivos. O primeiro define o tipo de autenticação e segundo como o Dovecot irá fazer a validação da autenticação.

Edite o arquivo /etc/dovecot/conf.d/10-auth.conf e descomente (ou adicione) as linhas abaixo:

Depois, edite o arquivo /etc/dovecot/conf.d/auth-sql.conf.ext para que fique com as linhas abaixo:

ATENÇÃO: As ultimas linhas que diferem ligeiramente da original comentada quanto ao argumento home.

Devemos também configurar os dados de conexão com o MariaDB através do arquivo /etc/dovecot/dovecot-sql.conf.ext. Este arquivo não é criado na instalação então nós o criaremos.

NOTA: Use os mesmos dados que usou no passo que configurou a base de dados no MariaDB

Vamos fazer varias alterações no arquivo principal de configuração do Dovecot que é o 10-master.conf. O número a frente do arquivo indica a ordem de carregamento (prioridade). Você pode user qualquer editor que preferir. Eu gosto do Vim porque estou muito acostumado com seus comandos, mas nada impede de que use o nano por exemplo.

Para melhorar a segurança do servidor e reduzir ataques vamos desativar o acesso não criptografado. Para isso baste atribuirmos a porta 0 para os serviços imap e pop3. Somente imaps e pop3s estarão disponíveis. Será necessário usar uma chave SSL que iremos criar logo mais adiante.

Altere também as configurações a seguir:

Certificado SSL

Para que possamos usar os serviços de criptografia necessários tanto na autenticação do usuário ao acessar sua conta quanto para garantir que o postfixadmin e o roundcube estejam sob conexões seguras devemos criar as chaves SSL validas. Neste ponto faremos a configuração criando uma chave auto-assinada (self-signed) que já é criada durante a instalação do Dovecot. Essa chave não pode ser usada para validar a conexão segura do navegador. Mais tarde iremos alterar essa configuração para usar uma chave SSL obtida através do Certbot (Lets Encrypt) em conjunto com o Nginx e configurações do DNS.

Se estiver seguindo os passos desse tutorial, não será necessário nenhuma mudança no arquivo /etc/dovecot/conf.d/10-ssl.conf que deverá conter as seguintes linhas

Caso os arquivos não existam ou se preferir recriá-los (deve ser feito caso tenha alterado o hostname, por exemplo) faça o seguinte:

Edite o arquivo /etc/pki/dovecot/dovecot-openssl.cnf e altere as entradas de acordo com as informações que você possuir.

Após ter alterado o arquivo, se já existirem os arquivos /etc/pki/dovecot/certs/dovecot.pem e /etc/pki/dovecot/private/dovecot.pem, apague-os e em seguida execute o script mkcert.sh.

A saída do script deverá ser algo parecido com essa:

Outra configuração ainda no arquivo/etc/dovecot/conf.d/10-ssl.conf relacionada a criptografia é o atributo opcional ssl_dh. Adicione ou descomente a linha:

e execute o comando abaixo para gerar o arquivo .pem:

A execução do comando acima costuma demorar bastante, as vezes até perto de 1 hora. É possível também utilizar um comando abaixo para gerar o mesmo arquivo de forma mais rápida.

Arquivo de Log

Por default o Dovecot irá usar o mecanismo de log syslog do CentOS, que normalmente envia as informações para o arquivo /var/log/messages. Como mais adiante irei mostrar como barrar diversas tentativas de ataques e uma delas inclui o uso do script fail2ban, que faz analise de logs é melhor definirmos um arquivo exclusivo para que não tenhamos que monitorar arquivo de log que se altera constantemente.

Para definirmos um arquivo de log exclusivo, vamos abrir o arquivo de configuração de log do Dovecot /etc/dovecot/conf.d/10-logging.conf e alterar ou adicionar as linhas a seguir.

Salve o arquivo e reinicie o serviço

Verifique se o arquivo /var/log/dovecot.log foi criado e contém as informações indicando que o serviço está funcionando normalmente.

Regras de Firewall

Se estiver seguindo este tutorial desde o início em uma instalação padrão, é possível que as portas de conexão estejam fechadas para o exterior. Os comandos abaixo visam liberar as portas imaps (993), pop3s (995) para que seja possível conectar um cliente de e-mail como o Outlook ou Gmail. Mesmo que elas estejam abertas, mais adiante em outra publicação, vou mostrar uma lista de regras básicas de firewall para melhorar a segurança.

Primeiro certifique-se de que o serviço firewalld esteja rodando. Caso esteja parado, provavelmente todas as portas que possuírem um serviço de escuta estarão abertas.

Verifique a linha do estado que pode estar como active (running) ou como inactive (dead). Caso esteja como inactive, não há necessidade de continuar. Se estiver como active, vamos listar quais portas estão abertas externamente.

No exemplo acima, apenas ssh e dhcpv6-client estão permitidas. Vamos então adicionar as portas necessárias para receber e enviar emails externamente.

Como podemos notar no exemplo, adicionamos os serviços imaps e pop3s que estão sendo ouvidas pelo serviço do Dovecot. Mais adiante iremos também adicionar as portas smtp e submission que serão ouvidas pelo serviço do Postfix (master). Note que não abrirei as portas imap e pop3 inseguras porque quero forçar o uso de SSL/TLS.

Para se certificar de que as portas estão mesmo abertas você pode tentar fazer telnet nas portas 993 e 995 de outro sistema na mesma rede e verificar se o arquivo /var/log/dovecot.log exibirá as tentativas. Se não tiver condições no momento de fazer o teste desta forma verifique a saída do comando abaixo?

E isso é tudo por enquanto. A seguir vamos configurar o Postfix 3.


Compartilhe em suas mídias sociais
  •  
  •  
  •  
  •  

Servidor de Email – Parte 2 – MariaDB

Compartilhe em suas mídias sociais
  •  
  •  
  •  
  •  

Esta é a segunda parte do processo de criação do servidor de Email em um CentOS 7. Se chegou aqui por acaso, melhor ler primeiro a publicação anterior sobre a Instalação dos Pacotes

Porque usar 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 neste 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. Caso o uso de PostgreSQL seja do seu interesse, você pode consultar este documento mais tarde onde mostrarei como migrar do MariaDB para o PostgreSQL.

Configurando 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, pode pular para o próximo passo.

Inicialmente eu bloqueio todo e qualquer acesso ao Bando de Dados de origem externa. Somente a partir de conexões criadas de dentro do próprio servidor é que elas podem ser feitas por medida de segurança. Para isso abrimos o arquivo /etc/my.cnf.d/server.cnf e adicionar as linhas abaixo logo após [mysqld] existente.

Se a intenção for permitir conexões remotas ao MariaDB, será necessário executar os comandos abaixo para permitir conexões remotas.

Reinicie o serviço para que as alterações sejam efetivadas

Criando usuário para o Postfix e as tabelas necessárias

Para que possamos utilizar o Postfix com o MariaDB teremos que criar um usuário para acesso e a partir dele as tabelas necessárias para gerenciar os domínios e contas virtuais.

Primeiro vamos criar o banco de dados.

NOTA: Se não foi feito nenhuma alteração na instalação do MariaDB você pode conectar sem o uso de senha para o usuário ‘root’@’localhost’, do contrário, utilize a opção -p para que seja requisitado digitar a senha.

Em seguida vamos criar o usuário e as tabelas. Vou utilizar mypostfixdb como nome para a base de dados e mypostfixdbuser para o nome de usuário. Altere as informações de acordo com o que deseja, principalmente mypostfixdbuser_password. Essas informações serão utilizadas na etapa de configuração dos arquivos do Postfix que utilizarão as tabelas criadas.

Essas tabelas irão armazenar as contas e os domínios virtuais e serão acessadas pelo Dovecot (de acordo com a proposta desse tutorial).
E isso é tudo.

Agora estamos prontos para configurar o Dovecot.


Compartilhe em suas mídias sociais
  •  
  •  
  •  
  •  

DataTables + HTML 5 Botões de exportação + Laravel-Mix (Webpack)

Compartilhe em suas mídias sociais
  •  ;
  •  ;
  •  ;
  •  ;

Nos últimos dias, Eu experimentei um problema ao tentar usar DataTables e Bootstrap 4 com suporte para exportar os resultados para Excel e PDF usando Laravel-Mix. Após horas e horas tentando colocar todos os scripts para trabalharem juntos, Eu finalmente consegui. Então, decidi escrever este pequeno Como Fazer para aqueles com o mesmo tipo de problemas.



Continue Reading >>

Compartilhe em suas mídias sociais
  •  ;
  •  ;
  •  ;
  •  ;

J5 Links

Compartilhe em suas mídias sociais
  •  ;
  •  ;
  •  ;
  •  ;

Aqui estão alguns links úteis para celular Samsung J5.

Burlar verificação de Conta Google


Compartilhe em suas mídias sociais
  •  ;
  •  ;
  •  ;
  •  ;

Baixar o Odin 3

Compartilhe em suas mídias sociais
  •  ;
  •  ;
  •  ;
  •  ;

Odin permite que você atualize seu firmware Android sem barulho.

Odin3 é um PC grátis (Windows) aplicação que pode piscar (e raiz) alguns telefones celulares baseados em Android.

Com Odin3, Você pode flash roms no seu celular Samsung. Você pode instalar qualquer versão com suporte do sistema operacional Android em seu smartphone antes do fabricante do seu telefone lançou uma atualização, colocá-lo na borda do sangramento do software. Uma vez que o telefone tem sido enraizado

Continue Reading >>


Compartilhe em suas mídias sociais
  •  ;
  •  ;
  •  ;
  •  ;

Usando jQueryMask Plugin para formatar datas em diferentes padrões

Compartilhe em suas mídias sociais
  • 1
  •  ;
  •  ;
  •  ;

jQuery Mask Plugin é uma grande biblioteca de Javascript para formatar campos para apresentação e/ou para forçar uma entrada corretamente pelos utilizadores.

Aqui, Eu Mostro como lidar com INPUT ou outro elemento HTML para exibir datas quando a data de origem tem um formato diferente do elemento de destino.

Exemplo:

  • Temos um data-hora com Ano-mês-dia hora:Minuto:Segundos e é preciso mostrar apenas o fragmento Ano/Mês/Dia (sem hora:minuto:segundo).
  • Temos da data em Ano-mês-dia e é preciso formatar para Dia/mês/ano.

jQueryMask é muito simples de usar. Ele não precisa muito para mascarar o que você precisar. Veja exemplos em seu site.

Se você precisa formatar um campo de data simples (mesmo em um elemento não INPUT), Basta usar o código abaixo.

O código acima pode mascarar e pre-validar datas no formato ANO/MÊS/DIA ..

Com um INPUT como

teria alterado seu valor para 2018/06/11.

Se você tentar digitar outra data (depois de limpar, é claro) Você não pode começar com um número diferente de 1 ou 2. Por esta razão é que a nossa máscara tem um translation para ser feito quando permitindo caracteres. Se não coincide com o padrão, o caractere é apagado.

The meaning of “;TC99/M9/D9; é:

  • Deve começar com 1 ou 2 (Tradução T: /[12]/ ; Formato personalizado)
  • Deve ter número 0 ou 9 (Tradução de C: /[09]/ ; Formato personalizado)
  • Deve ter um número (qualquer) (Tradução 9 ; Formato do Core MaskPlugin)
  • Deve ter um número (qualquer) (Tradução 9 ; Formato do Core MaskPlugin)
  • Uma barra será adicionada automaticamente ( / )
  • Deve ter número 0 ou 1 (Tradução M: /[01]/ ; Formato personalizado)
  • Deve ter um número (qualquer) (Tradução 9: Formato do Core MaskPlugin)
  • Uma barra será adicionada automaticamente ( / )
  • Deve ter número 0, 1, 2 ou 3 (Tradução D: /[0-3]/ ; Formato personalizado)
  • Deve ter um número (qualquer) (Tradução 9: Formato do Core MaskPlugin)

É claro, Não há nenhuma validação real. You can type “;2999/19/39; e isto não é uma data válida, Mas está quase pronto.

Então, para Formatar de outra maneira, Basta alterar a ordem de parâmetro de máscara.

Mas, se a data de origem estiver em um padrão diferente, como dia/mês/ano, a máscara não funciona. The date output for “;06/11/2018 15:40; will be weird “;1018/15/0;.

Para manipular data diferente formatos serão necessários mais do que simples máscara. Vamos precisar de uma função.

Veja o código abaixo

Agora temos mais dois Translation Pattern (h e m). h significa que a posição n-índice deverá ter números 0, 1 ou 2 e m números entre 0 e 5. Tenha em mente que o CASO importa.

Com o código acima, Podemos Formatar e mostrar data de várias maneiras. Apenas mude .teste() e .Substitua() padrão para preencher seu padrão desejado.

Este é o código que estou usando para formatar os campos datetime do banco de dados com ANO-MÊS-DIA HORA:MINUTO:SEGUNDO em elementos html com dia/mês/ano hora:MINUTO

Com um INPUT como

Saída será 11/06/2018 15:40

Espero que isto ajude a!


Compartilhe em suas mídias sociais
  • 1
  •  ;
  •  ;
  •  ;