harvard-itsecurity / docker-misp

Automated Docker MISP container - Malware Information Sharing Platform and Threat Sharing
BSD 3-Clause "New" or "Revised" License
174 stars 44 forks source link

Support for External Database like RDS #68

Open adv4000 opened 3 years ago

adv4000 commented 3 years ago

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

ventz commented 3 years ago

@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

adv4000 commented 3 years ago

Thanks, working on it now...

adv4000 commented 3 years ago

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!