{ "__inputs": [], "__requires": [ { "type": "datasource", "id": "elasticsearch", "name": "Elasticsearch", "version": "7.11.2" }, { "type": "grafana", "id": "grafana", "name": "Grafana", "version": "7.4.5" }, { "type": "panel", "id": "grafana-piechart-panel", "name": "Pie Chart", "version": "1.6.1" }, { "type": "panel", "id": "grafana-worldmap-panel", "name": "Worldmap Panel", "version": "0.3.2" }, { "type": "panel", "id": "graph", "name": "Graph", "version": "" }, { "type": "panel", "id": "stat", "name": "Stat", "version": "" }, { "type": "panel", "id": "table", "name": "Table", "version": "" }, { "type": "panel", "id": "text", "name": "Text", "version": "7.4.5" } ], "annotations": { "list": [ { "builtIn": 1, "datasource": "-- Grafana --", "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard" } ] }, "description": "Dashboard for reviewing reports from ParseDMARC", "editable": true, "gnetId": null, "graphTooltip": 0, "id": null, "iteration": 1616327630073, "links": [], "panels": [ { "collapsed": true, "datasource": null, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 0 }, "id": 28, "panels": [ { "content": "# DMARC Summary\r\nAs the name suggests, this dashboard is the best place to start reviewing your aggregate DMARC data.\r\n\r\nAcross the top of the dashboard, three pie charts display the percentage of alignment pass/fail for SPF, DKIM, and DMARC. Clicking on any chart segment will filter for that value.\r\n\r\n***Note***\r\nMessages should not be considered malicious just because they failed to pass DMARC; especially if you have just started collecting data. It may be a legitimate service that needs SPF and DKIM configured correctly.\r\n\r\nStart by filtering the results to only show failed DKIM alignment. While DMARC passes if a message passes SPF or DKIM alignment, only DKIM alignment remains valid when a message is forwarded without changing the from address, which is often caused by a mailbox forwarding rule. This is because DKIM signatures are part of the message headers, whereas SPF relies on SMTP session headers.\r\n\r\nUnderneath the pie charts. you can see graphs of DMARC passage and message disposition over time.\r\n\r\nUnder the graphs you will find the most useful data tables on the dashboard. On the left, there is a list of organizations that are sending you DMARC reports. In the center, there is a list of sending servers grouped by the base domain in their reverse DNS. On the right, there is a list of email from domains, sorted by message volume.\r\n\r\nBy hovering your mouse over a data table value and using the magnifying glass icons, you can filter on or filter out different values. Start by looking at the Message Sources by Reverse DNS table. Find a sender that you recognize, such as an email marketing service, hover over it, and click on the plus (+) magnifying glass icon, to add a filter that only shows results for that sender. Now, look at the Message From Header table to the right. That shows you the domains that a sender is sending as, which might tell you which brand/business is using a particular service. With that information, you can contact them and have them set up DKIM.\r\n\r\n***Note***\r\nIf you have a lot of B2C customers, you may see a high volume of emails as your domains coming from consumer email services, such as Google/Gmail and Yahoo! This occurs when customers have mailbox rules in place that forward emails from an old account to a new account, which is why DKIM authentication is so important, as mentioned earlier. Similar patterns may be observed with businesses who send from reverse DNS addressees of parent, subsidiary, and outdated brands.\r\n\r\n***Note***\r\nYou can add your own custom temporary filters by clicking on Add Filter at the upper right of the page.\r\n\r\n# DMARC Forensic Samples\r\nThe DMARC Forensic Samples section contains information on DMARC forensic reports (also known as failure reports or ruf reports). These reports contain samples of emails that have failed to pass DMARC.\r\n\r\n***Note***\r\nMost recipients do not send forensic/failure/ruf reports at all to avoid privacy leaks. Some recipients (notably Chinese webmail services) will only supply the headers of sample emails. Very few provide the entire email.\r\n\r\n# DMARC Alignment Guide\r\nDMARC ensures that SPF and DKIM authentication mechanisms actually authenticate against the same domain that the end user sees.\r\n\r\nA message passes a DMARC check by passing DKIM or SPF, **as long as the related indicators are also in alignment.**\r\n\r\n| \t| DKIM \t| SPF \t|\r\n|-----------\t|--------------------------------------------------------------------------------------------------------------------------------------------------\t|----------------------------------------------------------------------------------------------------------------\t|\r\n| **Passing** \t| The signature in the DKIM header is validated using a public key that is published as a DNS record of the domain name specified in the signature \t| The mail server's IP address is listed in the SPF record of the domain in the SMTP envelope's mail from header \t|\r\n| **Alignment** \t| The signing domain aligns with the domain in the message's from header \t| The domain in the SMTP envelope's mail from header aligns with the domain in the message's from header \t|\r\n\r\n\r\n# Further Reading\r\n[Demystifying DMARC: A guide to preventing email spoofing](https://seanthegeek.net/459/demystifying-dmarc/amp/)\r\n\r\n[DMARC Manual](https://menainfosec.com/wp-content/uploads/2017/12/DMARC_Service_Manual.pdf)\r\n\r\n[What is “External Destination Verification”?](https://dmarcian.com/what-is-external-destination-verification/)", "datasource": null, "fieldConfig": { "defaults": { "custom": {} }, "overrides": [] }, "gridPos": { "h": 12, "w": 23, "x": 0, "y": 1 }, "id": 26, "links": [], "mode": "markdown", "options": { "content": "# DMARC Summary\r\nAs the name suggests, this dashboard is the best place to start reviewing your aggregate DMARC data.\r\n\r\nAcross the top of the dashboard, three pie charts display the percentage of alignment pass/fail for SPF, DKIM, and DMARC. Clicking on any chart segment will filter for that value.\r\n\r\n***Note***\r\nMessages should not be considered malicious just because they failed to pass DMARC; especially if you have just started collecting data. It may be a legitimate service that needs SPF and DKIM configured correctly.\r\n\r\nStart by filtering the results to only show failed DKIM alignment. While DMARC passes if a message passes SPF or DKIM alignment, only DKIM alignment remains valid when a message is forwarded without changing the from address, which is often caused by a mailbox forwarding rule. This is because DKIM signatures are part of the message headers, whereas SPF relies on SMTP session headers.\r\n\r\nUnderneath the pie charts. you can see graphs of DMARC passage and message disposition over time.\r\n\r\nUnder the graphs you will find the most useful data tables on the dashboard. On the left, there is a list of organizations that are sending you DMARC reports. In the center, there is a list of sending servers grouped by the base domain in their reverse DNS. On the right, there is a list of email from domains, sorted by message volume.\r\n\r\nBy hovering your mouse over a data table value and using the magnifying glass icons, you can filter on or filter out different values. Start by looking at the Message Sources by Reverse DNS table. Find a sender that you recognize, such as an email marketing service, hover over it, and click on the plus (+) magnifying glass icon, to add a filter that only shows results for that sender. Now, look at the Message From Header table to the right. That shows you the domains that a sender is sending as, which might tell you which brand/business is using a particular service. With that information, you can contact them and have them set up DKIM.\r\n\r\n***Note***\r\nIf you have a lot of B2C customers, you may see a high volume of emails as your domains coming from consumer email services, such as Google/Gmail and Yahoo! This occurs when customers have mailbox rules in place that forward emails from an old account to a new account, which is why DKIM authentication is so important, as mentioned earlier. Similar patterns may be observed with businesses who send from reverse DNS addressees of parent, subsidiary, and outdated brands.\r\n\r\n***Note***\r\nYou can add your own custom temporary filters by clicking on Add Filter at the upper right of the page.\r\n\r\n# DMARC Forensic Samples\r\nThe DMARC Forensic Samples section contains information on DMARC forensic reports (also known as failure reports or ruf reports). These reports contain samples of emails that have failed to pass DMARC.\r\n\r\n***Note***\r\nMost recipients do not send forensic/failure/ruf reports at all to avoid privacy leaks. Some recipients (notably Chinese webmail services) will only supply the headers of sample emails. Very few provide the entire email.\r\n\r\n# DMARC Alignment Guide\r\nDMARC ensures that SPF and DKIM authentication mechanisms actually authenticate against the same domain that the end user sees.\r\n\r\nA message passes a DMARC check by passing DKIM or SPF, **as long as the related indicators are also in alignment.**\r\n\r\n| \t| DKIM \t| SPF \t|\r\n|-----------\t|--------------------------------------------------------------------------------------------------------------------------------------------------\t|----------------------------------------------------------------------------------------------------------------\t|\r\n| **Passing** \t| The signature in the DKIM header is validated using a public key that is published as a DNS record of the domain name specified in the signature \t| The mail server's IP address is listed in the SPF record of the domain in the SMTP envelope's mail from header \t|\r\n| **Alignment** \t| The signing domain aligns with the domain in the message's from header \t| The domain in the SMTP envelope's mail from header aligns with the domain in the message's from header \t|\r\n\r\n\r\n# Further Reading\r\n[Demystifying DMARC: A guide to preventing email spoofing](https://seanthegeek.net/459/demystifying-dmarc/amp/)\r\n\r\n[DMARC Manual](https://menainfosec.com/wp-content/uploads/2017/12/DMARC_Service_Manual.pdf)\r\n\r\n[What is “External Destination Verification”?](https://dmarcian.com/what-is-external-destination-verification/)", "mode": "markdown" }, "pluginVersion": "7.1.0", "timeFrom": null, "timeShift": null, "title": "", "transparent": true, "type": "text" } ], "title": "Guide", "type": "row" }, { "collapsed": false, "datasource": null, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 1 }, "id": 30, "panels": [], "title": "DMARC Summary", "type": "row" }, { "aliasColors": { "false": "#E0B400", "true": "#37872D" }, "breakPoint": "50%", "cacheTimeout": null, "combine": { "label": "Others", "threshold": 0 }, "datasource": "$datasourceag", "fieldConfig": { "defaults": { "custom": {} }, "overrides": [] }, "fontSize": "120%", "format": "none", "gridPos": { "h": 9, "w": 8, "x": 0, "y": 2 }, "id": 6, "interval": null, "legend": { "percentage": false, "show": true, "values": false }, "legendType": "Right side", "links": [], "maxDataPoints": 3, "nullPointMode": "connected", "pieType": "donut", "strokeWidth": "4", "targets": [ { "alias": "", "bucketAggs": [ { "$$hashKey": "object:243", "fake": true, "field": "spf_aligned", "id": "3", "settings": { "min_doc_count": 1, "missing": null, "order": "desc", "orderBy": "_term", "size": "0" }, "type": "terms" }, { "$$hashKey": "object:244", "field": "date_range", "id": "2", "settings": { "interval": "auto", "min_doc_count": 0, "trimEdges": 0 }, "type": "date_histogram" } ], "hide": false, "metrics": [ { "$$hashKey": "object:241", "field": "message_count", "id": "1", "meta": {}, "settings": {}, "type": "sum" } ], "query": "header_from.keyword:$fromdomain", "refId": "A", "timeField": "date_range" } ], "timeFrom": null, "timeShift": null, "title": "SPF Alignment", "transparent": true, "type": "grafana-piechart-panel", "valueName": "total" }, { "aliasColors": { "false": "#E0B400", "true": "#37872D" }, "breakPoint": "50%", "cacheTimeout": null, "combine": { "label": "Others", "threshold": 0 }, "datasource": "$datasourceag", "fieldConfig": { "defaults": { "custom": {} }, "overrides": [] }, "fontSize": "120%", "format": "none", "gridPos": { "h": 9, "w": 8, "x": 8, "y": 2 }, "id": 2, "interval": null, "legend": { "percentage": false, "show": true, "values": false }, "legendType": "Right side", "links": [], "maxDataPoints": 3, "nullPointMode": "connected", "pieType": "donut", "strokeWidth": "4", "targets": [ { "bucketAggs": [ { "fake": true, "field": "dkim_aligned", "id": "3", "settings": { "min_doc_count": 1, "missing": null, "order": "desc", "orderBy": "_term", "size": "0" }, "type": "terms" }, { "field": "date_range", "id": "2", "settings": { "interval": "auto", "min_doc_count": 0, "trimEdges": 0 }, "type": "date_histogram" } ], "hide": false, "metrics": [ { "field": "message_count", "id": "1", "meta": {}, "settings": {}, "type": "sum" } ], "query": "header_from.keyword:$fromdomain", "refId": "A", "timeField": "date_range" } ], "timeFrom": null, "timeShift": null, "title": "DKIM Alignment", "transparent": true, "type": "grafana-piechart-panel", "valueName": "total" }, { "aliasColors": { "false": "#C4162A", "true": "#37872D" }, "breakPoint": "50%", "cacheTimeout": null, "combine": { "label": "Others", "threshold": 0 }, "datasource": "$datasourceag", "description": "", "fieldConfig": { "defaults": { "custom": {} }, "overrides": [] }, "fontSize": "120%", "format": "none", "gridPos": { "h": 9, "w": 8, "x": 16, "y": 2 }, "id": 5, "interval": null, "legend": { "header": "", "percentage": false, "show": true, "values": false }, "legendType": "Right side", "links": [], "maxDataPoints": 3, "nullPointMode": "connected", "pieType": "donut", "strokeWidth": "4", "targets": [ { "bucketAggs": [ { "$$hashKey": "object:385", "fake": true, "field": "passed_dmarc", "id": "3", "settings": { "min_doc_count": 1, "missing": null, "order": "desc", "orderBy": "_term", "size": "0" }, "type": "terms" }, { "$$hashKey": "object:386", "field": "date_range", "id": "2", "settings": { "interval": "auto", "min_doc_count": 0, "trimEdges": 0 }, "type": "date_histogram" } ], "hide": false, "metrics": [ { "$$hashKey": "object:383", "field": "message_count", "id": "1", "meta": {}, "settings": {}, "type": "sum" } ], "query": "header_from.keyword:$fromdomain", "refId": "A", "timeField": "date_range" } ], "timeFrom": null, "timeShift": null, "title": "DMARC Passage", "transparent": true, "type": "grafana-piechart-panel", "valueName": "total" }, { "aliasColors": { "Pass": "dark-green", "fail": "dark-red", "false": "dark-yellow", "neutral": "super-light-blue", "none": "dark-yellow", "pass": "dark-green", "permerror": "dark-orange", "softfail": "super-light-green", "temperror": "semi-dark-yellow", "true": "dark-green" }, "bars": false, "cacheTimeout": null, "dashLength": 10, "dashes": false, "datasource": "$datasourceag", "decimals": null, "fieldConfig": { "defaults": { "custom": {}, "links": [ { "title": "", "url": "" } ] }, "overrides": [] }, "fill": 2, "fillGradient": 6, "gridPos": { "h": 9, "w": 12, "x": 0, "y": 11 }, "hiddenSeries": false, "id": 33, "legend": { "alignAsTable": true, "avg": false, "current": false, "hideEmpty": false, "hideZero": false, "max": false, "min": false, "rightSide": true, "show": true, "total": false, "values": false }, "lines": true, "linewidth": 2, "links": [], "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.4.5", "pointradius": 2, "points": false, "renderer": "flot", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "bucketAggs": [ { "fake": true, "field": "spf_results.result.keyword", "id": "3", "settings": { "min_doc_count": 1, "missing": null, "order": "desc", "orderBy": "_term", "size": "0" }, "type": "terms" }, { "field": "date_range", "id": "2", "settings": { "interval": "1d", "min_doc_count": 0, "trimEdges": 0 }, "type": "date_histogram" } ], "hide": false, "metrics": [ { "field": "message_count", "id": "1", "meta": {}, "settings": {}, "type": "sum" } ], "query": "header_from.keyword:$fromdomain", "refId": "A", "timeField": "date_range" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "SPF Results Over Time", "tooltip": { "shared": true, "sort": 2, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "none", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } }, { "aliasColors": { "Pass": "dark-green", "fail": "dark-red", "false": "dark-yellow", "neutral": "super-light-blue", "none": "dark-yellow", "pass": "dark-green", "permerror": "dark-orange", "temperror": "semi-dark-yellow", "true": "dark-green" }, "bars": false, "cacheTimeout": null, "dashLength": 10, "dashes": false, "datasource": "$datasourceag", "decimals": null, "fieldConfig": { "defaults": { "custom": {}, "links": [] }, "overrides": [] }, "fill": 2, "fillGradient": 6, "gridPos": { "h": 9, "w": 12, "x": 12, "y": 11 }, "hiddenSeries": false, "id": 19, "legend": { "alignAsTable": true, "avg": false, "current": false, "hideEmpty": false, "hideZero": false, "max": false, "min": false, "rightSide": true, "show": true, "total": false, "values": false }, "lines": true, "linewidth": 2, "links": [], "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.4.5", "pointradius": 2, "points": false, "renderer": "flot", "seriesOverrides": [], "spaceLength": 10, "stack": true, "steppedLine": false, "targets": [ { "bucketAggs": [ { "fake": true, "field": "dkim_results.result.keyword", "id": "3", "settings": { "min_doc_count": 1, "missing": null, "order": "desc", "orderBy": "_term", "size": "0" }, "type": "terms" }, { "field": "date_range", "id": "2", "settings": { "interval": "1d", "min_doc_count": 0, "trimEdges": 0 }, "type": "date_histogram" } ], "hide": false, "metrics": [ { "field": "message_count", "id": "1", "meta": {}, "settings": {}, "type": "sum" } ], "query": "header_from.keyword:$fromdomain", "refId": "A", "timeField": "date_range" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "DKIM Results Over Time", "tooltip": { "shared": true, "sort": 2, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "none", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } }, { "aliasColors": { "false": "dark-yellow", "true": "dark-green" }, "bars": false, "cacheTimeout": null, "dashLength": 10, "dashes": false, "datasource": "$datasourceag", "decimals": null, "fieldConfig": { "defaults": { "custom": {}, "links": [] }, "overrides": [] }, "fill": 2, "fillGradient": 6, "gridPos": { "h": 9, "w": 12, "x": 0, "y": 20 }, "hiddenSeries": false, "id": 18, "legend": { "alignAsTable": true, "avg": false, "current": false, "hideEmpty": false, "hideZero": false, "max": false, "min": false, "rightSide": true, "show": true, "total": false, "values": false }, "lines": true, "linewidth": 2, "links": [], "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.4.5", "pointradius": 2, "points": false, "renderer": "flot", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "bucketAggs": [ { "fake": true, "field": "spf_aligned", "id": "3", "settings": { "min_doc_count": 1, "missing": null, "order": "desc", "orderBy": "_term", "size": "0" }, "type": "terms" }, { "field": "date_range", "id": "2", "settings": { "interval": "1d", "min_doc_count": 0, "trimEdges": 0 }, "type": "date_histogram" } ], "hide": false, "metrics": [ { "field": "message_count", "id": "1", "meta": {}, "settings": { "missing": null }, "type": "sum" } ], "query": "header_from.keyword:$fromdomain", "refId": "A", "timeField": "date_range" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "SPF Alignment Over Time", "tooltip": { "shared": true, "sort": 2, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "none", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } }, { "aliasColors": { "false": "dark-yellow", "true": "dark-green" }, "bars": false, "cacheTimeout": null, "dashLength": 10, "dashes": false, "datasource": "$datasourceag", "decimals": null, "fieldConfig": { "defaults": { "custom": {}, "links": [] }, "overrides": [] }, "fill": 2, "fillGradient": 6, "gridPos": { "h": 9, "w": 12, "x": 12, "y": 20 }, "hiddenSeries": false, "id": 34, "legend": { "alignAsTable": true, "avg": false, "current": false, "hideEmpty": false, "hideZero": false, "max": false, "min": false, "rightSide": true, "show": true, "total": false, "values": false }, "lines": true, "linewidth": 2, "links": [], "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.4.5", "pointradius": 2, "points": false, "renderer": "flot", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "bucketAggs": [ { "fake": true, "field": "dkim_aligned", "id": "3", "settings": { "min_doc_count": 1, "missing": null, "order": "desc", "orderBy": "_term", "size": "0" }, "type": "terms" }, { "field": "date_range", "id": "2", "settings": { "interval": "1d", "min_doc_count": 0, "trimEdges": 0 }, "type": "date_histogram" } ], "hide": false, "metrics": [ { "field": "message_count", "id": "1", "meta": {}, "settings": { "missing": null }, "type": "sum" } ], "query": "header_from.keyword:$fromdomain", "refId": "A", "timeField": "date_range" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "DKIM Alignment Over Time", "tooltip": { "shared": true, "sort": 2, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "none", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } }, { "aliasColors": { "false": "dark-red", "true": "dark-green" }, "bars": false, "cacheTimeout": null, "dashLength": 10, "dashes": false, "datasource": "$datasourceag", "decimals": null, "fieldConfig": { "defaults": { "custom": {}, "links": [] }, "overrides": [] }, "fill": 2, "fillGradient": 6, "gridPos": { "h": 9, "w": 12, "x": 0, "y": 29 }, "hiddenSeries": false, "id": 7, "legend": { "alignAsTable": true, "avg": false, "current": false, "hideEmpty": false, "hideZero": false, "max": false, "min": false, "rightSide": true, "show": true, "total": false, "values": false }, "lines": true, "linewidth": 2, "links": [], "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.4.5", "pointradius": 2, "points": false, "renderer": "flot", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "bucketAggs": [ { "fake": true, "field": "passed_dmarc", "id": "3", "settings": { "min_doc_count": 1, "missing": null, "order": "desc", "orderBy": "_term", "size": "0" }, "type": "terms" }, { "field": "date_range", "id": "2", "settings": { "interval": "1d", "min_doc_count": 0, "trimEdges": 0 }, "type": "date_histogram" } ], "hide": false, "metrics": [ { "field": "message_count", "id": "1", "meta": {}, "settings": { "missing": null }, "type": "sum" } ], "query": "header_from.keyword:$fromdomain", "refId": "A", "timeField": "date_range" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "DMARC Passage Over Time", "tooltip": { "shared": true, "sort": 2, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "none", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } }, { "aliasColors": { "none": "dark-green", "quarantine": "semi-dark-orange", "reject": "red" }, "bars": false, "cacheTimeout": null, "dashLength": 10, "dashes": false, "datasource": "$datasourceag", "fieldConfig": { "defaults": { "custom": {}, "links": [] }, "overrides": [] }, "fill": 2, "fillGradient": 6, "gridPos": { "h": 9, "w": 12, "x": 12, "y": 29 }, "hiddenSeries": false, "id": 8, "legend": { "alignAsTable": true, "avg": false, "current": false, "max": false, "min": false, "rightSide": true, "show": true, "total": false, "values": false }, "lines": true, "linewidth": 2, "links": [], "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.4.5", "pointradius": 2, "points": false, "renderer": "flot", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "bucketAggs": [ { "fake": true, "field": "disposition.keyword", "id": "3", "settings": { "min_doc_count": 1, "missing": null, "order": "desc", "orderBy": "_term", "size": "0" }, "type": "terms" }, { "field": "date_range", "id": "2", "settings": { "interval": "1d", "min_doc_count": 0, "trimEdges": 0 }, "type": "date_histogram" } ], "hide": false, "metrics": [ { "field": "message_count", "id": "1", "meta": {}, "settings": {}, "type": "sum" } ], "query": "header_from.keyword:$fromdomain", "refId": "A", "timeField": "date_range" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "Message Disposition Over Time", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } }, { "cacheTimeout": null, "datasource": "$datasourceag", "fieldConfig": { "defaults": { "custom": {}, "displayName": "Total Message Count", "mappings": [ { "id": 0, "op": "=", "text": "N/A", "type": 1, "value": "null" } ], "thresholds": { "mode": "absolute", "steps": [ { "color": "dark-blue", "value": null } ] }, "unit": "locale" }, "overrides": [] }, "gridPos": { "h": 4, "w": 12, "x": 0, "y": 38 }, "id": 36, "interval": "$interval", "links": [], "options": { "colorMode": "background", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "sum" ], "fields": "", "values": false }, "text": {}, "textMode": "value_and_name" }, "pluginVersion": "7.4.5", "targets": [ { "bucketAggs": [ { "$$hashKey": "object:430", "fake": true, "field": "date_range", "id": "6", "settings": { "interval": "auto", "min_doc_count": 0, "trimEdges": 0 }, "type": "date_histogram" } ], "hide": false, "metrics": [ { "$$hashKey": "object:428", "field": "message_count", "id": "4", "meta": {}, "settings": {}, "type": "sum" } ], "query": "header_from.keyword:$fromdomain", "refId": "A", "timeField": "date_range" } ], "timeFrom": null, "timeShift": null, "title": "", "transparent": true, "type": "stat" }, { "datasource": "$datasourceag", "fieldConfig": { "defaults": { "custom": { "align": null, "filterable": false }, "mappings": [ { "from": "", "id": 0, "text": "", "to": "", "type": 1 } ], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Messages" }, "properties": [ { "id": "custom.displayMode", "value": "gradient-gauge" }, { "id": "thresholds", "value": { "mode": "percentage", "steps": [ { "color": "green", "value": null }, { "color": "dark-purple", "value": 101 } ] } } ] } ] }, "gridPos": { "h": 8, "w": 12, "x": 12, "y": 38 }, "id": 10, "links": [], "options": { "showHeader": true, "sortBy": [ { "desc": true, "displayName": "Messages" } ] }, "pluginVersion": "7.4.5", "targets": [ { "bucketAggs": [ { "$$hashKey": "object:920", "fake": true, "field": "source_base_domain.keyword", "id": "6", "settings": { "min_doc_count": 1, "missing": "none", "order": "desc", "orderBy": "4", "size": "2000" }, "type": "terms" } ], "hide": false, "metrics": [ { "$$hashKey": "object:918", "field": "message_count", "id": "4", "meta": {}, "settings": {}, "type": "sum" } ], "query": "header_from.keyword:$fromdomain", "refId": "A", "timeField": "date_range" } ], "timeFrom": null, "timeShift": null, "title": "Top 2000 Message Sources by Reverse DNS", "transformations": [ { "id": "organize", "options": { "excludeByName": {}, "indexByName": {}, "renameByName": { "Sum": "Messages", "source_base_domain.keyword": "Reverse DNS Base" } } } ], "type": "table" }, { "datasource": "$datasourceag", "fieldConfig": { "defaults": { "custom": { "align": null, "filterable": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Messages" }, "properties": [ { "id": "custom.displayMode", "value": "gradient-gauge" }, { "id": "thresholds", "value": { "mode": "percentage", "steps": [ { "color": "green", "value": null }, { "color": "dark-purple", "value": 101 } ] } } ] }, { "matcher": { "id": "byName", "options": "Reporting Organisation" }, "properties": [ { "id": "custom.width", "value": 183 } ] } ] }, "gridPos": { "h": 11, "w": 12, "x": 0, "y": 42 }, "id": 9, "links": [], "options": { "showHeader": true, "sortBy": [ { "desc": true, "displayName": "Messages" } ] }, "pluginVersion": "7.4.5", "targets": [ { "bucketAggs": [ { "$$hashKey": "object:291", "fake": true, "field": "org_name.keyword", "id": "7", "settings": { "min_doc_count": "1", "missing": null, "order": "desc", "orderBy": "4", "size": "0" }, "type": "terms" }, { "$$hashKey": "object:98", "fake": true, "field": "org_extra_contact_info.keyword", "id": "6", "settings": { "min_doc_count": "1", "missing": "-", "order": "desc", "orderBy": "4", "size": "0" }, "type": "terms" } ], "hide": false, "metrics": [ { "$$hashKey": "object:96", "field": "message_count", "id": "4", "meta": {}, "settings": {}, "type": "sum" } ], "query": "header_from.keyword:$fromdomain", "refId": "A", "timeField": "date_range" }, { "bucketAggs": [ { "$$hashKey": "object:102", "fake": true, "field": "org_extra_contact_info.keyword", "id": "6", "settings": { "min_doc_count": 1, "missing": null, "order": "desc", "orderBy": "4", "size": "0" }, "type": "terms" } ], "hide": true, "metrics": [ { "$$hashKey": "object:100", "field": "message_count", "id": "4", "meta": {}, "settings": {}, "type": "sum" } ], "query": "header_from.keyword:$fromdomain", "refId": "B", "timeField": "date_range" } ], "timeFrom": null, "timeShift": null, "title": "Reporting Organisations", "transformations": [ { "id": "organize", "options": { "excludeByName": {}, "indexByName": {}, "renameByName": { "Sum": "Messages", "org_extra_contact_info.keyword": "Org Contact Info", "org_name.keyword": "Reporting Organisation" } } } ], "type": "table" }, { "datasource": "$datasourceag", "fieldConfig": { "defaults": { "custom": { "align": null, "filterable": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Header From" }, "properties": [ { "id": "links", "value": [ { "targetBlank": true, "title": "Open ${__data.fields[\"header_from.keyword\"]} in new window", "url": "https://${__data.fields[\"header_from.keyword\"]}" } ] } ] }, { "matcher": { "id": "byName", "options": "Messages" }, "properties": [ { "id": "custom.displayMode", "value": "gradient-gauge" }, { "id": "thresholds", "value": { "mode": "percentage", "steps": [ { "color": "green", "value": null }, { "color": "dark-purple", "value": 101 } ] } } ] } ] }, "gridPos": { "h": 7, "w": 12, "x": 12, "y": 46 }, "id": 11, "links": [], "options": { "showHeader": true, "sortBy": [ { "desc": true, "displayName": "Messages" } ] }, "pluginVersion": "7.4.5", "targets": [ { "bucketAggs": [ { "$$hashKey": "object:388", "fake": true, "field": "header_from.keyword", "id": "6", "settings": { "min_doc_count": 1, "missing": "none", "order": "desc", "orderBy": "4", "size": "0" }, "type": "terms" } ], "hide": false, "metrics": [ { "$$hashKey": "object:386", "field": "message_count", "id": "4", "meta": {}, "settings": {}, "type": "sum" } ], "query": "header_from.keyword:$fromdomain", "refId": "A", "timeField": "date_range" } ], "timeFrom": null, "timeShift": null, "title": "Message Volume by Header From", "transformations": [ { "id": "organize", "options": { "excludeByName": {}, "indexByName": {}, "renameByName": { "Sum": "Messages", "header_from.keyword": "Header From" } } } ], "type": "table" }, { "circleMaxSize": 30, "circleMinSize": 2, "colors": [ "#37872D", "#FA6400", "#C4162A" ], "datasource": "$datasourceag", "decimals": 0, "esMetric": "Count", "fieldConfig": { "defaults": { "custom": {} }, "overrides": [] }, "gridPos": { "h": 10, "w": 16, "x": 0, "y": 53 }, "hideEmpty": true, "hideZero": true, "id": 12, "initialZoom": "1", "links": [], "locationData": "countries", "mapCenter": "(0°, 0°)", "mapCenterLatitude": 0, "mapCenterLongitude": 0, "maxDataPoints": 1, "mouseWheelZoom": true, "showLegend": true, "stickyLabels": true, "tableQueryOptions": { "geohashField": "geohash", "latitudeField": "latitude", "longitudeField": "longitude", "metricField": "metric", "queryType": "geohash" }, "targets": [ { "bucketAggs": [ { "$$hashKey": "object:710", "fake": true, "field": "source_country.keyword", "id": "7", "settings": { "min_doc_count": 1, "order": "desc", "orderBy": "4", "size": "0" }, "type": "terms" }, { "$$hashKey": "object:711", "fake": true, "field": "date_range", "id": "6", "settings": { "interval": "auto", "min_doc_count": 0, "trimEdges": 0 }, "type": "date_histogram" } ], "hide": false, "metrics": [ { "$$hashKey": "object:708", "field": "message_count", "id": "4", "meta": {}, "settings": {}, "type": "sum" } ], "query": "header_from.keyword:$fromdomain", "refId": "A", "timeField": "date_range" } ], "thresholds": "10,500", "timeFrom": null, "timeShift": null, "title": "Map of Message Source Countries", "type": "grafana-worldmap-panel", "unitPlural": "", "unitSingle": "", "unitSingular": "", "valueName": "total" }, { "datasource": "$datasourceag", "fieldConfig": { "defaults": { "custom": { "align": null, "filterable": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Country" }, "properties": [ { "id": "custom.width", "value": 70 } ] }, { "matcher": { "id": "byName", "options": "Messages" }, "properties": [ { "id": "custom.displayMode", "value": "gradient-gauge" }, { "id": "thresholds", "value": { "mode": "percentage", "steps": [ { "color": "green", "value": null }, { "color": "dark-purple", "value": 101 } ] } } ] } ] }, "gridPos": { "h": 10, "w": 8, "x": 16, "y": 53 }, "id": 39, "links": [], "options": { "showHeader": true, "sortBy": [ { "desc": true, "displayName": "Messages" } ] }, "pluginVersion": "7.4.5", "targets": [ { "bucketAggs": [ { "$$hashKey": "object:524", "fake": true, "field": "source_country.keyword", "id": "6", "settings": { "min_doc_count": 1, "missing": "none", "order": "desc", "orderBy": "4", "size": "0" }, "type": "terms" } ], "hide": false, "metrics": [ { "$$hashKey": "object:522", "field": "message_count", "id": "4", "meta": {}, "settings": {}, "type": "sum" } ], "query": "header_from.keyword:$fromdomain", "refId": "A", "timeField": "date_range" } ], "timeFrom": null, "timeShift": null, "title": "Message Source Countries", "transformations": [ { "id": "organize", "options": { "excludeByName": {}, "indexByName": {}, "renameByName": { "Sum": "Messages", "source_country.keyword": "Country" } } } ], "type": "table" }, { "datasource": "$datasourceag", "fieldConfig": { "defaults": { "custom": { "align": null, "filterable": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Messages" }, "properties": [ { "id": "custom.displayMode", "value": "gradient-gauge" }, { "id": "thresholds", "value": { "mode": "percentage", "steps": [ { "color": "green", "value": null }, { "color": "dark-purple", "value": 101 } ] } }, { "id": "custom.align", "value": "left" }, { "id": "custom.width", "value": 400 } ] }, { "matcher": { "id": "byName", "options": "Date" }, "properties": [ { "id": "unit", "value": "dateTimeAsIso" } ] }, { "matcher": { "id": "byName", "options": "Country" }, "properties": [ { "id": "custom.width", "value": 66 } ] }, { "matcher": { "id": "byName", "options": "Source IP" }, "properties": [ { "id": "custom.width", "value": 120 } ] }, { "matcher": { "id": "byName", "options": "SPF" }, "properties": [ { "id": "custom.width", "value": 56 } ] }, { "matcher": { "id": "byName", "options": "DKIM" }, "properties": [ { "id": "custom.width", "value": 62 } ] }, { "matcher": { "id": "byName", "options": "SPF Auth Result" }, "properties": [ { "id": "custom.width", "value": 115 } ] }, { "matcher": { "id": "byName", "options": "DKIM Auth Result" }, "properties": [ { "id": "custom.width", "value": 123 } ] }, { "matcher": { "id": "byName", "options": "Disposition" }, "properties": [ { "id": "custom.width", "value": 106 } ] } ] }, "gridPos": { "h": 9, "w": 24, "x": 0, "y": 63 }, "id": 41, "interval": "1d", "links": [], "options": { "showHeader": true, "sortBy": [ { "desc": true, "displayName": "Messages" } ] }, "pluginVersion": "7.4.5", "targets": [ { "bucketAggs": [ { "$$hashKey": "object:457", "fake": true, "field": "source_base_domain.keyword", "id": "6", "settings": { "min_doc_count": 1, "missing": "-", "order": "desc", "orderBy": "4", "size": "50" }, "type": "terms" }, { "$$hashKey": "object:458", "fake": true, "field": "source_reverse_dns.keyword", "id": "7", "settings": { "min_doc_count": "1", "missing": "-", "order": "desc", "orderBy": "4", "size": "50" }, "type": "terms" }, { "$$hashKey": "object:459", "fake": true, "field": "source_ip_address.keyword", "id": "8", "settings": { "min_doc_count": 1, "missing": "-", "order": "desc", "orderBy": "4", "size": "50" }, "type": "terms" }, { "$$hashKey": "object:460", "fake": true, "field": "source_country.keyword", "id": "9", "settings": { "min_doc_count": 1, "missing": null, "order": "desc", "orderBy": "4", "size": "50" }, "type": "terms" }, { "$$hashKey": "object:384", "fake": true, "field": "disposition.keyword", "id": "12", "settings": { "min_doc_count": "1", "missing": "-", "order": "desc", "orderBy": "4", "size": "50" }, "type": "terms" }, { "$$hashKey": "object:391", "fake": true, "field": "spf_aligned", "id": "13", "settings": { "min_doc_count": "1", "missing": "false", "order": "desc", "orderBy": "4", "size": "50" }, "type": "terms" }, { "$$hashKey": "object:398", "fake": true, "field": "dkim_aligned", "id": "14", "settings": { "min_doc_count": "1", "missing": "false", "order": "desc", "orderBy": "4", "size": "50" }, "type": "terms" }, { "$$hashKey": "object:405", "fake": true, "field": "org_name.keyword", "id": "15", "settings": { "min_doc_count": "1", "missing": "-", "order": "desc", "orderBy": "4", "size": "50" }, "type": "terms" }, { "$$hashKey": "object:412", "fake": true, "field": "spf_results.result.keyword", "id": "16", "settings": { "min_doc_count": "1", "missing": "-", "order": "desc", "orderBy": "4", "size": "50" }, "type": "terms" }, { "$$hashKey": "object:622", "fake": true, "field": "header_from.keyword", "id": "17", "settings": { "min_doc_count": "1", "missing": "-", "order": "desc", "orderBy": "4", "size": "50" }, "type": "terms" }, { "$$hashKey": "object:461", "fake": true, "field": "dkim_results.result.keyword", "id": "10", "settings": { "min_doc_count": "1", "missing": "-", "order": "desc", "orderBy": "4", "size": "50" }, "type": "terms" } ], "hide": false, "metrics": [ { "$$hashKey": "object:455", "field": "message_count", "id": "4", "meta": {}, "settings": {}, "type": "sum" } ], "query": "header_from.keyword:$fromdomain", "refId": "A", "timeField": "date_range" } ], "timeFrom": null, "timeShift": null, "title": "Overview", "transformations": [ { "id": "organize", "options": { "excludeByName": {}, "indexByName": { "Sum": 11, "disposition.keyword": 4, "dkim_aligned": 6, "dkim_results.result.keyword": 9, "header_from.keyword": 10, "org_name.keyword": 7, "source_base_domain.keyword": 0, "source_country.keyword": 3, "source_ip_address.keyword": 2, "source_reverse_dns.keyword": 1, "spf_aligned": 5, "spf_results.result.keyword": 8 }, "renameByName": { "Sum": "Messages", "date_range": "Date", "disposition.keyword": "Disposition", "dkim_aligned": "DKIM", "dkim_results.domain.keyword": "DKIM Domain", "dkim_results.result.keyword": "DKIM Auth Result", "dkim_results.selector.keyword": "DKIM Selector", "envelope_from.keyword": "Envelope From", "header_from.keyword": "Email Domain", "org_name.keyword": "Reporter", "source_base_domain.keyword": "Sending Domain", "source_country.keyword": "Country", "source_ip_address.keyword": "Source IP", "source_reverse_dns.keyword": "PTR", "spf_aligned": "SPF", "spf_results.result.keyword": "SPF Auth Result" } } } ], "type": "table" }, { "datasource": "$datasourceag", "fieldConfig": { "defaults": { "custom": { "align": null, "filterable": false }, "mappings": [ { "from": "", "id": 0, "text": "relaxed", "to": "", "type": 1, "value": "r" }, { "from": "", "id": 1, "text": "strict", "to": "", "type": 1, "value": "s" } ], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Messages" }, "properties": [ { "id": "custom.displayMode", "value": "gradient-gauge" }, { "id": "thresholds", "value": { "mode": "percentage", "steps": [ { "color": "green", "value": null }, { "color": "dark-purple", "value": 101 } ] } }, { "id": "custom.align", "value": "left" }, { "id": "custom.width", "value": 400 } ] }, { "matcher": { "id": "byName", "options": "Percentage" }, "properties": [ { "id": "unit", "value": "percent" }, { "id": "thresholds", "value": { "mode": "percentage", "steps": [ { "color": "dark-yellow", "value": null }, { "color": "dark-green", "value": 100 } ] } }, { "id": "custom.displayMode", "value": "color-background" }, { "id": "custom.width", "value": 90 } ] }, { "matcher": { "id": "byName", "options": "Subdomain Policy" }, "properties": [ { "id": "custom.width", "value": 128 } ] }, { "matcher": { "id": "byName", "options": "Policy" }, "properties": [ { "id": "custom.width", "value": 90 } ] }, { "matcher": { "id": "byName", "options": "Forensic Policy" }, "properties": [ { "id": "custom.width", "value": 126 } ] }, { "matcher": { "id": "byName", "options": "SPF Policy" }, "properties": [ { "id": "custom.width", "value": 121 } ] }, { "matcher": { "id": "byName", "options": "DKIM Policy" }, "properties": [ { "id": "custom.width", "value": 100 } ] } ] }, "gridPos": { "h": 9, "w": 24, "x": 0, "y": 72 }, "id": 43, "interval": "86399", "links": [], "options": { "showHeader": true, "sortBy": [ { "desc": true, "displayName": "Messages" } ] }, "pluginVersion": "7.4.5", "targets": [ { "bucketAggs": [ { "$$hashKey": "object:457", "fake": true, "field": "published_policy.adkim.keyword", "id": "6", "settings": { "min_doc_count": 1, "missing": "-", "order": "desc", "orderBy": "4", "size": "0" }, "type": "terms" }, { "$$hashKey": "object:458", "fake": true, "field": "published_policy.aspf.keyword", "id": "7", "settings": { "min_doc_count": "1", "missing": "-", "order": "desc", "orderBy": "4", "size": "0" }, "type": "terms" }, { "$$hashKey": "object:459", "fake": true, "field": "published_policy.domain.keyword", "id": "8", "settings": { "min_doc_count": 1, "missing": "-", "order": "desc", "orderBy": "4", "size": "0" }, "type": "terms" }, { "$$hashKey": "object:460", "fake": true, "field": "published_policy.fo.keyword", "id": "9", "settings": { "min_doc_count": 1, "missing": null, "order": "desc", "orderBy": "4", "size": "0" }, "type": "terms" }, { "$$hashKey": "object:384", "fake": true, "field": "published_policy.p.keyword", "id": "12", "settings": { "min_doc_count": "1", "missing": "-", "order": "desc", "orderBy": "4", "size": "0" }, "type": "terms" }, { "$$hashKey": "object:391", "fake": true, "field": "published_policy.pct", "id": "13", "settings": { "min_doc_count": "1", "missing": null, "order": "desc", "orderBy": "4", "size": "0" }, "type": "terms" }, { "$$hashKey": "object:398", "fake": true, "field": "published_policy.sp.keyword", "id": "14", "settings": { "min_doc_count": "1", "missing": "false", "order": "desc", "orderBy": "4", "size": "0" }, "type": "terms" } ], "hide": false, "metrics": [ { "$$hashKey": "object:455", "field": "message_count", "id": "4", "meta": {}, "settings": {}, "type": "sum" } ], "query": "header_from.keyword:$fromdomain", "refId": "A", "timeField": "date_range" } ], "timeFrom": null, "timeShift": null, "title": "Published Policies (as reported)", "transformations": [ { "id": "organize", "options": { "excludeByName": { "date_range": false }, "indexByName": { "Sum": 7, "published_policy.adkim.keyword": 1, "published_policy.aspf.keyword": 2, "published_policy.domain.keyword": 0, "published_policy.fo.keyword": 3, "published_policy.p.keyword": 4, "published_policy.pct": 5, "published_policy.sp.keyword": 6 }, "renameByName": { "Sum": "Messages", "date_range": "Date", "disposition.keyword": "Applied Policy", "dkim_aligned": "DKIM", "dkim_results.domain.keyword": "DKIM Domain", "dkim_results.result.keyword": "DKIM Auth Result", "dkim_results.selector.keyword": "DKIM Selector", "envelope_from.keyword": "Envelope From", "header_from.keyword": "Header From", "org_name.keyword": "Reporter", "published_policy.adkim.keyword": "DKIM Policy", "published_policy.aspf.keyword": "SPF Policy", "published_policy.domain.keyword": "Domain", "published_policy.fo.keyword": "Forensic Policy", "published_policy.p.keyword": "Policy", "published_policy.pct": "Percentage", "published_policy.sp.keyword": "Subdomain Policy", "source_base_domain.keyword": "Reverse DNS Base", "source_country.keyword": "Country", "source_ip_address.keyword": "Source IP", "source_reverse_dns.keyword": "PTR", "spf_aligned": "SPF", "spf_results.result.keyword": "SPF Auth Result" } } } ], "type": "table" }, { "datasource": "$datasourceag", "fieldConfig": { "defaults": { "custom": { "align": null, "filterable": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "IP Address" }, "properties": [ { "id": "custom.width", "value": 140 } ] }, { "matcher": { "id": "byName", "options": "Country" }, "properties": [ { "id": "custom.width", "value": 80 } ] }, { "matcher": { "id": "byName", "options": "Messages" }, "properties": [ { "id": "custom.width", "value": 400 }, { "id": "custom.displayMode", "value": "gradient-gauge" }, { "id": "thresholds", "value": { "mode": "percentage", "steps": [ { "color": "green", "value": null }, { "color": "dark-purple", "value": 101 } ] } }, { "id": "custom.align", "value": "left" } ] }, { "matcher": { "id": "byName", "options": "Base Domain" }, "properties": [ { "id": "custom.width", "value": 300 }, { "id": "links", "value": [ { "targetBlank": true, "title": "Visit Domain", "url": "https://${__data.fields[\"source_base_domain.keyword\"]}" } ] } ] } ] }, "gridPos": { "h": 9, "w": 24, "x": 0, "y": 81 }, "id": 14, "interval": "", "links": [], "options": { "showHeader": true, "sortBy": [ { "desc": true, "displayName": "Messages" } ] }, "pluginVersion": "7.4.5", "targets": [ { "bucketAggs": [ { "$$hashKey": "object:921", "fake": true, "field": "source_ip_address.keyword", "id": "6", "settings": { "min_doc_count": 1, "missing": "-", "order": "desc", "orderBy": "4", "size": "1000" }, "type": "terms" }, { "$$hashKey": "object:922", "fake": true, "field": "source_reverse_dns.keyword", "id": "7", "settings": { "min_doc_count": 1, "missing": "-", "order": "desc", "orderBy": "4", "size": "1000" }, "type": "terms" }, { "$$hashKey": "object:923", "fake": true, "field": "source_base_domain.keyword", "id": "8", "settings": { "min_doc_count": 1, "missing": "-", "order": "desc", "orderBy": "4", "size": "1000" }, "type": "terms" }, { "$$hashKey": "object:924", "fake": true, "field": "source_country.keyword", "id": "9", "settings": { "min_doc_count": 1, "missing": "-", "order": "desc", "orderBy": "4", "size": "1000" }, "type": "terms" } ], "hide": false, "metrics": [ { "$$hashKey": "object:919", "field": "message_count", "id": "4", "meta": {}, "settings": {}, "type": "sum" } ], "query": "header_from.keyword:$fromdomain", "refId": "A", "timeField": "date_range" } ], "timeFrom": null, "timeShift": null, "title": "Top 1000 Message Source IP Addresses", "transformations": [ { "id": "organize", "options": { "excludeByName": {}, "indexByName": {}, "renameByName": { "Sum": "Messages", "source_base_domain.keyword": "Base Domain", "source_country.keyword": "Country", "source_ip_address.keyword": "IP Address", "source_reverse_dns.keyword": "Reverse DNS" } } } ], "type": "table" }, { "datasource": "$datasourceag", "fieldConfig": { "defaults": { "custom": { "align": null, "filterable": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Messages" }, "properties": [ { "id": "custom.displayMode", "value": "gradient-gauge" }, { "id": "thresholds", "value": { "mode": "percentage", "steps": [ { "color": "green", "value": null }, { "color": "dark-purple", "value": 101 } ] } }, { "id": "custom.align", "value": "left" }, { "id": "custom.width", "value": 400 } ] }, { "matcher": { "id": "byName", "options": "Reverse DNS Base" }, "properties": [ { "id": "links", "value": [ { "targetBlank": true, "title": "Visit Domain", "url": "https://${__data.fields[\"source_base_domain.keyword\"]}" } ] } ] }, { "matcher": { "id": "byName", "options": "Header From" }, "properties": [ { "id": "links", "value": [ { "targetBlank": true, "title": "Check ${__data.fields[\"header_from.keyword\"]} SPF record", "url": "https://dmarcian.com/spf-survey/?domain=${__data.fields[\"header_from.keyword\"]}" } ] } ] } ] }, "gridPos": { "h": 9, "w": 24, "x": 0, "y": 90 }, "id": 16, "links": [], "options": { "showHeader": true, "sortBy": [ { "desc": true, "displayName": "Messages" } ] }, "pluginVersion": "7.4.5", "targets": [ { "bucketAggs": [ { "$$hashKey": "object:457", "fake": true, "field": "header_from.keyword", "id": "6", "settings": { "min_doc_count": 1, "missing": "-", "order": "desc", "orderBy": "4", "size": "0" }, "type": "terms" }, { "$$hashKey": "object:458", "fake": true, "field": "envelope_from.keyword", "id": "7", "settings": { "min_doc_count": 1, "missing": "-", "order": "desc", "orderBy": "4", "size": "0" }, "type": "terms" }, { "$$hashKey": "object:459", "fake": true, "field": "spf_results.result.keyword", "id": "8", "settings": { "min_doc_count": 1, "missing": "-", "order": "desc", "orderBy": "4", "size": "0" }, "type": "terms" }, { "$$hashKey": "object:460", "fake": true, "field": "spf_aligned", "id": "9", "settings": { "min_doc_count": 1, "missing": null, "order": "desc", "orderBy": "4", "size": "0" }, "type": "terms" }, { "$$hashKey": "object:461", "fake": true, "field": "source_base_domain.keyword", "id": "10", "settings": { "min_doc_count": 1, "missing": "-", "order": "desc", "orderBy": "4", "size": "0" }, "type": "terms" } ], "hide": false, "metrics": [ { "$$hashKey": "object:455", "field": "message_count", "id": "4", "meta": {}, "settings": {}, "type": "sum" } ], "query": "header_from.keyword:$fromdomain", "refId": "A", "timeField": "date_range" } ], "timeFrom": null, "timeShift": null, "title": "SPF Alignment Details", "transformations": [ { "id": "organize", "options": { "excludeByName": {}, "indexByName": {}, "renameByName": { "Sum": "Messages", "envelope_from.keyword": "Envelope From", "header_from.keyword": "Header From", "source_base_domain.keyword": "Reverse DNS Base", "spf_aligned": "SPF Aligned", "spf_results.result.keyword": "SPF Result" } } } ], "type": "table" }, { "datasource": "$datasourceag", "fieldConfig": { "defaults": { "custom": { "align": null, "filterable": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Messages" }, "properties": [ { "id": "custom.displayMode", "value": "gradient-gauge" }, { "id": "thresholds", "value": { "mode": "percentage", "steps": [ { "color": "green", "value": null }, { "color": "dark-purple", "value": 101 } ] } }, { "id": "custom.align", "value": "left" }, { "id": "custom.width", "value": 400 } ] }, { "matcher": { "id": "byName", "options": "Reverse DNS Base" }, "properties": [ { "id": "links", "value": [ { "targetBlank": true, "title": "Visit Domain", "url": "https://${__data.fields[\"source_base_domain.keyword\"]}" } ] } ] }, { "matcher": { "id": "byName", "options": "DKIM Selector" }, "properties": [ { "id": "custom.width", "value": 320 }, { "id": "links", "value": [ { "targetBlank": true, "title": "Open dmarcian.com DKIM Record Checker", "url": "https://dmarcian.com/dkim-inspector/?domain=${__data.fields[\"dkim_results.domain.keyword\"]}&selector=${__data.fields[\"dkim_results.selector.keyword\"]}" } ] } ] } ] }, "gridPos": { "h": 9, "w": 24, "x": 0, "y": 99 }, "id": 40, "links": [], "options": { "showHeader": true, "sortBy": [ { "desc": true, "displayName": "Messages" } ] }, "pluginVersion": "7.4.5", "targets": [ { "bucketAggs": [ { "$$hashKey": "object:457", "fake": true, "field": "header_from.keyword", "id": "6", "settings": { "min_doc_count": 1, "missing": "-", "order": "desc", "orderBy": "4", "size": "0" }, "type": "terms" }, { "$$hashKey": "object:458", "fake": true, "field": "dkim_results.selector.keyword", "id": "7", "settings": { "min_doc_count": "1", "missing": "-", "order": "desc", "orderBy": "4", "size": "0" }, "type": "terms" }, { "$$hashKey": "object:459", "fake": true, "field": "dkim_results.domain.keyword", "id": "8", "settings": { "min_doc_count": 1, "missing": "-", "order": "desc", "orderBy": "4", "size": "0" }, "type": "terms" }, { "$$hashKey": "object:460", "fake": true, "field": "dkim_results.result.keyword", "id": "9", "settings": { "min_doc_count": 1, "missing": null, "order": "desc", "orderBy": "4", "size": "0" }, "type": "terms" }, { "$$hashKey": "object:798", "fake": true, "field": "dkim_aligned", "id": "11", "settings": { "min_doc_count": "1", "order": "desc", "orderBy": "4", "size": "0" }, "type": "terms" }, { "$$hashKey": "object:461", "fake": true, "field": "source_base_domain.keyword", "id": "10", "settings": { "min_doc_count": 1, "missing": "-", "order": "desc", "orderBy": "4", "size": "0" }, "type": "terms" } ], "hide": false, "metrics": [ { "$$hashKey": "object:455", "field": "message_count", "id": "4", "meta": {}, "settings": {}, "type": "sum" } ], "query": "header_from.keyword:$fromdomain", "refId": "A", "timeField": "date_range" } ], "timeFrom": null, "timeShift": null, "title": "DKIM Alignment Details", "transformations": [ { "id": "organize", "options": { "excludeByName": {}, "indexByName": {}, "renameByName": { "Sum": "Messages", "dkim_aligned": "DKIM Aligned", "dkim_results.domain.keyword": "DKIM Domain", "dkim_results.result.keyword": "DKIM Result", "dkim_results.selector.keyword": "DKIM Selector", "envelope_from.keyword": "Envelope From", "header_from.keyword": "Header From", "source_base_domain.keyword": "Reverse DNS Base", "spf_aligned": "SPF Aligned", "spf_results.result.keyword": "SPF Result" } } } ], "type": "table" }, { "collapsed": false, "datasource": null, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 108 }, "id": 32, "panels": [], "title": "DMARC Forensic", "type": "row" }, { "datasource": "$datasourcefo", "fieldConfig": { "defaults": { "custom": { "align": null, "filterable": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Arrival Date (UTC)" }, "properties": [ { "id": "unit", "value": "dateTimeAsSystem" } ] }, { "matcher": { "id": "byName", "options": "AuthFailure" }, "properties": [ { "id": "custom.width", "value": 84 } ] }, { "matcher": { "id": "byName", "options": "DeliveryResult" }, "properties": [ { "id": "custom.width", "value": 104 } ] }, { "matcher": { "id": "byName", "options": "Count" }, "properties": [ { "id": "custom.width", "value": 71 } ] }, { "matcher": { "id": "byName", "options": "ReplyTo" }, "properties": [ { "id": "custom.width", "value": 122 } ] } ] }, "gridPos": { "h": 9, "w": 24, "x": 0, "y": 109 }, "id": 20, "links": [], "options": { "showHeader": true, "sortBy": [] }, "pluginVersion": "7.4.5", "targets": [ { "bucketAggs": [ { "$$hashKey": "object:340", "fake": true, "field": "Arrival Date (UTC)", "id": "6", "settings": { "interval": "auto", "min_doc_count": 1, "trimEdges": 0 }, "type": "date_histogram" }, { "$$hashKey": "object:341", "fake": true, "field": "sample.headers.from.keyword", "id": "7", "settings": { "min_doc_count": 1, "missing": "-", "order": "desc", "orderBy": "_count", "size": "0" }, "type": "terms" }, { "$$hashKey": "object:342", "fake": true, "field": "sample.headers.to.keyword", "id": "8", "settings": { "min_doc_count": 1, "missing": "-", "order": "desc", "orderBy": "_count", "size": "0" }, "type": "terms" }, { "$$hashKey": "object:343", "fake": true, "field": "sample.headers.reply-to.keyword", "id": "10", "settings": { "min_doc_count": 1, "missing": "-", "order": "desc", "orderBy": "_count", "size": "0" }, "type": "terms" }, { "$$hashKey": "object:344", "fake": true, "field": "auth_failure.keyword", "id": "11", "settings": { "min_doc_count": 1, "order": "desc", "orderBy": "_count", "size": "0" }, "type": "terms" }, { "$$hashKey": "object:345", "fake": true, "field": "sample.subject.keyword", "id": "12", "settings": { "min_doc_count": 1, "order": "desc", "orderBy": "_count", "size": "0" }, "type": "terms" }, { "$$hashKey": "object:346", "fake": true, "field": "delivery_results.keyword", "id": "14", "settings": { "min_doc_count": 1, "order": "desc", "orderBy": "_count", "size": "0" }, "type": "terms" }, { "$$hashKey": "object:347", "fake": true, "field": "authentication_results.keyword", "id": "15", "settings": { "min_doc_count": 1, "order": "desc", "orderBy": "_count", "size": "0" }, "type": "terms" }, { "$$hashKey": "object:348", "fake": true, "field": "sample.headers.received.keyword", "id": "13", "settings": { "min_doc_count": 1, "missing": "-", "order": "desc", "orderBy": "_count", "size": "0" }, "type": "terms" } ], "hide": false, "metrics": [ { "$$hashKey": "object:338", "field": "message_count", "id": "4", "meta": {}, "settings": {}, "type": "count" } ], "query": "domain.keyword:$fromdomain", "refId": "A", "timeField": "arrival_date" } ], "timeFrom": null, "timeShift": null, "title": "Forensic Samples", "transformations": [ { "id": "organize", "options": { "excludeByName": {}, "indexByName": {}, "renameByName": { "Count": "Count", "arrival_date_utc": "Arrival_Date(UTC)", "auth_failure.keyword": "AuthFailure", "authentication_results.keyword": "Auth Results", "delivery_results.keyword": "DeliveryResult", "sample.headers.from.keyword": "From", "sample.headers.received.keyword": "Received", "sample.headers.reply-to.keyword": "ReplyTo", "sample.headers.to.keyword": "To", "sample.subject.keyword": "Subject" } } } ], "type": "table" }, { "circleMaxSize": 30, "circleMinSize": 2, "colors": [ "#C4162A", "#FA6400", "#37872D" ], "datasource": "$datasourcefo", "decimals": 0, "esMetric": "Count", "fieldConfig": { "defaults": { "custom": {} }, "overrides": [] }, "gridPos": { "h": 11, "w": 8, "x": 0, "y": 118 }, "hideEmpty": true, "hideZero": true, "id": 22, "initialZoom": "1", "links": [], "locationData": "countries", "mapCenter": "(0°, 0°)", "mapCenterLatitude": 0, "mapCenterLongitude": 0, "maxDataPoints": 1, "mouseWheelZoom": true, "showLegend": true, "stickyLabels": true, "tableQueryOptions": { "geohashField": "geohash", "labelField": "", "latitudeField": "latitude", "longitudeField": "longitude", "metricField": "metric", "queryType": "geohash" }, "targets": [ { "bucketAggs": [ { "$$hashKey": "object:60", "fake": true, "field": "source_country.keyword", "id": "9", "settings": { "min_doc_count": 1, "order": "desc", "orderBy": "_term", "size": "10" }, "type": "terms" }, { "$$hashKey": "object:61", "fake": true, "field": "arrival_date", "id": "7", "settings": { "interval": "auto", "min_doc_count": 0, "trimEdges": 0 }, "type": "date_histogram" } ], "hide": false, "metrics": [ { "$$hashKey": "object:58", "field": "message_count", "id": "4", "meta": {}, "settings": {}, "type": "count" } ], "query": "domain.keyword:$fromdomain", "refId": "A", "timeField": "arrival_date" } ], "thresholds": "100,0", "timeFrom": null, "timeShift": null, "title": "Forensic Sample Sources by Country", "type": "grafana-worldmap-panel", "unitPlural": "", "unitSingle": "", "valueName": "total" }, { "datasource": "$datasourcefo", "fieldConfig": { "defaults": { "custom": { "align": null, "filterable": false }, "mappings": [ { "from": "", "id": 0, "text": "", "to": "", "type": 1 } ], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Count" }, "properties": [ { "id": "custom.displayMode", "value": "gradient-gauge" }, { "id": "thresholds", "value": { "mode": "percentage", "steps": [ { "color": "green", "value": null }, { "color": "dark-purple", "value": 101 } ] } } ] }, { "matcher": { "id": "byName", "options": "Country" }, "properties": [ { "id": "custom.width", "value": 70 } ] } ] }, "gridPos": { "h": 11, "w": 5, "x": 8, "y": 118 }, "id": 23, "links": [], "options": { "showHeader": true, "sortBy": [] }, "pluginVersion": "7.4.5", "targets": [ { "bucketAggs": [ { "$$hashKey": "object:840", "fake": true, "field": "source_country.keyword", "id": "6", "settings": { "min_doc_count": 1, "missing": "none", "order": "desc", "orderBy": "_count", "size": "0" }, "type": "terms" } ], "hide": false, "metrics": [ { "$$hashKey": "object:838", "field": "message_count", "id": "4", "meta": {}, "settings": {}, "type": "count" } ], "query": "domain.keyword:$fromdomain", "refId": "A", "timeField": "arrival_date" } ], "timeFrom": null, "timeShift": null, "title": "DMARC Forensic Sample Source Countries", "transformations": [ { "id": "organize", "options": { "excludeByName": {}, "indexByName": {}, "renameByName": { "source_country.keyword": "Country" } } } ], "type": "table" }, { "datasource": "$datasourcefo", "fieldConfig": { "defaults": { "custom": { "align": null, "filterable": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Country" }, "properties": [ { "id": "custom.width", "value": 70 } ] }, { "matcher": { "id": "byName", "options": "Base Domain" }, "properties": [ { "id": "links", "value": [ { "targetBlank": true, "title": "Visit https://${__data.fields[\"source_base_domain.keyword\"]}", "url": "https://${__data.fields[\"source_base_domain.keyword\"]}" } ] } ] }, { "matcher": { "id": "byName", "options": "Messages" }, "properties": [ { "id": "custom.displayMode", "value": "gradient-gauge" }, { "id": "thresholds", "value": { "mode": "percentage", "steps": [ { "color": "green", "value": null }, { "color": "dark-purple", "value": 101 } ] } } ] } ] }, "gridPos": { "h": 11, "w": 11, "x": 13, "y": 118 }, "id": 24, "links": [], "options": { "showHeader": true, "sortBy": [ { "desc": true, "displayName": "Messages" } ] }, "pluginVersion": "7.4.5", "targets": [ { "bucketAggs": [ { "$$hashKey": "object:653", "fake": true, "field": "source_ip_address.keyword", "id": "6", "settings": { "min_doc_count": 1, "missing": "-", "order": "desc", "orderBy": "_count", "size": "1000" }, "type": "terms" }, { "$$hashKey": "object:654", "fake": true, "field": "source_reverse_dns.keyword", "id": "7", "settings": { "min_doc_count": 1, "missing": "-", "order": "desc", "orderBy": "_count", "size": "1000" }, "type": "terms" }, { "$$hashKey": "object:655", "fake": true, "field": "source_base_domain.keyword", "id": "8", "settings": { "min_doc_count": 1, "missing": "-", "order": "desc", "orderBy": "_count", "size": "1000" }, "type": "terms" }, { "$$hashKey": "object:656", "fake": true, "field": "source_country.keyword", "id": "9", "settings": { "min_doc_count": 1, "missing": "-", "order": "desc", "orderBy": "_count", "size": "1000" }, "type": "terms" } ], "hide": false, "metrics": [ { "$$hashKey": "object:651", "field": "message_count", "id": "4", "meta": {}, "settings": {}, "type": "count" } ], "query": "domain.keyword:$fromdomain", "refId": "A", "timeField": "arrival_date" } ], "timeFrom": null, "timeShift": null, "title": "Top 1000 Forensic Sample Source IP Addresses", "transformations": [ { "id": "organize", "options": { "excludeByName": {}, "indexByName": {}, "renameByName": { "Count": "Messages", "source_base_domain.keyword": "Base Domain", "source_country.keyword": "Country", "source_ip_address.keyword": "IP Address", "source_reverse_dns.keyword": "Reverse DNS" } } } ], "type": "table" } ], "refresh": "10s", "schemaVersion": 27, "style": "dark", "tags": [ "DKIM", "SPF", "DMARC", "Email" ], "templating": { "list": [ { "current": { "selected": false, "text": "dmarc-ag", "value": "dmarc-ag" }, "description": null, "error": null, "hide": 2, "includeAll": false, "label": "Datasource: Aggregate", "multi": false, "name": "datasourceag", "options": [], "query": "elasticsearch", "refresh": 1, "regex": "/.*dmarc-ag/", "skipUrlSync": false, "type": "datasource" }, { "current": { "selected": false, "text": "dmarc-fo", "value": "dmarc-fo" }, "description": null, "error": null, "hide": 2, "includeAll": false, "label": "Datasource: Forensic", "multi": false, "name": "datasourcefo", "options": [], "query": "elasticsearch", "refresh": 1, "regex": "/.*dmarc-fo/", "skipUrlSync": false, "type": "datasource" }, { "allValue": null, "current": { "selected": false, "text": "All", "value": "$__all" }, "datasource": "$datasourceag", "definition": "{\"find\":\"terms\",\"field\":\"header_from.keyword\"}", "description": null, "error": null, "hide": 0, "includeAll": true, "label": "From Domain", "multi": true, "name": "fromdomain", "options": [], "query": "{\"find\":\"terms\",\"field\":\"header_from.keyword\"}", "refresh": 2, "regex": "", "skipUrlSync": false, "sort": 5, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "auto": false, "auto_count": 30, "auto_min": "10s", "current": { "selected": false, "text": "1d", "value": "1d" }, "description": null, "error": null, "hide": 2, "label": "Interval", "name": "interval", "options": [ { "selected": true, "text": "1d", "value": "1d" } ], "query": "1d", "refresh": 2, "skipUrlSync": false, "type": "interval" } ] }, "time": { "from": "now-30d", "to": "now" }, "timepicker": { "hidden": false, "refresh_intervals": [ "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d" ], "time_options": [ "5m", "15m", "1h", "6h", "12h", "24h", "2d", "7d", "30d" ] }, "timezone": "", "title": "DMARC Reports", "uid": "SDksirRWz", "version": 114 }