Geoip Attack Map, is a open source tool that helps cyber security to display network attacks on your organization in real time. The data server follows a syslog file, and parses out source IP, destination IP, source port, and destination port. Protocols are determined via common ports, and the visualizations vary in color based on protocol type.
This tool works entirely works on syslog and because all appliances format logs differently, you will need to customize the log parsing functions. If your organization uses a SIEM (security information and event management system), it can probably normalize logs to save you a ton of time writing regex.
1. Send all syslog to SIEM.
2. Use SIEM to normalize logs.
3. Send normalized logs to the box (any Linux machine running syslog-ng will work)
running this software so the data server can parse them.
Download and install:
Run the following commands to install all required dependencies ( works on Ubuntu 14.04 x64)
sudo apt-get install python3-pip redis-server sudo pip3 install tornado tornado-redis redis maxminddb
Step 1: Make sure in /etc/redis/redis.conf to change bind 127.0.0.1 to bind 0.0.0.0 if you plan on running the DataServer on a different machine than the AttackMapServer.
Step 2: Make sure that the WebSocket address in/AttackMapServer/index.html points back to the IP address of the AttackMapServer so the browser knows the address of the WebSocket.
Step 3: Download the MaxMind GeoLite2 database, and change the
db_path variable in DataServer.py to the wherever you store the database.
Step 4: Add headquarters latitude/longitude to hqLatLng variable inindex.html
Step 5: Use
syslog-gen.sh to simulate dummy traffic “out of the box.”
Note: Remember, this code will only run correctly in a production environment after personalizing the parsing functions. The default parsing function is only written to parse ./syslog-gen.sh traffic.