pelmeni-shield-vpn/README.md

3.2 KiB
Raw Permalink Blame History

🥟 Pelmeni Shield VPN: Zero-Exposure Deployment Stack

Архитектурная концепция: Полная маскировка VPN-узла под легальный кулинарный портал ценителей сибирских пельменей с нулевым открытием служебных портов наружу и активным отпором Active Probing со стороны РКН / ЦМУ ССОП.


🎯 Ключевые принципы безопасности

  1. Zero-Exposure (Только порты 80 и 443 наружу):
    • Порт 2053 панели 3X-UI привязан СТРОГО к 127.0.0.1 (доступ для сисадмина только через SSH-туннель).
    • Порт подписок НЕ выставлен наружу отдельным портом. Выдача идет через Nginx по секретному пути https://${DOMAIN}/api/v1/recipes/secret_${SUB_TOKEN}/${CLIENT_SUB_ID}.
  2. Легитимный SSL Let's Encrypt вместо чужого SNI:
    • Выпускается реальный сертификат на ваш домен/поддомен.
    • Сканеры Censys, Shodan и РКН видят 100% совпадение IP, PTR и SAN сертификата.
  3. Бесшовный Fallback на сайт любителей пельменей:
    • Все входящие подключения, не являющиеся валидным VLESS-клиентом (боты, сканеры, веб-браузеры), прозрачно сбрасываются Xray на внутренний Nginx (127.0.0.1:8080), который отдает полноценный сайт с рецептами и форумом.
  4. Активный отпор Active Probing:
    • Официальная подсеть сканеров РКН/ГРЧЦ (212.192.156.0/22, AS61280) жестко блокируется в iptables с отправкой статистики в Telegram топик 18 супергруппы «Майа-Штаб».

🚀 Быстрый старт на новом VPS

1. Подготовка домена

Направьте DNS A-запись вашего домена (например, vpn.pelmeni-club.com) на публичный IP вашего VPS.

2. Клонирование и настройка

git clone http://192.168.10.105:3010/matrixhasyou/pelmeni-shield-vpn.git
cd pelmeni-shield-vpn

# Скопируйте и настройте переменные окружения:
cp .env.example .env
nano .env  # Укажите DOMAIN, CERTBOT_EMAIL и SUB_TOKEN

3. Автоматический запуск

bash scripts/init.sh

4. Вход в панель 3X-UI через безопасный SSH-туннель

# На вашем ПК:
ssh -L 2053:127.0.0.1:2053 root@IP_СЕРВЕРА

# В браузере:
http://localhost:2053

5. Мониторинг пробинга РКН (Cron)

# Запуск каждые 15 минут в crontab:
*/15 * * * * python3 /path/to/pelmeni-shield-vpn/scripts/rkn_probe_monitor.py >/dev/null 2>&1