Установка серверной части AmneziaWG на Ubuntu/Debian VPS

В прошлой статье мы разобрали, как AmneziaWG обманывает DPI с помощью шумовых пакетов, мимикрии под QUIC и шифрования заголовков. Теперь — практика. Будем поднимать сервер. Хорошая новость: вам не нужен мощный VPS. AmneziaWG работает на модуле ядра Linux, а значит, потребляет минимум ресурсов. Хватит самого дешёвого сервера за 2–4 $ в месяц с 1 vCPU и 512 МБ ОЗУ. Если планируете подключать много клиентов или гонять 4K-видео — берите 1 ГБ ОЗУ для комфорта. Что понадобится VPS с Ubuntu 24.04 LTS, Ubuntu 22.04 или Debian 12/13. Поддерживаются и другие версии, но на этих всё проверено. Доступ по SSH с правами root (или sudo). 2 ГБ свободного места на диске — минимум. Лучше 3+. 15–20 минут времени. 💡 Важно: В отличие от Marzban, для AmneziaWG не нужен домен, SSL-сертификат или reverse-proxy. Сервер работает на уровне ядра и общается с клиентами напрямую по UDP. Это одновременно и проще, и безопаснее — меньше поверхности для атаки. Шаг 1. Подготовка сервера ...

📜 MS-CHAP: история, уязвимости и современные альтернативы

Это вторая статья из цикла об истории VPN-протоколов. Сегодня мы разберём MS-CHAP — протокол, который когда-то был стандартом для удалённого доступа в Windows, но превратился в одну из главных головных болей для специалистов по безопасности.


🤔 Вместо введения: что такое MS-CHAP и зачем он нужен?

В прошлой статье мы говорили о рождении VPN и первых протоколах вроде PPTP. Но любое VPN-соединение — это не просто «туннель». Прежде чем начать передавать данные, сервер и клиент должны доказать друг другу, что они те, за кого себя выдают. Этот процесс называется аутентификацией.

MS-CHAP (Microsoft Challenge Handshake Authentication Protocol) — это протокол, который занимался именно этим. Он был создан компанией Microsoft в 1997 году для аутентификации удалённых Windows-пользователей. По сути, это была «фирменная» версия стандартного протокола CHAP, адаптированная под нужды Windows-сетей.

Протокол просуществовал в двух версиях:

  • MS-CHAPv1 (описан в RFC 2433, октябрь 1998)
  • MS-CHAPv2 (описан в RFC 2759, январь 2000)

И хотя обе версии уже давно признаны небезопасными, они до сих пор встречаются в старых VPN-подключениях, Wi-Fi сетях и корпоративных системах. Поэтому знать о них полезно — хотя бы чтобы понимать, почему их стоит избегать.


🧠 Как работает MS-CHAP? (Объясняем на пальцах)

Чтобы понять MS-CHAP, нужно сначала разобраться с его «родителем» — протоколом CHAP.

Что такое CHAP?

CHAP (Challenge Handshake Authentication Protocol) — это протокол, который решает простую задачу: как доказать серверу, что ты знаешь пароль, не отправляя сам пароль по сети.

Процесс выглядит так:

  1. Сервер отправляет клиенту случайную строку — «вызов» (challenge).
  2. Клиент берёт эту строку, смешивает её со своим паролем с помощью хеш-функции и отправляет результат обратно.
  3. Сервер делает то же самое со своей копией пароля и сравнивает результаты. Если совпало — доступ разрешён.

Главное преимущество: пароль никогда не передаётся по сети в открытом виде. Даже если злоумышленник перехватит «ответ», он не сможет восстановить пароль (по крайней мере, в теории).

А что делает MS-CHAP?

MS-CHAP — это «доработанная» версия CHAP от Microsoft. Она добавила три важные вещи:

  1. Совместимость с Windows — формат ответов был адаптирован под Windows NT 3.5, 3.51, 4.0 и Windows 95.
  2. Механизм смены пароля — если пароль пользователя истёк, протокол позволял его сменить прямо во время аутентификации.
  3. Коды ошибок — сервер мог отправлять понятные сообщения о причинах отказа.
  4. Генерация ключей шифрования — MS-CHAP использовался вместе с протоколом MPPE для шифрования данных в PPTP-соединениях.

