forcer l’utilisation de ssl sur un sous domaine avec ispcp

Tout d’abord il faut activer ssl sur votre serveur et générer vos certificats ssl (à moins que vous en ayez déjà).

Le how to officiel d’ispcp How to: SSL made easy est très bien fait et vous apprendra en premier lieu comment sécuriser votre control panel.

ispcp forcer lutilisation de ssl sur un sous domaine avec ispcp

Ayant un peu plus cherché pour mettre la même chose en place avec un sous domaine géré par ispcp, je me permets de relayer la solution (en allemand) que j’ai trouvé dans un forum.

le but est de créer un virtual host sub.domain.tld accessible en ssl (sachant que le virtual host est simplement créé avec ispcp)

il faut d’abord créer vhost en écoute sur le port 443 en éditant

sudo vi /etc/apache2/site-available/sub-ssl

et en y ajoutant

<VirtualHost XXX.XXX.XXX.XXX:443>

    SSLEngine On

    SSLCertificateFile /etc/ssl/certs/domain.tld.crt
    SSLCertificateKeyFile /etc/ssl/certs/domain.tld.key

    SSLProtocol All -SSLv2
    SSLCipherSuite ALL:!EXP:!NULL:!ADH:!LOW
    SetEnvIf User-Agent “.*MSIE.*” nokeepalive ssl-unclean-shutdown

   
    <IfModule suexec_module>
           SuexecUserGroup vu2001 vu2001
    </IfModule>

    ServerAdmin     webmestre.cerdi@u-clermont1.fr
    DocumentRoot    /var/www/virtual/domain.tld/sub/htdocs

    ServerName      pssi.domain.tld

    Alias /errors /var/www/virtual/domain.tld/errors/

    ErrorDocument 401 /errors/401.html
    ErrorDocument 403 /errors/403.html
    ErrorDocument 404 /errors/404.html
    ErrorDocument 500 /errors/500.html
    ErrorDocument 503 /errors/503.html

    ErrorLog /var/log/apache2/ssl_error_log
    CustomLog /var/log/apache2/ssl_request_log   ssl_combined

    # httpd sub entry cgi support BEGIN.
    ScriptAlias /cgi-bin/ /var/www/virtual/domain.tld/sub/cgi-bin/
    <Directory /var/www/virtual/domain.tld/sub/cgi-bin>
        AllowOverride AuthConfig
        #Options ExecCGI
        Order allow,deny
        Allow from all
    </Directory>
    # httpd sub entry cgi support END.

    <Directory /var/www/virtual/domain.tld/sub/htdocs>
        # httpd sub entry PHP support BEGIN.
        # httpd sub entry PHP support END.
        Options -Indexes Includes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>

    # httpd sub entry PHP2 support BEGIN.
    <IfModule mod_php5.c>
        php_admin_value open_basedir "/var/www/virtual/domain.tld/:/var/www/virtual/domain.tld/phptmp/:/usr/share/php/"
        php_admin_value upload_tmp_dir "/var/www/virtual/domain.tld/phptmp/"
        php_admin_value session.save_path "/var/www/virtual/domain.tld/phptmp/"
        php_admin_value sendmail_path '/usr/sbin/sendmail -f vu2001 -t -i'
    </IfModule>
   
    <IfModule mod_fastcgi.c>
        ScriptAlias /php5/ /var/www/fcgi/domain.tld/
        <Directory "/var/www/fcgi/domain.tld">
            AllowOverride None
            Options +ExecCGI -MultiViews -Indexes
            Order allow,deny
            Allow from all
        </Directory>
    </IfModule>
   
    <IfModule mod_fcgid.c>
        Include /etc/apache2/mods-available/fcgid_ispcp.conf
        <Directory /var/www/virtual/domain.tld/sub/htdocs>
            FCGIWrapper /var/www/fcgi/domain.tld/php5-fcgi-starter .php
            Options +ExecCGI
        </Directory>
        <Directory "/var/www/fcgi/domain.tld">
            AllowOverride None
            Options +ExecCGI MultiViews -Indexes
            Order allow,deny
            Allow from all
        </Directory>
    </IfModule>
    # httpd sub entry PHP2 support END.

</VirtualHost>

activer le virtual host

sudo a2ensite sub-ssl

et recharger la configuration d’apache

sudo /etc/init.d/apache2 reload

reste à interdire l’utilisation du http non sécurisé, ce qui revient à forcer le https via un règle de rewriting qui peut par exemple être mise dans un .htaccess à la racine du sous domaine

vi /var/www/virtual/domain.tld/sub/htdocs/.htaccess

et ajouter quelque chose du genre

<IfModule mod_rewrite.c>
   RewriteEngine On
   RewriteCond %{SERVER_PORT} 80
   RewriteRule ^(.*)$ https://sub.domain.tld/$1 [R,L]
</IfModule&gt>

ispcp box forcer lutilisation de ssl sur un sous domaine avec ispcp

Posted by: mazenovi on 28 mars 2011 @ 13 h 11 min
Filed under: bricolage,dev,libre,Non classé,securité

Pas de commentaire »

Pas encore de commentaire.

Flux RSS des commentaires de cet article. TrackBack URL

Laisser un commentaire