mirror of
https://github.com/debricked/dmarc-visualizer.git
synced 2026-02-17 07:03:57 +00:00
Initial commit.
This commit is contained in:
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
/files/
|
||||
/output_files/
|
||||
/parsedmarc/GeoLite2-Country*
|
||||
13
README.md
13
README.md
@@ -1,2 +1,13 @@
|
||||
# dmarc-visualizer
|
||||
Analyse and visualize DMARC results using open-source tools
|
||||
|
||||
Analyse and visualize DMARC results using open-source tools.
|
||||
|
||||
* [parsedmarc](https://github.com/domainaware/parsedmarc) for parsing DMARC reports,
|
||||
* [Elasticsearch](https://www.elastic.co/) to store aggregated data.
|
||||
* [Grafana](https://grafana.com/) to visualize the aggregated reports.
|
||||
|
||||
See the full blog post with instructions at https://debricked.com/blog/some-url-here.
|
||||
|
||||
## Screenshot
|
||||
|
||||

|
||||
|
||||
BIN
big_screenshot.png
Normal file
BIN
big_screenshot.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 264 KiB |
23
docker-compose.yml
Normal file
23
docker-compose.yml
Normal file
@@ -0,0 +1,23 @@
|
||||
version: '3.7'
|
||||
services:
|
||||
parsedmarc:
|
||||
build: ./parsedmarc/
|
||||
volumes:
|
||||
- ./files:/input:ro
|
||||
- ./output_files:/output
|
||||
command: parsedmarc -c /parsedmarc.ini /input/*
|
||||
depends_on:
|
||||
- elasticsearch
|
||||
|
||||
elasticsearch:
|
||||
image: docker.elastic.co/elasticsearch/elasticsearch:7.6.0
|
||||
environment:
|
||||
- discovery.type=single-node
|
||||
|
||||
grafana:
|
||||
build: ./grafana/
|
||||
ports:
|
||||
- 3000:3000
|
||||
environment:
|
||||
GF_INSTALL_PLUGINS: grafana-piechart-panel,grafana-worldmap-panel
|
||||
GF_AUTH_ANONYMOUS_ENABLED: 'true'
|
||||
6
grafana/Dockerfile
Normal file
6
grafana/Dockerfile
Normal file
@@ -0,0 +1,6 @@
|
||||
FROM grafana/grafana:6.7.3
|
||||
|
||||
ADD --chown=grafana:grafana https://raw.githubusercontent.com/domainaware/parsedmarc/master/grafana/Grafana-DMARC_Reports.json /var/lib/grafana/dashboards/
|
||||
RUN chmod 644 /var/lib/grafana/dashboards/Grafana-DMARC_Reports.json
|
||||
|
||||
COPY grafana-provisioning/ /etc/grafana/provisioning/
|
||||
6
grafana/grafana-provisioning/dashboards/all.yml
Normal file
6
grafana/grafana-provisioning/dashboards/all.yml
Normal file
@@ -0,0 +1,6 @@
|
||||
- name: 'default'
|
||||
org_id: 1
|
||||
path: ''
|
||||
type: 'file'
|
||||
options:
|
||||
folder: '/var/lib/grafana/dashboards'
|
||||
16
grafana/grafana-provisioning/datasources/all.yml
Normal file
16
grafana/grafana-provisioning/datasources/all.yml
Normal file
@@ -0,0 +1,16 @@
|
||||
apiVersion: 1
|
||||
|
||||
datasources:
|
||||
- name: 'dmarc-ag'
|
||||
type: 'elasticsearch'
|
||||
access: 'proxy'
|
||||
orgId: 1
|
||||
url: 'http://elasticsearch:9200'
|
||||
database: '[dmarc_aggregate-]YYYY-MM-DD'
|
||||
isDefault: true
|
||||
jsonData:
|
||||
esVersion: 70
|
||||
timeField: 'date_range'
|
||||
interval: 'Daily'
|
||||
version: 1
|
||||
editable: false
|
||||
7
parsedmarc/Dockerfile
Normal file
7
parsedmarc/Dockerfile
Normal file
@@ -0,0 +1,7 @@
|
||||
FROM python:alpine
|
||||
|
||||
RUN apk add build-base libxml2-dev libxslt-dev \
|
||||
&& pip install parsedmarc
|
||||
|
||||
COPY parsedmarc.ini /
|
||||
#COPY GeoLite2-Country.mmdb /usr/share/GeoIP/GeoLite2-Country.mmdb
|
||||
8
parsedmarc/parsedmarc.ini
Normal file
8
parsedmarc/parsedmarc.ini
Normal file
@@ -0,0 +1,8 @@
|
||||
[general]
|
||||
save_aggregate = True
|
||||
save_forensic = True
|
||||
output = /output/
|
||||
|
||||
[elasticsearch]
|
||||
hosts = elasticsearch:9200
|
||||
ssl = False
|
||||
Reference in New Issue
Block a user