Como proteger o Apache com SSL e vamos criptografar em FreeBSD

Como proteger o Apache com SSL e vamos criptografar em FreeBSD

Neste tutorial, aprenderemos a garantir Apache http servidor com TLS/SSL certificados oferecidos por Vamos criptografar em FreeBSD 11.x. Também abordaremos como automatizar o processo da renovação do certificado para Lets 'Encrypt.

Leia também: Instale, vamos criptografar para o nginx no FreeBSD

TLS/SSL Os certificados são usados ​​pelo Apache Web Server para criptografar a comunicação entre nós finais ou mais comum entre o servidor e o cliente para fornecer segurança. Vamos Encrypt fornece CertBot Utilitário de linha de comando, que é um aplicativo que pode facilitar a maneira como você pode obter certificados confiáveis ​​gratuitamente.

Requisitos:

  1. Instalação do FreeBSD 11.x
  2. 10 coisas para fazer após a instalação do FreeBSD
  3. Como instalar o Apache, MariaDB e PHP em FreeBSD

Etapa 1: Configurar o Apache SSL no FreeBSD

1. Antes de começar a instalar o CertBot Utility e criar o arquivo de configuração TSL para Apache, primeiro crie dois diretórios distintos nomeados Sites disponíveis e sites habilitados no diretório de configuração do Apache Root, emitindo os comandos abaixo.

O objetivo desses dois diretórios é facilitar o gerenciamento de configuração de hospedagem virtual no sistema, sem modificar o Apache principal httpd.conf Arquivo de configuração cada vez que adicionamos um novo host virtual.

# mkdir/usr/local/etc/apache24/sites-Available # mkdir/usr/local/etc/apache24/sites-habilitados 

2. Depois que você criou os dois diretórios, aberto Apache httpd.conf Arquive com um editor de texto e adicione a seguinte linha próxima ao final do arquivo, conforme ilustrado abaixo.

# nano/usr/local/etc/apache24/httpd.conf 

Adicione a seguinte linha:

