Ασφάλεια και δεδομένα
Έμπιστοι host (known_hosts)
Η πρώτη σύνδεση σε έναν host καταγράφει το αποτύπωμα του δημόσιου κλειδιού του (SHA-256) και το αποθηκεύει μετά την επιβεβαίωσή σας. Οι επόμενες συνδέσεις συγκρίνουν το αποτύπωμα — αν αλλάξει ποτέ, λαμβάνετε μια σαφή ειδοποίηση.
Διαχειριστείτε τη λίστα στις Ρυθμίσεις → Ασφάλεια → Έμπιστοι host — κάθε καταχώρηση δείχνει τον host, τον αλγόριθμο κλειδιού (Ed25519, RSA, ECDSA…) και το αποτύπωμα, και μπορεί να αφαιρεθεί.
Πώς προστατεύεται η σύνδεση
Το DR-Terminal χρησιμοποιεί τη δική του υλοποίηση SSH, θωρακισμένη έναντι ενεργών επιτιθέμενων και εχθρικών διακομιστών:
- Το κλειδί host ελέγχεται κατά τη διάρκεια της χειραψίας, πριν σταλεί οτιδήποτε μυστικό. Αν ένας man-in-the-middle παρουσιάσει λανθασμένο κλειδί, η σύνδεση διακόπτεται κατά την ανταλλαγή κλειδιών — ο κωδικός πρόσβασης ή το ιδιωτικό σας κλειδί δεν φεύγει ποτέ από τη συσκευή.
- Μόνο ισχυροί αλγόριθμοι, από προεπιλογή. Οι παλαιοί, επιρρεπείς σε υποβάθμιση αλγόριθμοι — υπογραφές και MAC με SHA-1,
ssh-rsa, Diffie-Hellman 1024-bit — είναι απενεργοποιημένοι. Οι συνδέσεις χρησιμοποιούν σύγχρονη ανταλλαγή κλειδιών (Curve25519, ECDH, Diffie-Hellman ≥ 2048-bit), κρυπτογραφήσεις (AES-GCM, ChaCha20-Poly1305, AES-CTR) και τύπους κλειδιών host (Ed25519, ECDSA, RSA-SHA2). Ένας διακομιστής που προσφέρει μόνο κάτι ασθενέστερο δεν μπορεί να συνδεθεί. - Καμία σιωπηρή υποβάθμιση. Η υπογραφή που χρησιμοποιεί ο διακομιστής πρέπει να ταιριάζει με αυτό που διαπραγματεύτηκε, ώστε να μην μπορεί να υποχωρήσει σε μια ασθενέστερη πίσω από την πλάτη σας.
- Το Terrapin (CVE-2023-48795) αντιμετωπίζεται μέσω αυστηρής ανταλλαγής κλειδιών.
- Ανθεκτικό σε εχθρικό ή ελαττωματικό διακομιστή. Τα μήκη πακέτων, τα πεδία μηνυμάτων και τα παράθυρα καναλιών που έρχονται από το δίκτυο ελέγχονται όλα ως προς τα όριά τους, ώστε ένας κακόβουλος διακομιστής να μην μπορεί να προκαλέσει κατάρρευση της εφαρμογής ή να εξαντλήσει τη μνήμη της — ούτε καν πριν ταυτοποιηθείτε.
Αυτές οι προστασίες είναι ενεργές αυτόματα. Αλληλεπιδράτε μαζί τους μόνο μέσω της παραπάνω προτροπής έμπιστων host.
Εξαγόμενα κλειδιά
Όταν μετατρέπετε ή εξάγετε ένα ιδιωτικό κλειδί (Κλειδιά SSH → Μετατροπή) και ορίζετε ένα passphrase, η κρυπτογράφηση χρησιμοποιεί μια ισχυρή συνάρτηση παραγωγής κλειδιού επιλεγμένη ανά μορφή — bcrypt για OpenSSH, PBKDF2 για PKCS#8, Argon2id για PuTTY PPK v3 — και κάθε salt και IV προέρχεται από μια κρυπτογραφικά ασφαλή γεννήτρια τυχαίων αριθμών. Ο μετατροπέας διαβάζει και γράφει OpenSSH, PKCS#8, PKCS#1 και PuTTY PPK (v2/v3), τόσο από PEM όσο και από δυαδικό DER.
Πού βρίσκονται τα μυστικά
Οι κωδικοί πρόσβασης, τα ιδιωτικά κλειδιά και τα passphrase ποτέ δεν σειριοποιούνται στο JSON σύνδεσης. Πηγαίνουν απευθείας στην ασφαλή αποθήκη της πλατφόρμας:
- Android — EncryptedSharedPreferences, υποστηριζόμενο από το hardware Keystore.
- iOS — Keychain (προστατευμένο με βιομετρικά αν το ενεργοποιήσατε).
- Desktop — αρχείο κρυπτογραφημένο με AES-256-GCM, με κλειδί παραγόμενο από το προφίλ χρήστη.
Κρυπτογραφημένο αντίγραφο ασφαλείας ρυθμίσεων
Το Ρυθμίσεις → Διαμόρφωση → Εξαγωγή αντιγράφου ασφαλείας δημιουργεί ένα αρχείο .drterminal προστατευμένο με κωδικό. Περιέχει: συνδέσεις (με διαπιστευτήρια), ομάδες, έμπιστους host, κλειδιά SSH, σελιδοδείκτες SFTP, ιστορικό εντολών, κανόνες επισήμανσης, αποσπάσματα, προφίλ serial και Telnet, εμφάνιση τερματικού και ρυθμίσεις και (σε κινητά) τη διαμόρφωση του πληκτρολογίου DevOps. Το Εισαγωγή αντιγράφου ασφαλείας επαναφέρει την ίδια δέσμη — χρήσιμο κατά τη μετακίνηση μεταξύ μηχανημάτων.
Μορφή: JSON κρυπτογραφημένο με AES-256-GCM. Ο κωδικός δεν αποθηκεύεται ποτέ στο αρχείο — μόνο παράγει το κλειδί κρυπτογράφησης (PBKDF2, 100.000 επαναλήψεις SHA-256).
Εισαγωγή ~/.ssh/config
Στο Desktop μπορείτε να εισαγάγετε μαζικά host από ένα υπάρχον config OpenSSH. Ο εισαγωγέας αναλύει τις καταχωρήσεις Host, HostName, User, Port, IdentityFile και ProxyJump και τις προσθέτει ως αποθηκευμένες συνδέσεις. Τα αρχεία κλειδιών που αναφέρονται από το IdentityFile φορτώνονται από τον δίσκο στο SecureStorage.
Επίπεδα καταγραφής
Στο Ρυθμίσεις → Terminal → Επίπεδο καταγραφής αρχείου επιλέξτε τι φτάνει στο ~/.dr-terminal/logs/ (Desktop) ή το αντίστοιχο σε κινητά. Προεπιλογή: ERROR — ελάχιστος θόρυβος. Για διαγνωστικά μεταβείτε σε DEBUG.