Segurança de servidor na web com certificado de servidor e certificado do cliente
# apt-get install openssl
# apt-get install apache2
# apt-get install ssl-cert
Com tudo funcionando, devemos agora criar um certificado SSL, para isso utilize o comando:
# openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/apache.pem -keyout /etc/apache2/apache.pem
Ao executar esse comando as seguintes perguntas lhe serão feitas:
Country Name (2 letter code) [AU]: BR
State or Province Name (full name) [Some-State]: SC
Locality Name (eg, city) []: Florianopolis
Organization Name (eg, company) [Internet Widgits Pty Ltd]: UFSC
Organizational Unit Name (eg, section) []: CTC-INE
Common Name (eg, YOUR name) []: localhost
Email Address []: meuemail@dominio.com
Responda as perguntas conforme sua necessidade. Atente-se para o campo Common Name, nele você deve digitar o domínio ou o nome do host onde seu certificado vai ser instalado.
Feito isso, dê permissão de leitura e escrita apenas pro root no arquivo /etc/apache2/apache.pem:
# chmod 600 /etc/apache2/apache.pem
Edite o arquivo /etc/apache2/ports.conf e adicione a seguinte linha:
Listen 443
Habilite o suporte a SSL no apache da seguinte forma:
# a2enmod ssl
Edite o arquivo /etc/apache2/sites-avaliable/default e deixe-o da seguinte forma:
NameVirtualHost *:80
NameVirtualHost *:443
ServerAdmin webmaster@localhost DocumentRoot /var/www/ Options FollowSymLinks AllowOverride None
Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all
DocumentRoot /var/www-ssl/ Options FollowSymLinks AllowOverride None
Options Indexes