Você está na página 1de 42

Linux Network Servers

Servidor Postfix Parte 2


Objetivos:

Autenticando os usurios de e-mail;

Configurao do MUA;

Configurando o Webmail Roundcube;

Configurao do Firewall;

Configurao do Webmail para acesso externo.

Servidor Postfix Parte 2


Autenticando os usurios de e-mail

Habilitar a autenticao no servidor de e-mail permite que os usurios


enviem mensagens utilizando seu MTA sem ter que passar o endereo
da rede na diretiva mynetworks no arquivo "/etc/postfix/main.cf".
Para melhorar a segurana no servidor de e-mail, vamos utilizar o SASL
(Simple Authentication and Security Layer ou Camada de Simples
Autenticao e Segurana).

Servidor Postfix Parte 2


Autenticando os usurios de e-mail
1 Para comear instale o pacotes para implementar o SASL
# aptitude install libsasl2-2 sasl2-bin libsasl2-modules libdb4.6

2 Vamos renomear o arquivo configurao e criar um diretrio de


spool:
# mv /etc/default/saslauthd /etc/default/saslauthd.backup
# mkdir -p /var/spool/postfix/var/run/saslauthd

Servidor Postfix Parte 2


Autenticando os usurios de e-mail
3 Agora abra um arquivo novo e inclua o seguinte:
# vim /etc/default/saslauthd
START=yes
MECHANISMS="pam"
MECH_OPTIONS=""
THREADS=5
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"

Servidor Postfix Parte 2


Autenticando os usurios de e-mail
4 Crie tambm o arquivo abaixo e inclua o seguinte:
# vim /etc/postfix/sasl/smtpd.conf
pwcheck_method: saslauthd
mech_list: plain login
5 Reinicie o servio do saslauthd e inclua o usurio postfix no grupo
sasl:
# service saslauthd restart
# adduser postfix sasl

Servidor Postfix Parte 2


Autenticando os usurios de e-mail
6 Acrescente no final do arquivo principal do Postfix:
# vim /etc/postfix/main.cf
smtpd_sasl_local_domain =
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_recipient_restrictions

permit_sasl_authenticated,

permit_mynetworks, reject_unauth_destination
smtpd_tls_auth_only = no
# service postfix restart

Servidor Postfix Parte 2


Ativando maior segurana com TLS
TLS significa Transport Layer Security e uma camada de segurana
para o sistema de autenticao que j foi configurado. O sistema de
autenticao no traz segurana, pois o mesmo ocorre em texto puro,
sem encriptao. Com isso, as senhas podem ser capturadas com um
sniffer.
1 Para comear sera criado o diretrio onde ficar chave de
criptografia, e depois sera gerado da chave neste diretrio:
# mkdir -p /etc/postfix/ssl

Servidor Postfix Parte 2


Ativando maior segurana com TLS
2 Depois gere a chave no diretrio criado:
# cd /etc/postfix/ssl/
# openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024
Enter pass phrase for smtpd.key: 123456

<<<--- Adicione uma senha

Verifying - Enter pass phrase for smtpd.key: 123456 <<<--- Confirme


3 Altere a permisso do arquivo de chave para que somente o root
tenha acesso:
# chmod -v 600 smtpd.key

10

Servidor Postfix Parte 2


Ativando maior segurana com TLS
4 Agora vamos criar o certificado de autenticidade para os acessos :
# openssl req -new -key smtpd.key -out smtpd.csr
Enter pass phrase for smtpd.key: <<<--- Entre com sua senha
...
Country Name (2 letter code) [AU]:BR
State or Province Name (full name) [Some-State]:So Paulo
Locality Name (eg, city) []:So Paulo
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Dexter
Organizational Unit Name (eg, section) []:Depto. TI

11

Servidor Postfix Parte 2


Ativando maior segurana com TLS
Common Name (eg, YOUR name) []:Admin
Email Address []:root@dexter.com.br
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:(Apenas tecle Enter)
An optional company name []:(Apenas tecle Enter)

12

Servidor Postfix Parte 2


Ativando maior segurana com TLS
5 Agora vamos assinar nosso certificado digital:
# openssl x509 -req -days 365 -in smtpd.csr -signkey smtpd.key -out
smtpd.crt
Enter pass phrase for smtpd.key: <<<--- Entre com sua senha
6 E finalmente, a chave sem criptografia:
# openssl rsa -in smtpd.key -out smtpd.key.unencrypted
Enter pass phrase for smtpd.key: <<<--- Entre com sua senha

