Краткая история Cisco PIX Firewall
Сегодня мы замолвим пару слов про очередную рабочую лошадку сетестроения. Устройство, примечательное не только своим функционалом, но и массовостью выпуска. Недорогое, практичное и идеально соответствовавшее нуждам SMB-сегмента второй половины 1990 и начала 2000 годов.
Итак, как сказано в Википедии, Cisco PIX (Private Internet eXchange) был одним из первых в своём сегменте, популярным, межсетевым экраном с возможностью трансляции сетевых адресов (NAT/PAT).
Появлением PIX firewall мы обязаны небольшой компании Network Translation Inc. (далее NTI), выпустившей первую версию устройства для сокрытия приватных сетей в 1994 году. Собственно и основана она была в 1994 году, а софт был написан одним единственным человеком, Brantley Coile. Как в последствии описывали участники событий, на сей подвиг их вдохновило желание сделать аналог офисной АТС (PBX - Private Branch eXchange), позволяющей внутренним абонентам выходить в телефонную сеть общего пользования.
Операционная система PIX OS предоставляла функционал межсетевого экрана на 4 уровне модели OSI, с отслеживанием состояния сессии (stateful inspection) через специальный тип правил (conduits). В PIX OS имелась поддержка именованных ACL, NAT (да, только NAT) и впервые появилась поддержка пакетной фильтрации, специфичной для протокола (ftp, dns, smtp, etc.). Всё это, несмотря на юный возраст, давало компании NTI лидирующие позиции в отрасли, профильный журнал Data Communications в январе 1995 даже присудил PIX премию "Hot Product of the Year":
В качестве аппаратной платформы использовался обычный x86. Так как предполагалось, что это будет специализированное устройство для NAT частной сети во внешнюю, то и было у него всего два сетевых интерфейса, outside и inside, с уровнем безопасности 0 и 100 соответственно. До версии PIX 5.2 изменить имена интерфейсов не представлялось возможным.
Вообще, если мы немного углубимся в проблематику, хотя и было несколько публикаций в профильных печатных изданиях, впервые необходимость выделения отдельных блоков адресов для частных сетей была оформлена документально только в марте 1994 года (http://www.ietf.org/rfc/rfc1597.txt), а принцип трансляции сетевых адресов был зафиксирован в мае 1994 года (http://www.ietf.org/rfc/rfc1631.txt). Так что NTI действительно находилась на самом острие научно-технического прогресса.
В 1995 году произошла довольно мутная история, в результате которой NTI, просуществовавшая к этому моменту всего год и создавшая, фактически, новый сегмент рынка, была приобретена компанией Cisco. Более в нашей истории аббревиатуры NTI и PIX OS не встречаются, а на сцену выходят два новых устройства - балансировщик нагрузки Cisco LocalDirector и Cisco PIX Firewall. Оба наследуют большую часть кода PIX OS, но версия для PIX была названа Finesse OS (хотя олдам пофиг, они продолжают называть PIX OS всё ПО для МСЭ Cisco). Код писал всё тот же Brantley Coile сотоварищи.
Хотя LocalDirector на год опередил своих конкурентов, F5 и HydraWeb, чем сразу оттяпал большую долю рынка, и существовал до 2004 года, про него мы поговорим в другой раз.
После перехода к Cisco, был выпущен первый релиз софта за номером 2.5, через непродолжительное время 3.1, а затем релизы 4.x, 4.1, 2, 3 и 4.4, после чего наступил длительный перерыв. Клиентская база увеличивалась, продажи стремительно росли. Зачем улучшать то, что и так получилось совершенным.
И так, на сцену выходит PIX Firewall Classic. Всё так же, как было и как впредь будет, на платформе x86. Для разделения сегментов рынка имелось софтовое ограничение на количество одновременных TCP сессий - 32, 256, 1024, 4096, 16384. Поддерживались сетевые карты 10/100Mbps BaseT Ethernet и 4/16Mbps Token Ring. Высота корпуса определялась использованием CPU Pentium II в исполнении Slot 1.
Далее, была выпущена модель PIX 10000, а затем PIX 510 и PIX 520 (Вот тут: Rutube/YouTube можно посмотреть на их внутренний мир). У всех них для хранения и запуска системного ПО использовался обычный дисковод 3.5", ёмкостью 1.44Мб. Соответственно, процесс обновления софта заключался в замене одной дискеты на другую с последующей перезагрузкой коробаса. Была и встроенная flash-память для хранения конфигурации, первоначально объемом 256Кб, в последствии поэтапно увеличиваемая до 512Кб, 2Мб, 8Мб и финальных 16Мб.
Конфигурирование устройства было не самым простым занятием. Для разрешения входящего трафика использовались правила типа conduits, для ограничения исходящего правила типа outbound, у которых могли быть исключения с помощью операторов except. А так же были ACL, которые применялись командой apply.
Например, для разрешения внешнего SMTP трафика от хоста 10.10.25.10 к серверу 192.168.1.49, расположенному внутри сети мы пишем:
$ static -a 10.10.26.147 192.168.1.49 secure
$ conduit 10.10.26.147 tcp:10.10.25.10/32-25
А вот так можно было запретить внутренним пользователям ходить на определенный IP-адрес:
$ access_list 12 deny 192.168.146.201 255.255.255.255 80
$ access_list 12 deny 192.168.146.202 255.255.255.255 80
$ apply 12 outgoing_dest
Всё было хорошо до момента выхода версии Finesse OS 5.0, которая перестала влезать на дискету. Конечно, было придумано обходное решение, с дискеты загружался загрузчик, а операционная система скачивалась по сети с tftp, но это было уже не торт. Хотя идею загрузки по tftp признали удачной и такой же механизм был реализован для IOS. На всякий случай.
Надо сказать, что PIX поддерживал VPN еще до того, как оформился стандарт IPSec. Понятно, что совместимость в этом случае была ограниченной, а настройка выглядела как указание адреса удалённого хоста и preshared key. Ну и для шифрования требовалась отдельная карта, а поддерживался только DES. Технология эта называлась PrivateLink и PIX мог вязаться, помимо другого PIX, с LocalDirector и ранними версиями IOS. Позже была выпущена PrivateLink-2, которая уже умела 3DES и скорости были в два раза выше.
Как водится, ограничения платформы порой порождали чудовищ. Для преодоления скудных возможностей PIX по маршрутизации трафика и поддержке других типов интерфейсов, некоторое время предлагался продукт AccessPro router, который занимал пару ISA слотов (из-за размеров) и представлял собой маршрутизатор 2500 с IOS 10.0 на борту. Доступ к его консоли осуществлялся с помощью команды "session". Как и с загрузкой по tftp, подход всем так понравился, что скрещивание ежа и ужа с помощью мезонинов используется компанией Cisco до сих пор (Cisco router 1861, Firepower и т.д.).
PIX Firewall Software v5.2 стала финальной для версии 5. В ней появились поддержка DHCP в качестве клиента и сервера, начальные средства обнаружения вторжений (53 предопределенные сигнатуры), поддержка SSH, RADIUS и, на мой взгляд, самое главное, поддержка PAT.
Но! Наступил август 2001 года и был выпущена Cisco PIX Firewall Version 6.0(1). Как вы заметили, наименование Finesse OS так же было похоронено.
Так же, как и изменился модельный ряд. На смену старым моделям пришли PIX 506, 515, 525 ( 600-MHz Intel Pentium III Processor до 256Мб ОЗУ) и 535 (1 GHz Intel Pentium III Processor, до 1Гб ОЗУ). Модели 506 и 515 очень быстро были заменены такими же, только с более быстрым CPU и с литерой E в названии. Корпуса были унифицированы с моделями 2600 и 3600 серии. Дисководы решили убрать, а пропиетарную Flash на 16Мб оставить.
Для использования версии 6.0, PIX Firewall должны были иметь как минимум 32 MB оперативной памяти и 16 MB Flash. В модели PIX 506 было всего 8MB памяти, но ей с версией 6.0(1) работать разрешили. Как и появившейся чуть позже модели PIX 501, посмотрите, какой красавец! Кстати, знаете ли вы, что именно от этой малюпуськи пошел модуль FWSM? Лихие разрабы отэкспортили кодовую базу PIX 501 при старте разработки FWSM (FWSM version 1.1.1, WS-SVC-FWM-1, 1024 MB RAM, CPU Pentium III 1000 MHz).
Помимо упрощения конфигурирования (но conduit-ы пока оставили) и расширения функционала, был впервые представлен Cisco PIX Device Manager (PDM) в качестве индивидуального графического способа управления межсетевым экраном. С этого момента процесс настройки железки вышел из категории 18+ для большинства сценариев использования.
До версии 6.2 ничего особо интересного не происходило, но в 6.2 мы с восторгом увидели LAN-based failover, Bidirectional Network Address Translation (NAT) и Packet capture! Да, до этого дебажить трафик было нечем. Хотя и был debug packet, но это совсем не то же самое.
В 2005 году вышла Cisco PIX Security Appliance Software Version 7.0, с поддержкой модельного ряда PIX 515/515E, 525, 535 и новомодных устройств серии ASA.
И вот в этой версии PIX OS практически обрела тот вид, в котором существует сейчас (но NAT приемлемым для человеческой психики стал только в 8 версии, уже на ASA).
Поддержка VPN Client, AnyConnect, site-to-site VPN, поддержка контекстов, Adaptive Security Device Manager (ASDM) и доступный каждому генератор ключей - сделали эти устройства поистине одними из самых массовых межсетевых экранов, трудящимися на ниве сетевых технологий.
А 28 января 2008 года Cisco объявило даты end-of-sale и end-of life для Cisco PIX 500 Security Appliances. Продажи закончились в июле 2008, а поддержка в июле 2013.
Да, были межсетевые экраны лучше. Понятно, что тот же CheckPoint версии 6.0 тотально превосходил по возможностям PIX. Но по совокупности - равных ему было еще поискать. МСЭ филиалов крупных компаний и банков, разделение сетей с торговыми площадками и биржами, небольшие компании - да PIX-ов везде было полно.
Кстати, был даже такой проект Franken-PIX, где энтузиасты делали PIX из обычного писюка. Обычно всё заканчивалось на отсутствии ISA Flash на 16Мб, так как она не продавалась, а была только у владельцев самого PIX, что делало затею слегка бессмысленной.
Лично я с PIX ничего противоествественного не делал, но на ASA 5520/5540 менял CPU c Celeron на полноценный Pentium IV с hypertreading, добиваясь повышения температуры и производительности.
Ниже представлено сделанное на палец фото моей домашней лабы образца 2011 года и верхнее почетное место в этой пирамиде занимает PIX 501.
Ну, пока всё, что-то я подустал писать. Как обычно, ссылка на мой канал, ничего не продаю, изредка графоманю.