Outil d'hébergement multi site : Froxlor

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) et quotatools donne accès a une cli un peu plus complète.
  • opendkim et opendkim-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.
Accueil de Froxlor non installé

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.
Froxlor formulaire d'installation

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...
Froxlor accueil.

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 : Settings Froxlox

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.
Froxlor SSL Setting

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 :
Cron tasks
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...
Default page.

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.