Привет, привет! Сегодня я хочу поделиться с вами своим опытом настройки 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):Загрузите и установите ids suricata: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
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 #информационная безопасность #открытый исходный код
-
Как Избежать Проблем С Медицинскими Счетами
19 Oct, 24 -
Macosx Leopard (10.5) Появился В Торрентах
19 Oct, 24 -
Дни Веб-Стандартов В Яндексе
19 Oct, 24 -
Быстрая Отправка Скриншотов
19 Oct, 24