VPN, SSH та базова безпека інфраструктури
Вступ
Сучасна IT-інфраструктура функціонує в умовах постійного зовнішнього впливу: сканування портів, автоматизовані брутфорс-атаки, експлуатація вразливостей сервісів та цільові кібератаки. Навіть невеликі системи без належного захисту можуть стати об’єктом компрометації протягом кількох хвилин після появи в публічному інтернеті.
VPN та SSH залишаються базовими, але критично важливими компонентами захищеної інфраструктури. Вони забезпечують шифровану взаємодію між вузлами, контроль доступу та мінімізацію поверхні атаки. Однак їх неправильна конфігурація часто створює ілюзію безпеки замість реального захисту.
Ця стаття розглядає практичні підходи до побудови базового рівня безпеки інфраструктури з використанням VPN і SSH, включно з прикладами конфігурацій, типовими помилками та рекомендаціями, які застосовуються в реальних production-середовищах.
Роль VPN та SSH у сучасній інфраструктурі
VPN як захищений транспортний шар
VPN (Virtual Private Network) створює зашифрований тунель між клієнтом і приватною мережею. Його основна функція - приховати внутрішню інфраструктуру від публічного доступу та забезпечити контрольований вхід.
Основні сценарії використання:
- Доступ до внутрішніх сервісів (адмін-панелі, CI/CD, бази даних)
- З’єднання між дата-центрами або хмарними середовищами
- Безпечний віддалений доступ співробітників
- Сегментація мережі
Ключові вимоги до VPN у production:
- Сильна криптографія (AES-256-GCM або ChaCha20-Poly1305)
- Мінімальна затримка
- Підтримка MFA
- Логування підключень
- Ротація ключів
SSH як базовий інструмент адміністрування
SSH (Secure Shell) використовується для віддаленого керування системами та автоматизації.
Його ключові можливості:
- Захищене виконання команд
- Тунелювання портів
- Передача файлів (SCP/SFTP)
- Автоматизація (Ansible, CI/CD)
SSH часто стає першою ціллю атак, тому його безпека критично важлива.
Архітектурний підхід до базової безпеки
Правильна модель безпеки будується за принципом defense in depth:
- Мережевий рівень (firewall, VPN)
- Рівень автентифікації (SSH keys, MFA)
- Рівень сервісів (ізоляція процесів)
- Моніторинг і аудит
Ключова мета - ніколи не виставляти критичні сервіси напряму в інтернет.
Налаштування SSH: безпечна базова конфігурація
1. Заборона входу по паролю
Парольна автентифікація є найбільш вразливою до brute-force атак.
Файл конфігурації:
/etc/ssh/sshd_config
PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
2. Використання SSH-ключів
Генерація ключа:
ssh-keygen -t ed25519 -C "admin@company"
Копіювання ключа на сервер:
ssh-copy-id user@server-ip
3. Обмеження доступу за користувачами
AllowUsers deploy admin
4. Зміна стандартного порту (опціонально)
Port 2222
Важливо: зміна порту не є засобом безпеки, але знижує кількість автоматичних сканувань.
5. Додаткові параметри безпеки
ClientAliveInterval 300ClientAliveCountMax 2MaxAuthTries 3
Захист SSH через Fail2Ban
Fail2Ban автоматично блокує IP-адреси після невдалих спроб входу.
Встановлення:
sudo apt install fail2ban
Базова конфігурація:
/etc/fail2ban/jail.local
[sshd]
enabled = true
port = 22
maxretry = 3
bantime = 3600
findtime = 600
VPN-рішення: практичний огляд
WireGuard як сучасний стандарт
WireGuard є легким і високопродуктивним VPN-протоколом, який активно використовується в сучасних інфраструктурах.
Переваги:
- Мінімальний кодовий базис
- Висока швидкість
- Простота конфігурації
- Вбудована криптографія
Приклад конфігурації WireGuard (сервер)
[Interface]
Address = 10.10.0.1/24
ListenPort = 51820
PrivateKey = <server_private_key>
PostUp = iptables -A FORWARD -i %i -j ACCEPT
PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT
PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
Конфігурація клієнта
[Interface]
PrivateKey = <client_private_key>
Address = 10.10.0.2/24
[Peer]
PublicKey = <server_public_key>
Endpoint = vpn.example.com:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
OpenVPN як корпоративне рішення
OpenVPN використовується у великих корпоративних середовищах через гнучкість і підтримку складних сценаріїв.
Ключові особливості:
- Підтримка TLS
- Гнучка маршрутизація
- Інтеграція з LDAP/AD
- Підтримка MFA
Мережевий рівень безпеки
Базові правила firewall
Приклад UFW:
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp
ufw allow 51820/udp
ufw enable
Розділення мережі (network segmentation)
Рекомендована модель:
- Public subnet: веб-сервери
- Private subnet: бази даних
- Management subnet: SSH/VPN доступ
Типові помилки в інфраструктурі
1. Відкритий SSH в інтернет без обмежень
Це дозволяє автоматизовані brute-force атаки 24/7.
2. Використання паролів замість ключів
Паролі легко підбираються або викрадаються через фішинг.
3. Відсутність логування
Без логів неможливо виявити компрометацію.
4. Надмірні права доступу
Принцип least privilege часто ігнорується.
Практичний кейс: захищена інфраструктура малого проєкту
Вхідні умови
- 3 сервери (web, api, db)
- віддалена команда розробників
- публічний доступ лише до web
Рішення
- SSH закритий ззовні, доступ тільки через VPN
- WireGuard як єдина точка входу
- Fail2Ban на всіх вузлах
- UFW з default deny policy
- Key-based SSH authentication
- Моніторинг логів через centralized logging (ELK або Loki)
Схема доступу
- Користувач → VPN → приватна мережа → SSH → сервери
- Відсутній прямий доступ до backend та DB
Приклад автоматизації доступу через SSH config
Host prod-server
HostName 10.10.0.10
User deploy
IdentityFile ~/.ssh/id_ed25519
ProxyJump vpn-gateway
Моніторинг і аудит безпеки
Без моніторингу будь-яка система безпеки є неповною.
Рекомендовані підходи:
- централізовані логи (ELK / Loki)
- алерти на failed login attempts
- auditd для системних змін
- регулярні security scans
Приклад перевірки логів SSH:
journalctl -u ssh | grep "Failed password"
Рекомендована модель безпеки для production
Мінімальний стандарт:
- SSH тільки по ключах
- VPN як єдина точка входу
- Firewall з default deny
- Fail2Ban на всіх вузлах
- регулярна ротація ключів
- централізоване логування
Розширений рівень:
- MFA для VPN
- Zero Trust Network Access (ZTNA)
- сегментація мережі
- SIEM-система
Висновки
VPN і SSH є фундаментальними компонентами безпечної інфраструктури, але їх ефективність залежить від правильної архітектури та конфігурації. Основний принцип полягає не лише у використанні шифрування, а у створенні багаторівневої системи захисту.
Найбільш критичні фактори безпеки:
- мінімізація відкритих сервісів
- контроль доступу через VPN
- ключова автентифікація замість паролів
- автоматичний захист від brute-force атак
- постійний моніторинг
Правильно побудована базова інфраструктура значно знижує ризик компрометації навіть у разі появи нових вразливостей на рівні сервісів.