Skip to main content
Loading...

Распределенный поиск - возможность поиска по выбранным нодам (другим серверам RuSIEM/RvSIEM).

Распределенный поиск позволяет не агрегировать события с множества удаленных объектов со слабыми каналами, но иметь необходимые данные по запросу.

Запрос к нескольким нодам позволяет "склеивать" данные в единый ответ и осуществлять поиск сразу по нескольким разрозненным объектам. Например, оператор в центральном офисе может поискать в запросе по 20 и более филиалам компании, хотя физически это 20 различных региональных сервера.

Например, в SOC нет необходимости передавать все события. Однако, оператор в SOC может сделать комплексный запрос по выбранным компаниям "с каких хостов было обращение к ip 8.8.8.8". При этом, оператор выбирает по каким компаниям он делает запрос. В сохраненном запросе оператор также может сохранить пул компаний, чтобы не делать выбор каждый раз, а получать уже готовую выборку.

Распределенный поиск работает как в коммерческой версии RuSIEM, так и в свободно-распространяемой RvSIEM free.

Распределенный поиск:

  • позволяет операторам без централизации событий осуществлять поиск по множеству филиалов и компаний
  • видеть полную картину происходящего в инфраструктуре в едином запросе
  • предоставляет экономию на дисковой подсистеме и каналах связи
  • позволяет строить разветвленную архитектуру сбора и анализа событий, не имеющую ограничений

Настройка распределенного поиска

Распределенный поиск возможен только на нодах, начиная с версии Elasticsearch начиная с 5.6.

Текущую установленную версию можно посмотреть командой из консоли:

dpkg --list | grep elasticsearch

Обновить версию Elasticsearch до версии 5.6 с потерей данных (потеряются только накопленные события) можно командой:

/opt/rusiem/database/support/migrate_es_from_1.7_to_5.4.sh

Для миграции с версии 1.7 до 5.6 обратитесь в службу технической поддержки mailto:support@rusiem.com

Настройка распределенного поиска осуществляется вручную в несколько этапов:

  1. настройка межсетевого экрана
  2. настройка Elasticsearch
  3. настройка нод из веб-интерфейса

Настройка межсетевого экрана

Чтобы иметь возможность сделать запрос на удаленную ноду (Elasticsearch, где установлен пакет rusiem-database) должен быть открыты порты tcp/9300. По умолчанию, порты закрыты по соображениям информационной безопасности.

Например, чтобы иметь с ноды А запрашивать события на ноде B - на ноде А:

  • отредактируйте конфигурацию файерволла /etc/init.d/firewall.sh добавив строчки:

iptables -A OUTPUT -p tcp -s $EXTIP --dport 9300 -d 172.16.0.125 -j ACCEPT
iptables -A INPUT -p tcp -d $EXTIP --sport 9300 -s 172.16.0.125 -j ACCEPT

где 172.16.0.125 - адрес ноды B

либо для соединения с любой удаленной нодой (только исходящие):

iptables -A OUTPUT -p tcp -s $EXTIP --dport 9300 -j ACCEPT
iptables -A INPUT -p tcp -d $EXTIP --sport 9300 -j ACCEPT

  • на ноде B необходимо также разрешить входящее соединение с ноды A, отредактировав на ноде B конфигурацию файерволла /etc/init.d/firewall.sh, добавив строчки:

iptables -A INPUT -p tcp -d $EXTIP --dport 9300 -s 172.16.0.22 -j ACCEPT

iptables -A OUTPUT -p tcp -s $EXTIP --sport 9300 -d 172.16.0.22 -j ACCEPT

где 172.16.0.22 - адрес ноды А.

Внимание! Категорически не рекомендуется открывать входящие соединения для всех, указывайте только точечно - каким ip разрешено обращаться к данным. В противном случае, любой сможет получить доступ к данным!

После изменения конфигурации файерволла, необходимо применить изменения командой /etc/init.d/firewall.sh start

Настройка Elasticsearch

Для настройки Elasticsearch:

1. Убедитесь, что версия Elasticsearch не ниже 5.6 командой dpkg --list | grep elastic

2. В файле конфигурации /etc/elasticsearch/elasticsearch.yml установите параметры:

network.host: 0.0.0.0

http.port: 9200

3. В файле конфигурации /etc/default/elasticsearch установите параметр:

MAX_LOCKED_MEMORY=unlimited

4. После изменений конфигурации, перезагрузите сервис командой service elasticsearch restart

5. Командой netstat -vpntlu | egrep '9200|9300' убедитесь, что сервис elasticsearch успешно стартовал и доступен на 0.0.0.0:

tcp        0      0 0.0.0.0:9200            0.0.0.0:*               LISTEN      10690/java
tcp        0      0 0.0.0.0:9300            0.0.0.0:*               LISTEN      10690/java

Внимание! После рестарта сервиса, существует некоторая задержка его полного восстановления, зависящая от аппаратных ресурсов ноды (от секунд до пары минут).

Если что-то не стартовало, можно посмотреть причины командой: tail -f /var/log/elasticsearch/rusiem.log

В случае миграции с версии 1.7 - необходимо в разделе веб-интерфейса "Настройки" установить корректную версию Elasticsearch (5.х)!

Настройка веб-интерфейса

Настройка веб-интерфейса производится только после настройки межсетевого экрана и Elasticsearch!

Для настройки, первоначально необходимо добавить в веб-интерфейсе в разделе Настройки --> Ноды - ваши удаленные ноды (в примере - B).

Сделайте настройки как на скриншоте ниже, изменяя ваши ip и названия.

После внесения изменений в ноды, сохраните и нажмите кнопку "Обновить настройки удаленных нод". Данную кнопку необходимо обязательно нажимать после сохранения настроек и при наличии соединения с удаленной нодой! Кнопка передает параметры локальному Elasticsearch данные удаленной ноды через curl.

Если соединение с удаленной нодой имеется, в разделе "События" будет возможным выбрать удаленную ноду в верхней части шапки, как на рисунке ниже.

Если нода не доступна - в списке выбора она будет подсвечена серым цветом.

Так же, в сохраненном запросе существует возможность определить, по каким нодам осуществлять поиск в данном представлении, чтобы не выбирать каждый раз список нод.

Выбранная нода "Local" или отсутствующий выбор ноды - означает, что поиск осуществляется только по локальной ноде (или кластеру, указанным в настройках веб-интерфейса).

Выбор по какой-либо ноде, отличной от Local - означает, что поиск производится только по этой выбранной ноде.

Выбор по нескольким выбранным нодам - означает, что будут отображены (склеены) результаты сразу по нескольким отдельным нодам Elasticsearch (или кластерам).