Έκδοση OpenSSH 8.4

Μετά από τέσσερις μήνες ανάπτυξης παρουσιάζονται έκδοση του OpenSSH 8.4, μιας εφαρμογής ανοιχτού πελάτη και διακομιστή για εργασία με χρήση των πρωτοκόλλων SSH 2.0 και SFTP.

Βασικές αλλαγές:

  • Αλλαγές ασφαλείας:
    • Στο ssh-agent, όταν χρησιμοποιεί κλειδιά FIDO που δεν δημιουργήθηκαν για έλεγχο ταυτότητας SSH (το αναγνωριστικό κλειδιού δεν ξεκινά με τη συμβολοσειρά "ssh:"), ελέγχει τώρα ότι το μήνυμα θα υπογραφεί χρησιμοποιώντας τις μεθόδους που χρησιμοποιούνται στο πρωτόκολλο SSH. Η αλλαγή δεν θα επιτρέψει την ανακατεύθυνση του ssh-agent σε απομακρυσμένους κεντρικούς υπολογιστές που διαθέτουν κλειδιά FIDO για να αποκλείουν τη δυνατότητα χρήσης αυτών των κλειδιών για τη δημιουργία υπογραφών για αιτήματα ελέγχου ταυτότητας ιστού (η αντίστροφη περίπτωση, όταν ένα πρόγραμμα περιήγησης μπορεί να υπογράψει ένα αίτημα SSH, αρχικά εξαιρείται λόγω της χρήσης του προθέματος «ssh:» στο αναγνωριστικό κλειδιού).
    • Η δημιουργία κλειδιού μόνιμου κλειδιού του ssh-keygen περιλαμβάνει υποστήριξη για το πρόσθετο credProtect που περιγράφεται στην προδιαγραφή FIDO 2.1, το οποίο παρέχει πρόσθετη προστασία για τα κλειδιά απαιτώντας ένα PIN πριν από την εκτέλεση οποιασδήποτε λειτουργίας που μπορεί να οδηγήσει στην εξαγωγή του κλειδιού μόνιμου κλειδιού από το διακριτικό.
  • Πιθανές αλλαγές συμβατότητας:
    • Για την υποστήριξη FIDO/U2F, συνιστάται η χρήση της βιβλιοθήκης libfido2 τουλάχιστον της έκδοσης 1.5.0. Η δυνατότητα χρήσης παλαιότερων εκδόσεων έχει εφαρμοστεί μερικώς, αλλά σε αυτήν την περίπτωση, λειτουργίες όπως κλειδιά μόνιμης κατοικίας, αίτημα PIN και σύνδεση πολλών διακριτικών δεν θα είναι διαθέσιμες.
    • Στο ssh-keygen, τα δεδομένα ελέγχου ταυτότητας που είναι απαραίτητα για την επαλήθευση επιβεβαιωμένων ψηφιακών υπογραφών έχουν προστεθεί στη μορφή των πληροφοριών επιβεβαίωσης, προαιρετικά αποθηκευμένα κατά τη δημιουργία ενός κλειδιού FIDO.
    • Το API που χρησιμοποιείται όταν το OpenSSH αλληλεπιδρά με το επίπεδο για την πρόσβαση σε διακριτικά FIDO έχει αλλάξει.
    • Κατά τη δημιουργία μιας φορητής έκδοσης του OpenSSH, απαιτείται πλέον η automake για τη δημιουργία του σεναρίου ρύθμισης παραμέτρων και των συνοδευτικών αρχείων έκδοσης (εάν δημιουργείται από ένα δημοσιευμένο αρχείο κώδικα tar, δεν απαιτείται διαμόρφωση παραμέτρων αναγέννησης).
  • Προστέθηκε υποστήριξη για κλειδιά FIDO που απαιτούν επαλήθευση PIN σε ssh και ssh-keygen. Για τη δημιουργία κλειδιών με PIN, η επιλογή "απαιτείται επαλήθευση" έχει προστεθεί στο ssh-keygen. Εάν χρησιμοποιούνται τέτοια κλειδιά, πριν από την εκτέλεση της λειτουργίας δημιουργίας υπογραφής, ο χρήστης καλείται να επιβεβαιώσει τις ενέργειές του εισάγοντας έναν κωδικό PIN.
  • Στο sshd, η επιλογή "verify-required" εφαρμόζεται στη ρύθμιση authorized_keys, η οποία απαιτεί τη χρήση δυνατοτήτων για την επαλήθευση της παρουσίας του χρήστη κατά τη διάρκεια εργασιών με το διακριτικό. Το πρότυπο FIDO παρέχει πολλές επιλογές για τέτοια επαλήθευση, αλλά επί του παρόντος το OpenSSH υποστηρίζει μόνο επαλήθευση βάσει PIN.
  • Τα sshd και ssh-keygen έχουν προσθέσει υποστήριξη για την επαλήθευση ψηφιακών υπογραφών που συμμορφώνονται με το πρότυπο FIDO Webauthn, το οποίο επιτρέπει τη χρήση κλειδιών FIDO σε προγράμματα περιήγησης ιστού.
  • Στο ssh στις ρυθμίσεις CertificateFile,
    ControlPath, IdentityAgent, IdentityFile, LocalForward και
    Το RemoteForward επιτρέπει την αντικατάσταση τιμών από μεταβλητές περιβάλλοντος που καθορίζονται στη μορφή "${ENV}".

  • Το ssh και το ssh-agent έχουν προσθέσει υποστήριξη για τη μεταβλητή περιβάλλοντος $SSH_ASKPASS_REQUIRE, η οποία μπορεί να χρησιμοποιηθεί για την ενεργοποίηση ή απενεργοποίηση της κλήσης ssh-askpass.
  • Στο ssh στο ssh_config στην οδηγία AddKeysToAgent, έχει προστεθεί η δυνατότητα περιορισμού της περιόδου ισχύος ενός κλειδιού. Μετά τη λήξη του καθορισμένου ορίου, τα κλειδιά διαγράφονται αυτόματα από το ssh-agent.
  • Στο scp και sftp, χρησιμοποιώντας τη σημαία "-A", μπορείτε τώρα να επιτρέψετε ρητά την ανακατεύθυνση σε scp και sftp χρησιμοποιώντας ssh-agent (η ανακατεύθυνση είναι απενεργοποιημένη από προεπιλογή).
  • Προστέθηκε υποστήριξη για την αντικατάσταση '%k' στις ρυθμίσεις ssh, η οποία καθορίζει το όνομα του κλειδιού κεντρικού υπολογιστή. Αυτή η δυνατότητα μπορεί να χρησιμοποιηθεί για τη διανομή κλειδιών σε ξεχωριστά αρχεία (για παράδειγμα, "UserKnownHostsFile ~/.ssh/known_hosts.d/%k").
  • Επιτρέψτε τη χρήση της λειτουργίας "ssh-add -d -" για την ανάγνωση κλειδιών από το stdin που πρόκειται να διαγραφούν.
  • Στο sshd, η έναρξη και το τέλος της διαδικασίας κλαδέματος σύνδεσης αντικατοπτρίζονται στο αρχείο καταγραφής, το οποίο ρυθμίζεται χρησιμοποιώντας την παράμετρο MaxStartups.

