[Информационная безопасность, Системное администрирование, Сетевые технологии] SoftEther VPN — быстрая настройка

Автор Сообщение
news_bot ®

Стаж: 6 лет 2 месяца
Сообщений: 27286

Создавать темы news_bot ® написал(а)
11-Июл-2021 19:30

В свете периодических блокировок в РБ и РФ, блокирующих как “недозволенные речи неугодных” так и работу специалистов разных мастей, организации и просто технари перебирают возможности различных VPN решений. SoftEther VPN в моем списке выглядит как бесплатное “чудо-решение”, которое позволяет иметь под рукой внушительный лист протоколов VPN из коробки: L2TP, IPSec, OpenVPN, SSTP, SoftEther VPN. Цель туториала - упростить его установку, сделав доступным любому специалисту способному подключиться по ssh к серверу и вбить пару команд.Если вас интересуют все возможности решения - на хабре уже есть обзоры SoftEther VPN: раз два три. ТеоретическиЯ не системный администратор и не специалист по безопасности. Могу быть не прав.Наиболее интересными протоколами для нас выглядят протоколы работающие поверх 443 порта т.к. похожи на https трафик: "SSTP", "SoftEther VPN". Ставим нашей целью настроить оба, остальные протоколы бонусом.
Хотя по опыту, они не спасут в случае применения тяжелой артиллерии.Нам понадобятся
  • SoftEther VPN Server manager for Windows
  • Ubuntu 20.04 server
  • Docker 19+ на борту
    sudo apt-get update
    sudo apt-get install docker-ce docker
  • SoftEther VPN Client под необходимую вам систему. [Опционально, если планируете использовать "SoftEther VPN" протокол]
Приступим
  • Создадим папку для наших настроек
    mkdir /home/softethervpn && cd /home/softethervpn
  • Создайте и откройте docker-compose.yamlфайл используя vi или nano nano docker-compose.yamlВНИМАНИЕ: Замените следующие ключи своими значениями
    • <PSK> - pre-shared key. Используется для IpSec
    • <username>
    • <password>
    • <spassword> - Server management password (супер админ - будьте с ним аккуратны)
    • <hpassword> - hub management password
    • В секции USERS вы можете определить предустановленных юзеров: username:password;user2:pass2;
      version: '3'
      services:
        softethervpn:
          container_name: 'softethervpn'
          image: siomiz/softethervpn
          cap_add:
            - NET_ADMIN
          environment:
            - PSK=<PSK>
            - "USERS=<username>:<password>"
            - SPW=<spassword>
            - HPW=<hpassword>
          #volumes:
            #- ./vpn_server.config:/opt/vpn_server.config
          ports:
            # L2TP/IPSec
            - "500:500/udp"
            - "4500:4500/udp"
            - "1701:1701/tcp"
            # OpenVPN/SSTP
            - "443:443/tcp"
            - "1194:1194/udp"
            # SoftEther VPN (recommended by vendor)
            - "5555:5555/tcp"
            - "992:992/tcp"
  • Стартуем из папки с docker-compose.yaml
    docker-compose up -d
  • Во время первого запуска контейнера была создана конфигурация. Давайте скопируем ее из контейнера в нашу папку.
    docker cp softethervpn:/usr/vpnserver/vpn_server.config ./
  • Теперь нам необходимо раскомментировать строки 13, 14 в файле docker-compose.yamlИтоговый файл должен выглядеть так
    version: '3'
    services:
      softethervpn:
        container_name: 'softethervpn'
        image: siomiz/softethervpn
        cap_add:
          - NET_ADMIN
        environment:
          - PSK=<PSK>
          - "USERS=<username>:<password>"
          - SPW=<spassword>
          - HPW=<hpassword>
        volumes:
          - ./vpn_server.config:/opt/vpn_server.config
        ports:
          # L2TP/IPSec
          - "500:500/udp"
          - "4500:4500/udp"
          - "1701:1701/tcp"
          # OpenVPN/SSTP
          - "443:443/tcp"
          - "1194:1194/udp"
          # SoftEther VPN (recommended by vendor)
          - "5555:5555/tcp"
          - "992:992/tcp"
  • Теперь вы не будете терять ваш конфиг после каждого перезапуска контейнера. Для обновления конфигурации контейнера вызываем.
    docker-compose up -d
  • Запускаем SoftEther VPN Server manager for Windows с локальной машины и подключаемся к созданному серверу:
    Если вам удалось подключиться - вам уже доступны протоколы L2TP, IPSec, SoftEther VPN. (при условии, что у вас установлены соответствующие клиенты)
  • Пора настроить OpenVPN
    • Активируем протокол в настройках
    • Кнопка "Generate a Sample Configuration File for OpenVPN Clients" отдаст вам файл который вы можете скормить типовому OpenVPN клиенту.
  • Пришло время настроить SSTP
    • Первое, что нужно сделать - сгенерировать self-signed сертификат для сервера:
    • Экспортируем сертификат в формате .cer
    • Этот сертификат необходимо импортировать в Trusted Root Certificate Authorities вашей системы. Для этого
      • Открываем утилиту "Manage Computer Certificates"
      • Импортируем сертификат в "Trusted Root Certificate Authorities"
        Важно: Store location должен быть установлен в Local:
        После импорта, в ветке Certificates вы увидите сертификат с IP адресом вашего сервера.
      • Попробуем установить подключение, для этого идем в настройки VPN:
      • Добавляем новое VPN соединение
      • Готово! Если все настройки были выполнены верно, соединение должно было успешно установиться.
Дополнительно
  • По адресу https://<your_ip_address> доступна страница приветствия SoftEther VPN. Чтобы лишний раз не афишировать факт, что это VPN сервер, давайте ее отключим.
    • Откроем на редактирование файл vpn_server.config
      nano vpn_server.config
    • Заменим флаг
      bool DisableJsonRpcWebApi false на bool DisableJsonRpcWebApi true
    • Перезапустим контейнер:
      docker restart softethervpn
  • Имеет смысл скрыть все неиспользуемые нами порты. В моем случае все кроме 443. Для этого комментируем в файлеdocker-compose.yaml строки с лишними портами
    ports:
          # L2TP/IPSec
          #- "500:500/udp"
          #- "4500:4500/udp"
          #- "1701:1701/tcp"
          # OpenVPN/SSTP
          - "443:443/tcp"
          #- "1194:1194/udp"
          # SoftEther VPN (recommended by vendor)
          #- "5555:5555/tcp"
          #- "992:992/tcp"
ГотовоТеперь у нас под рукой есть многопользовательский VPN Server с набором протоколов которые можно перебирать в надежде достучаться до рабочего варианта в случае известных форс-мажоров. Всем спасибо!
===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_informatsionnaja_bezopasnost (Информационная безопасность), #_sistemnoe_administrirovanie (Системное администрирование), #_setevye_tehnologii (Сетевые технологии), #_softether, #_vpn, #_sstp, #_openvpn, #_ipsec, #_informatsionnaja_bezopasnost (
Информационная безопасность
)
, #_sistemnoe_administrirovanie (
Системное администрирование
)
, #_setevye_tehnologii (
Сетевые технологии
)
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 27-Апр 18:35
Часовой пояс: UTC + 5