Bezpečnosť a dáta
Dôveryhodní hostitelia (known_hosts)
Prvé pripojenie k hostiteľovi zachytí odtlačok jeho verejného kľúča (SHA-256) a po vašom potvrdení ho uloží. Ďalšie pripojenia odtlačok porovnávajú — ak sa niekedy zmení, dostanete jasné upozornenie.
Zoznam spravujte v Nastavenia → Bezpečnosť → Dôveryhodní hostitelia — každá položka zobrazuje hostiteľa, algoritmus kľúča (Ed25519, RSA, ECDSA…) a odtlačok a možno ju odstrániť.
Ako je pripojenie chránené
DR-Terminal používa vlastnú implementáciu SSH, spevnenú proti aktívnym útočníkom a nepriateľským serverom:
- Kľúč hostiteľa sa overuje počas handshake, skôr než sa odošle čokoľvek tajné. Ak prostredník (man-in-the-middle) predloží nesprávny kľúč, pripojenie sa preruší pri výmene kľúčov — vaše heslo ani súkromný kľúč nikdy neopustia zariadenie.
- Iba silné algoritmy, predvolene. Staré algoritmy náchylné na downgrade — podpisy a MAC na SHA-1,
ssh-rsa, 1024-bitový Diffie-Hellman — sú vypnuté. Pripojenia používajú modernú výmenu kľúčov (najprv postkvantové hybridysntrup761x25519-sha512amlkem768x25519-sha256, potom Curve25519, ECDH, Diffie-Hellman ≥ 2048 bitov), šifry (AES-GCM, ChaCha20-Poly1305, AES-CTR) a typy kľúčov hostiteľa (Ed25519, ECDSA, RSA-SHA2). Server, ktorý ponúka len niečo slabšie, sa nepripojí — pokiaľ starý algoritmus zámerne znovu nezapnete v Algoritmy SSH (nižšie). - Žiadny tichý downgrade. Podpis, ktorý server použije, sa musí zhodovať s tým, čo bolo dohodnuté, takže nemôže za vaším chrbtom prejsť na slabší.
- Terrapin (CVE-2023-48795) je zmiernený prostredníctvom prísnej výmeny kľúčov.
- Odolný voči nepriateľskému alebo chybnému serveru. Dĺžky paketov, polia správ a okná kanálov prichádzajúce zo siete sa všetky kontrolujú na hranice, takže škodlivý server nedokáže spôsobiť pád aplikácie ani vyčerpať jej pamäť — ani pred vaším overením.
Tieto ochrany sú zapnuté automaticky. Interagujete s nimi len cez výzvu dôveryhodných hostiteľov vyššie.
Algoritmy SSH (pokročilé)
Nastavenia → Bezpečnosť → Algoritmy SSH umožňuje doladiť, čo klient serverom ponúka — pre staré zariadenie, ktoré rozumie len starej šifre, alebo na zafixovanie poradia, ktorému dôverujete. Stránka má jednu sekciu pre každú kategóriu vyjednávania:
- Výmena kľúčov, Šifry, MAC (integrita) — každý algoritmus zapnite alebo vypnite a posuňte ho vyššie či nižšie; poradie je poradie preferencií odoslané serveru (vyhráva prvý algoritmus, ktorý podporujú obe strany).
- Kľúče hostiteľa — len zapnúť/vypnúť.
- Kompresia — prepínač áno/nie (predvolene vypnuté). Áno ponúkne najprv
[email protected]anoneako zálohu pre servery bez zlib; Nie ponúkne ibanone, takže server kompresiu zapnúť nemôže. Kompresia pomáha na pomalých linkách a stojí CPU na oboch stranách.
Algoritmy, ktoré knižnica dodáva vypnuté, nesú malú jantárovú značku legacy — zostávajú vypnuté, kým ich nezapnete. Kategória nikdy nemôže zostať prázdna: posledný zapnutý algoritmus sa vypnúť nedá. Resetovať vedľa názvu sekcie ju vráti na predvolené hodnoty knižnice.
Každé uložené pripojenie môže globálnu voľbu prepísať: vo formulári pripojenia Algoritmy SSH → Vlastné otvorí ten istý editor len pre daného hostiteľa (Predvolené sa riadi globálnym nastavením). Potvrdenie editora aktualizuje formulár — pripojenie potom Uložiť. Čo sa skutočne vyjednalo — výmena kľúčov, kľúč hostiteľa, šifra, MAC, kompresia — sa zobrazuje v ponuke relácie pod Informácie o pripojení.
Nové nastavenia platia pre pripojenia otvorené neskôr. Druhá karta k tomu istému hostiteľovi opätovne používa živé SSH pripojenie, a teda aj jeho algoritmy — na opätovné vyjednanie sa odpojte a pripojte znova.
Postkvantové varovanie
Útočník typu „store now, decrypt later“ (ulož teraz, dešifruj neskôr) zaznamená dnešnú prevádzku a dešifruje ju, keď kvantové počítače dokážu prelomiť klasickú výmenu kľúčov. DR-Terminal uprednostňuje postkvantovú hybridnú výmenu kľúčov (sntrup761x25519-sha512, mlkem768x25519-sha256 — tie isté, ktoré dodáva OpenSSH) a rovnako ako OpenSSH varuje, keď relácia skončí na klasickej: raz za pripojenie sa zobrazí dialóg s informáciou, že výmena kľúčov nie je postkvantová a že server možno potrebuje aktualizáciu. Znova nezobrazovať varovanie natrvalo vypne; nájdete ho v Nastavenia → Bezpečnosť → Postkvantové varovanie (predvolene zapnuté).
Exportované kľúče
Keď konvertujete alebo exportujete súkromný kľúč (SSH kľúče → Konvertovať) a nastavíte prístupovú frázu, na šifrovanie sa použije silná funkcia na odvodenie kľúča zvolená podľa formátu — bcrypt pre OpenSSH, PBKDF2 pre PKCS#8, Argon2id pre PuTTY PPK v3 — a každá soľ a IV pochádza z kryptograficky bezpečného generátora náhodných čísel. Konvertor číta a zapisuje OpenSSH, PKCS#8, PKCS#1 a PuTTY PPK (v2/v3), z PEM aj z binárneho DER.
Kde žijú tajomstvá
Heslá, súkromné kľúče a prístupové frázy sa nikdy neserializujú do JSON pripojenia. Idú rovno do bezpečného úložiska platformy:
- Android — EncryptedSharedPreferences, krytý hardvérovým Keystore.
- iOS — Keychain (chránený biometriou, ak ste ju zapli).
- Desktop — súbor šifrovaný AES-256-GCM, kľúč odvodený z používateľského profilu.
Šifrovaná záloha konfigurácie
Nastavenia → Konfigurácia → Exportovať zálohu vytvorí súbor .drterminal chránený heslom. Obsahuje: pripojenia (vrátane prihlasovacích údajov), skupiny, dôveryhodných hostiteľov, kľúče SSH, záložky SFTP, históriu príkazov, pravidlá zvýrazňovania, snippety, sériové a Telnet profily, preferencie algoritmov SSH, vzhľad terminálu a nastavenia a (na mobile) konfiguráciu klávesnice DevOps. Importovať zálohu obnoví ten istý balík — užitočné pri presune medzi počítačmi.
Formát: JSON šifrovaný cez AES-256-GCM. Heslo sa v súbore nikdy neukladá — slúži len na odvodenie šifrovacieho kľúča (PBKDF2, 100 000 iterácií SHA-256).
Import ~/.ssh/config
Na Desktope môžete hromadne importovať hostiteľov z existujúcej konfigurácie OpenSSH. Importér spracúva položky Host, HostName, User, Port, IdentityFile a ProxyJump a pridáva ich ako uložené pripojenia. Súbory kľúčov uvedené v IdentityFile sa načítajú z disku do SecureStorage.
Úrovne logovania
V Nastavenia → Terminál → Úroveň logovania do súboru zvoľte, čo sa dostane do ~/.dr-terminal/logs/ (Desktop) alebo ekvivalentu na mobile. Predvolene: ERROR — minimum šumu. Na diagnostiku prepnite na DEBUG.