Установка серверной части 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. Подготовка сервера ...

🔌 История PPTP: взлет и падение протокола

Это третья статья из цикла об истории VPN-протоколов. Сегодня мы детально разберём, как устроен PPTP — от установки соединения до инкапсуляции пакетов, и почему этот протокол, когда-то бывший стандартом, сегодня считается опасным для использования.


🤔 Вместо введения: что такое PPTP?

В прошлых статьях мы говорили о зарождении VPN и протоколе аутентификации MS-CHAP. Но именно PPTP (Point-to-Point Tunneling Protocol) стал тем самым протоколом, который сделал VPN массовым. Разработанный в середине 1990-х годов консорциумом во главе с Microsoft, он впервые позволил обычным пользователям подключаться к корпоративным сетям через обычный интернет.

Главная идея PPTP проста: взять кадры PPP (Point-to-Point Protocol), которые обычно передаются по прямому соединению, завернуть их в IP-пакеты и отправить через интернет. На другом конце — распаковать.

Звучит просто. И действительно — просто. Но именно в этой простоте кроются как преимущества, так и фундаментальные проблемы протокола.


🏗️ Архитектура PPTP: два параллельных канала

PPTP устроен не как единый поток данных, а как два параллельных компонента:

  1. Управляющее соединение — по TCP (порт 1723)
  2. Туннель для данных — через модифицированный GRE (Generic Routing Encapsulation)

Эти два канала работают одновременно, но решают разные задачи.

text

Клиент <-----> TCP 1723 (управление) <-----> Сервер

Клиент <-----> GRE (данные) <-----> Сервер


📡 Компонент 1: управляющее соединение (TCP 1723)

Управляющее соединение — это мозг всего протокола. Оно отвечает за создание, поддержание и завершение туннеля.

Как оно устанавливается:

  1. Клиент открывает TCP-соединение к серверу на порту 1723.
  2. Стороны обмениваются сообщениями Start-Control-Connection-Request и Start-Control-Connection-Reply — это как рукопожатие, в котором они договариваются о своих возможностях.
  3. После установки соединения по нему передаются все управляющие сообщения:
    • Запросы на установку звонка (Incoming-Call-Request / Outgoing-Call-Request)
    • Изменения параметров (Set-Link-Info)
    • Проверка живости соединения (Echo-Request / Echo-Reply) — чтобы вовремя заметить обрыв
    • Завершение сессии — когда пользователь отключается

Управляющее соединение существует все время, пока активен туннель. Оно поддерживает связь между двумя ключевыми сущностями:

  • PAC (PPTP Access Concentrator) — устройство, к которому подключается пользователь
  • PNS (PPTP Network Server) — серверная сторона протокола

🚇 Компонент 2: туннель данных (GRE)

Если управляющее соединение — это мозг, то GRE-туннель — это кровеносная система. Именно по нему текут пользовательские данные.

Что такое GRE?

GRE (Generic Routing Encapsulation) — это протокол-«конверт». Он берёт один пакет, добавляет к нему свой заголовок и упаковывает в другой пакет. В случае PPTP этот «конверт» используется для транспортировки PPP-кадров через IP-сеть.

Структура пакета PPTP

Когда пользователь отправляет данные через PPTP-соединение, пакет проходит несколько уровней «упаковки»:



В IP-заголовке устанавливается ID протокола, равный 47 — это сигнал для маршрутизаторов, что внутри находится GRE-пакет.

Особенность PPTP-GRE

Стандартный GRE был модифицирован для нужд PPTP. В заголовке появились:

  • Поле Call ID — идентификатор сессии, чтобы различать несколько пользователей в одном туннеле
  • Поле Acknowledgement Number — для управления потоком и подтверждениями
  • Sequence Number — для нумерации пакетов и обнаружения потерь

«PPTP использует модифицированную версию GRE для обеспечения сервиса инкапсуляции с управлением потоком и перегрузками»

