Apache + SSL

Publicado por Leandro L. Santos em 11/09/2006

[ Hits: 8.749 ]

 


Apache + SSL



Supondo que você já tenha instalado o Apache com Mod_SSL.

1) Para ativar o Module_SSL, descomente a seguinte linha no "httpd.conf", ficando assim:

include /etc/apache/mod_ssl.conf

2) Gerando as chaves com OpenSSL:

# cd /etc/apache/ssl.key/

Gerando as chaves para o nosso domínio:

# openssl genrsa -out dominio.com.br.key 1024
# openssl req -new -key dominio.com.br.key -out ../ssl.csr/slackuser.sytes.net.csr

(preencha os dados)
# openssl x509 -req -days 365 -in ../ssl.csr/dominio.com.br.csr -signkey ../ssl.key/dominio.com.br.key -out ../ssl.crt/dominio.com.br.crt

3) Ativando suporte ao SSL no daemon, repare que no caso responsável por iniciar o Apache, acrescentei "ssl" na palavra 'start', ficando: startssl.

Início do rc.httpd:

#!/bin/sh
#
# /etc/rc.d/rc.httpd
#
# Start/stop/restart the Apache web server.
#
# To make Apache start automatically at boot, make this
# file executable: chmod 755 /etc/rc.d/rc.httpd
#

case "$1" in
   'start')
      /usr/sbin/apachectl startssl ;;
   'stop')
      /usr/sbin/apachectl stop ;;
   'restart')
      /usr/sbin/apachectl stop && /usr/sbin/apachectl startssl ;;
   *)
      echo "usage $0 start|stop|restart" ;;
esac

4) Criar as entradas do virtualHost/domínio no arquivo mod_ssl.conf.

Exemplo de mod_ssl.conf:

LoadModule ssl_module libexec/apache/libssl.so

<IfDefine SSL>
Listen 80
Listen 443
</IfDefine>

<IfDefine SSL>
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl    .crl
</IfDefine>

<IfModule mod_ssl.c>

SSLPassPhraseDialog  builtin

SSLSessionCache         dbm:/var/log/apache/ssl_scache
SSLSessionCacheTimeout  300

SSLMutex  file:/var/log/apache/ssl_mutex

SSLRandomSeed startup builtin
SSLRandomSeed connect builtin

SSLLog      /var/log/apache/ssl_engine_log
SSLLogLevel info

</IfModule>

<IfDefine SSL>

<VirtualHost _default_:443>

DocumentRoot "/var/www/htdocs"
ServerName dominio.com.br
ServerAdmin usuario@dominio.com.br
ErrorLog /var/log/apache/error_log
TransferLog /var/log/apache/access_log

SSLEngine on

SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

SSLCertificateFile /etc/apache/ssl.crt/dominio.com.br.crt

SSLCertificateKeyFile /etc/apache/ssl.key/dominio.com.br.key

<Files ~ "\.(cgi|shtml|phtml|php3?)$">
    SSLOptions +StdEnvVars
</Files>
<Directory "/var/www/cgi-bin">
    SSLOptions +StdEnvVars
</Directory>

SetEnvIf User-Agent ".*MSIE.*" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0

CustomLog /var/log/apache/ssl_request_log \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

</VirtualHost>                                  

</IfDefine>
Outras dicas deste autor

Recuperando a senha do super-usuário (root)

Thin-Client Linux vs Terminal Server licenciado por dispositivo

Upgrade do Slackware 8.1 para 9.0

Leitura recomendada

Cfdisk - Editar partições em modo texto

Login automático em máquinas remotas

Hora sempre certa no Void Linux

Impedir que usuários não-root possam logar

Usuário comum administrando o CUPS

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts