HowTo SSL

Da EigenWiki.

Bozza per il momento, contribuite e chiedete nella pag di discussione

esterno->idra->idra.proxy+(certificato)->rete_interna->server_interno+(certificato)


  • Accedere a startssl.com e fare il validation wizard dell'host
  • mandare la mail a webmaster@eigenlab.org
  • Controllare la mailinglist
  • Copiare e incollare nella casella di verifica il codice
  • Far partire il certificates wizard, skippare la creazione della chiave privata da parte di startssl (è molto importante!) e crearsi il certificato ssl con openssl sul server di eigenlab.

Bravo, lo hai fatto? Io non ero bono quindi ecco:

Genera chiave e csr, 4096 è la lunghezza in bit della chiave privata. Questo comando fa tutto in uno step solo, e genera una chiave verificabile con sha256, e non più con sha1 che è vulnerabile:

openssl req -new -nodes -sha256 -keyout git.eigenlab.key -out git.eigenlab.org.csr -newkey rsa:4096


  • E dai in pasto il csr a startcom che ti darà il crt,
  • Mettere tutti i file (anche quelli della chain di fiducia) in /etc/ssl/apache/nomeserver/
  • Modificare ad ispirazione il vhost aggiungendo la roba per https

in /etc/apache/httpd.conf

       NameVirtualHost *:80
       Listen 80
       NameVirtualHost *:443
       Listen 443

E nessun Namevirtualhost nei vhost files.

Su idra: Va aggiunta la parte per https: facsimile:

<VirtualHost *:443>
   ServerName    git.eigenlab.org
   CustomLog     /var/log/apache2/git.eigenlab.org-access.log combined
   ErrorLog      /var/log/apache2/git_error_log
   ServerAdmin   info@eigenlab.org
   <Proxy *>
       Order deny,allow
       Allow from all
   </Proxy>
   SSLEngine                 on
   SSLCipherSuite            ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
   SSLProxyEngine            on
   SSLProtocol               All -SSlv3
   SSLCertificateFile        /etc/ssl/apache2/git.eigenlab.org/git.eigenlab.org.crt
   SSLCertificateKeyFile     /etc/ssl/apache2/git.eigenlab.org/git.eigenlab.org.key
   SSLCertificateChainFile   /etc/ssl/apache2/GandiStandardSSLCA.pem    
   ProxyRequests             off
   ProxyPreserveHost         on
   ProxyPass                 / https://git.eigenlab.org/
   ProxyPassReverse          / https://git.eigenlab.org/
</VirtualHost>
  • Sulla macchina host niente proxy, sì ssl, eventuale directory:

facsimile

<VirtualHost *:443>
   ServerName    git.eigenlab.org
   CustomLog     /var/log/apache2/git.eigenlab.org-access.log combined
   ErrorLog      /var/log/apache2/git_error_log
   ServerAdmin   info@eigenlab.org
   DocumentRoot  /home/git/gitlab/public
   <Directory /home/git/gitlab/public>
       # This relaxes Apache security settings.
       Order deny,allow
       Allow from all 
       # MultiViews must be turned off.
       Options -MultiViews
   </Directory>
   SSLEngine                 on
   SSLCipherSuite            ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:-SSLv2:+EXP:+eNULL
   SSLProxyEngine            on
   SSLProtocol               All -SSLv2
   SSLCertificateFile        /etc/ssl/apache2/git.eigenlab.org/git.eigenlab.org.crt
   SSLCertificateKeyFile     /etc/ssl/apache2/git.eigenlab.org/git.eigenlab.org.key
   SSLCertificateChainFile   /etc/ssl/apache2/Startssl.pem
   SSLCACertificateFile      /etc/ssl/apache2/ca.pem
</VirtualHost>