Série RHCE Implementando HTTPS através do TLS usando o NSS (Network Security Service) para Apache - Parte 8
- 3620
- 298
- Robert Wunsch DVM
Se você é um administrador do sistema encarregado de manter e proteger um servidor da web, não pode se dar ao luxo de não dedicar seus melhores esforços para garantir que os dados atendidos ou passando pelo seu servidor sejam protegidos o tempo todo.
Série RHCE: Implementando HTTPS através do TLS usando o NSS (Network Security Service) para Apache - Parte 8Para fornecer comunicações mais seguras entre clientes e servidores da Web, o Https Protocolo nasceu como uma combinação de Http e Ssl (Camada de soquetes seguros) ou mais recentemente, TLS (Segurança da camada de transporte).
Devido a algumas violações de segurança graves, Ssl foi depreciado em favor dos mais robustos TLS. Por esse motivo, neste artigo, explicaremos como garantir conexões entre seu servidor da web e clientes usando TLS.
Este tutorial pressupõe que você já instalou e configurou seu servidor da Web Apache. Caso contrário, consulte o artigo a seguir neste site antes de prosseguir.
- Instale a lâmpada (Linux, MySQL/Mariadb, Apache e PHP) no RHEL/CENTOS 7
Instalação do OpenSSL e utilitários
Primeiro, certifique -se de que Apache está funcionando e que ambos http e https são permitidos através do firewall:
# SystemCtl Iniciar http # SystemCtl Ativar http # firewall-cmd --permanent --add-service = http # firewall-cmd --permanent --ad-service = https
Em seguida, instale os pacotes necessários:
# yum update && yum install openSsl mod_nss Crypto-utils
Importante: Por favor, observe que você pode substituir mod_nss com mod_ssl no comando acima se você quiser usar OpenSSL bibliotecas em vez de NSS (Serviço de segurança de rede) implementar TLS (Qual deles é deixado de acordo com você, mas usaremos o NSS neste artigo, pois é mais robusto; por exemplo, ele suporta padrões recentes de criptografia, como PKCS #11).
Finalmente, desinstale mod_ssl Se você escolheu usar mod_nss, ou vice-versa.
# yum remover mod_ssl
Configurando o NSS (serviço de segurança de rede)
Depois mod_nss está instalado, seu arquivo de configuração padrão é criado como /etc/httpd/conf.D/NSS.conf. Você deve ter certeza de que todo o Ouvir e VirtualHost Diretivas apontam para o porto 443 (porta padrão para https):
NSS.Conf - arquivo de configuraçãoOuça 443 VirtualHost _Default_: 443
Em seguida, reinicie Apache e verifique se o mod_nss Módulo foi carregado:
# apachectl reiniciar # httpd -m | Grep nssVerifique o módulo mod_nss carregado no apache
Em seguida, as seguintes edições devem ser feitas em /etc/httpd/conf.D/NSS.conf
arquivo de configuração:
1. Indicar diretório de banco de dados NSS. Você pode usar o diretório padrão ou criar um novo. Neste tutorial, usaremos o padrão:
NSSCERtificatedAtabase/etc/httpd/alias
2. Evite a entrada manual da senha em cada sistema, salvando a senha no diretório do banco de dados em /etc/httpd/nss-db-pas-palavra.conf:
NSSPASSSHRASEDIALOG ARQUIVO:/etc/httpd/nss-db-pas-assassword.conf
Onde /etc/httpd/nss-db-pas-palavra.conf contém apenas a seguinte linha e minha senha é a senha que você definirá posteriormente para o banco de dados NSS:
Interno: MyPassword
Além disso, suas permissões e propriedade devem ser definidas como 0640 e Raiz: Apache, respectivamente:
# chmod 640/etc/httpd/nss-db-pas-password.conf # chgrp apache/etc/httpd/nss-db-pas-password.conf
3. Red Hat recomenda desativar Ssl e todas as versões de TLS antes de TLSV1.0 devido ao Poodle SSLV3 Vulnerabilidade (mais informações aqui).
Certifique -se de que todas as instâncias do NSSProtocolo A diretiva lê o seguinte (é provável que você encontre apenas um se não estiver hospedando outros hosts virtuais):
NSSPROTOCOL TLSV1.0, tlsv1.1
4. O Apache se recusará a reiniciar, pois este é um certificado autoassinado e não reconhecerá o emissor como válido. Por esse motivo, neste caso em particular, você terá que adicionar:
NSSENFORCEVALIDCERTS OFF
5. Embora não seja estritamente necessário, é importante definir uma senha para o banco de dados NSS:
# certutil -w -d/etc/httpd/aliasDefina a senha para o NSS Database Pages: 1 2
- « Usando DSH (shell distribuído) para executar comandos Linux em várias máquinas
- 8 Dicas e truques interessantes do editor 'vi/vim' para todos os administradores do Linux - Parte 2 »