A few months ago I wanted to implement Bro-IDS with Kibana.
Since I didn't know much about both, I followed this tutorial: https://medium.com/@utham/bro-elk-stack-integration-part-3-4fe02b5ff519
Everything worked, except for the coordinate map.
Most of the ip addresses are getting resolved to their properties (names, countries etc), so that part is working.
{
"_index": "logstash-2018.02.28",
"_type": "doc",
"_id": "M0v_3WEBqb-C69Pe_xOR",
"_score": 1,
"_source": {
"uid": "CtADaGKKVPJpVk8Mg",
"orig_bytes": 931,
"proto": "tcp",
"missed_bytes": 0,
"@timestamp": "2018-02-28T19:59:50.812Z",
"id_orig_port": "65033",
"conn_state": "SF",
"type": "bro-conn_log",
"id_orig_host": "[LOCAL IP ADDRESS]",
"orig_ip_bytes": 16,
"@version": "1",
"resp_bytes": 10669,
"id_resp_port": "443",
"duration": 0.426291,
"column21": "(empty)",
"orig_pkts": 0,
"history": "0",
"host": "[HOST HIDDEN]",
"resp_pkts": 1775,
"service": "ssl",
"message": "[MESSAGE HIDDEN]",
"tags": [
"_geoip_lookup_failure"
],
"resp_ip_bytes": 13,
"resp_geoip": {
"postal_code": "94043",
"country_code2": "US",
"location": {
"lat": 37.419200000000004,
"lon": -122.0574
},
"country_name": "United States",
"ip": "74.125.97.233",
"city_name": "Mountain View",
"dma_code": 807,
"region_code": "CA",
"country_code3": "US",
"continent_code": "NA",
"latitude": 37.419200000000004,
"timezone": "America/Los_Angeles",
"region_name": "California",
"longitude": -122.0574
},
"path": "/usr/local/bro/logs/current/conn.log",
"local_orig": "T",
"tunnel_parents": "11353",
"conn_state_full": "Normal SYN/FIN completion",
"id_resp_host": "74.125.97.233",
"ts": "1519847990.812600",
"orig_geoip": {}
},
"fields": {
"@timestamp": [
"2018-02-28T19:59:50.812Z"
]
}
}
As you can see, there is no field called geoip.location in the json, but the geoip.location option is the only one I can select.
I tried to change the index pattern, but it wouldn't allow me too.
What is going wrong?
I am using ELK 6.2.2