Biztonság és adatok
Megbízható kiszolgálók (known_hosts)
Az első kapcsolat egy kiszolgálóhoz rögzíti annak nyilvános kulcsának ujjlenyomatát (SHA-256), és tárolja, miután megerősíted. A későbbi kapcsolatok összehasonlítják az ujjlenyomatot — ha valaha megváltozik, egyértelmű riasztást kapsz.
A listát a Beállítások → Biztonság → Megbízható kiszolgálók menüben kezelheted — minden bejegyzés mutatja a kiszolgálót, a kulcsalgoritmust (Ed25519, RSA, ECDSA…) és az ujjlenyomatot, és eltávolítható.
Hogyan védett a kapcsolat
A DR-Terminal saját SSH-implementációt használ, amely megerősített az aktív támadókkal és az ellenséges kiszolgálókkal szemben:
- A kiszolgáló kulcsát a kézfogás során ellenőrzi, mielőtt bármilyen titkot elküldene. Ha egy közbeékelődő (man-in-the-middle) rossz kulcsot mutat be, a kapcsolat a kulcscserénél megszakad — a jelszavad vagy a privát kulcsod soha nem hagyja el az eszközt.
- Alapértelmezetten csak erős algoritmusok. A régi, leminősítésre hajlamos algoritmusok — SHA-1 aláírások és MAC-ek,
ssh-rsa, 1024 bites Diffie-Hellman — ki vannak kapcsolva. A kapcsolatok modern kulcscserét (először a posztkvantum hibridsntrup761x25519-sha512ésmlkem768x25519-sha256, majd Curve25519, ECDH, Diffie-Hellman ≥ 2048 bit), rejtjeleket (AES-GCM, ChaCha20-Poly1305, AES-CTR) és kiszolgálókulcs-típusokat (Ed25519, ECDSA, RSA-SHA2) használnak. Az a kiszolgáló, amely csak gyengébbet kínál, nem tud csatlakozni — hacsak szándékosan vissza nem kapcsolsz egy régi algoritmust az SSH-algoritmusok oldalon (lásd lent). - Nincs csendes leminősítés. A kiszolgáló által használt aláírásnak meg kell egyeznie a megtárgyalttal, így nem térhet vissza egy gyengébbre a hátad mögött.
- A Terrapin (CVE-2023-48795) mérsékelve van a szigorú kulcscsere révén.
- Ellenálló az ellenséges vagy hibás kiszolgálóval szemben. A hálózatról érkező csomaghosszak, üzenetmezők és csatornaablakok mind határellenőrzésen esnek át, így egy rosszindulatú kiszolgáló nem tudja összeomlasztani az alkalmazást vagy kimeríteni a memóriáját — még a hitelesítés előtt sem.
Ezek a védelmek automatikusan be vannak kapcsolva. Csak a fenti megbízható kiszolgálókra vonatkozó kérésen keresztül lépsz kapcsolatba velük.
SSH-algoritmusok (haladó)
A Beállítások → Biztonság → SSH-algoritmusok menüben hangolhatod, mit ajánl fel a kliens a kiszolgálóknak — egy régi eszközhöz, amely csak egy elavult rejtjelet ismer, vagy hogy rögzítsd azt a sorrendet, amelyben megbízol. Az oldalon minden egyeztetési kategóriához egy szakasz tartozik:
- Kulcscsere, Titkosítók, MAC (integritás) — minden algoritmust be- vagy kikapcsolhatsz, és feljebb vagy lejjebb mozgathatsz; a sorrend a kiszolgálónak küldött preferencia-sorrend (az első olyan algoritmus nyer, amelyet mindkét fél támogat).
- Gazdagép-kulcsok — csak be/ki.
- Tömörítés — igen/nem kapcsoló (alapértelmezetten ki). Az Igen először a
[email protected]algoritmust ajánlja fel, tartalékként anoneértékkel a zlib nélküli kiszolgálókhoz; a Nem csak anoneértéket ajánlja fel, így a kiszolgáló nem kapcsolhatja be a tömörítést. A tömörítés lassú kapcsolatokon segít, és mindkét oldalon CPU-t fogyaszt.
A könyvtár által kikapcsolva szállított algoritmusok egy kis borostyánsárga legacy címkét viselnek — kikapcsolva maradnak, amíg be nem kapcsolod őket. Egy kategória sosem üresedhet ki: az utolsó bekapcsolt algoritmus nem kapcsolható ki. A szakaszcím melletti Visszaállítás visszaállítja a könyvtár alapértelmezéseit.
Minden mentett kapcsolat felülbírálhatja a globális választást: a kapcsolati űrlapon az SSH-algoritmusok → Egyéni ugyanazt a szerkesztőt nyitja meg csak ahhoz a kiszolgálóhoz (az Alapértelmezett a globális beállítást követi). A szerkesztő megerősítése az űrlapot frissíti — utána Mentés a kapcsolaton. Hogy ténylegesen mi lett egyeztetve — kulcscsere, kiszolgálókulcs, rejtjel, MAC, tömörítés — a munkamenet menüjének Kapcsolat adatai pontjában látható.
Az új beállítások az ezután megnyitott kapcsolatokra vonatkoznak. Egy második lap ugyanahhoz a kiszolgálóhoz az élő SSH-kapcsolatot, és így annak algoritmusait használja újra — az újraegyeztetéshez bontsd a kapcsolatot, és csatlakozz újra.
Posztkvantum figyelmeztetés
A „tárold most, fejtsd meg később” típusú támadó rögzíti a mai forgalmat, és akkor fejti meg, amikor a kvantumszámítógépek már képesek feltörni a klasszikus kulcscserét. A DR-Terminal a posztkvantum hibrid kulcscserét részesíti előnyben (sntrup761x25519-sha512, mlkem768x25519-sha256 — ugyanazokat, amelyeket az OpenSSH is szállít), és az OpenSSH-hoz hasonlóan figyelmeztet, ha egy munkamenet klasszikusra kerül: kapcsolatonként egyszer megjelenik egy párbeszédpanel, amely közli, hogy a kulcscsere nem posztkvantum, és a kiszolgáló frissítésre szorulhat. A Ne jelenjen meg többé végleg kikapcsolja a figyelmeztetést; a beállítás a Beállítások → Biztonság → Posztkvantum figyelmeztetés alatt található (alapértelmezetten be).
Exportált kulcsok
Amikor konvertálsz vagy exportálsz egy privát kulcsot (SSH-kulcsok → Konvertálás), és beállítasz egy jelmondatot, a titkosítás formátumonként kiválasztott erős kulcsszármaztató függvényt használ — bcrypt az OpenSSH-hoz, PBKDF2 a PKCS#8-hoz, Argon2id a PuTTY PPK v3-hoz —, és minden só (salt) és IV egy kriptográfiailag biztonságos véletlenszám-generátorból származik. A konvertáló olvassa és írja az OpenSSH, PKCS#8, PKCS#1 és PuTTY PPK (v2/v3) formátumokat, PEM-ből és bináris DER-ből egyaránt.
Hol élnek a titkok
A jelszavak, a privát kulcsok és a jelmondatok soha nem szerializálódnak a kapcsolati JSON-ba. Egyenesen a platform biztonságos tárolójába kerülnek:
- Android — EncryptedSharedPreferences, a hardveres Keystore által támogatva.
- iOS — Keychain (biometrikusan védett, ha bekapcsoltad).
- Asztali — AES-256-GCM titkosított fájl, a felhasználói profilból származtatott kulccsal.
Titkosított konfigurációmentés
A Beállítások → Konfiguráció → Mentés exportálása létrehoz egy jelszóval védett .drterminal fájlt. Ez a következőket tartalmazza: kapcsolatok (hitelesítő adatokkal), csoportok, megbízható kiszolgálók, SSH-kulcsok, SFTP-könyvjelzők, parancselőzmények, kiemelési szabályok, snippetek, soros és Telnet profilok, SSH-algoritmus-beállítások, terminálmegjelenés és beállítások, valamint (mobilon) a DevOps billentyűzet konfigurációja. A Mentés importálása visszaállítja ugyanazt a csomagot — hasznos gépek közti váltáskor.
Formátum: AES-256-GCM-mel titkosított JSON. A jelszó soha nem tárolódik a fájlban — csak a titkosítási kulcsot származtatja belőle (PBKDF2, SHA-256 100 000 iterációval).
A ~/.ssh/config importálása
Asztali környezetben tömegesen importálhatsz kiszolgálókat egy meglévő OpenSSH-konfigurációból. Az importáló elemzi a Host, HostName, User, Port, IdentityFile és ProxyJump bejegyzéseket, és mentett kapcsolatként veszi fel őket. Az IdentityFile által hivatkozott kulcsfájlok a lemezről a SecureStorage-ba töltődnek.
Naplószintek
A Beállítások → Terminál → Fájlnapló-szint menüben válaszd ki, mi kerül a ~/.dr-terminal/logs/ mappába (asztali) vagy a mobil megfelelőjébe. Alapértelmezett: ERROR — minimális zaj. Diagnosztikához válts DEBUG-ra.