Βρέθηκε η αιτία των προβλημάτων αφυδάτωσης με διακομιστές ACME εκτός του LetsEncrypt

Σεμπάστιαν Κράουζε ορίζεται πηγή περίεργης ασυμβατότητας με την υπηρεσία Παράκαμψη γραφή αφυδατωμένο, χρησιμοποιείται για την αυτοματοποίηση της λήψης πιστοποιητικών TLS χρησιμοποιώντας το πρωτόκολλο ACME. Τόσο ο πελάτης αναφοράς όσο και το uacme λειτουργούν με το Bypass, αλλά όχι αφυδατωμένο (ακριβέστερα, λειτούργησε και με κάποιες λύσεις, αλλά αποκλειστικά σε λειτουργία dns-1).

Ο λόγος αποδείχθηκε ασήμαντος: αντί να αναλύσει την απόκριση σε μορφή JSON για πραγματική, ο συγγραφέας του αφυδατωμένο χρησιμοποίησε τη δυνατότητα μορφοποίησης μιας συγκεκριμένης εξόδου JSON από την υπηρεσία Let's Encrypt και την ανέλυσε χρησιμοποιώντας μια κανονική έκφραση. Αλλά το Bypass δεν επιστρέφει όμορφα μορφοποιημένο, αλλά ελαχιστοποιημένο JSON και το χρησιμοποιημένο κοινή έκφραση δεν δούλεψε. Αυτή η προσέγγιση δεν αποκλείει προβλήματα με το LetsEncrypt, εάν αυτή η υπηρεσία αλλάξει τη μορφή έκδοσης στο μέλλον χωρίς προειδοποίηση, ενώ παραμένει πλήρως εντός του πλαισίου του επίσημου πρωτοκόλλου.

Κατά τη συζήτηση του προβλήματος, προτάθηκε η χρήση ενός εξωτερικού αναλυτή JSON όπως π.χ json_pp ή jq (προσθέστε 'jq -r ".authorizations | .[]"' στο σωλήνα για σωστή ανάλυση).
Το μειονέκτημα αυτής της προσέγγισης είναι η αραίωση της ιδέας της χρήσης ελάχιστων και εύκολα επαληθεύσιμων μέσων, καθώς και προβλήματα με τον χειρισμό σφαλμάτων.

Συγγραφέας του αφυδατωμένου έργου (το έργο ήταν πρόσφατα Εξαντλημένα Apilayer GmbH) σύμφωνος, ότι η ανάλυση του JSON είναι μεγάλο πρόβλημα, αλλά δεν θεωρεί καλή ιδέα την προσθήκη εξωτερικών αναλυτών, καθώς ένα από τα βασικά πλεονεκτήματα του σεναρίου είναι η έλλειψη σύνδεσης με εξωτερικές εξαρτήσεις. Αυτή τη στιγμή είναι απασχολημένος, αλλά ελπίζει να αφιερώσει την προσοχή του στην επίλυση του προβλήματος τις επόμενες ημέρες. Τα σχέδια περιλαμβάνουν την εκ νέου επεξεργασία του αναλυτή JSON ή την ενσωμάτωση ενός έτοιμου αναλυτή στη γλώσσα του κελύφους - JSON.sh.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο