Что поставить на периметр сети: Cisco маршрутизатор или Cisco ASA?
Всем привет! Периодически при проектировании компьютерных сетей на базе оборудования Cisco возникает вопрос, что поставить на периметр сети: маршрутизатор или межсетевой экран Adaptive Security Appliance (ASA)? Далеко не всегда можно однозначно ответить на данный вопрос. Хотел бы в очередной раз сделать попытку и провести небольшое сравнение этих двух устройств. Вы заметите, что уже много раз это обсуждалось. Согласен. Но устройства постоянно развиваются: появляются новые модели, добавляется функционал. Поэтому иногда стоит отойти подальше и ещё раз посмотреть со стороны на данный вопрос. Вдруг что-то поменялось?
Для строгости отметим, что основное сопоставление будет идти между ASA 5500-X и маршрутизаторами ISR G2 и ISR 4000.
Все мы знаем, что Cisco ASA является устройством безопасности и обычно его имя упоминается вместе с аббревиатурой МЭ (межсетевой экран). Маршрутизатор же Cisco является в первую очередь маршрутизатором. О, как сказал. Собственно, вот и отличие. Но всё не так просто: Cisco ASA умеет маршрутизировать трафик (даже поддерживает протоколы динамической маршрутизации), а маршрутизатор Cisco может выполнять функции МЭ (поддерживается две технологии – CBAC и ZFW). Чувствую, как в сторону автора полетели фразы: да, капитан очевидность, ты прав. Поэтому предлагаю более пристально взглянуть на эти устройства с целью определения, что в них общего, а что разного.
Исторически сложилось, что ASA имеет преимущества перед маршрутизатором только в ряде технологий, в первую очередь связанных с безопасностью (классический межсетевой экран и VPN концентратор для подключения удалённых пользователей). Во всём остальном ASA выступает в основном в роли догоняющего. Это обусловлено тем, что ASA позиционируется как средство безопасности, а маршрутизатор Cisco – как универсальный швейцарский нож (на его базе мы можем запустить и функции шифрования, и голосовые функции, и оптимизировать трафик и пр.). Поэтому вопрос выбора устройства возникает только в разрезе вопроса обеспечения сетевой безопасности.
На первый взгляд, для реализации такой задачи, как обеспечение защищенного подключения офиса к сети интернет, оба устройства предоставляют всё необходимое:
- есть маршрутизация (статическая, динамическая, PBR), а также функция трансляции адресов NAT;
- можно завести два и более провайдера (поддерживается IP SLA, BGP);
- присутствуют функции межсетевого экранирования.
Так как ASA является более узкопрофильным решением, попробуем провести наше сравнение относительно неё. ASA позиционируется как устройство безопасности, поэтому многие функции безопасности работают уже “из коробки”. По умолчанию в Cisco ASA “завинчены все гайки”, в то время как на маршрутизаторе функции безопасности требуется включать принудительно (настраивать с нуля МЭ, отключать лишние сервисы и пр.). Давайте пройдёмся по основным функциям ASA:
- Функции трансляции адресов NAT. На ASA присутствуют все возможные вариации (статический и динамический NAT, PAT), в том числе двойной (twice NAT). Есть возможность влиять на порядок применения правил NAT. В этом плане ASA превосходит маршрутизатор.
- AnyConnect VPN Client — туннели SSL или IPSec IKEv2 с использованием AnyConnect Secure Mobility Client. Поддерживается большинство современных платформ ПК и мобильных устройств. Опционально интегрируется с сервисами и услугами Cloud Web Security, Host Scan, 802.1x.
- Бесклиентский (Clientless) SSL VPN – доступ к приложениям осуществляется через web-портал, или обеспечивается проброс портов через тонкий клиент (Java-аплеты/Active-X скрипт) и SSL VPN Smart Tunnels.
- Remote Access IPsec VPN и L2TP over IPsec (IKEv1) – в качестве клиента может выступать любой IPSec или L2TP-клиент (например, Microsoft Windows).
- Easy VPN — туннели IPSec IKEv1. Раньше данное решение активно использовалось для подключения удалённых пользователей через Cisco VPN Client. Сейчас Cisco VPN Client умер, и остался только режим, при котором в качестве удалённого клиента выступает аппаратное устройство.
В режиме отказоустойчивости два устройства объединяются в одно логическое. Данные с одного устройства реплицируются на второе для обеспечения сохранения состояния всех сессии при отказе одного из них. Доступны два режима работы: active/standby (с единственным контекстом) и active/active (в режиме множественных контекстов). Режим отказоустойчивости удобен тем, что после объединения двух устройств, необходимо настраивать только одно устройство — активное.
Второй режим – кластеризация (clustering), позволяет объединить в одно логическое устройство до 16 устройств ASA. Необходимо оговориться, что в кластер из 16 устройств мы можем объединить на данный момент только ASA 5585-X. Для остальных моделей в кластер объединяются только два устройства. Кластеризация обеспечивает резервирование устройств, единую точку управления (все устройства объединяются в одно логическое) и повышение производительности (речь идёт о том, что мы получаем одно виртуальное устройство с бОльшей производительностью нежели одно физическое устройство).
А что с маршрутизаторами? Там нет функций failover и clustering. Отказоустойчивость обеспечивается соответствующей настройкой каждого протокола и функции. Для маршрутизации трафика настройки будут свои, для МЭ свои, а для VPN – свои. Failover на ASA в этом плане более удобен: объединил устройства и далее все настроил из одной консоли, как будто у нас оно одно. С маршрутизатором так не получится.
У ASA есть очень неплохой WEB-интерфейс – Adaptive Security Device Manager (ASDM). Он полнофункциональный и ряд функций рекомендуется настраивать именно через него (например, SSL VPN), так как есть достаточно удобные помощники (wizard). Как мы знаем, WEB-интерфейс маршрутизаторов (Cisco Configuration Professional) оставляет желать лучшего.
На этом основная функциональность ASA практически исчерпывается. Хотел бы ещё отметить на ASA достаточно удобную утилиту – packet-tracer. Она позволяет провести первичную диагностику прохождения пакета через устройство. Packet-tracer выводит информацию по каждой стадии обработки пакета внутри устройства. Предполагаю, что отсутствие packet-tracer на маршрутизаторе обусловлено тем, что маршрутизатор существенно функциональнее.
Коснёмся чуточку архитектурных особенностей программно-аппаратной частей. Сразу заметим, что программный код ASA и маршрутизатора абсолютно разный. Поэтому некоторые процессы реализованы по-разному.
Например, маршрутизация. На ASA нет привычного для маршрутизаторов Cisco Express Forwarding (CEF). Используется своя собственная логика: маршрут определяется для сессии единожды при её установлении (чем-то напоминает fast-switching). Можно сказать, что маршрутизатор оперирует пакетами, а ASA – сессиями. На маршрутизацию в ASA может влиять NAT (правильнее сказать: NAT в ряде случаев определяет, куда будут отправлены пакеты той или иной сессии). На маршрутизаторах такого нет, всем «рулит» таблица маршрутизации или PBR. При переключении маршрутизации с одного интерфейса на другой на ASA далеко не всегда сессия будет также переброшена (она может остаться работать на старом интерфейсе). ASA для каждой сессии запоминает не только исходящий интерфейс (т.е. куда слать), но и входящий (откуда изначально пришли пакеты). Эта особенность работы наиболее ярко проявляется, когда у нас есть несколько провайдеров (подключенных через статическую маршрутизацию) и на них есть какие-то публикации. В случае ASA ответные пакеты всегда пойдут через того провайдера, через которого пришёл запрос. Т.е. все публикации будут рабочими. В случае маршрутизатора ответные пакеты будут идти через провайдера по умолчанию. Т.е. только на одном провайдере будут работать публикации (такое поведение можно обойти с помощью плясок с бубном: VRF+BGP).
Давайте теперь посмотрим на производительность. Конечно, сравнивать устройства по данному параметру очень непросто, так как методика замеров для каждого типа устройств может отличаться, да и департамент маркетинга не дремлет. Плюс производительность зависит от сервисов, которые запущены на устройстве. Но всё-таки попробуем отметить несколько моментов. Раньше (для старых моделей ISR и ISR G2) по соотношению цена/производительность маршрутизаторы уступали (как по цифрам, так и из опыта). Например, при сходной стоимости ISR G2 2921-SEC и ASA5512-X первое устройство обеспечивало 50 Мбит/с (именно на эту цифру рекомендует ориентироваться вендор), а второе в худшем случае 100 Мбит/с (Application Control, пакеты HTTP 440 байт). Может быть, не совсем точное сравнение, но для грубой оценки, надеюсь, подойдёт. За одни и те же деньги чаще всего ASA нам давала бОльшую производительность. Но с появлением маршрутизаторов 4000 картина поменялась. Теперь нужно смотреть каждый отдельный случай. Связано это с тем, что на маршрутизаторах 4000 производительность не так сильно деградирует при включении сервисов.
Пора подвести итоги и ответить на поставленный в заголовке статьи вопрос. Существуют рекомендации вендора на это счёт, оформленные в виде различных дизайнов в рамках архитектуры Cisco SAFE. Но далеко не всегда мы строим какие-то сложные сети, где присутствуют все виды устройств, выполняющие наиболее подходящие для них функции. Например, в качестве устройства МЭ мы ставим ASA с сервисами Firepower, а для организации подключения к WAN-каналам – маршрутизаторы. Часто бывают ситуации, когда нужно поставить что-то одно (причина может быть самая банальная — бюджет). И вот тут нам и приходится задумывать, что же выбрать.
Случай 1. Относительно небольшая компания с одним офисом. Нужно обеспечить защищённый доступ в Интернет (используется один или два провайдера).
- функционал ASA достаточен для реализации поставленной задачи;
- на базе ASA можно запустить сервисы Firepower для получения функций NG FW и NG IPS (совокупная стоимость будет ниже, чем в случае использования связки маршрутизатор+модуль+сервисы Firepower);
- если необходимо обеспечить подключение удалённых пользователей к корпоративной сети, ASA предоставит наиболее широкие возможности;
- в ряде случаев мы получим бОльшую производительность устройства за те же деньги.
Случай 2. Есть центральный и удалённые офис(ы). Что поставить в удалённый офис?
Думаю, многим уже понятно, что site-to-site VPN не самая сильная сторона ASA. Если у нас много офисов, несколько провайдеров и нужен full-mesh (прямая связность всех офисов), лучше для этой задачи использовать маршрутизаторы. Одна только технология DMVPN позволит снять бОльшую часть головной боли. В центральном офисе в этом случае также должен стоять маршрутизатор.
Если у нас везде один провайдер и офисов не так и много, ASA вполне подойдёт. Более того, решение может получиться дешевле аналогичного на базе маршрутизаторов. Но не стоит забывать, что сегодня провайдер один, а завтра два, да и компания может чуточку подрасти. Безусловно, на ASA в удалённом офисе можно настроить резервный VPN до центрального офиса, используя в центре двух провайдеров. Просто слишком много «но», которые порядком могут подпортить репутацию такого решения. Их, конечно, вендор старается убрать, однако пока эти «но» приходится принимать во внимание.
Подытожим: ASA прекрасно подходит для таких задач, как межсетевое экранирование и remote-access VPN. Если мы можем себе позволить поставить это устройство для решения только этих вопросов, стоит так и сделать. Если же необходимо в одной «коробке» получить смесь функций, возможно, стоит присмотреться к маршрутизатору.
Если у Вас есть свои мысли по поводу вопроса в заголовке статьи, добро пожаловать в комментарии.
UPD:
В статье указывается, что в маршрутизаторах нет аналогичной функции packet-tracer как на ASA. Это утверждение не совсем корректно. В IOS XE присутствует схожая функциональность — Datapath Packet Trace.