• chevron_right

      Windows feature that resets system clocks based on random data is wreaking havoc

      news.movim.eu / ArsTechnica · Wednesday, 16 August, 2023 - 17:23 · 1 minute

    Windows feature that resets system clocks based on random data is wreaking havoc

    Enlarge

    A few months ago, an engineer in a data center in Norway encountered some perplexing errors that caused a Windows server to suddenly reset its system clock to 55 days in the future. The engineer relied on the server to maintain a routing table that tracked cell phone numbers in real time as they were being moved from one carrier to the other. A jump of eight weeks had dire consequences because it caused numbers that had yet to be transferred to be listed as having already been moved and numbers that had already been transferred to be reported as pending.

    “With these updated routing tables, a lot of people were unable to make calls, as we didn't have a correct state!” the engineer, who asked to be identified only by his first name, Simen, wrote in an email. “We would route incoming and outgoing calls to the wrong operators! This meant, e.g., children could not reach their parents and vice versa.”

    A show-stopping issue

    Simen had experienced a similar error last August when a machine running Windows Server 2019 reset its clock to January 2023 and then changed it back a short time later. Troubleshooting the cause of that mysterious reset was hampered because the engineers didn’t discover it until after event logs had been purged. The newer jump of 55 days, on a machine running Windows Server 2016, prompted him to once again search for a cause, and this time, he found it.

    Read 31 remaining paragraphs | Comments

    • chevron_right

      Major Labels Need an Anti-Piracy Sleuth to Probe Pirate Apps

      news.movim.eu / TorrentFreak · Tuesday, 27 June, 2023 - 20:16 · 4 minutes

    piracy encrypt On the surface there’s a world of difference between the crisp-suited executives of international corporations and the internet-dwelling swashbucklers intent on reappropriating their copyrighted content as swiftly as possible.

    In reality, the closer one gets to the piracy front lines, the more difficult it is to tell the factions apart. They use similar tools and obfuscation techniques, need to innovate to stay ahead of the game, and even participate in the same discussions. Earlier this year a group of ‘pirates’ on Reddit obtained all kinds of information on at least a dozen pirate apps using ancient lost arts; opening accounts months earlier, pretending to be almost clueless, and then just blatantly asking.

    Totally unsurprisingly, there was zero shortage of helpful pirates willing to answer, but these kinds of efforts are only useful in limited circumstances and can only yield so much useful intelligence. Technical information needs to be obtained methodically before being meticulously documented, potentially for use in future legal action against pirates themselves or intermediaries – or both.

    IFPI – Content Protection & Enforcement

    ifpi-london-size Global recording industry trade group IFPI has a sophisticated anti-piracy team tasked with mitigating threats, gathering evidence for use in legal action, and staying on top of the latest piracy trends.

    In a job listing posted Monday, the group called out for a new technical investigator to join the team at IFPI’s impressive headquarters in London.

    “The ideal candidate will have well-rounded technical knowledge and be capable of analyzing and testing infringing services and producing written reports in a clear and concise manner. The candidate will work closely with the technical investigators and analysts within the team, developers, operational staff, and lawyers, as well as law enforcement professionals,” the listing reads.

    Responsibilities

    While prosecutions are still carried out in the UK, most music pirates have moved on from selling pirate CDs at the local market. The role at IFPI seems to be a thoroughly digital affair, with investigations focused on pirate apps, social media platforms, and online streaming services.

    The successful candidate will also have knowledge of ancillary technologies, including blockchain, decentralization, metaverse and gaming platforms, and of course, Artificial Intelligence. They will also have a blemish-free past, which IFPI will confirm via an enhanced background check. These checks go beyond convictions and include any information the police may have on record that’s considered in some way relevant.

    OSINT & Technical Investigations

    While techniques and tool availability have developed significantly in recent years, the basic questions requiring answers in any piracy investigation remain the same; how does the infringing service or platform deliver content to end users, where does that content come from, what type of infrastructure supports it, and who are the humans involved and what roles do they play.

    Investigations can be triggered when a new app appears online. Whether iOS or Android (mostly the latter), the process is the same; find out how the app functions, and then determine where the content comes from and how. The IFPI job listing gives little away on the specifics but does state that the successful candidate will have experience with three specific tools – Wireshark, Charles, Postman.

    In Your App, Sniffing Your Traffic

    wireshark-youtube-size There’s no doubt that Wireshark is the best-known tool of the three. Launched in the late 1990s and originally called Ethereal, Wireshark is the leading network protocol analyzer by far and is used by millions of people worldwide.

    Wireshark is also completely free of charge but for most novices, completely overwhelming too, at least in the beginning.

    For those who persevere, Wireshark offers a window into the hidden world of protocols, packets and networking, and is as proficient at monitoring the communications behavior of a regular browser accessing YouTube, as it is monitoring a mobile piracy app, or sniffing out unauthorized BitTorrent traffic on a network.

    Wireshark is an extremely powerful tool and as likely to appear in a pirate’s toolbox as it is an anti-pirate’s. In most aspects Wireshark is more powerful than Charles, or Charles Proxy as it’s often known, but sometimes a more focused piece of software is preferable to all-out overkill. Charles has some interesting tricks up its sleeve.

    Charles cited in a piracy investigation charles-proxy-cric

    While Charles also monitors traffic, it’s a web-debugging tool rather than a packet analyzer. In a typical scenario where an investigator wants to know how a new Android music streaming app works, the smartphone running the app (or an emulator) can be made to connect to Charles before it goes about connecting to external sources to stream music or obtain covers etc.

    Meanwhile, Charles acts as a ‘man-in-the-middle’ silently listening and logging all activity, even when pirate app traffic is otherwise ‘protected’ by encryption. Charles can decrypt SSL/TLS connections, obtain cookies and grab passwords.

    It sounds like the kind of behavior pirates might enjoy but on the piracy war frontlines, the sides have more in common than either would like to admit.

    IFPI’s job listing can be found here

    From: TF , for the latest news on copyright battles, piracy and more.

    • chevron_right

      Person who made the Windows 3.1 port of Wordle is back with a ChatGPT client

      news.movim.eu / ArsTechnica · Monday, 26 June, 2023 - 17:08 · 1 minute

    WinGPT answering many pressing and cutting-edge questions.

    Enlarge / WinGPT answering many pressing and cutting-edge questions. (credit: Dialup.net )

    Microsoft is working to integrate ChatGPT-based technology into more and more places in Windows 11 , but it isn't doing the same for older versions of Windows. Those of you with an old Windows 3.1 or Windows 95 PC can breathe easy, though, because the same developer who created the Windows 3.1 version of Wordle has returned with a Windows 3.1 ChatGPT client called WinGPT .

    WinGPT supports any 16- or 32-bit version of Windows 3.1 or newer but won't run natively on 64-bit versions of Windows. You can download it from the bottom of this Dialup.net page , which also doubles as a development blog detailing how it was built and how its icon was designed. You'll need to provide your own OpenAI API key.

    Running ChatGPT on ancient systems is possible mostly because most processing happens on OpenAI's servers rather than locally, so you don't need a modern 16-core battle station to make it work. The main limitation on old hardware is memory rather than processing power. Windows 3.1 generally won't boot with more than 256MB, and a period-appropriate 386 or 486 PC would be more likely to use between 4MB and 8MB (for reference, here's a 1992 Compaq Deskpro ad for 386 and 486 PCs). The OS would install and run on systems with as little as 1MB.

    Read 5 remaining paragraphs | Comments

    • chevron_right

      OpenSSL 3 patch, once Heartbleed-level “critical,” arrives as a lesser “high”

      news.movim.eu / ArsTechnica · Tuesday, 1 November, 2022 - 18:05 · 1 minute

    The fallout of an OpenSSL vulnerability, initially listed as "critical," should be much less severe than that of the last critical OpenSSL bug, Heartbleed.

    Enlarge / The fallout of an OpenSSL vulnerability, initially listed as "critical," should be much less severe than that of the last critical OpenSSL bug, Heartbleed.

    An OpenSSL vulnerability once signaled as the first critical-level patch since the Internet-reshaping Heartbleed bug has just been patched . It ultimately arrived as a "high" security fix for a buffer overflow, one that affects all OpenSSL 3.x installations, but is unlikely to lead to remote code execution.

    OpenSSL version 3.0.7 was announced last week as a critical security fix release. The specific vulnerabilities (now CVE-2022-37786 and CVE-2022-3602 ) had been largely unknown until today, but analysts and businesses in the web security field hinted there could be notable problems and maintenance pain. Some Linux distributions, including Fedora , held up releases until the patch was available. Distribution giant Akamai noted before the patch that half of their monitored networks had at least one machine with a vulnerable OpenSSL 3.x instance, and among those networks, between 0.2 and 33 percent of machines were vulnerable.

    But the specific vulnerabilities—limited-circumstance, client-side overflows that are mitigated by the stack layout on most modern platforms—are now patched, and rated as "High." And with OpenSSL 1.1.1 still in its long-term support phase, OpenSSL 3.x is not nearly as widespread.

    Read 6 remaining paragraphs | Comments

    • Sy chevron_right

      Сертификат удостоверяющего центра Active Directory для веб-серверов

      noreply@blogger.com (morbo) · pubsub.slavino.sk / sysadmblog · Sunday, 19 July, 2020 - 08:00 edit · 1 minute

    На работе в локальной сети имеется ряд веб-серверов, для которых понадобилось сделать поддержку протокола HTTPS. Поскольку веб-серверы находятся в локальной сети, то публичные удостоверяющие центры сертификаты для них выдать не могут. Можно было сгенерировать самоподписанные сертификаты, но тогда понадобилось бы вносить каждый сертификат в список доверенных в каждом браузере. Но есть выход получше. Т.к. компьютеры под управлением Windows в локальной сети объединены в домен Active Directory, они все должны доверять удостоверяющему центру Active Directory. Можно сгенерировать сертификаты для веб-серверов, подписать их в удостоверяющем центре Active Directory и тогда все браузеры, использующие системное хранилище сертификатов, на таких компьютерах будут автоматически доверять этим сертификатам.

    Насколько я знаю, из самой популярной тройки браузеров только Firefox в конфигурации не использует системное хранилище сертификатов. Если учитывать, что большинство компьютеров в локальных сетях предприятий обычно работают под управлением Windows и включены в домен Active Directory, а большая часть пользователей используют браузеры Chrome и Internet Explorer, то таким образом можно внедрить HTTPS на веб-серверах в локальной сети максимально гладко. В случае с Firefox можно либо включить использование системного хранилища сертификатов Windows в настройках браузера, либо вручную импортировать в браузер корневой сертификат удостоверяющего центра Active Directory. Он всего один и срок его действия больше, чем у сертификатов веб-серверов.

    По возможности лучше генерировать для каждого веб-сервера индивидуальный сертификат и тогда при взломе одного веб-сервера трафик остальных останется защищённым, т.к. злоумышленник не сможет использовать приватный ключ со взломанного сервера для расшифровки перехваченного трафика других веб-серверов или организации атаки посредника. Я же для экономии времени предпочёл сегенерировать один сертификат сразу для всех веб-серверов, находящихся в моей зоне ответственности. Чтобы при необходимости продлить сертификат мне не пришлось бы вспоминать значения полей из запроса на сертификат и не пропустить по невнимательности ни одного из веб-серверов, я подготовил файл конфигурации cert-web.ini такого вида:
    [req]
    distinguished_name = req_distinguished_name
    req_extensions = v3_req

    [req_distinguished_name]
    countryName = RU
    countryName_default = RU
    stateOrProvinceName = Bashkortostan Republic
    stateOrProvinceName_default = Bashkortostan Republic
    localityName = Ufa
    localityName_default = Ufa
    organizationalUnitName = My Department
    organizationalUnitName_default = My Department
    commonName = My Company
    commonName_default = My Company
    commonName_max = 64

    [ v3_req ]
    # Extensions to add to a certificate request
    basicConstraints = CA:FALSE
    keyUsage = nonRepudiation, digitalSignature, keyEncipherment
    subjectAltName = @alt_names

    [alt_names]
    DNS.1 = server1.domain1.tld
    DNS.2 = server2.domain1.tld
    DNS.3 = server3.domain1.tld
    DNS.4 = server4.domain2.tld
    DNS.5 = server5.domain2.tld
    DNS.6 = server6.domain3.tld
    В конфигурации упоминаются:
    • RU - код страны,
    • Bashkortostan Republic - административная единица внутри страны,
    • Ufa - название населённого пункта,
    • My Company - название компании,
    • My Department - название подразделения компании,
    • serverX.domainY.tld - доменные имена веб-серверов в локальной сети.
    Генерируем приватный ключ:
    $ openssl genrsa -out cert-web.key 2048
    Генерируем запрос на сертификат в соответствии с файлом конфигурации:
    $ openssl req -config cert-web.ini -new -key cert-web.key -out cert-web.csr
    Запрос на сертификат из файла cert-web.csr я передал администратору домена Active Directory, который подписал его в удостоверяющем центре и вернул мне подписанный сертификат cert-web.cer в формате DER.

    Полученный сертификат надо преборазовать из формата DER в формат PEM:
    $ openssl x509 -inform der -in cert-web.cer -out cert-web.crt
    Осталось соединить приватный ключ и сертификат в формате PEM для использования получившегося файла веб-сервером:
    $ cat cert-web.key cert-web.crt > cert-web.pem
    Остаётся положить получившийся один файл на веб-серверы и задействовать их использование в конфигурациях веб-серверов. Если использовать систему автоматизированного управления конфигурациями, то эта задача не займёт много времени. После освоения Ansible я стал раскладывать сертификаты на веб-серверы именно с её помощью.

    Для того, чтобы получить корневой сертификат удостоверяющего центра Active Directory, нужно зайти веб-браузером на сервер с удостоверяющим центром, где можно будет найти и скачать корневой сертификат. В моём случае корневой сертификат удостоверяющего центра был доступен по ссылке вида: https://domain1.tld/certsrv/certnew.cer?ReqID=CACert&Renewal=2&Mode=inst&Enc=b64

    Т.к. на веб-серверах был доступен API, который использовался на других серверах, то корневой сертификат понадобилось добавить так же и на эти серверы. В случае с Debian это можно сделать способом, описанным ниже.

    Сначала устанавливаем стандартные сертификаты удостоверяющих центров, если они ещё не были установлены:
    # apt-get install ca-certificates
    Кладём корневой сертификат нашего удостоверяющего центра в каталог /usr/local/share/ca-certificates/, предназначенный специально для дополнительных сертификатов удостоверяющих центров.

    Обновляем список корневых сертификатов, которым должна доверять библиотека openssl:
    # update-ca-certificates
    После этого все установленные в системе программы должны начать доверять сгенерированным нами сертификатам веб-серверов. Если этого не случилось и какая-то программа или модуль не начали доверять новым сертификатам, изучите документацию. Например, для того, чтобы модуль urllib2 для Python начал доверять сертификатам, мне понадобилось передавать библиотеке urllib2 дополнительные настройки, описанные в заметке: Проверка действительности SSL-сертификата в urllib2

    Značky: #debian, #linux, #onpenssl, #ssl, #Linux

    • Wa chevron_right

      SMTP Ciphers

      Warlord · pubsub.slavino.sk / warlord0blog · Thursday, 16 July, 2020 - 15:30 edit

    What ciphers are used by your smtp server? Well that’s a question I got asked today. Take a look at this testssl.sh – it spawned a whole report about my SMTP server that included ciphers and a whole lot more: https://github.com/drwetter/testssl.sh Not output from one of our servers – just a random smtp server.

    Značky: #Linux, #certificates, #security, #ssl, #Linux

    • At chevron_right

      Let's Encrypt sur HAProxy (Partie 2)

      raspbeguy · pubsub.gugod.fr / atomtest · Friday, 10 November, 2017 - 23:00 · 8 minutes

    Le fonctionnement de la Terre, avant qu'un certain Galilée y mette son grain de sel, a toujours déchaîné les passions des Hommes et a consommé beaucoup d'encre. Parmi les théories les plus folles, Terry Pratchett nous enseigne dans sa série de livres du Disque Monde que le monde repose sur le dos de...

    Le fonctionnement de la Terre, avant qu'un certain Galilée y mette son grain de sel, a toujours déchaîné les passions des Hommes et a consommé beaucoup d'encre. Parmi les théories les plus folles, Terry Pratchett nous enseigne dans sa série de livres du Disque Monde que le monde repose sur le dos de quatre gigantesques éléphants, eux-même reposant sur la carapace d'une tortue encore plus gigantesque appelée A'Tuin. Les quatre éléphants (Bérilia, Tubul, Ti-Phon l'Immense et Jérakine) se répartissent la charge que représente le poids du disque terrestre grâce à la rotation quotidienne de ce dernier. Si maintenant vous ne voyez pas le rapport entre une cosmologie impliquant des animaux au moins aussi grands que des continents capable de tenir en apnée pendant des milliards d'années et le sujet d'aujourd'hui, alors je ne sais plus quoi faire.

    Nous avons vu il y a quelques jours les principes de base d'un répartiteur de charge et exposé brièvement les concepts fondamentaux de HAProxy. Nous avons également mené une réflexion sur la manière de gérer un certificat sur une architecture avec répartiteur de charge et la voix du bon sens nous a susurré que le certificat devait être porté par HAProxy. Bon, mettons ça en pratique.

    Rangez vos affaires, sortez une feuille, interro surprise. Rappelez-moi ce qu'est le principe de base du protocole ACME. Et comme vous suivez bien et que vous buvez les paroles de l'instituteur comme un breton boit du cidre, vous saurez donc me répondre que l'agent de certification crée un challenge ACME en générant des fichiers de test auxquels le serveur ACME devra pouvoir accéder via HTTP, ces fichiers étant soit servis par l'agent via un serveur web intégré, soit mis à disposition du serveur de notre choix qui servira ces fichiers en statique. C'est en pratique presque toujours la deuxième solution qui est utilisée, sachant que justement, un serveur web tourne déjà sur les ports web standard (80 et 443). On ne veut pas d'interruption de service, non mais.

    Serveur statique

    Nous avons un petit problème ici. Les ports HTTP sont utilisés par HAProxy, qui n'est pas un serveur web, mais un répartiteur de charge. Souvenez-vous, il ne peut pas générer de lui même un flux web, pas même servir des fichiers statiques, il se contente de relayer des flux web créés par d'autres serveurs. Conclusion : il nous faut un serveur web tournant sur la machine hébergeant HAProxy capable de servir des fichiers statiques. L'idée, c'est qu'on va faire écouter ce serveur uniquement en local, et HAProxy se chargera de le propulser sur le réseau publique.

    On n'a que l'embarras du choix pour trouver un serveur web sachant servir du bon vieux statique. On pourrait choisir Nginx ou Lighttpd par exemple, mais comme nous sommes sur OpenBSD, le choix se portera sur le serveur web déjà préinstallé, communément appelé openhttpd.

    Première étape, il faut dire à OpenBSD d'activer le service.

    echo 'httpd_flags=""' >> /etc/rc.conf.local

    Ainsi on pourra démarrer le service, et il sera démarré à chaque démarrage de l'OS.

    Ensuite, il va nous falloir créer un dossier qui va accueillir les fichiers du challenge ACME. Comme le processus httpd est chrooté dans /var/www (sur OpenBSD, on appelle ça un jail), ce dossier sera donc /var/www/htdocs/webroot.

    La configuration de notre httpd sera on ne peut plus simple :

    server "default" { 
        listen on 127.0.0.1 port 1375 #ça fait "let's" en l33t
        root "/htdocs/webroot"
    }

    Démarrons le service :

    /etc/rc.d/httpd start

    Notre serveur statique est prêt.

    Configuration HAProxy

    Il faut dire à HAProxy de rediriger les requêtes ACME vers notre serveur statique fraîchement configuré.

    Pour ça, on va définir un backend dédié à Let's Encrypt, vers lequel seront redirigés tous les flux ACME reçus sur les frontends qui nous intéressent.

    backend letsencrypt-backend
            server letsencrypt 127.0.0.1:1375

    Propre. Syntaxe explicite, pas besoin d'expliquer je pense. Je fais juste remarquer qu'en plus de nommer le backend globalement, je donne un nom au serveur du backend même si ici il n'a aucune forme d'importance, il ne sera jamais appelé ailleurs dans le fichier, c'est néanmoins obligatoire sur HAProxy. Enfin, un nom clair est toujours profitable, car il est éventuellement utilisé dans ses logs, ses statistiques et il rend la lecture du fichier de conf plus facile.

    Le backend est prêt, c'est excellent, mais encore faut-il l'utiliser. Pour être exact, on ne va l'utiliser que si l'URL demandée correspond au chemin classique demandé par le validateur ACME, à savoir /.well-known/acme-challenge/. Reprenons l'exemple de la dernière fois, modifions-le de la sorte :

    frontend mon_super_site
        bind *:80
        mode http
    
        acl url-back-office path_dir /admin
        acl letsencrypt-acl path_beg /.well-known/acme-challenge/
    
        use_backend back-office if url-back-office
        use_backend letsencrypt-backend if letsencrypt-acl
        default_backend mes-frontaux
    
    backend back-office
        server backoffice 192.168.0.14:80
    
    backend mes-frontaux
        balance roundrobin
        server backoffice1 192.168.0.11:80
        server backoffice2 192.168.0.12:80
        server backoffice3 192.168.0.13:80
    
    backend letsencrypt-backend
        server letsencrypt 127.0.0.1:1375

    On a ajouté une ACL et une directive use_backend. Rappelez-vous, une ACL est tout simplement une condition, ici elle porte sur le chemin de l'URL. Rien de nouveau, on a déjà expliqué le concept.

    On recharge le schmilblick :

    /etc/rc.d/haproxy reload

    On est prêt à générer notre premier certificat. Mais on ne va pas le faire tout de suite. Comme vous vous en souvenez, HAProxy veut ses certificats sous une forme un peu spécifique, il nous faut donc traiter le certificat dès qu'il a été généré, et pour ça on va faire un peu de scripting. On pourrait déjà générer le certificat sans le script de post-traitement, mais si on faisait ça, on devrait ensuite éditer la configuration d'acme.sh et c'est un peu barbant, sachant que la commande qui génère le premier certificat génère également par magie la configuration associée pour les renouvellements. Donc ce serait stupide.

    Script de post traitement

    Rien de bien compliqué, je vous rassure. Le principe est simple : HAProxy n’accepte des certificats que sous la forme d'un fichier contenant la chaîne complète de certification et la clef privée, dans cet ordre.

    Le script est très simple. Vous pouvez bien entendu le mettre où bon bous semble, pour ma part j'ai décidé de le mettre dans /etc/haproxy/generate-ssl.sh.

    #!/bin/sh
    
    SITE=$1
    LE_CERT_LOCATION=/root/.acme.sh/$SITE
    HA_CERT_LOCATION=/etc/haproxy/ssl
    
    cat $LE_CERT_LOCATION/fullchain.cer $LE_CERT_LOCATION/$SITE.key > $HA_CERT_LOCATION/$SITE.haproxy.pem
    
    /etc/rc.d/haproxy reload

    LE_CERT_LOCATION représente l'endroit où seront générés les certificats par acme.sh (il s'agit ici de l'emplacement par défaut, mais vous pouvez changer ce chemin à condition d'utiliser l'option adéquate lors de la génération du premier certificat).

    HA_CERT_LOCATION est l'emplacement où seront créés les certificats au format HAProxy. D'ailleurs, n'oubliez pas de créer le dossier en question.

    Le script devra être appelé avec en paramètre le domaine complet principal du certificat. N'oubliez pas de le rendre exécutable.

    Génération du premier certificat

    On y est, maintenant on va enfin pouvoir générer ce satané certificat. Partons du principe que vous avez correctement installé acme.sh, le README du projet est très simple à suivre.

    acme.sh --issue -d mon-super-site.com -w /var/www/htdocs/webroot/ --renew-hook "/etc/haproxy/generate-ssl.sh mon-super-site.com" --debug

    Remarquez que vous pouvez générer un certificat couvrant plusieurs domaines à la fois, il suffit d'ajouter -d mon-domaine-secondaire.com entre le domaine principal et l'option -w. Remarquez l'option --renew-hook, elle permet d'appeler le script qu'on vient de définir à chaque fois qu'un renouvellement est effectué.

    Une fois la commande effectuée avec succès (ça peut prendre une minute ou deux), votre certificat est généré, il vous faut encore ajouter le certificat dans la configuration du frontend comme il suit :

    bind *:443 ssl cert /etc/haproxy/ssl/mon-super-site.com.haproxy.pem

    Comme il s'agit de la première génération et non d'un renouvellement, il est nécessaire d'appliquer le script à la main.

    /etc/haproxy/generate-ssl.sh mon-super-site.com

    Vérifiez, et pleurez de joie. Votre certificat est déployé et fonctionnel. C'est magnifique.

    Automatisation du renouvellement

    Ultime étape, celle qui fait prendre tout son sens à la révolution Let's Encrypt, celle qui fait qu'on peut oublier sans scrupule que tel ou tel site a un certificat proche de l'expiration, il s'agit du renouvellement automatique. Pas de subtilités, une simple ligne dans la crontab fait l'affaire. Et en plus, si je ne dis pas de bêtises, acme.sh s'occupe tout seul d'ajouter cette ligne.

    26 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null

    La commande sera lancée tous les jours à minuit vingt-six, libre à vous de changer cet horaire. acme.sh sera assez intelligent pour savoir si votre certificat a besoin d'un coup de jeune ou non, donc rassurez vous, il n'y aura pas un renouvellement par jour.

    Conclusion

    Le protocole ACME peut s'appliquer à toutes les architectures web pour peu qu'on puisse traiter les requêtes du challenge correctement. À moins de disposer d'un stockage partagé (NSF, iSCSI, Samba...), il est indispensable que le challenge ACME soit créé par la machine capable de le traiter.

    Illustration : The Great A'Tuin par Paul Kidby