Une MAJ importante de sécurité avec reboot obligatoire est à effectuer sur vos Windows.
Tous les serveurs infogérés seront traités cette nuit par nos services.
Une MAJ importante de sécurité avec reboot obligatoire est à effectuer sur vos Windows.
Tous les serveurs infogérés seront traités cette nuit par nos services.
Pour tester la sécurisation de votre site vous pouvez utiliser ce site :
https://www.ssllabs.com/ssltest/
Afin que vos résultats soient privés, veuillez cocher la case « Do not show the results on the boards » .
Une explication du Rating ce trouve ici (anglais) :
https://github.com/ssllabs/research/wiki/SSL-Server-Rating-Guide
Ce qui dépend de votre IIS sera principalement les « protocoles » et les « ciphers ».
Un outil permet de configurer cela simplement (download > gui) :
https://www.nartac.com/Products/IISCrypto/
Concernant les protocoles,
Seul TLS 1.2 et 1.3 ne sont pas obsolètes.
Il est à noter que IIS ne supporte pas TLS 1.3.
Concernant les ciphers,
Diffie-Hellman est obsolète.
Une configuration correcte en 1.2 est la suivante :

Pour obtenir la note de A+, il faudra un certificat en RSA 4096 bits ou plus.
Les certificats « Let’s Encrypt » sont par défaut en RSA 2048 bits ou RSA 3072 bits ce qui limite la note de la clef respectivement à 80% ou 90%.
Plus la clef est grande plus le protocole HTTPS en sera ralenti. Ce qui est gagné en « sécurité » est perdu en rapidité.
Pour obtenir du TLS 1.3 tout en gardant votre site Asp sur du IIS, nous proposons des serveurs de reverse proxy sous Ubuntu + Apache.
Trois MAJ importantes avec reboot obligatoires sont à effectuées sur vos Windows.
Tous les serveurs infogérés seront traités cette nuit par nos services.
Ce tutoriel concerne le système Ubuntu et tous les systèmes utilisant openssl.
Note importante, par défaut les commandes openssl ne traitent que le premier certificat d’une chaine.
|
1 2 3 4 5 6 7 8 9 10 |
# Executer cette commande avec la clef : $ openssl rsa -noout -modulus -in {example.com}.key | openssl md5 # Executer cette commande avec le csr : $ openssl req -noout -modulus -in {example.com}.csr | openssl md5 # Executer cette commande avec le certificat : $ openssl x509 -noout -modulus -in {example.com}.crt | openssl md5 # Si les 3 resultats sont identiques alors le csr a bien été créer avec cette clef. |
|
1 2 3 4 5 6 7 8 9 10 11 12 |
# # L'erreur la plus commune viens d'erreur de copier-coller lors d'une fabrication manuelle du pem contenant la chaine et les différents certificats d’autorité. # Exécuter cette commande avec le fichier pem : $ openssl crl2pkcs7 -nocrl -certfile {example.com}.pem | openssl pkcs7 -print_certs -noout subject=CN = blog.rdmedias.com issuer=C = US, O = Let's Encrypt, CN = R3 subject=C = US, O = Let's Encrypt, CN = R3 issuer=O = Digital Signature Trust Co., CN = DST Root CA X3 # Le premier sujet est notre site suivit de son "issuer". # Ensuite nous avons une chaine avec chaque "issuer" égal au "subject" suivant # Enfin, nous finissons avec le certificat ayant un issuer Root (ou proche) |
|
1 2 3 |
$ openssl x509 -noout -in {example.com}.pem -dates notBefore=Apr 12 19:51:31 2021 GMT notAfter=Jul 11 19:51:31 2021 GMT |
Vous avez pu remarquer que dans notre console d’infogérance certaines fonctions au niveau du serveur de mails sont manquantes.
Suite à la dernière MAJ de Icewarp nous avons pu découvrir que certaines commandes à l’API ont été modifiées ou non fonctionnelles. Après quelques nuits blanches, nous avons pu corriger dans l’urgence le listing et la création des emails.
Une nouvelle section pour la gestion des emails est en cours de finalisation, utilisant les dernières technologies (aspx + jquery + json + html5) elle devient nettement plus fluide avec une ré écriture complète de nos services qui discutent avec l’API de Icewarp et les nouvelles options apportées par les dernières MAJ. Je pense qu’on pourra publier nos travaux semaine prochaine, il nous reste plus qu’à ajouter la couche de sécurité / RD serveur.
Concernant les mots de passe, suite aux normes RGPD européennes ils ne seront désormais plus accessibles aux administrateurs des sites. Aussi pensez désormais à renseigner l’email alternatif qui vous permettra de re générer un nouveau mot de passe en cas de perte de ce dernier. Cet email peut être également renseigné dans les webmails.
Hébergement vôtre.
Trois MAJ importantes avec reboot obligatoires sont à effectuées sur vos Windows.
Tous les serveurs infogérés seront traités cette nuit par nos services.
Bien pratique les enum afin de lier une valeur entière à un texte, ex : 0 = chat, mais comment lister les valeurs ?
|
1 2 3 4 5 6 7 8 9 10 11 |
protected enum maListe : int { Default = 0, Chat = 1, Chien = 2 } foreach (var a in Enum.GetValues(typeof(maListe))) { sb.AppendFormat("<li>{0} - {1}</li>", (int)a, a.ToString()); } |
Et voilà on retrouve la valeur numérique et textuelle …
Entre 1 et 2 MAJ obligatoires avec reboot à la clef.
Tous les serveurs de niveau d’infogérance II et plus seront traités cette nuit.
Entre 1 à 2 KB avec reboot obligatoire.
Les serveurs infogérés sont traités cette nuit.
Je vous propose dans ce tuto de faire une recherche dans un array Json, à ce jour j’utilise deux méthodes, la première étant ma préférée.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
var locs = [{ "id": 1, "text": "Chien" }, { "id": 2, "text": "Chat" }]; $(document).ready(function () { var idSearch = 1; var item = jQuery.grep(locs, function (n, i) { return (n.id == idSearch); }, false); if (item.length > 0) { var textClicked = item[0].text; console.log(textClicked); } )); |
On va chercher la ligne qui correspond à locs[n].id == 1, si on trouve on extrait le array qui correspond à la requête. Bien entendu si on trouve plusieurs enregistrements (item.length > 1) il faudra faire un for each afin d’afficher tous les enregistrements trouvés.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
var locs = [{ "id": 1, "text": "Chien" }, { "id": 2, "text": "Chat" }]; $(document).ready(function () { var idClicked = 1; $.each(locs, function (i, v) { if (v.id == idClicked) { var textClicked = locs[i].text; console.log(textClicked); return false; // stop the loop } }); }); |
Cette méthode permet de trouver le premier enregistrement correspond à la recherche. Pour obtenir les mêmes avantages que la première méthode il faut créer un item, stocker le résultat dans ce dernier et inhiber la sortie du loop. Plus long à traiter car on scrute tous les enregistrements dans ce cas …