« Apache/HTTPS » : différence entre les versions

Contenu supprimé Contenu ajouté
→‎Linux : déplacement vers OpenSSL
DannyS712 (discussion | contributions)
m <source> -> <syntaxhighlight> (phab:T237267)
Ligne 64 :
 
Pour rendre possible la connexion en SSL, la configuration Apache suivante :
<sourcesyntaxhighlight lang=apache>
vim /etc/apache2/apache2.conf
# ou
vim /etc/apache2/sites-available/default-ssl
a2ensite default-ssl
</syntaxhighlight>
</source>
doit comprendre dans chaque vhost concerné :
{{Cadre fichier|le fichier de configuration|
<sourcesyntaxhighlight lang=Apache>
<VirtualHost *:443>
SSLEngine on
Ligne 80 :
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
...
</syntaxhighlight>
</source>
}}
 
Puis on relance Apache :
<sourcesyntaxhighlight lang="bash">
service apache2 reload
</syntaxhighlight>
</source>
 
Pour tester :
<sourcesyntaxhighlight lang="bash">
curl https://monURL
</syntaxhighlight>
</source>
 
Si la clé nécessite un mot de passe :
<sourcesyntaxhighlight lang=Apache>
SSLPassPhraseDialog exec:/etc/ssl/nomdedomaine.fr.pwd
</syntaxhighlight>
</source>
 
==== Personnalisation ====
Ligne 120 :
=== Création du certificat autosigné ===
Lancer une console DOS :
<sourcesyntaxhighlight lang=dos>
>cd "C:\Program Files (x86)\EasyPHP\binaries\apache\bin"
>openssl req -config "C:\Program Files (x86)\EasyPHP\binaries\php\php_runningversion\extras\ssl\openssl.cnf" -new -out Certificat_1.csr
Ligne 133 :
>openssl rsa -in privkey.pem -out Certificat_1.key
>openssl x509 -in Certificat_1.csr -out Certificat_1.cert -req -signkey Certificat_1.key -days 365
</syntaxhighlight>
</source>
 
Cela a généré les fichiers à renseigner dans la directive :
Ligne 144 :
== Autres aspects de sécurité ==
Le module <code>headers</code><ref>https://httpd.apache.org/docs/trunk/fr/mod/mod_headers.html</ref> peut assurer la protection contre le {{w|XSS}}<ref>http://content-security-policy.com/</ref> et le {{w|clickjacking}}. Exemple :
<sourcesyntaxhighlight lang=apache>
<IfModule mod_headers.c>
# Filtre sur les provenances des scripts, séparées par des espaces
Ligne 155 :
Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure
</IfModule>
</syntaxhighlight>
</source>
{{attention|Cela bloque les iFrames.}}
 
Pour tester une configuration, mieux vaut commencer par un .html plutôt que de la déployer sur tout le serveur en le redémarrant puis de faire machine arrière. Si en définissant la règle la plus permissive Firefox bloque tout de même quelque chose ({{rouge|Content Security Policy: Les paramètres de la page ont empêché le chargement d'une ressource à self}}
), il s'agit d'un bug connu qui n'affecte pas les autres navigateurs :
<sourcesyntaxhighlight lang=html5>
<head>
<meta http-equiv="Content-Security-Policy" content="default-src *">
</head>
</syntaxhighlight>
</source>
 
Par ailleurs, des sites d'audit gratuits peuvent ensuite révéler s'il reste des failles<ref>https://www.dareboost.com/fr</ref>.