Важно: GRE не является TCP или UDP. Это отдельный протокол, и многие современные межсетевые экраны (firewalls) и NAT-устройства его неправильно обрабатывают. Именно поэтому для работы PPTP часто требуется специальная настройка — «PPTP Passthrough».


🔄 Полный процесс установки PPTP-соединения

Теперь, когда мы знаем оба компонента, давайте посмотрим, как они работают вместе:

Шаг 1: Инициация

Клиент открывает TCP-соединение к серверу на порту 1723. Это старт управляющего канала.

Шаг 2: Установка управляющего соединения

Клиент и сервер обмениваются приветственными сообщениями, договариваясь о возможностях (размер кадров, поддержка шифрования, протоколы аутентификации).

Шаг 3: Запрос на создание туннеля

Клиент (или сервер) отправляет запрос на создание сессии — Incoming-Call-Request. Это начало «трёхстороннего рукопожатия» PPTP.

Шаг 4: Аутентификация

Сервер проверяет учётные данные пользователя. Используются стандартные PPP-методы: PAP (передача пароля в открытом виде), CHAP, MS-CHAPv1/v2, EAP.

Шаг 5: Создание GRE-туннеля

После успешной аутентификации стороны договариваются о параметрах GRE-туннеля и начинают передавать данные.

Шаг 6: Передача данных

Пользовательские пакеты проходят через PPP-инкапсуляцию, затем через GRE, затем через внешний IP и отправляются по интернету.

Шаг 7: Поддержание соединения

Управляющее соединение периодически отправляет Echo-Request и ожидает Echo-Reply. Если ответа нет — соединение разрывается.

Шаг 8: Завершение

Когда пользователь отключается, по управляющему каналу отправляется сообщение о завершении сессии, и TCP-соединение закрывается.


🔐 Шифрование и аутентификация в PPTP

Здесь начинаются самые большие проблемы PPTP.

Аутентификация

PPTP сам по себе не определяет метод аутентификации. Он использует механизмы PPP. На практике применялись:

  • PAP — пароль передаётся в открытом виде (никогда не используйте!)
  • CHAP — более безопасный, но всё ещё уязвимый
  • MS-CHAPv1/v2 — проприетарные протоколы Microsoft (о которых мы говорили в прошлой статье)

«Спецификация PPTP не описывает функции шифрования или аутентификации и полагается на туннелируемый PPP-протокол для реализации всех функций безопасности»

Шифрование: MPPE

Для шифрования данных PPTP использует MPPE (Microsoft Point-to-Point Encryption).

MPPE — это не отдельный алгоритм, а обёртка над RC4 — потоковым шифром, разработанным в 1987 году.

MPPE поддерживает три длины ключа:

  • 40 бит — экспортная версия (смехотворно слабая)
  • 56 бит — чуть лучше, но всё равно недостаточно
  • 128 бит — максимальная, но и она имеет серьёзные проблемы

Важное ограничение: MPPE доступен только при использовании MS-CHAPv1/v2 или EAP-TLS. Если используется PAP или CHAP — шифрования не будет.

«MPPE обеспечивает шифрование только туннеля; он не обеспечивает сквозное шифрование от клиента до VPN-сервера»


💀 Уязвимости PPTP: почему он опасен

PPTP имеет столько проблем с безопасностью, что их можно перечислять долго. Вот основные:

1. MS-CHAPv2 взламывается за часы

MS-CHAPv2 можно взломать, перехватив одно рукопожатие. В 2012 году исследователи показали, что это делается за считанные часы.

«Современные компьютеры могут взломать MS-CHAPv2 за часы, иногда минуты»

2. RC4 — устаревший и сломанный шифр

RC4 имеет множество известных атак. Криптографы уже давно рекомендуют отказаться от его использования.

3. Атаки с переворотом битов (Bit-flipping)

