GithubHelp home page GithubHelp logo

00mjk / docker-misp Goto Github PK

View Code? Open in Web Editor NEW

This project forked from coolacid/docker-misp

0.0 0.0 0.0 132 KB

A (nearly) production ready Dockered MISP

License: GNU General Public License v3.0

Dockerfile 30.91% PHP 14.32% Shell 54.77%

docker-misp's Introduction

CoolAcid's MISP Docker images

Codacy Badge CodeFactor Build Status Gitter chat

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
  • Core and modules are split into [core]-version and [modules]-version respectively

Getting Started

Development/Test

  • Grab the docker-compose.yml and server-configs/email.php files (Keep directory structure)

  • A dry run will create sane default configurations

  • docker-compose up

  • Login to https://localhost

  • Profit

Using the image for development

Pull the entire repository, you can build the images using docker-compose -f docker-compose.yml -f build-docker-compose.yml build

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.

Updating

Updating the images should be as simple as docker-compose pull which, unless changed in the docker-compose.yml file will pull the latest built images.

Production

  • It is recommended to specify which build you want to be running, and modify that version number when you would like to upgrade

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

  • Directory volume mount SSL Certs ./ssl: /etc/ssl/certs

    • Certificate File: cert.pem
    • Certificate Key File: key.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

Building

If you are interested in building the project from scratch - git clone or download the entire repo and run docker-compose -f build-docker-compose.yml build

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

docker-misp's People

Contributors

codacy-badger avatar coolacid avatar gregzee avatar jtdroste avatar kagee avatar quinnhat avatar seanthegeek avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.