in case you’re on a gateway relaying DNS, you might want to skip those noisy flows – beware of dns covert channels however
vi /etc/fluent-bit/fluent-bit.conf
[SERVICE]
...
parsers_file custom_parsers.conf
streams_file streams.conf
[INPUT]
name tail
path /var/log/suricata/eve.json
tag eve
parser json_no_time
[FILTER]
name geoip2
match source.flowfix
database /etc/fluent-bit/GeoLite2-City.mmdb
lookup_key src_ip
record src.rescue src_ip %{country.names.ru}
[FILTER]
name geoip2
match source.flowfix
database /etc/fluent-bit/GeoLite2-City.mmdb
lookup_key dest_ip
record dest.rescue dest_ip %{country.names.ru}
[FILTER]
name modify
match source.flowfix
add sensor suricata@HOSTNAME-HERE
[OUTPUT]
name file
match source.flowfix
path /var/log
file fluent-bit.suricata.log
vi /etc/fluent-bit/custom_parsers.conf
[PARSER]
name json_no_time
format json
vi /etc/fluent-bit/streams.conf
[STREAM_TASK]
Name flow_no_dns
Exec CREATE STREAM flowfix WITH (tag='source.flowfix') AS SELECT * from STREAM:tail.0 WHERE NOT dest_port = 53;
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/geo-point.html