Característica primordial do HTTPS “a segurança.
Apache com SSL, sua aplicação é conhecida como um servidor web capaz de fornecer por padrão criptografia baseada no protocolo SSL, utilizando o OpenSSL e SSLeay. A licença é BSD-Style e pode ser utilizada para fins comerciais e não comerciais.
SSL
Esse protocolo suporta uma variedade de diferentes algoritmos criptográficos, ou ciphers, para uso em operações de autenticação e do cliente, transmissão de certificados e estabelecimento de conexões.
Apache2
Como já sabemos, o Apache2 é um servidor web que quando combinado com o protocolo SSL se torna mais confiável pela questão da segurança de criptografia utilizada pelo protocolo.
HTTPS
É um protocolo ou conjunto de regras e códigos com uma camada de segurança que torna a navegação na internet mais segura, diferente do HTTP, que não dispõe do mesmo nível de segurança a navegação.
O HTTPS serve para que se estabeleça um dialogo entre os navegadores e os servidores da seguinte forma: os navegadores mandam mensagens para os servidores e as mesmas são encriptografadas, ou seja, embaralhadas de forma que somente os destinatários decifrem o seu conteúdo, com isso se agrega mais segurança entre a comunicação cliente servidor.
# apt-get update
Feita essa atualização, será iniciada a instalação OpenSSL. O OpenSSL é uma implementação de código aberto dos protocolos SSL e TLS. A biblioteca implementa as funções básicas de criptografia e disponibiliza várias funções utilitárias. Para a instalação usamos o seguinte comando:
# apt-get install openssl
Habilite o módulo SSL no Apache com o seguinte comando:
# a2enmod ssl
O Apache2 com SSL funciona através de um certificado reconhecido na web. Para gerar o certificado (CSR) será necessário a criação de uma chave, essa chave deverá conter no mínimo 08 caracteres, a criptografia usada nessa chave é a DES3, essa chave ficará no arquivo server.key. De dentro do diretório onde ela ficará armazenada, o "/etc/ssl/private", o usuário deve digitar o comando abaixo para criação da chave:
# openssl genrsa -des3 -out server.key 1024
Com a chave criada é importante acrescentar informações. Após digitar o comando abaixo, ele pedirá a chave e para preencher alguns dados, são os dados que serão visualizados referentes ao criador do certificado:
# openssl req -new -key server.key -out server.csr
Toda vez que o usuário reiniciar o Apache2 ele pedirá a chave. Isso faz com que caso haja um restart por algum motivo, o serviço não suba pois dependerá da presença humana para a digitação. Os comandos abaixo fazem com que o Apache2 não peça a chave em caso de restart do serviço, ou seja, ele faz a autenticação automaticamente. O usuário deve entrar no diretório "/etc/ssl/private" e executar o comando abaixo:
# openssl rsa -in server.key -out server.key.insecure
Executado o comando acima, deverá feita a substituição do arquivo atual pelo criado. Antes desse passo o usuário deve fazer uma cópia de segurança do arquivo atual ou renomear o arquivo "server.key". Com o comando abaixo será feita a renomeação e o arquivo permanecerá na mesma pasta:
# mv server.key server.bak
Após a renomeação do arquivo, será feita a renomeação do arquivo criado, que fará com que não seja mais pedida a chave quando houver restart do serviço. O comando será o seguinte:
# mv server.key.insecure server.key
O certificado será criado com o comando abaixo:
# openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Será necessário efetuar a instalação da chave e do certificado anteriormente criados com os seguintes comandos:
# cp server.crt /etc/ssl/certs
# cp server.key /etc/ssl/private
No comando para instalação do server.key vai dar uma mensagem, isso porque foi criado no próprio diretório onde ele seria instalado, se tivesse sido criado em outro diretório não haveria a mensagem.
Vamos adicionar algumas linhas e comentar duas linhas na configuração do Apache:
# nano /etc/apache2/sites-available/default-ssl
<VirtualHost *:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
# Adicione as linhas abaixo
SSLEngine on
SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
SSLCertificateFile /etc/ssl/server.crt
SSLCertificateKeyFile /etc/ssl/server.key
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
# Ache as linhas abaixo e comente-as
#
# SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
# SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
ctrl + x + y + enter ( para salvar e sair do arquivo )
O HTTPS escuta sobre a porta de número 443. É necessário adicionar a linha abaixo ao /etc/apache2/ports.conf, se já não houver:
# nano /etc/apache2/ports.conf
# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default
# This is also true if you have upgraded from before 2.2.9-3 (i.e. from
# Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and
# README.Debian.gz
Listen *:80
<IfModule mod_ssl.c>
# If you add NameVirtualHost *:443 here, you will also have to change
# the VirtualHost statement in /etc/apache2/sites-available/default-ssl
# to <VirtualHost *:443>
# Server Name Indication for SSL named virtual hosts is currently not
# supported by MSIE on Windows XP.
Listen 443
</IfModule>
ctrl + x + y + enter ( para salvar e sair do arquivo )
Vamos reiniciar o serviço.
# /etc/init.d/apache2 restart
Será pedido para aceitar o certificado, pois o certificado criado no tutorial não será reconhecido automaticamente pelo browser como seguro.
Para haver esse reconhecimento o criador da chave deve contratar uma autoridade certificadora para gerar o certificado a partir da chave gerada.
Essa autoridade de certificação é uma empresa autorizada a emitir, renovar e cancelar certificados digitais após verificar a identidade e a legitimidade da parte solicitante através de uma autoridade de registro. A principal autoridade de certificação é a VeriSign.
https://www.juralinux.com.br/
------------------------------------------------------------------------------------------------------------------------
===[ Sharing Knowledge ]=== - Obrigado - Thank you - Danke - Merci - Grazie - Gracias - arigatou gozaimasu
“We make a living by what we get, but we make a life by what we give.” - Give and you will receive - just share :)
------------------------------------------------------------------------------------------------------------------------
“We make a living by what we get, but we make a life by what we give.” - Give and you will receive - just share :)
------------------------------------------------------------------------------------------------------------------------
Nenhum comentário:
Postar um comentário