Outil d'hébergement multi site : Froxlor
Au détour de mon dernier article, j'ai vu remonter un lien dans ma liste d'onglets sauvegardés : Froxlor. C'est un petit outil qui permet de gérer un serveur d'hébergement multisite en PHP.
J'ai voulu tester et... J'ai grandement apprécié.
En recherchant ailleurs, j'ai découvert d'autres outils similaires que je présenterai dans d'autres articles.
Les bases
Qu'est ce qu'un hébergement multi site ?
Un hébergement multisite est un (ou plusieurs) serveur(s) configuré(s) de façon à accueillir une multitude de sites web mis en place par diverses personnes.
Généralement, pour un hébergement comme ça il faut plusieurs scripts :
- Gestion du compte
- Gestion de l'hébergement web
- Gestion de l'ajout de nom, de domaine
- Gestion de la base de donnée
- Gestion du serveur FTP
- Gestion du serveur mail
Et le mieux c'est quand tout ces scripts sont automatisés derrière un service web.
À quoi ça sert d'héberger son site web ?
À être présent sur internet pardis !
Les entreprises, les restaurants vendent, permettent de reserver en ligne. Mais les particuliers aussi usent des sites web pour partager surtout. Le web ce n'est pas que Google, Facebook et Medium. C'est plus que ça (et puis c'est pas le but de cet article è_é )
Froxlor, c'est un peu la machine à café.
Froxlor c'est un peu tous les scripts que je vous ai présenté plus haut, mixés dans une interface web fonctionnelle. C'est un outil encore maintenu. Une fois installé et configuré, tout ce qui est configuration des vhosts, créations des bases de données... C'est lui qui gère. Ce qui fait que ça reste puissant et fort agréable à utiliser.
Cependant Froxlor ne s'installe pas non plus tout seul et nécessite des interactions humaines. Il faut le configurer (et bien), gérer quelques détails pour que les configurations fonctionnent. Et à côté de cela, il faut s'occuper de la supervision, tester les backups (car Froxlor s'occupe des backups), mettre à jour, entretenir le serveur et ajouter un brin de sécurité (netfilter mon amour).
Qu'est ce qu'il gère ?
Un peu tout après l'installation du serveur. Il vous faut installer un serveur MariaDB / MySQL et ajouter mysqlclient sur le serveur sur lequel Froxlor est installé.
Suite à ça, il gère les tâches cron de vous ou des clients, la rotation des logs, mais également la partie HTTP avec Apache ou Nginx ou LightHTTPD, le backend que cela soit du PHP-FPM ou du Perl. Il faut cependant installer toutes les extensions vous-même mais le reste est plutôt bien géré. Je n'ai cependant pas testé le multi version PHP mais cela semble gérable.
Froxlor s'occupe également de la partie DNS, résolveur ou autoritaire. Vous pouvez lui déléguer la gestion de votre zone DNS (avec AXFR pour le transfert des zones à des DNS secondaires).
Cet outil gère également les webmails SMTP ou IMAP ainsi que les bases de données, les quotas de chacun... ET les quotas web, soft quota ou Hard quota. En somme quasiment tout.
La cerise sur le gâteau : vous pouvez aller jusqu'à personnaliser vos vhosts , vos confs PHP... Ça permet d'avoir votre décoration sur ces hébergements.
Par contre, même si l'interface reste sympa (et utilisable côté client), l'administration complète de Froxlor ne peut être effectuée que par une personne aillant des connaissances en gestion de serveur. Seul la partie cliente est accessible pour une personne lambda (et c'est déjà un énorme plus).
Cependant, l'outil a bien trois défauts : il ne gère pas les backends type nodejs (pour installer une ferme de Ghost par exemple), ni le multiserveur (un serveur DNS à un endroit spécifique, un reverse proxy, plusieurs serveurs Apache...) et il n'est pas pleinement automatisé, pas out of the box, cependant ce n'est pas insurmontable. Et d'ailleurs je vais vous expliquer comme installer cet outil !
Au final, Froxlor est l'outil que je recherchais au tout début de DryCat car je souhaitais faire de l'hébergement multi site. Finalement, j'héberge plein d'autres applications.
Installation
Le serveur
Tout d'abord il vous faut un serveur vierge (une VM, un VPS chez Hetzner... (vous avez 20€ offert en utilisant ce lien) (referal programme, cet article n'est pas sponsorisé)). J'ai testé sur Debian mais Froxlor est installable sur d'autres OS comme Ubuntu, CentOS...
Le terminal
Une fois votre OS choisi, il faut installer MariaDB (et là sur le coup je vais vous laisser regarder sur internet, y a tellement de bons tutoriels que je ne pourrai jamais égaler que je vais leur laisser la main (comme ce super tuto sur digitalocean).
apt-get -y install apt-transport-https lsb-release ca-certificates
wget -O - https://deb.froxlor.org/froxlor.gpg | apt-key add -
echo "deb https://deb.froxlor.org/debian $(lsb_release -sc) main" > /etc/apt/sources.list.d/froxlor.list
apt update
apt install -y froxlor quotatool libapache2-mod-fcgid quota libnss-extrausers dnsutils php-gd opendkim opendkim-tools
libnss-extrausers
permet d'avoir un fichier passwd dans le/var/lib/extrausers
pleinement gérable par les applications sans risquer d'éclater le vrai/etc/passwd
quota
gère les quotas disque (oui, comme son nom l'indique) etquotatools
donne accès a une cli un peu plus complète.opendkim
etopendkim-tools
permette de gérer les clés DKIM pour les serveurs mail.
Bien sûr, avec le paquet froxlor
vous aurez PHP et Apache d'installé. Les autres paquets sont à installer pour la configuration et améliorer votre service.
Pour que Froxlor utilise php-fpm, il va falloir lui créer un utilisateur.
useradd -r -s /bin/false froxlor
Il va falloir également préparer l'arrivée de Let's Encrypt en créant le dossier qui lui sera réservé
mkdir /var/www/letsencrypt
chown -R www-data: /var/www/letsencrypt
Mais pour que chaque validation ACME passe, il faudra également que Apache sache vers quel dossier pointer et qu'il soit commun à tous.
Pour ça, vous allez créer un fichier dans le /etc/apache2/conf-available/acme.conf
et vous y ajouterez ça :
Alias /.well-known/acme-challenge /var/www/letsencrypt
<Directory "/var/www/letsencrypt">
Options -Indexes
AllowOverride all
Require all granted
</Directory>
Puis vous l'activez
a2enconf acme
systemctl reload apache2
Il faut ensuite créer un certificat par défaut.
Si vous en avez acheté un, vous pouvez sauter cette étape.
Si non, nous allons créer un certificat et une CA interne.
mkdir /etc/ssl/DryCA;cd /etc/ssl/DryCA
openssl genrsa -out rootCA.key 4096 # Création de la clé privée du certificat root en 4096
openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.crt # Création du certificat à partir de la clé privée avec une durée de validité de 1024 jours
openssl genrsa -out mydomain.com.key 4096 # Création de la clé privée du certificat
openssl req -new -key mydomain.com.key -out mydomain.com.csr # Création d'une demande de certification
openssl x509 -req -in mydomain.com.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out mydomain.com.crt -days 500 -sha256 # Création du certificat à partir de la demande du certificat, de la clé privée du CA
Puis, toujours avec openssl, nous allons créer une clé Deffie Hellman :
mkdir /etc/apache2/ssl
openssl dhparam -out /etc/apache2/ssl/dhparams.pem 4096
En fonction de la puissance de la machine, vous pouvez aller vous faire un café / thé / lait d'amande...
Avant d'oublier, nous allons modifier le vhost par défaut de Apache.
En effet, celui ci pointe vers le /var/www/html
- or Froxlor se situe dans le /var/www/froxlor
. On va donc modifier le fichier suivant /etc/apache2/sites-enabled/000-default.conf
en remplaçant la directive
DocumentRoot /var/www/html
par
DocumentRoot /var/www
Puis un coup de apache2ctl graceful
et c'est parti.
Il faut également créer une base de données et un utilisateur pour Froxlor.
Connectez-vous en utilisateur privilégié sur votre serveur MariaDB puis tapez les commandes suivantes :
CREATE USER `froxlor`@`127.0.0.1` IDENTIFIED BY 'S3Cr3t';
CREATE DATABASE `froxlor`;
GRANT ALL PRIVILEGES ON `*`.`froxlor` TO `froxlor`@`127.0.0.1`;
Maintenant l'activation du quota pour que Froxlor gère ça.
Tout d'abord dans le fstab, vous devez ajouter la directive usrquota
de cette façon :
LABEL=DOROOT / ext4 errors=remount-ro,usrquota 0 1
J'ai mis le / en partition car j'en ai pas d'autre (et je ne n'en ai pas configuré d'autre) mais par défaut, les données clients chez Froxlor sont stockées dans le /var/customers
donc si vous pouvez avoir une partition en /var/customers
n'hésitez pas à modifier la ligne ci-dessus. Puis vous devez taper les commandes suivantes :
mount -o remount / # Pour prendre en compte la directive usrquota
quotacheck -cum / # Pour initialiser les quotas
quotaon / # Pour activer les quotas
Puis pour que extrauser soit pris en compte, on va redémarrer le système.
shutdown -r 0
Maintenant nous allons passer Ă la l'installation et la configuration via l'interface web. Nous n'aurons plus qu'une commande Ă taper par la suite pour installer les derniers composants et appliquer les configurations que nous venons de configurer.
Un brin de sécurité
On va rajouter un brin de sécurité avec netfilter ou plutôt iptables (en réalité j'utilise ferm mais pour vous je ferai une exception). Si vous utilisez ufw, firewalld, whatever, je vous laisse vous référer à vos documentations respectives.
Mais ce qui se passera est plutôt simple : nous allons bloquer tous les ports en entrée ET en sortie (les défis c'est sympa). Nous allons également ouvrir les ports 20, 21, 22, 25, 143, 80, 443; 465, 587, 993, 49152-65534 (FTP passif) de l'extérieur au serveur ainsi que les port 25, 143, 80, 443; 465, 587, 993 (le 80 et le 443 pour les majs serveurs et pour que vos sites puissent contacter l'extérieur et les ports mails pour pouvoir envoyer des mails et les lires vers d'autres serveurs).
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --match multiport --dports 49152-65534 -j ACCEPT
iptables -A FORWARD -m state --state INVALID -j DROP
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state INVALID -j DROP
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p ipv6-icmp -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport 443 -j ACCEPT
iptables -A OUTPUT -i lo -j ACCEPT
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
L'état INVALID
signifie que le paquet ne peut pas être identifié ou qu'il n'a aucun état connu.
L'état ESTABLISHED
résulte de l'observation d'un trafic dans les deux sens, et donc établit une correspondance avec ce type de paquets.
Une connexion est considérée comme RELATED
quand elle est liée à une autre connexion déjà établie, donc dans l'état ESTABLISHED
.
( Des explications plus longues se situent ici)
L'interface web
Prenez maintenant votre navigateur favori pour accéder à Froxlor: http://votreip/froxlor.
Cliquez sur suivant, tout devrait être vert (sinon vous avez oublié une étape plus haut). Passez donc au formulaire et remplissez le avec les informations que vous souhaitez. Le seul truc que je vous demanderais de respecter c'est le choix de Apache2.4 car cet article a été fait en utilisant Apache2.4 et pas les autres.
Validez. Normalement ça s'installe rapidement et sans difficulté. Cliquez sur suivant pour vous connecter. Vous arrivez sur une superbe page avec un gros message qui vous dit que rien n'est configuré. Cette page possède également des statistiques telles que le nombre de BDD, de compte...
.
Nous ce qui va nous intéresser se trouve dans l'onglet paramètres dans la section système de Froxlor. Sur cette page vous activez : PHP-FPM, SPF, quota, DNS, log... Comme sur cette image :
Au niveau de Paramètres SSL, cliquez sur paramètres.
Vous allez voir pleeeeein de trucs à configurer. Tout d'abord, nous allons sélectionner TLSv1.2 et TLSv1.3.
Au niveau des certificats, remplacez respectivement les valeurs /etc/apache2/apache2.pem
et /etc/apache2/apache2.key
par /etc/ssl/DryCA/drycat.site.crt
et /etc/ssl/DryCA/drycat.site.key
. Au niveau de Path to the SSL CA certificate (optional)
il y a un champ vide. Ajoutez /etc/ssl/DryCA/rootCA.crt
.
Ensuite activez Let's Encrypt. Si vous voulez tester, je vous conseille fortement de passer la valeur de Let's Encrypt environment Ă https://acme-staging-v02.api.letsencrypt.org (Test)
. Vous avez biiiiien plus de demandes de certificat. Vous aurez juste un message d'avertissement car ce certificat n'est pas valide. Modifiez la valeur de Path for Let's Encrypt challenges avec /var/www/letsencrypt
. Ensuite, cochez l'option Re-use Let's Encrypt key. Vous pouvez maintenant valider.
Maintenant rendez vous dans IP et Port dans ressourcse. Il nous faudra créer une IP qui écoutera sur le port 443. Si vous souhaitez ajouter de l'IPv6, vous pouvez aussi (en pratique j'en ai aussi mais là c'est que de la théorie). Donc cliquez sur Ajouter une IP / port. Puis ajoutez l'IP de votre serveur dans le champ IP, le port 443 dans le champ port et décochez la ligne Déclaration des ports d'écoute: puis descendez à la section Webserver SSL config. N'ajoutez pas de certificat là -dessus, les certificats Let's Encrypt ne seront pas créés pour ce port. Sauvegardez et retournez dans les paramètres.
Allez dans Paramètres du compte et cochez la case en face de Permettre la réinitialisation des mots de passe par les administrateurs.
Allez dans Paramètres du système. Au niveau de Default SSL IP/Port sélectionnez l'IP fraichement ajouté. Pour le paramètre Use libnss-extrausers instead of libnss-mysql cochez la case. libnss-mysql n'est pas disponible sur Debian 10 et inférieur.
Modifiez les autres paramètres qui vous semblaient intéressants à modifier puis validez.
Maintenant allons dans Froxlor VirtualHost settings. Attention cependant, ces modifications peuvent casser l'accès à Froxlor. Faites donc très attention. Cochez Access Froxlor directly via the hostname ainsi que Enable Let's Encrypt for the froxlor vhost et Enable SSL-redirect for the froxlor vhost. Activez PHP-FPM (Enable PHP-FPM for the Froxlor vHost) et remplacez froxlorlocal par froxlor. Enfin ajoutez le Domain aliases for froxlor vhost pour Froxlor (j'ai mis admin.drycat.site mais vous pouvez mettre member.example.com si vous le souhaitez).
Les autres paramètres sont utiles mais je vous conseille de les activer quand tout votre Froxlor sera fonctionnel.
Ensuite nous allons modifier Paramètres du serveur Web. Activez le support d'HTTP/2. Comme vous m'avez écoutez plus haut, nous allons ajouter la valeur /etc/apache2/ssl/dhparams.pem
au paramètre DHParams file (Diffie–Hellman key exchange). Nous pouvons passer aux paramètres suivant.
Paramètres du serveur de Noms. Il fallait bien le faire lui. Cochez l'option Enable DNS editor. Vous pouvez modifier le reste en fonction de vos choix.
Dans Quota il faut remplacer la valeur de Path to quotatool par /usr/sbin/quotatool
.
Ceci étant fait, nous allons pouvoir installer ce qui est intéressant d'installer.
Retournez dans votre terminal et tapez la commande suivante :
php /var/www/froxlor//install/scripts/config-services.php --froxlor-dir=/var/www/froxlor/ --create
Pour toutes les questions Choose (Choose distribution, choose DNS...) laissez par défaut. À la section --- SYSTEM ---
tapez cron
, libnssextrausers
, logrotate
, php-fpm
. Entre chaque service, appuyez sur entrée.
Validez les deux questions suivantes et toutes celles qui vont suivre (ce sont des questions d'APT).
Une fois tout cela fait, attendez quelques minutes puis rendez vous sur admin.example.com. Si ça plante, je vous invite à lire les logs d'Apache. Mais ça ne devrait pas planter ;)
Maintenant il va nous falloir créer notre premier client \o/ . Cliquez sur Comptes, Créer un compte, remplissez les informations que vous souhaitez (un conseil : mettez 1Go minimum pour le stockage. Moins ça peut faire short) et cliquez sur valider. Retournez sur la page d'accueil. Dans les panneaux à droite vous trouverez ceci :
Si cela reste trop longtemps (plus de 10 minutes), allez regardez du côté de Log système s'il n'y a pas quelques logs. Mais ça devrait fonctionner sans tout ça.
Si vous avez envie d'accélerer le processus, tapez la commande suivante :
/usr/bin/php -q /var/www/froxlor/scripts/froxlor_master_cronjob.php --tasks 1
Ensuite allez dans domaines. Vous devriez voir un domaine déjà présent lié à votre client (pour moi c'est frozen.drycat.site).
Comme j'ai un autre domaine qui traine dans un coin, je vais l'ajouter. J'ajoute le domaine, je l'attribue Ă mon client, puis Ă l'option ServerAlias value for the domain: je met NoAlias
(si c'est wildcard, Let's Encrypt ne passera pas). Je coche les options HTTP/2, Let's encrypt, SSL Redirect, TLS1.3...
Une fois sauvegardé, j'édite l'autre domaine et je retire le ServerAlias puis j'active Let's Encrypt.
Une fois les tâches cron passées, je valide que testssl.sh ne couine pas trop
git clone https://github.com/drwetter/testssl.sh.git ~/testssh.sh
cd ~/testssl.sh
dryusdan@Mul:~/testssl.sh$ ./testssl.sh drytest.tech
###########################################################
testssl.sh 3.0.2 from https://testssl.sh/
(d9866d8 2020-07-10 19:56:18 -- )
This program is free software. Distribution and
modification under GPLv2 permitted.
USAGE w/o ANY WARRANTY. USE IT AT YOUR OWN RISK!
Please file bugs @ https://testssl.sh/bugs/
###########################################################
Using "OpenSSL 1.0.2-chacha (1.0.2k-dev)" [~179 ciphers]
on Mul:./bin/openssl.Linux.x86_64
(built: "Jan 18 17:12:17 2019", platform: "linux-x86_64")
Start 2020-08-11 11:16:22 -->> 116.203.248.248:443 (drytest.tech) <<--
rDNS (116.203.248.248): static.248.248.203.116.clients.your-server.de.
Service detected: HTTP
Testing protocols via sockets except NPN+ALPN
SSLv2 not offered (OK)
SSLv3 not offered (OK)
TLS 1 not offered
TLS 1.1 not offered
TLS 1.2 offered (OK)
TLS 1.3 offered (OK): final
NPN/SPDY not offered
ALPN/HTTP2 http/1.1 (offered)
Testing cipher categories
NULL ciphers (no encryption) not offered (OK)
Anonymous NULL Ciphers (no authentication) not offered (OK)
Export ciphers (w/o ADH+NULL) not offered (OK)
LOW: 64 Bit + DES, RC[2,4] (w/o export) not offered (OK)
Triple DES Ciphers / IDEA not offered
Obsolete CBC ciphers (AES, ARIA etc.) offered
Strong encryption (AEAD ciphers) offered (OK)
Testing robust (perfect) forward secrecy, (P)FS -- omitting Null Authentication/Encryption, 3DES, RC4
PFS is offered (OK) TLS_AES_256_GCM_SHA384 TLS_CHACHA20_POLY1305_SHA256 ECDHE-RSA-AES256-GCM-SHA384 ECDHE-RSA-AES256-SHA384 ECDHE-RSA-AES256-SHA TLS_AES_128_GCM_SHA256
Elliptic curves offered: prime256v1 secp384r1 secp521r1 X25519 X448
Testing server preferences
Has server cipher order? no (NOT ok)
Negotiated protocol TLSv1.3
Negotiated cipher TLS_AES_256_GCM_SHA384, 253 bit ECDH (X25519) (limited sense as client will pick)
Negotiated cipher per proto (limited sense as client will pick)
ECDHE-RSA-AES256-GCM-SHA384: TLSv1.2
TLS_AES_128_GCM_SHA256: TLSv1.3
No further cipher order check has been done as order is determined by the client
Testing server defaults (Server Hello)
TLS extensions (standard) "renegotiation info/#65281" "server name/#0" "EC point formats/#11" "session ticket/#35" "supported versions/#43" "key share/#51" "supported_groups/#10" "max fragment length/#1" "application layer protocol negotiation/#16"
"encrypt-then-mac/#22" "extended master secret/#23"
Session Ticket RFC 5077 hint 300 seconds, session tickets keys seems to be rotated < daily
SSL Session ID support yes
Session Resumption Tickets: yes, ID: yes
TLS clock skew Random values, no fingerprinting possible
Signature Algorithm SHA256 with RSA
Server key size RSA 4096 bits
Server key usage Digital Signature, Key Encipherment
Server extended key usage TLS Web Server Authentication, TLS Web Client Authentication
Serial / Fingerprints 046297DCF4E2D12BD41C5254CEC7B1890B25 / SHA1 2B375BFF93BFB3ED306198FBD1AC4B1A18DF94E5
SHA256 6E572BC896384412423A0170A9A32AC136F17FF379BF5E450FFA579AA2FF7BA9
Common Name (CN) drytest.tech (CN in response to request w/o SNI: drycat.site )
subjectAltName (SAN) drytest.tech
Issuer Let's Encrypt Authority X3 (Let's Encrypt from US)
Trust (hostname) Ok via SAN (SNI mandatory)
Chain of trust Ok
EV cert (experimental) no
ETS/"eTLS", visibility info not present
Certificate Validity (UTC) 89 >= 30 days (2020-08-11 10:16 --> 2020-11-09 09:16)
# of certificates provided 2
Certificate Revocation List --
OCSP URI http://ocsp.int-x3.letsencrypt.org
OCSP stapling not offered
OCSP must staple extension --
DNS CAA RR (experimental) not offered
Certificate Transparency yes (certificate extension)
Testing HTTP header response @ "/"
HTTP Status Code 200 OK
HTTP clock skew 0 sec from localtime
Strict Transport Security HSTS max-age is set to 0. HSTS is disabled, just this domain
Public Key Pinning --
Server banner Apache/2.4.38 (Debian)
Application banner --
Cookie(s) (none issued at "/")
Security headers Upgrade h2
Reverse Proxy banner --
Testing vulnerabilities
Heartbleed (CVE-2014-0160) not vulnerable (OK), no heartbeat extension
CCS (CVE-2014-0224) not vulnerable (OK)
Ticketbleed (CVE-2016-9244), experiment. not vulnerable (OK)
ROBOT Server does not support any cipher suites that use RSA key transport
Secure Renegotiation (RFC 5746) supported (OK)
Secure Client-Initiated Renegotiation not vulnerable (OK)
CRIME, TLS (CVE-2012-4929) not vulnerable (OK)
BREACH (CVE-2013-3587) potentially NOT ok, "gzip" HTTP compression detected. - only supplied "/" tested
Can be ignored for static pages or if no secrets in the page
POODLE, SSL (CVE-2014-3566) not vulnerable (OK), no SSLv3 support
TLS_FALLBACK_SCSV (RFC 7507) No fallback possible (OK), no protocol below TLS 1.2 offered
SWEET32 (CVE-2016-2183, CVE-2016-6329) not vulnerable (OK)
FREAK (CVE-2015-0204) not vulnerable (OK)
DROWN (CVE-2016-0800, CVE-2016-0703) not vulnerable on this host and port (OK)
make sure you don't use this certificate elsewhere with SSLv2 enabled services
https://censys.io/ipv4?q=6E572BC896384412423A0170A9A32AC136F17FF379BF5E450FFA579AA2FF7BA9 could help you to find out
LOGJAM (CVE-2015-4000), experimental not vulnerable (OK): no DH EXPORT ciphers, no DH key detected with <= TLS 1.2
BEAST (CVE-2011-3389) not vulnerable (OK), no SSL3 or TLS1
LUCKY13 (CVE-2013-0169), experimental potentially VULNERABLE, uses cipher block chaining (CBC) ciphers with TLS. Check patches
RC4 (CVE-2013-2566, CVE-2015-2808) no RC4 ciphers detected (OK)
Testing 370 ciphers via OpenSSL plus sockets against the server, ordered by encryption strength
Hexcode Cipher Suite Name (OpenSSL) KeyExch. Encryption Bits Cipher Suite Name (IANA/RFC)
-----------------------------------------------------------------------------------------------------------------------------
x1302 TLS_AES_256_GCM_SHA384 ECDH 253 AESGCM 256 TLS_AES_256_GCM_SHA384
x1303 TLS_CHACHA20_POLY1305_SHA256 ECDH 253 ChaCha20 256 TLS_CHACHA20_POLY1305_SHA256
xc030 ECDHE-RSA-AES256-GCM-SHA384 ECDH 521 AESGCM 256 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
xc028 ECDHE-RSA-AES256-SHA384 ECDH 521 AES 256 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
xc014 ECDHE-RSA-AES256-SHA ECDH 521 AES 256 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
x1301 TLS_AES_128_GCM_SHA256 ECDH 253 AESGCM 128 TLS_AES_128_GCM_SHA256
Running client simulations (HTTP) via sockets
Android 4.4.2 TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 521 bit ECDH (P-521)
Android 5.0.0 TLSv1.2 ECDHE-RSA-AES256-SHA, 521 bit ECDH (P-521)
Android 6.0 TLSv1.2 ECDHE-RSA-AES256-SHA, 256 bit ECDH (P-256)
Android 7.0 (native) TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 256 bit ECDH (P-256)
Android 8.1 (native) TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 253 bit ECDH (X25519)
Android 9.0 (native) TLSv1.3 TLS_AES_128_GCM_SHA256, 253 bit ECDH (X25519)
Android 10.0 (native) TLSv1.3 TLS_AES_128_GCM_SHA256, 253 bit ECDH (X25519)
Chrome 74 (Win 10) TLSv1.3 TLS_AES_128_GCM_SHA256, 253 bit ECDH (X25519)
Chrome 79 (Win 10) TLSv1.3 TLS_AES_128_GCM_SHA256, 253 bit ECDH (X25519)
Firefox 66 (Win 8.1/10) TLSv1.3 TLS_AES_128_GCM_SHA256, 253 bit ECDH (X25519)
Firefox 71 (Win 10) TLSv1.3 TLS_AES_128_GCM_SHA256, 253 bit ECDH (X25519)
IE 6 XP No connection
IE 8 Win 7 No connection
IE 8 XP No connection
IE 11 Win 7 TLSv1.2 ECDHE-RSA-AES256-SHA384, 256 bit ECDH (P-256)
IE 11 Win 8.1 TLSv1.2 ECDHE-RSA-AES256-SHA384, 256 bit ECDH (P-256)
IE 11 Win Phone 8.1 TLSv1.2 ECDHE-RSA-AES256-SHA, 256 bit ECDH (P-256)
IE 11 Win 10 TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 256 bit ECDH (P-256)
Edge 15 Win 10 TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 253 bit ECDH (X25519)
Edge 17 (Win 10) TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 253 bit ECDH (X25519)
Opera 66 (Win 10) TLSv1.3 TLS_AES_128_GCM_SHA256, 253 bit ECDH (X25519)
Safari 9 iOS 9 TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 256 bit ECDH (P-256)
Safari 9 OS X 10.11 TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 256 bit ECDH (P-256)
Safari 10 OS X 10.12 TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 256 bit ECDH (P-256)
Safari 12.1 (iOS 12.2) TLSv1.3 TLS_CHACHA20_POLY1305_SHA256, 253 bit ECDH (X25519)
Safari 13.0 (macOS 10.14.6) TLSv1.3 TLS_CHACHA20_POLY1305_SHA256, 253 bit ECDH (X25519)
Apple ATS 9 iOS 9 TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 256 bit ECDH (P-256)
Java 6u45 No connection
Java 7u25 No connection
Java 8u161 TLSv1.2 ECDHE-RSA-AES256-SHA384, 256 bit ECDH (P-256)
Java 11.0.2 (OpenJDK) TLSv1.3 TLS_AES_128_GCM_SHA256, 256 bit ECDH (P-256)
Java 12.0.1 (OpenJDK) TLSv1.3 TLS_AES_128_GCM_SHA256, 256 bit ECDH (P-256)
OpenSSL 1.0.2e TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 256 bit ECDH (P-256)
OpenSSL 1.1.0l (Debian) TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 253 bit ECDH (X25519)
OpenSSL 1.1.1d (Debian) TLSv1.3 TLS_AES_256_GCM_SHA384, 253 bit ECDH (X25519)
Thunderbird (68.3) TLSv1.3 TLS_AES_128_GCM_SHA256, 253 bit ECDH (X25519)
Done 2020-08-11 11:17:16 [ 57s] -->> 116.203.248.248:443 (drytest.tech) <<--
Vous pouvez vous connecter sur votre compte client, sur votre espace web via FTP, uploader votre site...
.
Il y a d'autres outils à tester et à installer que j'essayerai prochainement. En attendant, Froxlor reste sympa. Même si pas intégralement automatisé, c'est sympa.
Sur ce, portez-vous bien.
Gif trouvé sur Tenor.
Photo by Photo by Igor Miske.