Уфа
Срочно? Дежурный инженер на связи: +7 (987) 256-8192

Будни 09:00–19:00. Вне очереди по SLA.

Статья

Как настроить безопасный VPN WireGuard для сотрудников

Как настроить безопасный VPN WireGuard для сотрудников

Пошаговая инструкция с конфигами: почему проброшенный RDP опасен, как поднять современный VPN на WireGuard — на MikroTik и на Linux-сервере, настроить клиента, firewall и не забыть про MFA.

Опыт показывает, что гибридный и удалённый формат работы останется с нами надолго. Вопрос уже не «давать ли доступ извне», а «как давать его безопасно». И здесь бизнес делится на две категории: те, кто пробросил RDP наружу и живёт как на пороховой бочке, и те, кто пускает сотрудников через VPN. Разберём, как оказаться во второй категории — с конкретными конфигами.

Почему нельзя просто пробросить RDP

Самый частый и самый опасный способ дать удалёнку — «пробросить порт» 3389 (RDP) на сервер или рабочий стол. Такой адрес находят автоматические сканеры за часы, и начинается круглосуточный подбор паролей. Один слабый пароль — и злоумышленник внутри, а дальше шифровальщик и потеря данных.

Правильный подход: никакие рабочие сервисы (RDP, файловые шары, 1С) не публикуются в интернет напрямую. Сотрудник сначала подключается к защищённому VPN-туннелю, попадает во внутреннюю сеть и уже оттуда работает как из офиса.

Почему WireGuard

Мы используем WireGuard — современный VPN-протокол, который вытеснил громоздкие OpenVPN/IPsec для большинства задач:

  • быстрый — работает в ядре, минимальные задержки;
  • простой — конфиг умещается в несколько строк, меньше места для ошибки;
  • современная криптография — стойкие алгоритмы по умолчанию;
  • отлично держит мобильных клиентов — быстро переподключается при смене сети (Wi-Fi ↔ 4G).

Принцип простой: у каждой стороны (сервер и каждый клиент) есть пара ключей — приватный и публичный. Стороны обмениваются публичными ключами, и туннель поднимается только между теми, кто друг друга «знает».

Шаг 1. Сгенерируйте ключи

Ключи генерируются одинаково и на сервере, и для каждого клиента. Приватный ключ никогда никуда не передаётся и остаётся только на своём устройстве:

# Сервер: генерируем пару ключей
wg genkey | tee server_private.key | wg pubkey > server_public.key

# Для каждого сотрудника — своя пара ключей
wg genkey | tee ivanov_private.key | wg pubkey > ivanov_public.key

# Посмотреть содержимое
cat server_public.key   # этот ключ пропишем у клиента
cat ivanov_public.key   # этот ключ пропишем на сервере

Правило: у каждого сотрудника — свой ключ. Не раздавайте один конфиг на всех: при увольнении сотрудника вы просто удаляете его ключ, не трогая остальных.

Шаг 2а. Поднимаем сервер на Linux

Вариант для тех, у кого есть Linux-сервер или VPS. Установка и конфиг:

# Установка (Debian/Ubuntu)
apt update && apt install -y wireguard

# Включаем маршрутизацию трафика
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf && sysctl -p

Файл /etc/wireguard/wg0.conf на сервере:

[Interface]
Address = 10.8.0.1/24          # адрес сервера внутри VPN-сети
ListenPort = 51820
PrivateKey = <СОДЕРЖИМОЕ server_private.key>

# Пробрасываем трафик из VPN в локальную сеть (eth0 — внешний интерфейс)
PostUp   = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

# --- Сотрудник Иванов ---
[Peer]
PublicKey = <СОДЕРЖИМОЕ ivanov_public.key>
AllowedIPs = 10.8.0.2/32       # какой VPN-адрес закреплён за этим клиентом

Запускаем и добавляем в автозагрузку:

systemctl enable --now wg-quick@wg0

# Проверка состояния туннеля
wg show

Шаг 2б. Или поднимаем сервер на MikroTik (RouterOS v7)

Если у вас MikroTik — VPN можно поднять прямо на нём, без отдельного сервера. Это наш частый выбор для офисов.