Οι προγραμματιστές του OpenSSH υπενθύμισαν επίσης τον επερχόμενο παροπλισμό αλγορίθμων που χρησιμοποιούν κατακερματισμούς SHA-1 λόγω προβολή την αποτελεσματικότητα των επιθέσεων σύγκρουσης με ένα δεδομένο πρόθεμα (το κόστος επιλογής μιας σύγκρουσης εκτιμάται σε περίπου 45 χιλιάδες δολάρια). Σε μία από τις επερχόμενες εκδόσεις, σχεδιάζουν να απενεργοποιήσουν από προεπιλογή τη δυνατότητα χρήσης του αλγόριθμου ψηφιακής υπογραφής δημόσιου κλειδιού "ssh-rsa", ο οποίος αναφέρεται στο αρχικό RFC για το πρωτόκολλο SSH και παραμένει ευρέως διαδεδομένο στην πράξη (για δοκιμή της χρήσης του ssh-rsa στα συστήματά σας, μπορείτε να δοκιμάσετε να συνδεθείτε μέσω ssh με την επιλογή “-oHostKeyAlgorithms=-ssh-rsa”).

Για την ομαλή μετάβαση σε νέους αλγόριθμους στο OpenSSH, η επόμενη έκδοση θα ενεργοποιήσει τη ρύθμιση UpdateHostKeys από προεπιλογή, η οποία θα μεταφέρει αυτόματα τους πελάτες σε πιο αξιόπιστους αλγόριθμους. Οι προτεινόμενοι αλγόριθμοι για μετεγκατάσταση περιλαμβάνουν τους rsa-sha2-256/512 που βασίζονται στο RFC8332 RSA SHA-2 (υποστηρίζεται από το OpenSSH 7.2 και χρησιμοποιείται από προεπιλογή), τον ssh-ed25519 (υποστηρίζεται από το OpenSSH 6.5) και το ecdsa-sha2-nistp256/384 σε RFC521 ECDSA (υποστηρίζεται από το OpenSSH 5656).

Πηγή: opennet.ru

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