Baixe o app para aproveitar ainda mais
Prévia do material em texto
AULA 13: SERVIÇOS PARA INTRANET E INTERNET 6 Servidores para internet SERVIDORES PARA INTERNET Aula 14: Serviços para intranet e internet 6 AULA 13: SERVIÇOS PARA INTRANET E INTERNET 6 Servidores para internet Conteúdo desta aula CONCEITOS DE SEGURANÇA 1 CONCEITOS SSL E TLS 3 PRÓXIMOS PASSOS MODOS DE CRIPTOGRAFIA 2 IMPLEMENTANDO SEGURANÇA NO SERVIDOR DE E-MAIL 4 UTILIZANDO A SOLUÇÃO DE E-MAIL COM SEGURANÇA 5 AULA 13: SERVIÇOS PARA INTRANET E INTERNET 6 Servidores para internet • Criptografia é a ciência da escrita secreta. • É a base para a implementação de vários serviços de segurança. a cotação do dólar subirá 1% asd 34has asd783 #1sa%$@ 9012 texto plano (plain text) texto cifrado função matemática Conceitos de segurança AULA 13: SERVIÇOS PARA INTRANET E INTERNET 6 Servidores para internet • Simétrica: • Criptografia de Chave Secreta; • Criptografa e Decriptografa com a mesma chave. • Assimétrica: • Criptografia de Chave Pública; • Duas chaves relacionadas, uma pública e outra privada. Modos de criptografia AULA 13: SERVIÇOS PARA INTRANET E INTERNET 6 Servidores para internet Criptografia Para: Banco De: João Tranferir R$ 1.000.000,00 para conta 88981164 algoritmo texto plano texto criptografado Decriptografia texto criptografado algoritmo texto plano Para: Banco De: João Tranferir R$ 1.000.000,00 para conta 88981164 Criptografia simétrica AULA 13: SERVIÇOS PARA INTRANET E INTERNET 6 Servidores para internet Chave pública Chave pública Mensagem confidencial 1 Antônio Mensagem confidencial 2 Mensagem confidencial 2 Mensagem confidencial 1 Roberto função criptograf ar função criptograf ar Dados da mensagem criptografad a Dados da mensagem criptografad a função decriptogr afar função decriptogr afar Chave secreta Criptografia assimétrica AULA 13: SERVIÇOS PARA INTRANET E INTERNET 6 Servidores para internet Criptografia de Chave Pública (Public-key Cryptography) • A chave pública é divulgada. • A chave privada é proprietária (gerada e mantida no ambiente operacional). • A chave pública é usada para criptografar e a chave privada para decriptografar. Criptografia assimétrica AULA 13: SERVIÇOS PARA INTRANET E INTERNET 6 Servidores para internet • Os certificados digitais são protegidos contra personificação, certificando que uma chave pública pertence a uma entidade especificada. • Eles são emitidos por uma autoridade de certificadora (CA). • Fornecem proteção contra identidades falsas, porque um certificado digital liga uma chave pública a seu proprietário. • São conhecidos como certificados de chave pública, porque eles oferecem garantias sobre a propriedade de uma chave pública quando você utiliza um esquema de chave assimétrica. Certificados digitais AULA 13: SERVIÇOS PARA INTRANET E INTERNET 6 Servidores para internet • Uma autoridade de certificadora (CA) é um terceiro confiável que emite certificados digitais para fornecer a garantia de que a chave pública de uma entidade verdadeiramente pertença àquela entidade. • A CA emite certificados associando uma identificação única a uma chave pública. • Programa datas de expiração para certificados. • Publica Relações de Certificados Revogados (CRLs). • Uma empresa pode operar sua própria CA ou usar os serviços de uma terceira parte confiável. Autoridade certificadora AULA 13: SERVIÇOS PARA INTRANET E INTERNET 6 Servidores para internet • Permitem que duas partes se identifiquem, se autentiquem e se comuniquem com confidencialidade e integridade de dados. • SSL: Secure Socket Layer • Definido pela Netscape • Versão atual: 3.0 • TLS: Transport Layer Security • Definido pelo IETF • Versão atual: 1.0 • RFC 2246 (Janeiro de 1999) • O TLS 1.0 é baseado no SSL 3.0, mas eles possuem diferenças que os tornam incompatíveis. Conceitos do SSL e TLS AULA 13: SERVIÇOS PARA INTRANET E INTERNET 6 Servidores para internet • O SSL/TLS permite executar duas funções básicas: • autenticação entre o cliente e o servidor; • criptografia na troca de mensagens. SSL/TLS O cliente se autentica para o servidor (opctional) O servidor se autentica para o cliente (obrigatório) Conceitos do SSL e TLS AULA 13: SERVIÇOS PARA INTRANET E INTERNET 6 Servidores para internet LABORATÓRIO PRÁTICO AULA 13: SERVIÇOS PARA INTRANET E INTERNET 6 Servidores para internet • Para implementar segurança no servidor de e-mail, vamos realizar as seguintes ações: • Gerar um certificado autoassinado. • Configurar os serviços de e-mail (postfix e dovecot) para o transporte seguro utilizando o TLS. • Configurar também o webmail (apache e roundcube) para acesso seguro via HTTPS utilizando TLS. Implementando segurança no servidor de email AULA 13: SERVIÇOS PARA INTRANET E INTERNET 6 Servidores para internet • Criar um par de chaves e certificados autoassinados com OpenSSL [root@email ssl]# openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/email-autoassinado.key -out /etc/ssl/certs/email-autoassinado.crt Generating a 2048 bit RSA private key ......................................................+++ .............................................................+++ writing new private key to '/etc/ssl/private/email-autoassinado.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [XX]:BR State or Province Name (full name) []:SP Locality Name (eg, city) [Default City]:Sao Paulo Organization Name (eg, company) [Default Company Ltd]:linux.com.br Organizational Unit Name (eg, section) []:TI Common Name (eg, your name or your server's hostname) []:email.linux.com.br Email Address []:postmaster@linux.com.br Criando certificado SSL AULA 13: SERVIÇOS PARA INTRANET E INTERNET 6 Servidores para internet • Openssl: Essa é a ferramenta de linha de comando básica para criar e gerenciar certificados Req: Especifica que queremos usar o gerenciamento de solicitação de assinatura de certificado X.509 (CSR). O "X.509" é um padrão de infraestrutura de chave pública que SSL e TLS aderem ao gerenciamento de chaves e certificados. • -x509: Estamos dizendo ao utilitário que queremos fazer um certificado autoassinado, em vez de gerar um pedido de assinatura de certificado, como normalmente aconteceria. • -nodes: Isso informa ao OpenSSL para ignorar a opção para proteger nosso certificado com uma passphrase. Criando certificado SSL – Detalhes do comando AULA 13: SERVIÇOS PARA INTRANET E INTERNET 6 Servidores para internet • - dias 365: Essa opção define o período de tempo que o certificado será considerado válido. • -newkey rsa: 2048: Especifica que queremos gerar um novo certificado e uma nova chave ao mesmo tempo. Não criamos a chave necessária para assinar o certificado em uma etapa anterior, então precisamos criá-lo junto com o certificado. A rsa:2048 diz para fazer uma chave RSA com 2048 bits de comprimento. • -keyout: Esta linha informa ao OpenSSL onde colocar o arquivo de chave privada gerado que estamos criando. • -out : Isso informa ao OpenSSL ondecolocar o certificado que estamos criando. Criando certificado SSL – Detalhes do comando AULA 13: SERVIÇOS PARA INTRANET E INTERNET 6 Servidores para internet • Abra o arquivo de configuração smtp postfix e altere/adicione os seguintes parâmetros vi /etc/postfix/main.cf smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = linux.com.br smtpd_sasl_security_options=noanonymous smtpd_recipient_restrictions = permit_sasl_authenticated, reject_unauth_destination, permit_mynetworks check_relay_domains smtpd_delay_reject = yes broken_sasl_auth_clients = yes smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtp_use_tls = yes smtpd_use_tls = yes smtpd_tls_auth_only = yes smtpd_tls_loglevel = 2 smtpd_tls_received_header = yes smtpd_tls_session_cache_timeout = 3600s tls_random_source = dev:/dev/urandom smtp_tls_session_cache_database = btree:$data_directory/smtp_tls_session_cache smtpd_tls_key_file = /etc/ssl/private/email-autoassinado.key smtpd_tls_cert_file = /etc/ssl/certs/email-autoassinado.crt smtpd_tls_CAfile = /etc/pki/tls/cert.pem Configurar o protocolo SMTP Postfix para SSL AULA 13: SERVIÇOS PARA INTRANET E INTERNET 6 Servidores para internet • Salve o arquivo e reinicie o serviço postfix • Teste o postfix com com telnet [root@email ~]# telnet localhost 465 Trying ::1... Connected to localhost. Escape character is '^]'. 220 email.linux.com.br ESMTP Postfix ehlo localhost 250-email.linux.com.br 250-PIPELINING 250-SIZE 30720000 250-VRFY 250-ETRN 250-STARTTLS 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN Configurar o protocolo SMTP Postfix para SSL AULA 13: SERVIÇOS PARA INTRANET E INTERNET 6 Servidores para internet • Configurar o certificado SSL/TLS autoassinado, criado anteriormente • Salve o arquivo e reinicie o serviço dovecot [root@email ~]# vi /etc/dovecot/dovecot.conf ssl = yes ssl_cert = </etc/ssl/certs/email-autoassinado.crt ssl_key = </etc/ssl/private/email-autoassinado.key Configurar o protocolo IMAP Dovecto para SSL AULA 13: SERVIÇOS PARA INTRANET E INTERNET 6 Servidores para internet • Para configurar o certificado autoassinado, primeiro devemos instalar o Mod SSL. • A instalação é feita com o comando a seguir • Usando o OpenSSL, geraremos um certificado autoassinado para fins didáticos. • Em um ambiente de produção, o correto é utilizar um certificado assinado por uma Autoridade Certificadora (CA). [root@localhost ~]# yum install mod_ssl Configurar o servidor Apache para SSL AULA 13: SERVIÇOS PARA INTRANET E INTERNET 6 Servidores para internet • Atualizar o arquivo de configuração do Apache SSL • Altere o caminho para corresponder onde o arquivo da chave privada (ca.crt) está armazenado • Altere o caminho para corresponder onde o arquivo da chave do certificado está armazenado [root@exemplo ~]# vi +/SSLCertificateFile /etc/httpd/conf.d/ssl.conf SSLCertificateFile /etc/pki/tls/certs/ca.crt SSLCertificateKeyFile /etc/pki/tls/private/ca.key Configurar o servidor Apache para SSL AULA 13: SERVIÇOS PARA INTRANET E INTERNET 6 Servidores para internet • Ajustar as configuração do HTTPS no servidor apache, adicione/altere os parâmetros conforme a seguir • Salve o arquivo e reinicie o serviço httpd [root@exemplo ~]# vi /etc/httpd/conf/httpd.conf NameVirtualHost *:443 <VirtualHost *:443> SSLEngine on SSLCertificateFile /etc/ssl/certs/email-autoassinado.crt SSLCertificateKeyFile /etc/ssl/private/email-autoassinado.key ServerAdmin postmaster@linux.com.br ServerName email.linux.com.br ServerAlias email.linux.com.br DocumentRoot /usr/share/roundcubemail ErrorLog /usr/share/roundcubemail/error.log CustomLog /usr/share/roundcubemail/requests.log combined Options Indexes FollowSymLinks </VirtualHost> Configurar o servidor Apache para SSL AULA 13: SERVIÇOS PARA INTRANET E INTERNET 6 Servidores para internet • Para configurar o RoundCube com TLS, altere o arquivo /etc/roundcubemail/config.inc.php conforme a seguir [root@exemplo ~]# vi /etc/roundcubemail/config.inc.php $config['smtp_server'] = 'tls://localhost'; // SMTP port (default is 25; use 587 for STARTTLS or 465 for the // deprecated SSL over SMTP (aka SMTPS)) $config['smtp_port'] = 587; // SMTP username (if required) if you use %u as the username Roundcube // will use the current username for login $config['smtp_user'] = '%u'; // SMTP password (if required) if you use %p as the password Roundcube // will use the current user's password for login $config['smtp_pass'] = '%p'; // SMTP AUTH type (DIGEST-MD5, CRAM-MD5, LOGIN, PLAIN or empty to use // best server supported one) $config['smtp_auth_type'] = 'PLAIN'; Configurando o suporte ao TLS no webmail RoundCube AULA 13: SERVIÇOS PARA INTRANET E INTERNET 6 Servidores para internet • Para que o Roundcube use a autenticação do usuário virtual para o e-mail de saída, precisamos ativar o plugin virtuser_query. • Esta configuração é realizada no mesmo arquivo /etc/roundcubemail/config.inc.php, adicione as linhas a seguir ao final do arquivo. [root@exemplo ~]# vi /etc/roundcubemail/config.inc.php $config['plugins'] = array('virtuser_query'); $config['virtuser_query'] = "SELECT email FROM users WHERE email='%u'"; Configurando o suporte ao TLS no webmail RoundCube AULA 13: SERVIÇOS PARA INTRANET E INTERNET 6 Servidores para internet • Acesse o webmail utilizando https Utilizando a solução de email com suporte ao TLS AULA 13: SERVIÇOS PARA INTRANET E INTERNET 6 Servidores para internet • Em “Mais ações >> Código Fonte” é possível confirmar que as mensagens estão sendo enviadas utilizando o TLSv1 Utilizando a solução de email com suporte ao TLS AULA 13: SERVIÇOS PARA INTRANET E INTERNET 6 Servidores para internet [root@email ~]# tail -100 /var/log/maillog Jul 7 01:19:04 email postfix/smtpd[1504]: connect from localhost[127.0.0.1] Jul 7 01:19:04 email postfix/smtpd[1504]: setting up TLS connection from localhost[127.0.0.1] Jul 7 01:19:04 email postfix/smtpd[1504]: localhost[127.0.0.1]: TLS cipher list "ALL:!EXPORT:!LOW:+RC4:@STRENGTH" Jul 7 01:19:04 email postfix/smtpd[1504]: SSL_accept:before/accept initialization Jul 7 01:19:04 email postfix/smtpd[1504]: SSL_accept:SSLv3 read client hello B Jul 7 01:19:04 email postfix/smtpd[1504]: SSL_accept:SSLv3 write server hello A Jul 7 01:19:04 email postfix/smtpd[1504]: SSL_accept:SSLv3 write certificate A Jul 7 01:19:04 email postfix/smtpd[1504]: SSL_accept:SSLv3 write key exchange A Jul 7 01:19:04 email postfix/smtpd[1504]: SSL_accept:SSLv3 write server done A Jul 7 01:19:04 email postfix/smtpd[1504]: SSL_accept:SSLv3 flush data Jul 7 01:19:04 email postfix/smtpd[1504]: SSL_accept:SSLv3 read client key exchange A Jul 7 01:19:04 email postfix/smtpd[1504]: SSL_accept:SSLv3 read finished A Jul 7 01:19:04 email postfix/smtpd[1504]: SSL_accept:SSLv3 write session ticket A Jul 7 01:19:04 email postfix/smtpd[1504]: SSL_accept:SSLv3 write change cipher spec A Jul 7 01:19:04 email postfix/smtpd[1504]: SSL_accept:SSLv3 write finished A Jul 7 01:19:04 email postfix/smtpd[1504]: SSL_accept:SSLv3 flush data Jul 7 01:19:04 email postfix/smtpd[1504]: Anonymous TLS connection established from localhost[127.0.0.1]: TLSv1 with cipher DHE-RSA- AES256-SHA (256/256 bits) Jul 7 01:19:04 email postfix/smtpd[1504]: AF9DA25F0: client=localhost[127.0.0.1],sasl_method=PLAIN, sasl_username=vendas@linux.com.br Jul 7 01:19:04 email postfix/cleanup[1510]: AF9DA25F0: message-id=<82740e0125d2d3082d3997977f314530@linux.com.br> Jul 7 01:19:04 email postfix/qmgr[1367]: AF9DA25F0: from=<vendas@linux.com.br>, size=683, nrcpt=1 (queue active) Jul 7 01:19:04 email postfix/pipe[1512]: AF9DA25F0: to=<comercial@linux.com.br>, relay=dovecot, delay=0.15, delays=0.07/0.03/0/0.05, dsn=2.0.0, status=sent (delivered via dovecot service) Jul 7 01:19:04 email postfix/qmgr[1367]: AF9DA25F0: removed • Utilizando o /var/log/mailog é possível acompanhar a operação do servidor de e-mail Utilizando a solução de email com suporte ao TLS AULA 13: SERVIÇOS PARA INTRANET E INTERNET 6 Servidores para internet VAMOS AOS PRÓXIMOS PASSOS? Conhecer os conceitos de monitoramento de servidores; Aprender a configurar um sistema automático de monitoramento de serviços baseado em software livre.
Compartilhar