На практике MS-CHAP чаще всего применялся именно в связке PPTP + MS-CHAP + MPPE — это была стандартная схема для VPN-подключений в Windows 95/98/NT.


⚔️ MS-CHAPv1 vs MS-CHAPv2: в чём разница?

MS-CHAPv2 был создан, потому что первая версия имела серьёзные проблемы. Вот ключевые отличия:

📋 MS-CHAPv1 vs MS-CHAPv2: сравнение протоколов

Проблема MS-CHAPv1 Решение в MS-CHAPv2
Использовалось слабое кодирование LAN Manager (LM) для обратной совместимости Поддержка LM-ответов полностью убрана
Только односторонняя аутентификация (клиент доказывал себя серверу) Добавлена взаимная аутентификация — клиент тоже проверяет сервер
Ключ шифрования всегда зависел только от пароля Ключ шифрования зависит от пароля + случайной строки (peer challenge)
Один ключ использовался для передачи и приёма данных Генерируются разные ключи для передачи и приёма
Поле «LAN Manager compatible challenge response» всегда отправлялось Это поле заменено на Peer-Challenge

Таблица обновлена в рамках цикла статей об истории VPN-протоколов



Главное нововведение — взаимная аутентификация. В MS-CHAPv2 не только сервер проверяет клиента, но и клиент может убедиться, что подключается к настоящему серверу своей компании, а не к поддельному.

Процесс выглядит так:

  1. Сервер отправляет клиенту вызов (challenge) — случайную строку.
  2. Клиент генерирует свой собственный peer challenge и отправляет серверу ответ, который зависит от: пароля, вызова сервера, peer challenge и идентификатора сессии.
  3. Сервер проверяет ответ клиента и отправляет подтверждение, которое клиент тоже проверяет.
  4. Если обе проверки успешны — соединение установлено.

Звучит надёжно, правда? Но, как выяснилось, даже это не спасло протокол.


💀 Почему MS-CHAP — это плохо? (Уязвимости)

MS-CHAP (обе версии) имеет фундаментальные проблемы с безопасностью. И это не просто «теоретические уязвимости» — их давно эксплуатируют на практике.

1. Слабая криптография (MD4 и DES)

MS-CHAPv2 использует NT-hash пароля, который представляет собой MD4-хеш. MD4 — это хеш-функция 1990 года, которая уже давно считается криптографически сломанной.

Дальше — хуже. При формировании ответа NT-hash разбивается на три 7-байтовых блока, каждый из которых шифруется с помощью DES (алгоритм с 56-битным ключом). DES был взломан ещё в 1990-х.

«MS-CHAP (v1 в RFC2433 и v2 в RFC2759) имеют серьёзные недостатки в дизайне и не подходят для использования вне защищённого туннеля, такого как PEAP, TEAP или TTLS»

2. Атака на MS-CHAPv2 за один день

В 2012 году исследователи Moxie Marlinspike и David Hulton показали, что перехваченное MS-CHAPv2-рукопожатие можно взломать, подобрав единственный 56-битный DES-ключ, независимо от сложности пароля.

На практике это означает: если злоумышленник перехватил ваш MS-CHAPv2-трафик, он может восстановить ваш пароль за считанные часы с помощью современного оборудования.

Для этого существуют готовые инструменты:

  • Asleap — инструмент для взлома MS-CHAPv2
  • thc-pptp-bruter — позволяет перебирать до 300 паролей в секунду
  • ChapCrack — инструмент от Moxie Marlinspike

3. Уязвимости в PEAP-MSCHAPv2 для Wi-Fi

MS-CHAPv2 широко используется в Wi-Fi-сетях как внутренний протокол внутри PEAP (Protected EAP). И здесь тоже есть проблемы.

Если устройство неправильно настроено и не проверяет сертификат RADIUS-сервера, злоумышленник может развернуть «злого близнеца» (evil twin) — поддельную точку доступа, перехватить MS-CHAPv2-рукопожатие и получить пароль пользователя.