Incluir opcional etc/apache24/sites-habilitados/*.conf 
Configure o Apache no FreeBSD

3. Em seguida, habilite o TLS Módulo para Apache criando o seguinte um novo arquivo nomeado 020_MOD_SSL.conf em módulos.d diretório com o seguinte conteúdo.

# nano/usr/local/etc/apache24/módulos.d/020_mod_ssl.conf 

Adicione as seguintes linhas ao arquivo 020_MOD_SSL.conf.

Ouça 443 SSLPROTOCOL ALL -SSLV2 -SSLV3 SSLCIPHERSUITE High: Médio:!Anull:!MD5 SSLPasshRasedialog SslSessionCacheTimeout 300 
Configuração Apache SSL em FreeBSD

4. Agora, descomamento o Ssl módulo de /usr/local/etc/apache24/httpd.conf Arquivo removendo a hashtag desde o início da linha a seguir, conforme ilustrado abaixo:

LoadModule ssl_module libexec/apache24/mod_ssl.então 
Ativar módulo SSL no apache

5. Em seguida, crie o TLS arquivo de configuração para seu domínio em Sites disponíveis Diretório, de preferência com o nome do seu domínio, conforme apresentado no trecho abaixo:

# nano/usr/local/etc/apache24/sites-available/bsd.LAN-SSL.conf 

Adicione a configuração virtualhost seguinte ao arquivo BSD.LAN-SSL.conf.

 ServerName www.seu domínio.com Serveralias YourDomain.com documentroot "/usr/local/www/apache24/data/" sslegine no sslCertificatefile "/usr/local/etc/letsencrypt/vive/www.seu domínio.com/cert.PEM "SSLCERtificateKeyFile"/usr/local/etc/letsencrypt/Live/www.seu domínio.com/privky.PEM "SSLCERTIFICATECHAINFILE"/usr/local/etc/letSencrypt/Live/www.seu domínio.com/fullchain.PEM "SSLOPTIONS +STDENVVARS SSLOPTIONS +STDENVVARS BROWSMATCH" MSIE [2-5] "\ Nokeepalive SSL-Unclean-Shutdown \ Downgrade-1.0 Força-resposta-1.0 CustomLog "/var/log/apache/httpd-ssl_request.log "\" %t %h %ssl_protocol x %ssl_cipher x \ "" %r \"" %b ""Índices de opções seguem os links multiviews #arlowOverride em que diretrizes podem ser colocados em .arquivos htaccess. AllowoverRide todos os #Controls que podem obter coisas deste arquivo de servidor requerem todo o erro concedido ""/var/log/apache/yourDomain.SSL-error.Log ""CustomLog""/var/log/apache/yourDomain.SSL-access_log ""Combinado  

Makre com certeza você substitui a variável de nome de domínio de Nome do servidor, Serveralias, ErrorLog, CustomLog declarações de acordo.

Etapa 2: Instalar Lets'EnCrypt no FreeBSD

6. Na próxima etapa, emita o seguinte comando para instalar CertBot utilidade fornecida por Vamos criptografar, que será usado para obter Apache TSL certificados gratuitos para seu domínio.

Durante a instalação CertBot Uma série de prompt será exibida na sua tela. Use a captura de tela abaixo para configurar CertBot Utilitário. Além disso, compilar e instalar o utilitário certbot pode levar algum tempo, dependendo dos recursos da sua máquina.

# CD/usr/portas/segurança/py-certbot # Torne a instalação limpa 
Instale o certbot no FreeBSD

7. Após o término do processo de compilação, emita o comando abaixo para atualizar CertBot utilidade e CertBot dependências necessárias.

# pkg install py27-certbot # pkg install py27-acme 

8. Para gerar um certificado para o seu domínio, emita o comando como ilustrado abaixo. Certifique -se de fornecer o local correto do Webroot, onde os arquivos do seu site são armazenados no sistema de arquivos (Documentroot diretiva do seu arquivo de configuração de domínio) usando o -c bandeira. Se você tem vários subdomínios, adicione todos eles com o -d bandeira.

# CertBot Certonly ---webroot -w/usr/local/www/apache24/data/-d yourDomain.com -d www.seu domínio.com 

Ao obter o certificado, forneça um endereço de e -mail para renovação de certificado, pressione A para concordar com os termos e condições Let's Criptografar e n Para não compartilhar o endereço de e -mail, vamos criptografar parceiros.

Saída de comando certbot
Salvando o log de depuração para/var/log/letSencrypt/letsencrypt.Log Enter Endereço de email (usado para avisos urgentes de renovação e segurança) (Digite 'C' para cancelar): [Email protegido] Parece haver problemas com esse endereço. Digite o endereço de email (usado para avisos urgentes de renovação e segurança) Se você realmente deseja pular isso, poderá executar o cliente com-registrador-insenciosamente com e-mail, mas certifique-se de fazer backup de sua chave de conta de/etc/letSencrypt/ Contas (digite 'c' para cancelar): [email protegido] ------------------------------------------ --------------------------------------------- Por favor, leia os termos de serviço em https: // LetSencrypt.org/documentos/le-sa-v1.1.1 de agosto-1-2016.pdf. Você deve concordar para se registrar no servidor ACME em https: // acme-v01.API.LetSencrypt.org/diretório --------------------------------------------- ---------------------------------- (a) gree/(c) Ancho: a ------------------------------------------------------------------------------- Você estaria disposto a compartilhar seu endereço de e-mail com a Electronic Frontier Foundation, um parceiro fundador do projeto Let's Encrypt e a organização sem fins lucrativos que desenvolve o CERTBOT? Gostaríamos de enviar e -mails sobre a eff e nosso trabalho para criptografar a web, proteger seus usuários e defender os direitos digitais. ------------------------------------------------------------------------------- (Sim não: n Obtenção de um novo certificado executando os seguintes desafios: HTTP-01 Desafio para www.domínio.com o uso do Webroot Path/usr/local/www/apache24/dados para todos os domínios incomparáveis. Aguardando a verificação… Limpar desafios notas importantes: - Parabéns! Seu certificado e cadeia foram salvos em/usr/local/etc/letsencrypt/Live/www.seu domínio.com/fullchain.PEM. Seu certificado expirará em 2017-11-15. Para obter uma versão nova ou ajustada deste certificado no futuro, basta executar o certbot novamente. Para renovar de forma interativa * todos * de seus certificados, execute ""CertBot Renow"" - suas credenciais de conta foram salvas no seu diretório de configuração de certbot em/usr/local/etc/letsencrypt. Você deve fazer um backup seguro desta pasta agora. Este diretório de configuração também conterá certificados e chaves privadas obtidas pelo certbot, portanto, fazer backups regulares desta pasta é ideal. - Se você gosta do CERTBOT, considere apoiar nosso trabalho: Doando para ISRG/Let's Encrypt: https: // LetSencrypt.org/doar doação para eff: https: // eff.org/doar-le

9. Depois de obter os certificados para o seu domínio, você pode executar o comando ls para listar todos os componentes do certificado (cadeia, chave privada, certificado), conforme apresentado no exemplo abaixo.

# ls -al/usr/local/etc/letSencrypt/Live/www.seu domínio.coma 
Listar o certificado de domínio e as chaves

Etapa 3: Atualize os certificados Apache TLS sobre FreeBSD

10. Para adicionar certificados Let's Crypt ao seu site, abra o arquivo de configuração do Apache para o seu domínio e atualize as seguintes linhas para refletir o caminho dos certificados emitidos.

# nano/usr/local/etc/apache24/sites-available/bsd.LAN-SSL.conf 

Adicione estas linhas de certificado TLS:

SslCertificatefile ""/usr/local/etc/letSencrypt/Live/www.seu domínio.com/cert.PEM ""SSLCERtificateKeyFile""/usr/local/etc/letsencrypt/Live/www.seu domínio.com/privky.PEM ""SSLCERTIFICATECHAINFILE""/usr/local/etc/letSencrypt/Live/www.seu domínio.com/fullchain.Pem "" 
Configure o certificado SSL para domínio

11. Por fim, ative o arquivo de configuração do TLS, criando um link simbólico para o seu arquivo de configuração TLS de domínio para sites habilitados Diretório, verifique as configurações do Apache para obter possíveis erros de sintaxe e, se a sintaxe estiver OK, reinicie o daemon Apache, emitindo os comandos abaixo.

# ln -sf/usr/local/etc/apache24/sites -available/bsd.LAN-SSL.conf/usr/local/etc/apache24/sites -enabled/ # apachectl -t # serviço apache24 reinicialização 

12. Para verificar se o serviço Apache está ouvindo Https porta 443, emitir o seguinte comando para listar soquetes de rede httpd.

# Sockstat -4 | grep httpd 
Verifique as portas Apache

13. Você pode navegar para o seu endereço de domínio a partir de um navegador via protocolo HTTPS para confirmar que os certificados Let's Crypt são aplicados com sucesso.

https: // www.seu domínio.com 
Verifique https vamos criptografar o certificado

14. Para obter informações extras sobre o emitido Certificado Let's Crypt da linha de comando, use o OpenSSL comando da seguinte forma.

# OpenSSL s_client -Connect www.seu domínio.com: 443 
Verifique, vamos criptografar informações de certificado

15. Você também pode verificar se o tráfego é criptografado com um certificado válido fornecido por Vamos criptografar CA de um dispositivo móvel, conforme ilustrado na captura de tela abaixo móvel.

Verifique se o tráfego HTTPS é criptografar

Isso é tudo! Os clientes agora podem visitar seu site com segurança, porque o tráfego que flui entre o servidor e o navegador do cliente é criptografado. Para tarefas mais complexas relativas ao CertBot Utility, visite o seguinte link: https: // certbot.eff.org/

"