Опять Про Ids Или Elk Для Сурикаты

Привет, привет! Сегодня я хочу поделиться с вами своим опытом настройки ELK и IDS Suricata. В интернете много мануалов, но ни один из них не позволит вам «импортировать» кучу этих продуктов в актуальных версиях.

Также есть готовый дистрибутив SELKS — www.stamus-networks.com/open-source/#selks или, как вариант, связка snor, snorby и barnyard2 в SecOnion — blog.securityonion.net .

Остальное прошу под кат. Итак, что нам нужно: Система, которая будет визуально отображать события от IDS, и что это не ArcSight, OSSIM, QRadar и т.п.

Для начала найдем что-нибудь из RHEL7 или CentOS7. Вы также можете использовать Ubuntu LTS, в зависимости от того, что вы предпочитаете для производства.

А также сами компоненты ELK и IDS. Суриката - suricata-ids.org ЭластичныйПоиск — www.elastic.co/products/elasticsearch Логсташ - www.elastic.co/products/logstash Кибана - www.elastic.co/products/kibana Ну, взорвите, чтобы произошло чудо.

В смысле, подумайте!



ИДС

Для начала установим необходимые компоненты (java, json):
  
  
  
  
  
  
  
  
   

yum -y install java-1.8.0-openjdk-devel.x86_64 yum -y install gcc libpcap-devel pcre-devel libyaml-devel file-devel zlib-devel jansson-devel nss-devel libcap-ng-devel libnet-devel tar make libnetfilter_queue-devel lua-devel

Загрузите и установите ids suricata:

wget http://www.openinfosecfoundation.org/download/suricata-3.0.tar.gz tar -xvzf suricata-3.0.tar.gz cd suricata-3.0 .

/configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-nfqueue --enable-lua

Дальше

make; sudo make install; sudo ldconfig

Или следующие команды для автоматической настройки: make install-conf; сделать правила установки make install-full — если вам не нужно что-то дорабатывать, я рекомендую использовать эту команду.

Переменные будут созданы автоматически, папки и правила соответственно будут загружены в каталог /rules. При автоматической установке нужная нам директория с логами будет находиться в:

@srv-ids ~]# cd /var/log/suricata/

Файлы будут здесь: eve.json fast.log http.log stats.log. Но не все файлы одинаково полезны.

Нам нужен тот, что с хвостом json Теперь вам нужно настроить IDS. Мы сосредоточимся только на том, чтобы оповещения попадали в файл JSON. Заходим в /etc/suricata/suricata.yaml и находим там блок вывода логов или оповещений.

Для вывода в json вам понадобится следующая конфигурация:

- eve-log: enabled: yes filetype: regular #regular|syslog|unix_dgram|unix_stream|redis filename: eve.json

Остальная конфигурация на ваше усмотрение.

К счастью, там есть над чем подумать.



ЛОСЬ

Следующий эластический поиск: Давайте проверим, что происходит с Java:

java –version echo $JAVA_HOME

Если все ок, продолжаем (иначе переходим в начало заметки).

Загрузите и установите elasticsearch:

wget https://download.elasticsearch.org/elasticsearch/release/org/elasticsearch/distribution/rpm/elasticsearch/2.2.1/elasticsearch-2.2.1.rpm sudo rpm -Uvh .

/elasticsearch-2.2.1.rpm sudo systemctl daemon-reload sudo systemctl enable elasticsearch.service sudo systemctl start elasticsearch.service sudo systemctl status elasticsearch.service

Статус – ОК? Пойдем, возьмем Logstash

wget https://download.elastic.co/logstash/logstash/packages/centos/logstash-2.2.2-1.noarch.rpm sudo rpm -Uvh .

/logstash-2.2.2-1.noarch.rpm

Тверь нужно настроить, заходим в /etc/logstash/conf.d/ Вот как выглядит рабочий конфиг logstash для текущих версий программных компонентов:

input { file { path => ["/var/log/suricata/eve.json"] #sincedb_path => ["/var/lib/logstash/"] codec => json type => "SuricataIDPS-logs" start_position => "beginning" } } filter { if [type] == "SuricataIDPS-logs" { date { match => [ "timestamp", "ISO8601" ] } ruby { code => "if event['event_type'] == 'fileinfo'; event['fileinfo']['type']=event['fileinfo']['magic'].

to_s.split(',')[0]; end;" } } if [src_ip] { geoip { source => "src_ip" target => "geoip" #database => "/opt/logstash/vendor/geoip/GeoLiteCity.dat" add_field => [ "[geoip][coordinates]", "%{[geoip][longitude]}" ] add_field => [ "[geoip][coordinates]", "%{[geoip][latitude]}" ] } mutate { convert => [ "[geoip][coordinates]", "float" ] } } } output { elasticsearch { hosts => ["localhost:9200"] } #stdout { codec => rubydebug }

Теги: #лось #suricata #ids #kibana #информационная безопасность #открытый исходный код

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.