воскресенье, 17 марта 2019 г.

Новый оптимизатор политик Palo Alto Networks NGFW

Как оценить эффективность настройки NGFW

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


Например, у Palo Alto Networks есть возможность прямо из портала поддержки запустить анализ статистики межсетевого экрана - SLR отчет или анализ соответствия лучшим практикам - BPA отчет. Это бесплатные онлайн утилиты, которыми можно воспользоваться ничего не устанавливая.

Expedition (Migration Tool)



Более сложный вариант проверки своих настроек - скачать бесплатную утилиту Expedition (бывший Migration Tool). Она скачивается как Virtual Appliance под VMware, с ней настроек не требуется - нужно скачать образ и развернуть его под гипервизором VMware, запустить и зайти в веб-интерфейс.

На все картинки в статье можно (и нужно) кликать и увеличивать, чтобы было лучше видно.

Policy Optimizer 

И еще один вариант, о котором, сегодня расскажу подробнее - оптимизатор политик, встроенный в сам интерфейс Palo Alto Networks. Чтобы его продемонстрировать я установил межcетевой экран у себя дома и написал простое правило: permit any to any. В принципе такие правила иногда вижу даже в корпоративных сетях. Естественно я включил все профили безопасности как видно на скриншоте слева. 


На скриншоте выше показан пример моего ненастроенного межсетевого экрана, где почти все соединения попадают в последнее правило: AllowAll, что видно по статистике в колонке Hit Count.

Zero Trust

Существует подход к безопасности под названием Zero Trust. Что это значит: мы должны разрешить людям внутри сети ровно те соединения которые им нужны и запретить все остальное. То есть нам надо добавить четкие правила по приложениям, пользователям, URL категориям, типам файлов; включить все сигнатуры IPS и антивируса, включить песочницу, DNS защиту, пользоваться IoC из доступных баз Threat Intelligence. В общем задач при настройке межсетевого экрана - приличное количество. 

Кстати минимальный набор необходимых настроек для Palo Alto Networks NGFW описан в одном из документов SANS: Palo Alto Networks Security Configuration Benchmark - рекомендую начать с него. И конечно же есть набор лучших практик по настройке межсетевого экрана у компании-производителя: Best Practice.

Итак, у меня неделю простоял дома межсетевой экран. Давайте посмотрим какой трафик в моей сети есть: 

Если отсортировать по числу сессий, то больше всего их создает bittorent, потом идет SSL, затем QUIC. Это вместе статистка и по входящему и по исходящему трафику: очень много идет внешних сканирований моего роутера.  Разных приложений в моей сети - 150. 

Итак, все это было пропущено одним правилом. Посмотрим теперь что по этому поводу говорит Policy Optimizer. Если вы смотрели выше на скриншот интерфейса с правилами безопасности, то слева внизу видели маленькое окошко, которое мне намекает, что существуют правила, которые можно оптимизировать. Давайте туда кликнем.
Что показывает Policy Optimizer:
  • Какие политики не использовались совсем, 30 дней, 90 дней. Это помогает принять решение удалить их совсем.
  • Какие приложения в политиках были указаны, но таких приложений в трафике не обнаружено. Это позволяет удалить лишние приложения в разрешающих правилах.
  • Какие политики разрешали все подряд, но там реально ходили приложения, которые было бы неплохо согласно методике Zero Trust указать явно.

Кликнем на Unused.

Чтобы показать как это работает я добавил несколько правил и они пока что за сегодня ни разу не пропустили ни одного пакета. Вот их список:


Возможно, со временем там пройдет трафик и тогда они исчезнут из этого списка. А если они будут в этом списке 90 дней - то, вы можете принять решение удалить эти правила. Ведь каждое правило дает возможность для хакера.
Существует реальная проблема при конфигурации межсетевого экрана: приходит новый сотрудник, смотрит в правила межсетевого экрана, у если у них нет никаких комментариев и он не знает почему это правило создано, нужно ли оно реально, можно ли его удалить: вдруг человек в отпуске и через 30 дней трафик снова пойдет от нужного ему сервиса. И как раз эта функция помогает ему принять решение - не пользуется никто - удалить! 

Кликнем на Unused App.

Мы кликаем в оптимизаторе и видим, что открывается интересная информация.

Мы видим, что существует три правила, где число разрешенных приложений и число реально проходивших по этому правилу приложений отличается. Мы можем кликнуть и посмотреть список этих приложений и сравнить эти списки.
Например, кликнем на кнопку Compare для правила Max.

