Думаю, многие из вас знают или слышали о бесплатном продукте Suricata – это система обнаружения вторжений (IDS) и система предотвращения вторжений (IPS) с открытым исходным кодом. Её обычно используют в программных шлюзах и анализаторах трафика. Например, в IPFire, OPNsense, PfSense, Arkime и т.д.
На базе Suricata построен известный продукт SELKS, который является отличным дополнением к бесплатному же Wazuh - это SIEM система (Security Information and Event Management). Получается хорошая связка:
◽️SELKS мониторит сетевой трафик в режиме реального времени, выявляет угрозы на уровне сети и пытается их предотвратить.
◽️Wazuh ставит агенты на конечные системы, собирает данные об ОС, софте, уязвимостях, о событиях из логов, об изменениях с уровня файловой системы и т.д.
Вместе эта бесплатная парочка закрывают базовые потребности малого и среднего бизнеса. Хотя не уверен, что малому это в принципе нужно, но тем не менее. Это хорошая рабочая связка.
В январе этого года SELKS прекратил своё развитие в том виде, как он был. Его переименовали в Clear NDR – Community и немного пересобрали. Заменили Elastic Stack (Elasticsearch, Logstash, Kibana) на OpenSearch и Fluentd. Также изменили веб интерфейс с Kibana на тот, что есть в Enterprise-версии. Но при этом версия осталась бесплатной с той же функциональностью. Разработчики обещают более активное развитие, так как теперь у
Community и Enterprise версии общая кодовая база и одинаковый веб интерфейс.
Для Clear NDR - Community пока нет собранного ISO файла, как это было у SELKS. Его можно было развернуть с помощью установщика, как отдельную, новую систему. Clear NDR ставится поверх уже установленной с помощью утилиты stamusctl и работает на базе Docker.
Установка Clear NDR - Community:
У меня напрямую не скачался бинарник на сервере. Не знаю почему, не стал разбираться. Скачал через браузер даже без VPN и закинул на сервер вручную.
Выбираем сетевой интерфейс, на котором будем слушать трафик. Запускаем сервис:
Можно идти в веб интерфейс по HTTPS и настраивать систему. Учётка по умолчанию - selks-user / selks-user.
К сожалению, на Clear NDR нельзя напрямую подать NetFlow трафик для простого и удобного анализа, поэтому если сервер с ней не является шлюзом, то нужно будет каким-то образом реализовывать подачу нужного трафика на сетевой интерфейс сервера с Clear NDR. В зависимости от топологии сети, задача может решаться по-разному.
Для ручных проверок готовых дампов трафика в формате pcap, можно сделать вот так:
Система при запуске заберёт себе и проанализирует весь трафик из файла.
Проверить работу можно с помощью набора проверок отсюда: https://github.com/3CORESec/testmynids.org
Отдельно отмечу, что в составе Clear NDR есть полнофункциональный Arkime.
⇨ 🌐 Сайт / Исходники
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#security #gateway
На базе Suricata построен известный продукт SELKS, который является отличным дополнением к бесплатному же Wazuh - это SIEM система (Security Information and Event Management). Получается хорошая связка:
◽️SELKS мониторит сетевой трафик в режиме реального времени, выявляет угрозы на уровне сети и пытается их предотвратить.
◽️Wazuh ставит агенты на конечные системы, собирает данные об ОС, софте, уязвимостях, о событиях из логов, об изменениях с уровня файловой системы и т.д.
Вместе эта бесплатная парочка закрывают базовые потребности малого и среднего бизнеса. Хотя не уверен, что малому это в принципе нужно, но тем не менее. Это хорошая рабочая связка.
В январе этого года SELKS прекратил своё развитие в том виде, как он был. Его переименовали в Clear NDR – Community и немного пересобрали. Заменили Elastic Stack (Elasticsearch, Logstash, Kibana) на OpenSearch и Fluentd. Также изменили веб интерфейс с Kibana на тот, что есть в Enterprise-версии. Но при этом версия осталась бесплатной с той же функциональностью. Разработчики обещают более активное развитие, так как теперь у
Community и Enterprise версии общая кодовая база и одинаковый веб интерфейс.
Для Clear NDR - Community пока нет собранного ISO файла, как это было у SELKS. Его можно было развернуть с помощью установщика, как отдельную, новую систему. Clear NDR ставится поверх уже установленной с помощью утилиты stamusctl и работает на базе Docker.
Установка Clear NDR - Community:
# wget https://dl.clearndr.io/stamusctl-linux-amd64# chmod +x ./stamusctl-linux-amd64# mv ./stamusctl-linux-amd64 /usr/local/bin/stamusctlУ меня напрямую не скачался бинарник на сервере. Не знаю почему, не стал разбираться. Скачал через браузер даже без VPN и закинул на сервер вручную.
# mkdir /opt/ClearNDR && cd /opt/ClearNDR# stamusctl compose initВыбираем сетевой интерфейс, на котором будем слушать трафик. Запускаем сервис:
# stamusctl compose up -dМожно идти в веб интерфейс по HTTPS и настраивать систему. Учётка по умолчанию - selks-user / selks-user.
К сожалению, на Clear NDR нельзя напрямую подать NetFlow трафик для простого и удобного анализа, поэтому если сервер с ней не является шлюзом, то нужно будет каким-то образом реализовывать подачу нужного трафика на сетевой интерфейс сервера с Clear NDR. В зависимости от топологии сети, задача может решаться по-разному.
Для ручных проверок готовых дампов трафика в формате pcap, можно сделать вот так:
# stamusctl compose readpcap fulltraf.pcapСистема при запуске заберёт себе и проанализирует весь трафик из файла.
Проверить работу можно с помощью набора проверок отсюда: https://github.com/3CORESec/testmynids.org
Отдельно отмечу, что в составе Clear NDR есть полнофункциональный Arkime.
⇨ 🌐 Сайт / Исходники
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#security #gateway
👍109👎3
Одним из самых популярных, если не самый популярный, программных шлюзов является pfSense. Хотел тут оставить ссылку на заметку о нём, но оказалось, что её никогда не было. Это очень старое, проверенное временем решение на базе FreeBSD - программный шлюз с файрволом, который настраивается и управляется через веб интерфейс.
Недавно знакомый попросил скачать образ, так как без VPN он недоступен, и у него не получалось скачать. Прислал ссылку. Я зашёл по ссылке и ничего не понял. Сайт вроде тот. Жму кнопку Download и попадаю в магазин Netgate. Не понимаю, что тут надо качать.
Пошёл в документацию pfSense, всё там перечитал по установке и понял, что надо каким-то образом оформлять покупку за нулевую стоимость, предварительно зарегистрировавшись и отдав кучу личной информации. Иначе свежий ISO образ с pfSense не получить. Плюнул на это дело и предложил скачивать предыдущую версию, которая существует в виде обычной ссылки для загрузки.
Немного позже разобрался с этим вопросом. Оказалось, что компания Netgate, которая занимается разработкой pfSense, перешла на новую схему распространения продукта. Вместо прямой загрузки ISO образа, теперь надо покупать Netgate Installer в их фирменном магазине. Этот установщик во время установки требует подключение к интернету для загрузки компонентов системы.
Несмотря на то, что продаётся этот установщик за 0$, оформить покупку всё равно не очень просто. Во-первых, там надо зарегистрироваться, а во время оформления заказа ещё и адрес с телефоном указать. Во-вторых, там заблокирован доступ с IP адресов РФ, причём так, что я даже через американский VPN сейчас зайти не могу.
В связи с этим я бы рекомендовал использовать OPNsense, как наиболее близкий и функциональный аналог. Там посвежее веб интерфейс, никаких ограничений и блокировок загрузки. Идёшь на сайт и качаешь любой подходящий ISO образ. При таких вводных не вижу ни одной причины, почему стоит отдать предпочтение pfSense, а не OPNsense.
Походу Netgate начала свою бесплатную систему потихоньку хоронить. Такой способ распространения многим не понравится. Люди будут отказываться в пользу аналогов. Кратко упомяну ещё несколько бесплатных программных шлюзов:
▪️VyOS (только CLI, без веб интерфейса)
▪️IPFire
▪️OpenWrt
Эти шлюзы я сам в то или иное время устанавливал и настраивал. Есть ещё те, что я лично не тестировал. Плюс, они частично бесплатные, то есть существуют более функциональные платные редакции, а те, что бесплатны, сильно урезаны. Но если ограничения для вас будут некритичны, то можно пользоваться:
◽️RouterOS
◽️ИКС
◽️Ideco
◽️Sophos Firewall Home Edition
◽️Endian Firewall Community
◽️Smoothwall Express
Был ещё неплохой проект ClearOS, которым я пользовался, писал статьи, заметки по нему. Но сейчас он мёртв. Больше не развивается, хоть сайт и живой. На вид не понятно, что с ним какие-то проблемы. Использовать не рекомендую.
Если кто-то использовал Endian Firewall Community и Smoothwall Express, дайте, пожалуйста, обратную связь по ним. Я их лично не видел. Думаю попробовать, но не хочется время тратить, если это ерунда и существенно хуже того же OPNsense.
#gateway
Недавно знакомый попросил скачать образ, так как без VPN он недоступен, и у него не получалось скачать. Прислал ссылку. Я зашёл по ссылке и ничего не понял. Сайт вроде тот. Жму кнопку Download и попадаю в магазин Netgate. Не понимаю, что тут надо качать.
Пошёл в документацию pfSense, всё там перечитал по установке и понял, что надо каким-то образом оформлять покупку за нулевую стоимость, предварительно зарегистрировавшись и отдав кучу личной информации. Иначе свежий ISO образ с pfSense не получить. Плюнул на это дело и предложил скачивать предыдущую версию, которая существует в виде обычной ссылки для загрузки.
Немного позже разобрался с этим вопросом. Оказалось, что компания Netgate, которая занимается разработкой pfSense, перешла на новую схему распространения продукта. Вместо прямой загрузки ISO образа, теперь надо покупать Netgate Installer в их фирменном магазине. Этот установщик во время установки требует подключение к интернету для загрузки компонентов системы.
Несмотря на то, что продаётся этот установщик за 0$, оформить покупку всё равно не очень просто. Во-первых, там надо зарегистрироваться, а во время оформления заказа ещё и адрес с телефоном указать. Во-вторых, там заблокирован доступ с IP адресов РФ, причём так, что я даже через американский VPN сейчас зайти не могу.
В связи с этим я бы рекомендовал использовать OPNsense, как наиболее близкий и функциональный аналог. Там посвежее веб интерфейс, никаких ограничений и блокировок загрузки. Идёшь на сайт и качаешь любой подходящий ISO образ. При таких вводных не вижу ни одной причины, почему стоит отдать предпочтение pfSense, а не OPNsense.
Походу Netgate начала свою бесплатную систему потихоньку хоронить. Такой способ распространения многим не понравится. Люди будут отказываться в пользу аналогов. Кратко упомяну ещё несколько бесплатных программных шлюзов:
▪️VyOS (только CLI, без веб интерфейса)
▪️IPFire
▪️OpenWrt
Эти шлюзы я сам в то или иное время устанавливал и настраивал. Есть ещё те, что я лично не тестировал. Плюс, они частично бесплатные, то есть существуют более функциональные платные редакции, а те, что бесплатны, сильно урезаны. Но если ограничения для вас будут некритичны, то можно пользоваться:
◽️RouterOS
◽️ИКС
◽️Ideco
◽️Sophos Firewall Home Edition
◽️Endian Firewall Community
◽️Smoothwall Express
Был ещё неплохой проект ClearOS, которым я пользовался, писал статьи, заметки по нему. Но сейчас он мёртв. Больше не развивается, хоть сайт и живой. На вид не понятно, что с ним какие-то проблемы. Использовать не рекомендую.
Если кто-то использовал Endian Firewall Community и Smoothwall Express, дайте, пожалуйста, обратную связь по ним. Я их лично не видел. Думаю попробовать, но не хочется время тратить, если это ерунда и существенно хуже того же OPNsense.
#gateway
👍103👎3
Я не так давно делал подборку инструментов для учёта трафика в сети. Сейчас наиболее функциональное и бесплатное решение - Akvorado. У него одна существенная особенность. Он на базе Elasticsearch и очень прожорлив до ресурсов.
Сразу скажу, для чего подобные продукты могут быть полезны, даже если у вас очень простая инфраструктура. Банально, хочется понимать, что вообще происходит в сети и желательно хотя бы с небольшой ретроспективой. Когда всё нормально работает, вроде как и не нужна никакая статистика. А если что-то идёт не так и где-то тормозит? А у вас нет ничего, что анализировало бы трафик. Надо идти на шлюз, что-то там запускать, смотреть в консоли кто куда ходит и из-за чего всё тормозит. Может и не из-за сети.
Упомянутой в начале подборке очень не хватает в составе Xenoeye. Это полностью бесплатный Netflow/IPFIX/sFlow коллектор и анализатор от российских разработчиков. Я его запустил у себя и попробовал. Очень классное решение, особенно для небольших инфраструктур. Расскажу обо всё по порядку.
Сразу перечислю основные особенности Xenoeye:
▪️Полностью бесплатное решение.
▪️Есть готовый LXC контейнер и шаблон на его базе для Proxmox, ничего вручную устанавливать не надо.
▪️Для базовой функциональности достаточно просто запустить контейнер и смотреть графики в Grafana.
▪️Простые и гибкие настройки для детализации по объектам и событиям.
▪️Относительно небольшое для такого рода продуктов потребление ресурсов.
По Xenoeye особо нет инструкций или подробного описания, кроме статьи на хабре от разработчика. Я сначала бегло посмотрел репозиторий и немного приуныл, так как показалось, что надо долго и муторно разбираться с системой. Потом заметил шаблон для Proxmox и решил развернуть систему из него.
Вот прямая ссылка на шаблон. Скачал в Proxmox и развернул в привилегированном контейнере. Установил туда openssh-server, чтобы можно было подключиться по SSH.
Зашёл в систему, открыл документацию и не очень понял, что надо сделать, чтобы начать собирать трафик. Открыл конфигурацию, посмотрел её, закрыл. Посмотрел список открытых портов, которые слушает приложение. Увидел там открытый порт UDP 2056. Сходил на свой Mikrotik, в раздел IP ⇨ Traffic Flow ⇨ Targets и добавил IP адрес LXC контейнера Xenoeye и порт 2056.
Оказалось, этого достаточно. То есть после запуска контейнера система полностью готова к приему Netflow потока. Все базовые настройки там уже сделаны, службы запущены.
Далее пошёл на 3000-й порт контейнера. Там уже запущена Grafana с несколькими обзорными дашбордами, которых для общего представления о том, что происходит, достаточно.
Более детальную статистику с выделением нужных вам подсетей, хостов или направлений можно сделать самостоятельно. В репозитории есть документация на русском языке с примерами. Настраивается всё довольно просто.
Данные хранятся в PostgreSQL, а дашборды в Grafana рисуются запросами напрямую в базу. Соответственно, вывести себе на дашборд вы можете всё, что угодно, предварительно создав нужные вам сущности в конфигурации. Покажу пример из документации.
Допустим, вам надо отследить тех, кто из вашей сети ходит на внешние SSH сервера. Описываете такие хосты в отдельном файле конфигурации
После этого отсортированный список IP адресов можно получить одним SQL запросом:
То же самое можно сделать для исходящих SMTP запросов не с ваших почтовых серверов и т.д.
Я для своей небольшой тестовой сети из нескольких хостов запустил контейнер с 2 CPU и 4 Gb RAM. Нагрузки почти никакой не было. Можно было и в 2 раза меньше ресурсов выделить.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки, а разработчикам⭐️ в 4️⃣
———
ServerAdmin:📱 Telegram | 🌐 Сайт | 📲 MAX
#netflow #gateway
Сразу скажу, для чего подобные продукты могут быть полезны, даже если у вас очень простая инфраструктура. Банально, хочется понимать, что вообще происходит в сети и желательно хотя бы с небольшой ретроспективой. Когда всё нормально работает, вроде как и не нужна никакая статистика. А если что-то идёт не так и где-то тормозит? А у вас нет ничего, что анализировало бы трафик. Надо идти на шлюз, что-то там запускать, смотреть в консоли кто куда ходит и из-за чего всё тормозит. Может и не из-за сети.
Упомянутой в начале подборке очень не хватает в составе Xenoeye. Это полностью бесплатный Netflow/IPFIX/sFlow коллектор и анализатор от российских разработчиков. Я его запустил у себя и попробовал. Очень классное решение, особенно для небольших инфраструктур. Расскажу обо всё по порядку.
Сразу перечислю основные особенности Xenoeye:
▪️Полностью бесплатное решение.
▪️Есть готовый LXC контейнер и шаблон на его базе для Proxmox, ничего вручную устанавливать не надо.
▪️Для базовой функциональности достаточно просто запустить контейнер и смотреть графики в Grafana.
▪️Простые и гибкие настройки для детализации по объектам и событиям.
▪️Относительно небольшое для такого рода продуктов потребление ресурсов.
По Xenoeye особо нет инструкций или подробного описания, кроме статьи на хабре от разработчика. Я сначала бегло посмотрел репозиторий и немного приуныл, так как показалось, что надо долго и муторно разбираться с системой. Потом заметил шаблон для Proxmox и решил развернуть систему из него.
Вот прямая ссылка на шаблон. Скачал в Proxmox и развернул в привилегированном контейнере. Установил туда openssh-server, чтобы можно было подключиться по SSH.
Зашёл в систему, открыл документацию и не очень понял, что надо сделать, чтобы начать собирать трафик. Открыл конфигурацию, посмотрел её, закрыл. Посмотрел список открытых портов, которые слушает приложение. Увидел там открытый порт UDP 2056. Сходил на свой Mikrotik, в раздел IP ⇨ Traffic Flow ⇨ Targets и добавил IP адрес LXC контейнера Xenoeye и порт 2056.
Оказалось, этого достаточно. То есть после запуска контейнера система полностью готова к приему Netflow потока. Все базовые настройки там уже сделаны, службы запущены.
Далее пошёл на 3000-й порт контейнера. Там уже запущена Grafana с несколькими обзорными дашбордами, которых для общего представления о том, что происходит, достаточно.
Более детальную статистику с выделением нужных вам подсетей, хостов или направлений можно сделать самостоятельно. В репозитории есть документация на русском языке с примерами. Настраивается всё довольно просто.
Данные хранятся в PostgreSQL, а дашборды в Grafana рисуются запросами напрямую в базу. Соответственно, вывести себе на дашборд вы можете всё, что угодно, предварительно создав нужные вам сущности в конфигурации. Покажу пример из документации.
Допустим, вам надо отследить тех, кто из вашей сети ходит на внешние SSH сервера. Описываете такие хосты в отдельном файле конфигурации
/var/lib/xenoeye/mo/ssh_scanners/mo.conf:{ "filter": "src net my-nets and dst port 22", "fwm": [ { "name": "hosts", "fields": ["packets", "src host", "dst host", "proto"] } ]}После этого отсортированный список IP адресов можно получить одним SQL запросом:
$ select src_host, count(src_host) from (select distinct src_host, dst_host from ssh_scanners where time >= now() - interval '1 day' order by src_host desc) as x group by src_host order by count desc;То же самое можно сделать для исходящих SMTP запросов не с ваших почтовых серверов и т.д.
Я для своей небольшой тестовой сети из нескольких хостов запустил контейнер с 2 CPU и 4 Gb RAM. Нагрузки почти никакой не было. Можно было и в 2 раза меньше ресурсов выделить.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки, а разработчикам
———
ServerAdmin:
#netflow #gateway
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍122👎3