13

Servidor Postfix Parte 2


Ativando maior segurana com TLS
7 Sobrescreva a chave criada anteriormente com o mesmo nome:
# mv smtpd.key smtpd.key-original
# mv smtpd.key.unencrypted smtpd.key
8 Agora vamos gerar o certificado .pem:
# openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out
cacert.pem -days 365
Enter PEM pass phrase: <<<--- Entre com sua senha
Verifying - Enter PEM pass phrase: <<<--- Entre com sua senha

14

Servidor Postfix Parte 2


Ativando maior segurana com TLS
Country Name (2 letter code) [AU]:BR
State or Province Name (full name) [Some-State]:So Paulo
Locality Name (eg, city) []:So Paulo
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Dexter
Organizational Unit Name (eg, section) []:Depto. TI
Common Name (eg, YOUR name) []:Admin
Email Address :root@dexter.com.br

15

Servidor Postfix Parte 2


Ativando maior segurana com TLS
9 Para terminar acrescente no final do arquivo principal do Postfix as
diretivas referente ao uso de TLS:
# vim /etc/postfix/main.cf
smtp_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s

16

Servidor Postfix Parte 2


Ativando maior segurana com TLS
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key
smtpd_tls_session_cache_database

btree:$

btree:$

{queue_directory}/smtpd_scache
smtp_tls_session_cache_database
{queue_directory}/smtp_scache
tls_random_source = dev:/dev/urandom

17

Servidor Postfix Parte 2


Ativando maior segurana com TLS POP e IMAP
1 Instale os pacotes de configurao do MDA Courier:
# aptitude install courier-imap-ssl courier-pop-ssl courier-ssl
2 Reinicie o Postfix e verifique as portas seguras ativadas::
# service postfix restart
# netstat -putan | grep 993
# netstat -putan | grep 995

18

Servidor Postfix Parte 2


Configurao do MUA Thunderbird
Efetue o download do aplicativo na mquina Interna e execute:
# tar xvf thunderbird-15.0.tar.bz2 -C /opt
# chmod +x /opt/thunderbird/thunderbird
Crie um atalho na barra do Gnome e abra o aplicativo Thunderbird. Na
primeira tela clique no boto Ignorar e usar meu e-mail existente para
configurar a conta de e-mail do usurio

19

Servidor Postfix Parte 2


Configurao do MUA Thunderbird

20

Servidor Postfix Parte 2


Configurao do MUA Thunderbird

21

Servidor Postfix Parte 2


Configurao do MUA Thunderbird

22

Servidor Postfix Parte 2


Configurao do MUA Thunderbird

23

Servidor Postfix Parte 2


Configurao do MUA Thunderbird

24

Servidor Postfix Parte 2


Configurao do MUA Thunderbird

25

Servidor Postfix Parte 2


Configurando o Webmail Roundcub
O Roundcube uma soluo de webmail gratuito e de cdigo aberto
com uma interface de usurio de desktop, fcil de instalar/configurar e
que roda em um servidor LAMP padro. Os temas que o Roundcube
utiliza segue os mais recentes padres da Web, como XHTML e
CSS2.Para podermos instalar e configurar este webmail precisaremos
ter o Servidor Postfix com suporte a IMAP e o Servidor Apache com
suporte a PHP. Em nosso caso j temos ambos configurados!

26

Servidor Postfix Parte 2


Configurando o Webmail Roundcube
1 Comece instalando os pacotes do Webmail Roundcube
# aptitude install roundcube roundcube-mysql -y
OBSERVAO: Na tela do dbconf responda No para a configurao
da base do Roundcube, para podermos configurar de forma mais
personalizada.
2 Para facilitar a criao da tabela com os campos, copie via scp o
script mysql da maquina DMZ para a maquina Datacenter.

27

Servidor Postfix Parte 2


Configurando o Webmail Roundcube
# scp -P 52000 /usr/share/dbconfig-common/data/roundcube/install/mysql
root@192.168.200.2:/root/roundcube.sql

3 Ainda na maquina DMZ configure o arquivo /etc/roundcube/debiandb.php com as informaes do banco e tabela do MySQL:
# vim /etc/roundcube/debian-db.php
$dbuser='roundcube';
$dbpass='senha';
$basepath='';
$dbname='roundcube';

28

Servidor Postfix Parte 2


