Если посмотреть конфиг любого файрвола, то, скорее всего, мы увидим простыню с кучей IP-адресов, портов, протоколов и подсетей. Так классически реализуются политики сетевой безопасности для доступа пользователей к ресурсам. Сначала в конфиге стараются поддерживать порядок, но потом сотрудники начинают переходить из отдела в отдел, сервера размножаться и менять свои роли, появляются доступы для разных проектов туда, куда им обычно нельзя, и получаются сотни неизвестных козьих тропок.
Около каких-то правил, если повезет, прописаны комментарии «Попросил сделать Вася» или «Это проход в DMZ». Сетевой администратор увольняется, и все становится совсем непонятно. Потом кто-то решил почистить конфиг от Васи, и упал SAP, потому что когда-то Вася просил этот доступ для работы боевого SAP.
Сегодня я расскажу про решение VMware NSX, которое помогает точечно применять политики сетевого взаимодействия и безопасности без неразберихи в конфигах файрвола. Покажу, какие новые функции появились по сравнению с тем, что было раньше у VMware в этой части.
VMWare NSX – платформа виртуализации и обеспечения безопасности сетевых сервисов. NSX решает задачи маршрутизации, коммутации, балансировки нагрузки, файрвола и умеет много другого интересного.
NSX – это преемник собственного продукта VMware vCloud Networking and Security (vCNS) и приобретенного Nicira NVP.
От vCNS к NSX
Раньше у клиента в облаке, построенном на VMware vCloud, была отдельная виртуальная машина vCNS vShield Edge. Он выполнял роль пограничного шлюза, где можно было настроить множество сетевых функций: NAT, DHCP, Firewall, VPN, балансировщика нагрузки и пр. vShield Edge ограничивал взаимодействие виртуальной машины с внешним миром согласно правилам, прописанным в Firewall и NAT. Внутри сети виртуальные машины общались между собой свободно в пределах подсетей. Если очень хочется разделять и властвовать трафиком, можно сделать отдельную сеть для отдельных частей приложений (разных виртуальных машин) и прописать в файрволе соответствующие правила по их сетевому взаимодействию. Но это долго, сложно и неинтересно, особенно когда у вас несколько десятков виртуальных машин.
В NSX VMware реализовала концепцию микросегментации с помощью распределенного файрвола (distributed firewall), встроенного в ядро гипервизора. В нем прописываются политики безопасности и сетевого взаимодействия не только для IP- и MAC-адресов, но и для других объектов: виртуальных машин, приложений. Если NSX развернут внутри организации, то такими объектами могут стать пользователь или группа пользователей из Active Directory. Каждый такой объект превращается в микросегмент в своем контуре безопасности, в нужной подсети, со своей уютненькой DMZ :).
Раньше периметр безопасности был один на весь пул ресурсов, защищался пограничным коммутатором, а с NSX можно оградить от лишних взаимодействий отдельную виртуальную машину даже в пределах одной сети.
Политики безопасности и сетевого взаимодействия адаптируются, если объект переезжает в другую сеть. Например, если мы перенесем машину с базой данных в другой сетевой сегмент или даже в другой связанный виртуальный дата-центр, то правила, прописанные для этой виртуальной машины, продолжат действовать безотносительно ее нового положения. Сервер приложений по-прежнему сможет взаимодействовать с базой данных.
На смену самому пограничному шлюзу vCNS vShield Edge пришел NSX Edge. У него есть весь джентльменский набор старого Edge плюс несколько новых полезных функций. Про них и пойдет речь дальше.
Что нового у NSX Edge?
Функциональность NSX Edge зависит от редакции NSX. Всего их пять: Standard, Professional, Advanced, Enterprise, Plus Remote Branch Office. Все новое и интересное можно увидеть только начиная с Advanced. В том числе и новый интерфейс, который до полного перехода vCloud на HTML5 (VMware обещает лето 2019-го) открывается в новой вкладке.
Firewall. В качестве объектов, к которым будут применяться правила, можно выбрать IP-адреса, сети, интерфейсы шлюза и виртуальные машины.
DHCP. Помимо настройки диапазона IP-адресов, которые будут автоматически выдаваться виртуальным машинам этой сети, в NSX Edge стали доступны функции Binding и Relay.
Во вкладке Bindings можно привязать MAC-адрес виртуальной машины к IP-адресу, если нужно чтобы IP-адрес не менялся. Главное, чтобы этот IP-адрес не входил в DHCP Pool.
Во вкладке Relay настраивается ретрансляция DHCP-сообщений DHCP-серверам, которые находятся за пределами вашей организации в vCloud Director, в том числе и DHCP-серверам физической инфраструктуры.
Маршрутизация. У vShield Edge можно было настраивать только статическую маршрутизацию. Здесь появилась динамическая маршрутизация с поддержкой протоколов OSPF и BGP. Также стали доступны настройки ECMP (Active-active), а значит и аварийное переключение типа «активный-активный» на физические маршрутизаторы.
Настройка OSPF.
Настройка BGP.
Еще из нового – настройка передачи маршрутов между различными протоколами,
перераспределение маршрутов (route redistribution).
L4/L7 Балансировщик нагрузки. Появился X-Forwarded-For для заголовка HTTPs. Без него все плакали. Например, у вас есть сайт, который вы балансируете. Без проброса этого заголовка все работает, но в статистике веб-сервера вы видели не IP посетителей, а IP балансировщика. Теперь все стало правильно.
Также во вкладке Application Rules теперь можно добавлять скрипты, которые будут напрямую управлять балансировкой трафика.
VPN. В дополнение к IPSec VPN, NSX Edge поддерживает:
- L2 VPN, позволяющий растянуть сети между географически разнесенными площадками. Такой VPN нужен, например, чтобы при переезде на другую площадку виртуальная машина оставалась в той же подсети и сохраняла IP-адрес.
- SSL VPN Plus, который позволяет пользователям подключаться удаленно к корпоративной сети. На уровне vSphere такая функция была, а вот для vCloud Director это новшество.
SSL-сертификаты. На NSX Edge теперь можно поставить сертификаты. Это снова к вопросу, кому нужен был балансировщик без сертификата для https.
Группы объектов (Grouping Objects). В этой вкладке как раз задаются группы объектов, для которых будут действовать те или иные правила сетевого взаимодействия, например правила файрвола.
Этими объектами могут быть IP- и MAC-адреса.
Здесь также указан список сервисов (сочетание протокол-порт) и приложений, которые можно использовать при составлении правил файрвола. Новые сервисы и приложения добавлять может только администратор портала vCD.
Статистика. Статистика по подключениям: трафик, который проходит через шлюз, файрвол и балансировщик.
Статус и статистику по каждому туннелю IPSEC VPN и L2 VPN.
Логирование. Во вкладке Edge Settings можно задать сервер для записи логов. Логирование работает для DNAT/SNAT, DHCP, Firewall, маршрутизации, балансировщика, IPsec VPN, SSL VPN Plus.
Для каждого объекта/сервиса доступны следующие типы оповещений:
— Debug
— Alert
— Critical
— Error
— Warning
— Notice
— Info
Размеры NSX Edge
В зависимости от решаемых задач и объемов VMware рекомендует создавать NSX Edge следующих размеров:
NSX Edge (Compact) |
NSX Edge (Large) |
NSX Edge (Quad-Large) |
NSX Edge (X-Large) |
|
vCPU | 1 | 2 | 4 | 6 |
Memory | 512MB | 1GB | 1GB | 8GB |
Disk | 512MB | 512MB | 512MB | 4.5GB + 4GB |
Назначение | Одно приложение, тестовый дата-центр |
Небольшой или средний дата-центр |
Нагруженный файрвол |
Балансировка нагрузки на уровне L7 |
Ниже в таблице – рабочие метрики сетевых служб в зависимости от размера NSX Edge.
NSX Edge (Compact) |
NSX Edge (Large) |
NSX Edge (Quad-Large) |
NSX Edge (X-Large) |
|
Interfaces | 10 | 10 | 10 | 10 |
Sub Interfaces (Trunk) | 200 | 200 | 200 | 200 |
NAT Rules | 2,048 | 4,096 | 4,096 | 8,192 |
ARP Entries Until Overwrite |
1,024 | 2,048 | 2,048 | 2,048 |
FW Rules | 2000 | 2000 | 2000 | 2000 |
FW Performance | 3Gbps | 9.7Gbps | 9.7Gbps | 9.7Gbps |
DHCP Pools | 20,000 | 20,000 | 20,000 | 20,000 |
ECMP Paths | 8 | 8 | 8 | 8 |
Static Routes | 2,048 | 2,048 | 2,048 | 2,048 |
LB Pools | 64 | 64 | 64 | 1,024 |
LB Virtual Servers | 64 | 64 | 64 | 1,024 |
LB Server / Pool | 32 | 32 | 32 | 32 |
LB Health Checks | 320 | 320 | 320 | 3,072 |
LB Application Rules | 4,096 | 4,096 | 4,096 | 4,096 |
L2VPN Clients Hub to Spoke | 5 | 5 | 5 | 5 |
L2VPN Networks per Client/Server | 200 | 200 | 200 | 200 |
IPSec Tunnels | 512 | 1,600 | 4,096 | 6,000 |
SSLVPN Tunnels | 50 | 100 | 100 | 1,000 |
SSLVPN Private Networks | 16 | 16 | 16 | 16 |
Concurrent Sessions | 64,000 | 1,000,000 | 1,000,000 | 1,000,000 |
Sessions/Second | 8,000 | 50,000 | 50,000 | 50,000 |
LB Throughput L7 Proxy) | 2.2Gbps | 2.2Gbps | 3Gbps | |
LB Throughput L4 Mode) | 6Gbps | 6Gbps | 6Gbps | |
LB Connections/s (L7 Proxy) | 46,000 | 50,000 | 50,000 | |
LB Concurrent Connections (L7 Proxy) | 8,000 | 60,000 | 60,000 | |
LB Connections/s (L4 Mode) | 50,000 | 50,000 | 50,000 | |
LB Concurrent Connections (L4 Mode) | 600,000 | 1,000,000 | 1,000,000 | |
BGP Routes | 20,000 | 50,000 | 250,000 | 250,000 |
BGP Neighbors | 10 | 20 | 100 | 100 |
BGP Routes Redistributed | No Limit | No Limit | No Limit | No Limit |
OSPF Routes | 20,000 | 50,000 | 100,000 | 100,000 |
OSPF LSA Entries Max 750 Type-1 | 20,000 | 50,000 | 100,000 | 100,000 |
OSPF Adjacencies | 10 | 20 | 40 | 40 |
OSPF Routes Redistributed | 2000 | 5000 | 20,000 | 20,000 |
Total Routes | 20,000 | 50,000 | 250,000 | 250,000 |
Из таблицы видно, что балансировку на NSX Edge для продуктивных сценариев рекомендуется организовывать, только начиная с размера Large.
На сегодня у меня все. В следующих частях подробно пройдусь по настройке каждой сетевой службы NSX Edge.
Автор: msolovyev