Сигурност и данни
Доверени хостове (known_hosts)
Първата връзка към хост улавя отпечатъка на публичния му ключ (SHA-256) и го съхранява, след като потвърдите. Следващите връзки сравняват отпечатъка — ако някога се промени, получавате ясно предупреждение.
Управлявайте списъка в Настройки → Сигурност → Доверени хостове — всеки запис показва хоста, алгоритъма на ключа (Ed25519, RSA, ECDSA…) и отпечатъка и може да бъде премахнат.
Как е защитена връзката
DR-Terminal използва собствена SSH реализация, подсилена срещу активни нападатели и враждебни сървъри:
- Ключът на хоста се проверява по време на ръкостискането, преди да бъде изпратено каквото и да е тайно. Ако „човек по средата“ (man-in-the-middle) представи грешен ключ, връзката се прекъсва при обмена на ключове — паролата или частният ви ключ никога не напускат устройството.
- Само силни алгоритми, по подразбиране. Наследените, податливи на понижаване алгоритми — SHA-1 подписи и MAC-ове,
ssh-rsa, 1024-битов Diffie-Hellman — са изключени. Връзките използват модерен обмен на ключове (първо пост-квантовите хибридиsntrup761x25519-sha512иmlkem768x25519-sha256, след това Curve25519, ECDH, Diffie-Hellman ≥ 2048 бита), шифри (AES-GCM, ChaCha20-Poly1305, AES-CTR) и типове ключове на хост (Ed25519, ECDSA, RSA-SHA2). Сървър, който предлага само нещо по-слабо, не може да се свърже — освен ако съзнателно не включите отново наследен алгоритъм в SSH алгоритми (по-долу). - Без тихо понижаване. Подписът, който сървърът използва, трябва да съответства на договореното, така че той не може да премине към по-слаб зад гърба ви.
- Terrapin (CVE-2023-48795) е смекчена чрез строг обмен на ключове.
- Устойчива на враждебен или дефектен сървър. Дължините на пакетите, полетата на съобщенията и прозорците на каналите, идващи от мрежата, всички се проверяват за граници, така че злонамерен сървър не може да срине приложението или да изчерпи паметта му — дори преди да се автентикирате.
Тези защити са включени автоматично. Взаимодействате с тях само чрез подканата за доверени хостове по-горе.
SSH алгоритми (разширени)
Настройки → Сигурност → SSH алгоритми ви позволява да настроите какво клиентът предлага на сървърите — за наследено устройство, което говори само стар шифър, или за да фиксирате реда, на който се доверявате. Страницата има по една секция за всяка категория на договаряне:
- Обмен на ключове, Шифри, MAC (цялост) — включвате или изключвате всеки алгоритъм и го местите нагоре или надолу; редът е редът на предпочитание, изпращан на сървъра (печели първият алгоритъм, поддържан от двете страни).
- Хост ключове — само вкл./изкл.
- Компресия — превключвател да/не (изключен по подразбиране). Да предлага първо
[email protected]сnoneкато резервен вариант за сървъри без zlib; Не предлага самоnone, така че сървърът не може да включи компресия. Компресията помага при бавни връзки и струва процесорно време и от двете страни.
Алгоритмите, които библиотеката доставя изключени, носят малък кехлибарен етикет legacy — те остават изключени, докато не ги включите. Категория никога не може да остане празна: последният включен алгоритъм не може да бъде изключен. Нулиране до заглавието на секция я връща към подразбиранията на библиотеката.
Всяка запазена връзка може да пренастрои глобалния избор: във формуляра на връзката SSH алгоритми → Персонализирани отваря същия редактор само за този хост (По подразбиране следва глобалната настройка). Потвърждаването на редактора обновява формуляра — след това използвайте Запазване на връзката. Какво реално е договорено — обмен на ключове, хост ключ, шифър, MAC, компресия — се показва в Информация за връзката от менюто на сесията.
Новите настройки важат за връзки, отворени след това. Втори раздел към същия хост използва повторно живата SSH връзка и следователно нейните алгоритми — прекъснете и се свържете отново, за да се договори наново.
Пост-квантово предупреждение
Нападател от типа „запиши сега, дешифрирай по-късно“ записва днешния трафик и го дешифрира, щом квантовите компютри могат да разбият класическия обмен на ключове. DR-Terminal предпочита пост-квантов хибриден обмен на ключове (sntrup761x25519-sha512, mlkem768x25519-sha256 — същите, които OpenSSH доставя) и, подобно на OpenSSH, предупреждава, когато сесията се окаже на класически: веднъж на връзка се появява диалог, който казва, че обменът на ключове не е пост-квантов и че сървърът може да се нуждае от надстройка. Не показвай отново изключва предупреждението завинаги; то се намира в Настройки → Сигурност → Пост-квантово предупреждение (включено по подразбиране).
Експортирани ключове
Когато конвертирате или експортирате частен ключ (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, обезпечено с хардуерния Keystore.
- iOS — Keychain (защитен с биометрия, ако сте я активирали).
- Desktop — AES-256-GCM криптиран файл, ключ извлечен от потребителския профил.
Криптирано архивиране на конфигурацията
Настройки → Конфигурация → Export backup създава защитен с парола файл .drterminal. Той съдържа: връзки (с идентификационни данни), групи, доверени хостове, SSH ключове, SFTP отметки, история на командите, правила за открояване, снипети, серийни и Telnet профили, предпочитания за SSH алгоритми, външен вид на терминала и настройки, а на мобилни — и конфигурацията на клавиатурата DevOps. Import backup възстановява същия пакет — полезно при преместване между машини.
Формат: JSON, криптиран с AES-256-GCM. Паролата никога не се съхранява във файла — тя само извлича ключа за криптиране (PBKDF2, 100 000 итерации на SHA-256).
Импорт на ~/.ssh/config
На Desktop можете да импортирате масово хостове от съществуваща OpenSSH конфигурация. Импортерът разбира записите Host, HostName, User, Port, IdentityFile и ProxyJump и ги добавя като запазени връзки. Файловете с ключове, посочени от IdentityFile, се зареждат от диска в SecureStorage.
Нива на логване
В Настройки → Терминал → Ниво на журнала във файл изберете какво достига до ~/.dr-terminal/logs/ (Desktop) или еквивалента на мобилни. По подразбиране: ERROR — минимален шум. За диагностика превключете на DEBUG.