MPPE уязвим для атак, при которых злоумышленник изменяет отдельные биты в зашифрованном трафике, добиваясь нужного эффекта при расшифровке.

4. Отсутствие проверки целостности

GRE не проверяет целостность пакетов. Злоумышленник может модифицировать трафик в пути, и никто этого не заметит.

5. Атака «человек посередине» (MITM)

Из-за слабой аутентификации и отсутствия проверки сертификатов PPTP极易 поддаётся MITM-атакам.

6. Проблемы с NAT и Firewall

GRE-трафик (IP protocol 47) часто блокируется корпоративными и домашними маршрутизаторами.

Современные серверы требуют правильной настройки безопасности. О том, как защитить свой сервер с помощью брандмауэра UFW, читайте в нашем руководстве по UFW.


⚖️ Преимущества PPTP (да, они были)

Несмотря на все проблемы, у PPTP были и свои плюсы, которые и сделали его популярным:

📋 Преимущества PPTP

Преимущество Пояснение
Простота настройки Встроен во все версии Windows, настройка занимает минуты
Высокая скорость Лёгкое шифрование даёт минимальную задержку
Широкая совместимость Работает на устройствах от Windows 95 до Windows 11
Поддержка любых протоколов Через PPP можно передавать IP, IPX, NetBEUI и другие

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


📉 Почему PPTP умер?

PPTP — это классический пример того, как технология, созданная для одной эпохи, становится опасной в другой. В 1990-х годах, когда интернет был другим, а вычислительные мощности — ограниченными, PPTP казался прогрессивным решением.

Сегодня ситуация иная:

  • MS-CHAPv2 взламывается за часы
  • RC4 признан небезопасным
  • GRE плохо проходит через NAT и фаерволы
  • Нет проверки целостности — трафик можно модифицировать

📋 Что использовать вместо PPTP?

Протокол Почему лучше
OpenVPN Открытый код, современная криптография, гибкость
WireGuard Современный, быстрый, безопасный
IKEv2/IPsec Стабильный, хорошо работает на мобильных устройствах
L2TP/IPsec Надёжный, но медленнее PPTP

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

Microsoft, создатель протокола, рекомендует отказаться от PPTP в пользу более безопасных решений.


✅

 Что использовать вместо PPTP?


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

📋 Компоненты PPTP и их назначение

Компонент Назначение
TCP 1723 Управляющее соединение — создание, управление, завершение туннеля
GRE (IP 47) Туннель для данных — инкапсуляция PPP-кадров
PPP Инкапсуляция пользовательских данных, аутентификация
MPPE (RC4) Шифрование трафика (40/56/128 бит)
MS-CHAPv2 ❌ Основной метод аутентификации (взломан)

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

 

Главный вывод: PPTP — это исторический артефакт. Он сыграл огромную роль в развитии VPN-технологий, но сегодня его использование — это серьёзный риск для безопасности. Если вы встретили PPTP в настройках — отключайте.


🔜 Что дальше?

В следующей статье мы разберём L2TP (Layer 2Tunneling Protocol) — протокол, который пришёл на смену PPTP и объединил лучшие черты PPTP и L2F от Cisco. Узнаем, почему L2TP почти всегда используется вместе с IPsеc и в чём его сильные и слабые стороны.

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


📚 Источники

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

  1. RFC 2637 — Point-to-Point Tunneling Protocol (PPTP) — официальная спецификация
  2. Википедия — Point-to-Point Tunneling Protocol
  3. Microsoft Learn — Point-to-Point Tunneling Protocol
  4. GeeksforGeeks — Point-to-Point Tunneling Protocol - PPTP
  5. Palo Alto Networks — What Is PPTP
  6. Check Point — Point-to-Point Tunneling Protocol (PPTP)
  7. Private Internet Access — What Is a PPTP VPN?

 


Комментарии

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

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

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

🚀 WireGuard: Технический разбор самого быстрого VPN-протокола

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

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