«MS-CHAP был взломан ещё в 2004 году, как показано в ASLEAP. Атака основана на уязвимости в дизайне протокола»

4. Проблемы с хранением паролей на сервере

Для работы MS-CHAPv2 сервер должен хранить NTLM-хеши паролей пользователей. А NTLM-хеши — это, по сути, те же MD4-хеши, которые легко поддаются атакам по словарю и радужным таблицам.


📉 Почему MS-CHAP до сих пор существует?

Если протокол настолько плох, почему он ещё не умер?

  1. Инертность корпоративных систем. Многие компании до сих пор используют старые версии Windows и VPN-шлюзы, которые не поддерживают современные протоколы.
  2. Простота настройки. MS-CHAPv2 легко включить — он есть по умолчанию во всех версиях Windows.
  3. Совместимость. Он работает практически везде: от Windows 95 до Windows 11.
  4. Непонимание рисков. Многие администраторы просто не знают, насколько это опасно.

Microsoft начала отказываться от MS-CHAPv1 ещё в 2007 году, исключив его из Windows Vista. MS-CHAPv2 жив до сих пор, но компания давно рекомендует использовать более безопасные альтернативы.


✅ Что использовать вместо MS-CHAP?

Если вы администрируете VPN или Wi-Fi — немедленно отключите MS-CHAPv1 и MS-CHAPv2, где это возможно. Вот что можно использовать вместо них:

  • EAP-TLS — сертификатная аутентификация, самый безопасный вариант
  • EAP-TTLS или PEAP с внутренним EAP-GTC или EAP-MSCHAPv2 только внутри защищённого TLS-туннеля
  • IKEv2/IPsec с сертификатами
  • WireGuard — современный VPN-протокол, не использующий устаревшие методы аутентификации

«MS-CHAPv2 предлагает мало преимуществ по сравнению с PAP и имеет множество недостатков... Есть одна ситуация, где MS-CHAP значительно хуже PAP»


📚 Что мы узнали?

📋 MS-CHAPv1 и MS-CHAPv2: сравнительный анализ

Версия Когда появилась Автор Статус
MS-CHAPv1 RFC 2433 (1998) Microsoft ❌ Устарел, взломан, не использовать
MS-CHAPv2 RFC 2759 (2000) Microsoft ⚠️ Устарел, взломан, использовать только внутри защищённого туннеля

Таблица обновлена в рамках цикла статей об истории VPN-протоколов

Главный вывод: MS-CHAP — это яркий пример того, как технологии, которые когда-то казались прогрессивными, превращаются в угрозу безопасности. Протокол был создан в конце 1990-х, когда требования к криптографии были совсем другими. Сегодня он безнадёжно устарел и представляет реальную опасность для пользователей.

Если вы встречаете MS-CHAP в своих настройках — это красный флаг. Пора переходить на что-то более современное.


🔜 Что дальше?

В следующих статьях мы подробно разберём протоколы, которые пришли на смену MS-CHAP:

  • EAP (Extensible Authentication Protocol) — гибкая система аутентификации
  • PEAP и EAP-TLS — безопасная аутентификация для Wi-Fi
  • Современные методы в WireGuard и IKEv2

Оставайтесь на связи! 🚀


📚 Источники

Материалы подготовлены на основе открытых источников:

  1. RFC 2433 — Microsoft PPP CHAP Extensions (MS-CHAPv1)
  2. RFC 2759 — Microsoft PPP CHAP Extensions, Version 2 (MS-CHAPv2)
  3. Википедия — MS-CHAP
  4. Microsoft Learn — MS-CHAP v2
  5. SecureW2 — Understanding MSCHAP Vulnerabilities
  6. IETF Datatracker — A Review of RADIUS Security and Privacy

 

Комментарии

Популярные сообщения

🧬 ChaCha20 и Curve25519: Криптография под капотом WireGuard

Немного о том, зачем это нужно.

🔌 L2TP: протокол, который объединил лучшее от двух миров

⚡ ИИ-помощник (на OpenRouter)

Спросите про VPN, протоколы или настройку серверов.