💾 Archived View for tilde.team › ~rami › xmpp.gmi captured on 2023-12-28 at 15:45:49. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-01-29)
-=-=-=-=-=-=-
רמי
SUBJECT: Jabber/XMPP: Правила выбора и использования сервера и клиента
AUTHOR: Rami Rosenfeld
DATE: 14/10/22
TIME: 01.00
LANG: ru, en
LICENSE: GNU FDL 1.3
TAGS: gnu, gnome, software, opensource, linux, system, man, manual, bash, jabber, xmpp, web, internet, gpg, otr, omemo
Я конечно же излагаю здесь общеизвестные вещи, однако десятки раз сталкивался с фактами, что пользователи не выполняют даже такие простейшие правила (основанные как на логике, так и на личном опыте - хотя бы и чужом).
Итак, доверять надо следующим серверам:
1. Основанным N+ лет назад (т.е. не однодневкам).
2. Со свежим и постоянно обновляемым софтом, обслуживающим протокол XMPP (это проверяется запросом версии Jabber-сервера).
3. Имеющим класс "А" сразу в двух показателях: "Security grade client-to-server" и "Security grade server-to-server".
4. Обладающим достойным CA.
5. С хорошей стабильностью, т.е аптаймом, измеряемым месяцами.
6. С высокоскоростным пингом (отзывом).
7. Находящимся вне страны собственного проживания (оптимально - в государстве, не имеющем практики взаимодействия по предоставлению информации об интернет-пользователях в соответствии с официальными межгосударственными запросами).
Все остальное не имеет особого значения с точки зрения безопасности.
1. Отдавайте себе отчет: чем проще по архитектуре, исполнению и заложенному функционалу Jabber-клиент, тем надежнее он и предпочтительнее. Вывод: старайтесь не использовать "кухонные комбайны" или шампуни "три в одном". Помните: "С увеличением степени интеграции растет количество ошибок".
2. С применением GUI (графического интерфейса пользователя) гипотетически возрастает количество возможных уязвимостей, поэтому ориентируйтесь на консольные приложения.
3. Чем меньше набор поддерживаемых транспортов - тем лучше; оптимальный вариант - поддержка только XMPP.
4. То же самое касается опциональных излишеств и "удобств" - откажитесь от них полностью или хотя бы заблокируйте или не используйте большую часть.
6. Всегда подключайтесь по защищенным соединениям SSL/TLS.
7. Для подключения дополнительно используйте виртуальные приватные сети или схожие веб-технологии.
8. Всегда шифруйте сообщения.
9. Не доверяйте на слово и всегда взаимно проверяйте/сличайте отпечатки чужих открытых ключей шифрования. Делайте это по сторонним каналам связи.
10. Чем старше, апробированнее и авторитетнее технология шифрования сообщений, тем она надежнее; поэтому лучший выбор - OTR ("Off-the-Record") и GNU Privacy Guard, а не новомодное OMEMO или принцип "Security through obscurity" ("Безопасность через неясность"); например (реальная цитата): "The protocol combines the Double Ratchet Algorithm, prekeys, and an Extended Triple Diffie–Hellman (X3DH) handshake. It uses Curve25519, AES-256, and HMAC-SHA256 as primitives".
11. Эфемерное (сеансовое) шифрование сообщений OTR всегда предпочтительнее, нежели GNUPG, т.к. ключи шифрования создаются на один сеанс и самоуничтожаются при его завершении; таким образом, не существует даже гипотетической возможности расшифровать сообщения при перехвате.
12. В случае использования GNUPG всегда создавайте дополнительный ключ, который будет использоваться только для шифрования Jabber-сообщений.
13. Полностью откажитесь от хранения истории сообщений.
14. Всегда проверяйте - не остается ли история сообщений на сервере (даже в зашифрованном виде).
15. Никогда не храните парольные фразы от JID-аккаунтов в самом клиенте. Хороший пример: распространенные клиенты (Pidgin, Mcabber) сохраняют их "как есть" в профиле пользователя.
16. "Что знают двое - знает и свинья". Поэтому предупреждаю: хотя многие современные протоколы поддерживают шифрованное мультипользовательское общение (т.е. так называемые "групповые защищенные чаты"), лично я категорически не доверяю подобному функционалу. Ибо множественные "доводы" на тему "мне так удобнее" не могут перевесить одну-единственную вещь, лежащую на другой чаше весов - вашу собственную безопасность.
🄯 Rami Rosenfeld, 2022. GNU FDL 1.3.