If you’ve worked with cyber threat intelligence (CTI) for any length of time, you’ve probably run into one or both of the MISP and STIX data formats.
Both are popular open source machine-readable (JSON) standards for sharing threat intelligence in a structured format.
Look under the hood for even a moment, though and you’ll find that while their aims are similar, they approach the problem of describing cyber threats in significantly different ways.
misp-docker
The most popular way to run the threat intel sharing platform MISP with Docker is the open source misp-docker project on Github.
It's a great way to quickly and easily spin up a local MISP for testing purposes, including a connected database (MariaDB) and Redis instance.
To get MISP up and running on your local machine, follow these steps:
template.env
to .env
. You can leave the default environment variables as is if you only want to run Docker locally for testing.docker compose pull
.docker compose up
. Note: if you have problems with volume mounting, try changing the file sharing implementation for your containers to osxfs (Legacy)
.admin@admin.test
admin
As you've seen, getting a local MISP instance up and running with Docker is quick and easy.
Could it be that easy to deploy MISP to production using Docker?
Unfortunately, no.
Running MISP reliably and securely in production using Docker or any other technology comes with many important considerations.
Ignore these and your MISP instance running on Docker could end up being, at best, unreliable and, at worst, a security vulnerability.
These considerations are still important even if you're using a container orchestration tool like Kubernetes.
In short, self-hosting MISP with Docker for production usage can be surprisingly difficult and complex project for CTI teams to navigate.
To help teams spend less time on configuring and maintaining their MISP and more time generating useful threat intel, we offer CloudMISP: an enterprise-grade fully managed, secure, and reliable MISP instance.