From d0640b064185356474268a3c3e2873db25f22bf9 Mon Sep 17 00:00:00 2001 From: Luciano Righetti Date: Tue, 13 Sep 2022 10:01:09 +0200 Subject: [PATCH] add: misp-guard blog entry --- content/blog/misp-guard.md | 99 ++++++++++++++++++++ static/img/blog/misp-guard-architecture.png | Bin 0 -> 49730 bytes 2 files changed, 99 insertions(+) create mode 100644 content/blog/misp-guard.md create mode 100644 static/img/blog/misp-guard-architecture.png diff --git a/content/blog/misp-guard.md b/content/blog/misp-guard.md new file mode 100644 index 0000000..6cefdf1 --- /dev/null +++ b/content/blog/misp-guard.md @@ -0,0 +1,99 @@ +--- +title: MISP Guard +banner: /img/blog/misp-guard-architecture.png +date: 2022-09-13 +layout: post +--- + +Let's say that by no means should an attribute of type `passport-number` leave your MISP instance. Aside from the analyst following best practices when encoding the data, MISP does not have a built-in mechanism to prevent these leaks to happen, but now you can achieve this by using a third-party tool called [misp-guard](https://github.com/MISP/misp-guard/). + +[misp-guard](https://github.com/MISP/misp-guard/) is a [mitmproxy](https://mitmproxy.org/) addon that inspects and blocks outgoing events to external MISP instances via sync mechanisms (PULL/PUSH) based on a set of customizable block rules. + +For the example above, the block rules would look like this: +```json +{ + "block_rules": [ + { + "id": "no-passports", + "description": "Block passport numbers", + "blocked_attribute_types": [ + "passport-number" + ] + } + ] +} +``` + +## How it works +### External PULL +From the point of view an External MISP that tries to pull from your instance, MISP Guard acts as a reverse proxy that inspects the external requests and allows only the ones strictly required for server syncronization, it then forwards the requests to your MISP instance and inspects the content of the outgoing events. If any of the block rules matches, the event is droped and never leaves your premises. +External MISP servers will create the connections to MISP Guard host, not your Internal MISP instance. + +### Internal PUSH +From the point of view of your Internal MISP instance, you must configure MISP to use MISP Guard as a proxy (`Proxy.host` and `Proxy.port` settings). +When the Internal MISP instance tries to push an event, MISP Guard inspects the content and if any of the block rules matches, the event is droped. + +> NOTE: By default this addon will block all outgoing HTTP requests that are not required during a MISP server sync. All rejected/blocked requests are logged. + +For a more detailed explanation check [misp-guard README](https://github.com/righel/misp-guard/blob/main/README.md) + +## Block Rules + +* `blocked_tags`: Blocks if the event/attributes contains certain tags. +* `blocked_distribution_levels`: Blocks if the event/objects/attributes matches one of the blocked distribution levels. + * `"0"`: Organisation Only + * `"1"`: Community Only + * `"2"`: Connected Communities + * `"3"`: All Communities + * `"4"`: Sharing Group + * `"5"`: Inherit Event +* `blocked_sharing_groups_uuids`: Blocks if the event/objects/attributes matches one of the blocked sharing groups uuids. +* `blocked_attribute_types`: Blocks if the event contains an attribute matching one of this types. +* `blocked_attribute_categories`: Blocks if the event contains an attribute matching one of this categories. +* `blocked_object_types`: Blocks if the event contains an object matching one of this types. + +See sample config [here](https://github.com/MISP/misp-guard/blob/main/src/test/test_config.json). + +## Installation +```console +$ git clone https://github.com/MISP/misp-guard.git +$ cd src/ +$ pip install -r requirements.txt +``` + +### Setup +1. Define your block rules in the `config.json` file. +2. Start mitmproxy with the `mispguard` addon: + ```console + $ mitmdump -s mispguard.py -p 8888 --set config=config.json + Loading script mispguard.py + MispGuard initialized + running block rules: no-tlp-red-events + Proxy server listening at *:8888 + ``` + * _Add **`-k`** to accept self-signed certificates._ + * _Add **`--certs *=your-cert.pem`** to specify a leaf certificate_ + +3. Configure the proxy in your MISP instance, set the following MISP `Proxy.host` and `Proxy.port` settings accordingly. + +Done, outgoing MISP sync requests will be inspected and dropped according to the specified block rules. + +> NOTE: add **`-v`** to increase verbosity and display debug logs. + +#### Running `mitmdump` as a Service +Ideally you want to run `mitmdump` as reliably as posible, you can use [Supervisor](http://supervisord.org/) to configure it as a service. + +Sample `supervisord` program configuration: +``` +[program:misp-guard] +directory=/home/user/misp-guard/src +user=your-user +command=python3 /home/user/.local/bin/mitmdump -s mispguard.py -p 8888 --certs *=your-cert.pem --set config=config.json +autostart=true +autorestart=true +redirect_stderr=false +stderr_logfile=/var/log/misp-guard-error.log +stdout_logfile=/var/log/misp-guard.log +``` + + diff --git a/static/img/blog/misp-guard-architecture.png b/static/img/blog/misp-guard-architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..65af5914fd9d060ff8a1683018695f348e45173c GIT binary patch literal 49730 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