docker-misp icon indicating copy to clipboard operation
docker-misp copied to clipboard

Support for External Database like RDS

Open adv4000 opened this issue 3 years ago • 3 comments

Do you have any draft for support External Database and not use only local DB? So it can be configured using parameter MYSQL_MISP_HOST in addition to MYSQL_MISP_PASSWORD

adv4000 avatar Mar 30 '21 21:03 adv4000

@adv4000 No, but it should be pretty easy for you add it:

Essentially modifying the init-db to include "host": https://github.com/harvard-itsecurity/docker-misp/blob/d954df2b201e87eb8ab806128bf0f183d3a2e28f/container/Dockerfile#L150

And then adding a host like this: https://github.com/harvard-itsecurity/docker-misp/blob/d954df2b201e87eb8ab806128bf0f183d3a2e28f/container/Dockerfile#L137

and here: https://github.com/harvard-itsecurity/docker-misp/blob/d954df2b201e87eb8ab806128bf0f183d3a2e28f/container/Dockerfile#L165

And (optionally) removing service here: https://github.com/harvard-itsecurity/docker-misp/blob/d954df2b201e87eb8ab806128bf0f183d3a2e28f/container/supervisord.conf#L15

ventz avatar Mar 30 '21 21:03 ventz

Thanks, working on it now...

adv4000 avatar Mar 30 '21 21:03 adv4000

Into build.sh added:

    --build-arg MYSQL_MISP_USERNAME=adminuser \
    --build-arg MYSQL_MISP_PASSWORD=adminpass \
    --build-arg MYSQL_MISP_ENDPOINT=misp-mysql.xxx.us-west-2.rds.amazonaws.com \
    --build-arg MYSQL_MISP_DBNAME=mispdb \

Inside Dockerfile Added/Updated:

ARG MYSQL_MISP_USERNAME=demouser
ARG MYSQL_MISP_PASSWORD=demopass
ARG MYSQL_MISP_ENDPOINT=mysql-rds.us-west-2.rds.amazonaws.com
ARG MYSQL_MISP_DBNAME=mispdbdemo

RUN sed -i -e "s/misp/${MYSQL_MISP_DBNAME}/g"          /var/www/MISP/app/Config/database.php ; \
    sed -i -e "s/db login/${MYSQL_MISP_USERNAME}/g"    /var/www/MISP/app/Config/database.php ; \
    sed -i -e "s/db password/${MYSQL_MISP_PASSWORD}/g" /var/www/MISP/app/Config/database.php ; \
    sed -i -e "s/localhost/${MYSQL_MISP_ENDPOINT}/g"   /var/www/MISP/app/Config/database.php ; \
    echo "sudo -u www-data -H sh -c \"mysql -h ${MYSQL_MISP_ENDPOINT} -u ${MYSQL_MISP_USERNAME} -p$MYSQL_MISP_PASSWORD ${MYSQL_MISP_DBNAME} < /var/www/MISP/INSTALL/MYSQL.sql\"" >> /init-db ; \

And removed many lines with local db folder usage. Seems like working fine :) Thanks!

adv4000 avatar Mar 30 '21 23:03 adv4000