A (nearly) production ready Dockered MISP
Go to file
Jason Kendall 4a7314d82b
Merge pull request #22 from coolacid/nginx
Make nginx the master
2020-02-21 10:02:39 -05:00
modules Fix post_hook tagging 2020-02-12 11:06:21 -05:00
server add missing nginx misp config file 2020-02-19 20:37:14 -05:00
server-configs Add SMTP server and configs 2020-02-12 11:01:14 -05:00
.env Bump to version 2.4.121 2020-02-12 15:49:11 -05:00
.gitignore Make SSL certs in INIT mode if any part doesn't exist 2020-01-29 14:47:26 -05:00
.travis.yml Add travisci build test 2020-01-29 09:26:44 -05:00
docker-compose.yml First stab at nginx 2020-02-19 20:21:49 -05:00
LICENSE Create LICENSE 2020-01-29 10:29:24 -05:00
README.md Add some notes to the read me on how I dev using the containers 2020-02-19 11:03:39 -05:00

CoolAcid's MISP Docker images

Codacy Badge CodeFactor Build Status

A (nearly) production ready Dockered MISP

This is based on some of the work from the DSCO docker build, nearly all of the details have been rewritten.

  • Components are split out where possible, currently this is only the MISP modules
  • Over writable configuration files
  • Allows volumes for file store
  • Cron job runs updates, pushes, and pulls - Logs go to docker logs
  • Docker-Compose uses off the shelf images for Redis and MySQL
  • Images directly from docker hub, no build required
  • Slimmed down images by using build stages and slim parent image, removes unnecessary files from images

Docker Tags

Docker hub builds the images automatically based on git tags. I try and tag using the following details

v[MISP Version][Our build version]

  • MISP version is the MISP tag we're building
  • Our build version is the iteration for our changes with the same MISP version

Getting Started

Development/Test

  • Grab the docker-compose.yml file and the server-configs directory

  • Optional] Copy the "default" configs removing "default" and edit the files in `server-configs`
    -   Note: A dry run without this step will try and make sane DEV configs
    
    
  • docker-compose up

  • Login to https://localhost

    • User: admin@admin.test
    • Password: admin
  • Profit

Using the image for development

Once you have the docker container up you can access the container by running docker-compose exec misp /bin/bash. This will provide you with a root shell. You can use apt update and then install any tools you wish to use. Finally, copy any changes you make outside of the container for commiting to your branch. git diff -- [dir with changes] could be used to reduce the number of changes in a patch file, however, becareful when using the git diff command.

Production

  • Use docker-compose, or some other config management tool

  • Directory volume mount SSL Certs /etc/apache2/ssl/

    • DH Parameters: dhparams.pem
    • Certificate File: cert.pem
    • Certificate Key File: key.pem
    • Certificate Chain File: chain.pem
  • Directory volume mount and create configs: /var/www/MISP/app/Config/

  • Additional directory volume mounts:

    • /var/www/MISP/app/files
    • /var/www/MISP/.gnupg
    • /var/www/MISP/.smime

Image file sizes

  • Core server(Saved: 2.5GB)

    • Original Image: 3.17GB
    • First attempt: 2.24GB
    • Remove chown: 1.56GB
    • PreBuild python modules, and only pull submodules we need: 800MB
    • PreBuild PHP modules: 664MB
  • Modules (Saved: 640MB)

    • Original: 1.36GB
    • Pre-build modules: 750MB