Configurando o Webmail Roundcube
$dbserver='192.168.200.2';
$dbport='3306';
$dbtype='mysql';
4 Agora configure o arquivo principal do Webmail Roundcube
# vim /var/lib/roundcube/config/main.inc.php
$rcmail_config['auto_create_user'] = TRUE;
$rcmail_config['default_host'] = 'ssl://mail.dexter.com.br';
$rcmail_config['default_port'] = 993;
$rcmail_config['mail_domain'] = 'mail.dexter.com.br';

29

Servidor Postfix Parte 2


Configurando o Webmail Roundcube
$rcmail_config['smtp_server'] = 'smtp.dexter.com.br';
$rcmail_config['smtp_port'] = 25;
$rcmail_config['smtp_helo_host'] = 'smtp.dexter.com.br';
5 Para terminar crie o Virtualhost /etc/apache2/sites-available/webmail:
# vim /etc/apache2/sites-available/webmail
NameVirtualHost webmail.dexter.com.br:80
<VirtualHost webmail.dexter.com.br:80>
DocumentRoot /var/lib/roundcube

30

Servidor Postfix Parte 2


Configurando o Webmail Roundcube
ServerName webmail.dexter.com.br
ServerAdmin root@dexter.com.br
ErrorLog /var/log/apache2/webmail-error.log
CustomLog /var/log/apache2/webmail-access.log common
</VirtualHost>
6 Ative o novo Virtualhost e reinicie o servio do Apache
# a2ensite webmail
# apache2ctl restart

31

Servidor Postfix Parte 2


Configurando o banco de dados Roundcube
1 Na maquina Datacenter acesse o prompt do MySQL com o usurio
root, crie e acesse um novo banco de nome roundcube.
# mysql -u root -p
mysql> create database roundcube;
mysql> use roundcube;
2 Dentro do banco execute o script de criao de tabela roundcube.sql
que foi copiado da maquina DMZ.
mysql> source roundcube.sql;

32

Servidor Postfix Parte 2


Configurando o banco de dados Roundcube
3 Adicione privilgios para o novo usurio roundcube e senha senha.
mysql> grant all privileges on roundcube.* to roundcube@'%'
identified by 'senha';
mysql> exit
4 Para terminar reinicie o servio do MySQL na maquina Datacenter:
# service mysql restart

33

Servidor Postfix Parte 2


Configurando pastas no Roundcube Rede Interna

34

Servidor Postfix Parte 2


Configurando pastas no Roundcube Rede Interna

35

Servidor Postfix Parte 2


Configurando pastas no Roundcube Rede Interna

36

Servidor Postfix Parte 2


Configurao do Firewall

37

Servidor Postfix Parte 2


Configurao do Firewall
No Firewall adicione as linhas abaixo, lembre-se de colocar no final do
escopo do start.
...
for mailports in 25 110 143 993 995
do
# Passagem de pacotes das portas do servidor de email interno
para o mundo
iptables -A FORWARD -p tcp --sport $mailports -s $DMZ -d 0/0 --dport
$PA -j ACCEPT

38

Servidor Postfix Parte 2


Configurao do Firewall
iptables -A FORWARD -p tcp --sport $PA -s 0/0 -d $DMZ --dport
$mailports -j ACCEPT
iptables -t nat -A PREROUTING -p tcp --sport $PA -s 0/0 -d $WAN1
--dport $mailports -j DNAT --to-destination $DMZ:$mailports
done
Reinicie o firewall para que possa valer as novas regras.
# service firewall restart

39

Servidor Postfix Parte 2


Configurao do Webmail para acesso externo
Para liberar o acesso ao Webmail pelo Apache, crie uma configurao
de "alias" no arquivo /etc/apache2/httpd.conf.
# vim /etc/apache2/httpd.conf
Alias /webmail "/var/lib/roundcube"
DirectoryIndex index.php

Reinicie o servio do Apache para aplicar as configuraes e acesse na


maquina externa o endereo:
https://www.dexter.com.br/webmail

40

Servidor Postfix Parte 2


Configurao do Webmail para acesso externo

41

Prximos passos
Para que voc tenha um melhor aproveitamento do curso, participe das
seguintes atividades disponveis no Netclass:

Executar as tarefas do "Laboratrio" dexterlab-8 para treinar a


implementao de segurana e integraes no Postfix;

Resolver o "Desafio" para configurar outro tipo de MUA, e postar o


resultado no Frum Temtico;

Responder as questes do Teste de Conhecimento sobre o


contedo visto em aula.

Mos a obra!
42

Você também pode gostar