Здесь видно, что были разрешены приложения facebook, instagram, telegram, vkontakte. Но реально трафик ходил лишь по части подприложений. Здесь нужно понимать, что приложение facebook содержит несколько подприложений. Весь список приложений NGFW можно увидеть на портале applipedia.paloaltonetworks.com и в самом интерфейсе межсетевого экрана в разделе Objects->Applications и в поиске наберите имя приложения: facebook, получится такой результат:
Итак, часть из этих подприложений NGFW увидел, а часть нет. На самом деле вы можете отдельно запрещать и разрешать разные подфункции фейсбука. Например, разрешать смотреть сообщения, но запрещать чат или передачу файлов. Соответственно Policy Optimizer говорит об этом и вы можете принять решение: разрешить не все приложения фейсбука, а только основные.
Итак, мы поняли, что списки разные. Вы можете сделать так, чтобы правила разрешали ровно те приложения, что реально ходили по сети. Для этого вы кликаете кнопку MatchUsage. Получается вот так:
И также вы можете добавить приложения, которые считаете нужными - кнопка Add в левой части окна:

И затем уже это правило можно применить и протестировать. Поздравляю!

Кликнем No Apps Specified.

В данном случае откроется важное для обеспечения безопасности окно.

Таких правил, где не указано приложение уровня L7 явно, скорее всего, в вашей сети очень много. И в моей сети есть такое правило - напомню, что я сделал его при первоначальной настройке, специально чтобы показать как работает Policy Optimizer.
На картинке видно, что правило AllowAll пропустило за промежуток времени с 9 марта по 17 марта 220 гигабайт трафика, что всего разных приложений в моей сети 150 штук. И это еще мало. Обычно в среднего размера корпоративной сети 200-300 разных приложений.
Итак, одно правило пропускает аж 150 приложений. Как правило это означает, что межсетевой экран настроен неправильно, потому что обычно в одном правиле пропускается 1-10 приложений для разных целей. Давайте посмотрим что это за приложения: кликнем кнопку Compare:
Самое чудесное для администратора в функции Policy Optimizer это кнопка Match Usage - вы можете одним кликом создать правило, где введете в правило все 150 приложений. Вручную, это делать было бы достаточно долго. Число задач для работы администратора даже в моей сети из 10 устройств - огромное.
У меня дома работает 150 разных приложений, передающих гигабайты трафика! А сколько у вас?
А что же творится в сети из 100 устройств или 1000 или 10000? Я видел межсетевые экраны где 8000 правил и я очень рад, что сейчас у администраторов есть такие удобные средства автоматизации.
Часть приложений которые увидел NGFW вам будет не нужна, поэтому вы просто их удалите, или сделаете клонирование правил кнопкой Clone (в главном интерфейсе) и в одном правиле приложения разрешите, а в другом приложения заблокируете, как точно не нужные в вашей сети. Такими приложениям часто становятся bittorent, steam, ultrasurf, tor, tcp-over-dns и другие.
Ну и давайте кликнем в другое правило - что там видно:

Да, тут приложения, характерные для multicast. Мы должны их разрешать, чтобы работал просмотр видео по сети. Кликаем Match Usage. Отлично! Спасибо Policy Optimizer.

А как же Machine Learning.

Сейчас модно говорить про автоматизацию. То что я описывал вышел - очень помогает. Существует еще одна возможность, о которой я должен рассказать. Это функционал Machine Learning, встроенный в утилиту Expedition, которая уже упоминалась выше. В этой утилите существует возможность переносить правила с вашего старого межсетевого экрана другого производителя. А еще там есть возможность анализировать существующие журналы Palo Alto Networks и предлагать какие правила написать. Это похоже на функционал Policy Optimizer, но в Expedition это еще боле расширено и вам предлагается уже список готовых правил - вам нужно их просто утвердить. Чтобы протесстировать этот функционал существует лабораторная работа - мы ее называем тест драйв. Этот тест можно сделать зайдя на виртуальные межсетевые экраны, которые сотрудники офиса Palo Alto Networks в Москве запустят по вашему запросу.

Запрос можно отправить по адресу Russia@paloaltonetworks.com и в запросе написать: Хочу сделать UTD по Migration Process.

На самом деле лабораторных работ под названием Unified Test Drive (UTD) несколько вариантов и все они доступны удаленно после запроса.