# 1. Создаём WireGuard-интерфейс (ключи RouterOS сгенерирует сам)
/interface/wireguard/add name=wg0 listen-port=51820

# 2. Смотрим публичный ключ роутера — его пропишем клиентам
/interface/wireguard/print

# 3. Назначаем интерфейсу адрес внутри VPN-сети
/ip/address/add address=10.8.0.1/24 interface=wg0

# 4. Добавляем сотрудника (его публичный ключ — из шага 1)
/interface/wireguard/peers/add interface=wg0 \
    public-key="ПУБЛИЧНЫЙ_КЛЮЧ_ИВАНОВА" \
    allowed-address=10.8.0.2/32

# 5. Разрешаем подключение к порту WireGuard
/ip/firewall/filter/add chain=input protocol=udp dst-port=51820 \
    action=accept comment="Разрешить WireGuard" place-before=0

Шаг 3. Настраиваем клиента

На компьютере или телефоне сотрудника ставится официальное приложение WireGuard, куда добавляется конфиг:

[Interface]
PrivateKey = <СОДЕРЖИМОЕ ivanov_private.key>
Address = 10.8.0.2/32
DNS = 192.168.0.1              # внутренний DNS офиса, чтобы работали имена

[Peer]
PublicKey = <ПУБЛИЧНЫЙ КЛЮЧ СЕРВЕРА/РОУТЕРА>
Endpoint = vpn.company.ru:51820  # внешний адрес вашего офиса/сервера
# Какие сети пускать в туннель. Только офисные подсети — трафик в интернет
# у сотрудника идёт напрямую (split tunnel), это быстрее:
AllowedIPs = 192.168.0.0/24, 10.8.0.0/24
PersistentKeepalive = 25       # держим туннель живым через NAT/файрволы

Шаг 4. Разрешите VPN-трафик в локальную сеть

Туннель поднялся — но сотруднику ещё нужно разрешить дойти до рабочих ресурсов. И здесь же — важный момент безопасности: не открывайте удалёнщикам всю сеть. Дайте доступ только к тому, что нужно. Пример на MikroTik:

# Разрешаем VPN-клиентам доступ к серверам (например, к 1С и файловому серверу)
/ip/firewall/filter
add chain=forward src-address=10.8.0.0/24 dst-address=192.168.0.10 \
    action=accept comment="VPN -> сервер 1С"
# Всё остальное из VPN во внутреннюю сеть — запрещаем
add chain=forward src-address=10.8.0.0/24 dst-address=192.168.0.0/24 \
    action=drop comment="VPN: остальное запрещено"

Шаг 5. Не забудьте про второй фактор (MFA)

VPN-ключ — это «что-то, что у вас есть» (файл на устройстве). Для по-настоящему серьёзного доступа его дополняют вторым фактором — «что-то, что вы знаете/подтверждаете». На практике MFA внедряют:

  • на входе в сам VPN (через RADIUS с проверкой второго фактора);
  • либо на критичных сервисах за VPN (RDP, панели управления, почта).

Даже если ключ и пароль сотрудника утекут — без второго фактора войти не получится. Для внешнего доступа это стоит считать обязательным, а не желательным.

Чек-лист безопасной удалёнки

  • RDP и другие сервисы не проброшены в интернет напрямую.
  • Доступ — только через VPN (WireGuard).
  • У каждого сотрудника свой ключ (легко отозвать при увольнении).
  • VPN-клиентам открыт доступ только к нужным ресурсам, а не ко всей сети.
  • На внешнем входе включён MFA.
  • Приватные ключи не пересылаются в мессенджерах, хранятся только на устройстве владельца.

Итог

Безопасная удалёнка — это не «дать пароль от RDP», а выстроенная схема: закрытый периметр, современный VPN с индивидуальными ключами, доступ по минимальной необходимости и второй фактор сверху. WireGuard позволяет поднять такую схему быстро и надёжно — хоть на MikroTik в офисе, хоть на отдельном сервере. Один раз настроив это правильно, вы снимаете один из самых массовых векторов взлома.