Введение
В медицинских организациях всё чаще возникает необходимость в защищённом удалённом доступе к внутренним ресурсам: электронной медицинской карте, лабораторной информационной системе, архиву изображений PACS, служебной документации. Врачам нужен доступ к этим системам из дома, главному врачу — возможность контролировать показатели из любой точки, а техническим специалистам — подключаться к серверам для обслуживания.
Традиционные VPN-решения (OpenVPN, IPSec) часто громоздки в настройке и требовательны к ресурсам. WireGuard — современный протокол, который лишён этих недостатков: он прост в настройке, быстр, безопасен и отлично подходит для медицинских учреждений, где важны и надёжность, и производительность.
В этой статье мы разберём пошаговую настройку VPN-сервера на базе WireGuard, подключение клиентов (включая штатных сотрудников, работающих удалённо, и мобильные устройства), а также организацию безопасного доступа к медицинской информационной системе.
1. Почему WireGuard подходит для медицинских учреждений
WireGuard — это современный VPN-протокол с открытым исходным кодом, который использует передовую криптографию (ChaCha20, Poly1305, Curve25519). Его ключевые преимущества в контексте ЛПУ:
- Простота настройки — конфигурационный файл содержит всего несколько строк, нет сложной системы сертификатов, как в OpenVPN.
- Высокая производительность — работает на уровне ядра Linux, минимальная нагрузка на сервер даже при десятках одновременных подключений.
- Надёжная криптография — протокол использует современные алгоритмы, признанные безопасными
- Автоматическое переподключение — сессия не обрывается при смене сети (например, при переходе из Wi-Fi в мобильный интернет).
- Кроссплатформенность — клиенты доступны для Windows, macOS, Linux, Android и iOS
Важно для медицинских учреждений: WireGuard не является сертифицированным средством криптографической защиты информации (СКЗИ) по требованиям ФСТЭК. Для работы с персональными данными высших категорий и государственной тайной необходимо использовать сертифицированные решения. Однако для защиты врачебных коммуникаций и доступа к МИС в рамках стандартных организационно-технических мер WireGuard вполне применим.
2. Схемы организации VPN-доступа
При проектировании VPN-инфраструктуры возможны три основных сценария:
| Сценарий | Описание | Когда использовать |
|---|---|---|
| Peer-to-site (доступ к сети) | Удалённый пользователь получает доступ ко всей локальной сети учреждения | Врачи работают из дома, нужен доступ к МИС и файловому серверу |
| Site-to-site (офис-офис) | Объединение двух локальных сетей через зашифрованный туннель | Поликлиника и стационар, основное ЛПУ и филиал |
| Full-tunnel (весь трафик через VPN) | Весь интернет-трафик пользователя идёт через VPN-сервер | Дополнительная защита при работе из публичных сетей (кафе, аэропорты) |
Для медицинских учреждений наиболее актуален первый сценарий: удалённый сотрудник подключается к VPN-серверу в ЛПУ и получает доступ к внутренней сети (например, к МИС САМСОН по внутреннему IP-адресу).
3. Необходимое оборудование и требования
Для развёртывания WireGuard VPN потребуется:
Серверная часть:
- Выделенный сервер или виртуальная машина на базе Linux (Ubuntu 22.04/24.04 рекомендуется)
- Минимальные характеристики: 1 vCPU, 1 ГБ RAM, 10 ГБ диска
- Публичный статический IP-адрес (или динамический DNS, если адрес меняется)
- Открытый UDP-порт (по умолчанию 51820) во входящем трафике
Альтернативы для сервера:
- MikroTik RouterOS 7+ — можно развернуть WireGuard прямо на маршрутизаторе
- Linux на Raspberry Pi — для небольших организаций как бюджетное решение
Клиентские устройства:
- Компьютеры сотрудников с установленным клиентом WireGuard
- Мобильные устройства (для врачей, которым нужен доступ «на ходу»)
Рекомендация: для ЛПУ среднего размера оптимально развернуть WireGuard на отдельной виртуальной машине внутри сети — это упрощает отказоустойчивость и обслуживание.
4. Установка и настройка WireGuard на сервере (Ubuntu)
4.1. Установка WireGuard
Подключитесь к серверу по SSH и выполните команды:
# Обновление списка пакетов
sudo apt update
# Установка WireGuard
sudo apt install wireguard wireguard-tools -y
4.2. Генерация ключей
WireGuard использует пары ключей для аутентификации (как SSH).
Генерация ключей сервера:
# Переход в директорию WireGuard
cd /etc/wireguard
# Установка безопасных прав на создаваемые файлы
umask 077
# Генерация приватного и публичного ключей
wg genkey | tee server_private.key | wg pubkey > server_public.key
4.3. Создание конфигурационного файла сервера
Создайте файл конфигурации /etc/wireguard/wg0.conf:
[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = <содержимое файла server_private.key>
# Включение маршрутизации и маскарадинга (NAT)
PostUp = iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
PostUp = iptables -A FORWARD -i %i -o eth0 -j ACCEPT
PostUp = iptables -A FORWARD -i eth0 -o %i -m state --state RELATED,ESTABLISHED -j ACCEPT
PostDown = iptables -t nat -D POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -o eth0 -j ACCEPT
PostDown = iptables -D FORWARD -i eth0 -o %i -m state --state RELATED,ESTABLISHED -j ACCEPT
# Первый клиент (будет добавлен позже)
[Peer]
PublicKey = <публичный ключ клиента>
AllowedIPs = 10.8.0.2/32
Пояснение параметров:
Address— IP-адрес сервера внутри VPN-сети (выбираем подсеть 10.8.0.0/24 — она редко пересекается с существующими сетями)ListenPort— порт, который будет слушать сервер (UDP)PostUp/PostDown— команды для настройки маршрутизации при поднятии/опускании интерфейсаeth0— замените на имя вашего сетевого интерфейса (проверьте командойip route get 1.1.1.1)
4.4. Настройка маршрутизации и файервола
Включение IP-форвардинга (пересылки пакетов):
# Включение немедленно
sudo sysctl -w net.ipv4.ip_forward=1
# Для постоянного применения
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.d/99-wireguard.conf
sudo sysctl -p /etc/sysctl.d/99-wireguard.conf
Настройка файервола (если используется UFW):
# Открытие порта WireGuard
sudo ufw allow 51820/udp
# Включение форвардинга в UFW
sudo sed -i 's/DEFAULT_FORWARD_POLICY="DROP"/DEFAULT_FORWARD_POLICY="ACCEPT"/' /etc/default/ufw
sudo ufw reload
4.5. Запуск VPN-сервера
# Запуск интерфейса
sudo wg-quick up wg0
# Автоматический запуск при загрузке системы
sudo systemctl enable wg-quick@wg0
# Проверка статуса
sudo wg show
Если всё настроено правильно, команда sudo wg show покажет интерфейс wg0 и его параметры.
5. Настройка клиента (на примере компьютера врача)
5.1. Генерация ключей клиента
На клиентском устройстве (компьютере врача) также нужно установить WireGuard и сгенерировать ключи:
# Установка (на Linux)
sudo apt install wireguard -y
# Генерация ключей
cd /etc/wireguard
umask 077
wg genkey | tee client_private.key | wg pubkey > client_public.key
Для Windows/macOS: установите официальный клиент WireGuard с сайта. Ключи генерируются автоматически при создании нового туннеля.
5.2. Добавление клиента на сервер
На сервере добавьте клиента в конфигурационный файл /etc/wireguard/wg0.conf:
[Peer]
# Публичный ключ, полученный с клиента
PublicKey = <публичный_ключ_клиента>
# IP-адрес клиента в VPN-сети
AllowedIPs = 10.8.0.2/32
После добавления клиента перезапустите WireGuard:
sudo wg-quick down wg0
sudo wg-quick up wg0
5.3. Конфигурация клиента
Создайте на клиентском устройстве файл конфигурации (например, ~/wg-client.conf):
[Interface]
PrivateKey = <приватный_ключ_клиента>
Address = 10.8.0.2/24
DNS = 8.8.8.8, 1.1.1.1
[Peer]
PublicKey = <публичный_ключ_сервера>
Endpoint = <публичный_IP_сервера_ЛПУ>:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25
Пояснение параметров:
AllowedIPs = 0.0.0.0/0— весь трафик клиента идёт через VPN (full-tunnel). Для доступа только к внутренней сети ЛПУ укажите диапазон:AllowedIPs = 10.8.0.0/24, 192.168.1.0/24PersistentKeepalive— интервал отправки keepalive-пакетов (важно для работы за NAT)
Для Windows/macOS: импортируйте этот конфигурационный файл в приложение WireGuard.
5.4. Подключение клиента
Linux:
sudo wg-quick up wg-client
Windows/macOS: нажмите «Activate» в приложении WireGuard.
Проверка подключения:
# На сервере — должны увидеть информацию о подключённом клиенте
sudo wg show
6. Альтернативный способ: установка с веб-интерфейсом (wg-easy)
Если настройка через командную строку кажется сложной, можно развернуть WireGuard с удобным веб-интерфейсом. Это особенно удобно для организаций, где администрирование VPN может выполнять сотрудник без глубоких знаний Linux.
Использование Docker + wg-easy
Этот способ разворачивается за 10-15 минут:
# Установка Docker
curl -sSL https://get.docker.com | sh
# Создание директории для конфигурации
mkdir -p /opt/wireguard-docker
cd /opt/wireguard-docker
# Скачивание конфигурации docker-compose
curl -o docker-compose.yml https://raw.githubusercontent.com/wg-easy/wg-easy/master/docker-compose.yml
# Запуск
docker compose up -d
Веб-интерфейс будет доступен по адресу: http://<IP-адрес_сервера>:51821. Через него можно создавать клиентов, генерировать конфигурационные файлы и QR-коды для мобильных устройств.
7. Тонкая настройка: безопасности и производительность
7.1. Изоляция VPN-клиентов друг от друга
По умолчанию клиенты, подключённые к одному VPN-серверу, могут взаимодействовать друг с другом. Чтобы запретить это, настройте правила iptables:
# Запрет общения между клиентами
sudo iptables -A FORWARD -i wg0 -o wg0 -j DROP
7.2. Ограничение доступа по IP-адресам
Для усиления безопасности можно ограничить, с каких IP-адресов разрешены подключения к VPN (например, только из определённого региона или сети):
# В конфигурации сервера добавить параметр
[Peer]
PublicKey = ...
AllowedIPs = 10.8.0.2/32
Endpoint = 85.xx.xx.xx:51820 # разрешённый источник
7.3. Мониторинг и логирование
Настройте сбор логов для отслеживания подключений:
# Просмотр текущих подключений
sudo wg show
# Логирование запусков/остановок
journalctl -u wg-quick@wg0 -f
7.4. Резервное копирование конфигураций
Регулярно создавайте резервные копии конфигурационных файлов:
# Архивация директории WireGuard
sudo tar -czf wireguard-backup.tar.gz /etc/wireguard/
Храните резервные копии в защищённом месте.
8. Особенности для медицинских учреждений
8.1. Соответствие законодательству
При организации удалённого доступа к медицинским информационным системам необходимо соблюдать требования:
- 152-ФЗ «О персональных данных»
- Приказ Минздрава № 83н о работе с медицинской документацией
Рекомендуется:
- Внедрить двухфакторную аутентификацию для удалённых сотрудников
- Вести журнал подключений к VPN
- Использовать шифрование канала (WireGuard обеспечивает это по умолчанию)
- Ограничить доступ к VPN только по корпоративным учётным записям
8.2. Интеграция с Active Directory
Для централизованного управления доступом можно настроить аутентификацию клиентов через RADIUS-сервер (например, FreeRADIUS) или использовать связку WireGuard + Identity Provider.
8.3. Рекомендуемые настройки для МИС
Если организован full-tunnel VPN (весь трафик через сервер), убедитесь, что пропускная способность канала достаточна для работы МИС. Для большинства систем (САМСОН, Ариадна, Медиалог) достаточно канала 10-20 Мбит на одного активного пользователя.
9. Устранение типичных неполадок
| Проблема | Вероятная причина | Решение |
|---|---|---|
| Клиент не подключается | Серверный порт 51820/udp закрыт файерволом | Проверить ufw status или iptables -L |
| Подключение есть, но нет доступа к внутренней сети | Не настроен IP forwarding или маршрутизация | Проверить sysctl net.ipv4.ip_forward |
| Периодические обрывы | MTU слишком большой | Уменьшить MTU в конфиге клиента: MTU = 1280 |
| Низкая скорость | Неправильное сетевое окружение | Проверить wg show на предмет повторной передачи |
| Не работает доступ к LAN за VPN | Не указаны в AllowedIPs | Добавить подсеть ЛПУ, например: AllowedIPs = 10.8.0.0/24, 192.168.1.0/24 |
| После перезагрузки сервера VPN не поднялся | Не включен автозапуск | sudo systemctl enable wg-quick@wg0 |
10. Заключение
Настройка VPN-сервера на базе WireGuard — оптимальное решение для медицинских организаций, которым нужен надёжный, быстрый и простой в обслуживании удалённый доступ. При грамотном проектировании и соблюдении требований к защите информации WireGuard позволяет врачам безопасно работать из дома, техническим специалистам — обслуживать системы дистанционно, а всему ЛПУ — оставаться на связи в любых условиях.
Основные выводы:
- WireGuard легко настраивается и работает на минимальном «железе»
- Протокол обеспечивает высокую производительность и современную криптографию
- В организации L2-доступна настройка как через командную строку, так и с веб-интерфейсом (wg-easy)
- Для соответствия 152-ФЗ и другим требованиям необходимо дополнительное усиление (2FA, логирование, ограничения доступа)


