diff --git a/docker-compose.yml b/docker-compose.yml index ae65453..d1f2dce 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -52,10 +52,10 @@ services: # - "${CUSTOM_PATH}/:/custom/" environment: - "HOSTNAME=https://localhost" - - "REDIS_FQDN=redis" - "CRON_USER_ID=1" # standard settings - "ADMIN_EMAIL=${ADMIN_EMAIL}" + - "ADMIN_PASSWORD=${ADMIN_PASSWORD}" - "ADMIN_KEY=${ADMIN_KEY}" - "ADMIN_ORG=${ADMIN_ORG}" - "GPG_PASSPHRASE=${GPG_PASSPHRASE}" @@ -82,7 +82,6 @@ services: - "REDIS_BACKEND=redis" depends_on: - redis - - db volumes: mysql_data: diff --git a/server/files/configure_misp.sh b/server/files/configure_misp.sh index d004ca7..00036eb 100755 --- a/server/files/configure_misp.sh +++ b/server/files/configure_misp.sh @@ -93,7 +93,6 @@ init_user() { # Create the main user if it is not there already sudo -u www-data /var/www/MISP/app/Console/cake userInit -q sudo -u www-data /var/www/MISP/app/Console/cake Admin setSetting "MISP.email" ${ADMIN_EMAIL} - echo 'UPDATE misp.users SET change_pw = 0 WHERE id = 1;' | ${MYSQLCMD} echo "UPDATE misp.users SET email = \"${ADMIN_EMAIL}\" WHERE id = 1;" | ${MYSQLCMD} if [ ! -z "$ADMIN_ORG" ]; then echo "UPDATE misp.organisations SET name = \"${ADMIN_ORG}\" where id = 1;" | ${MYSQLCMD} @@ -107,6 +106,20 @@ init_user() { fi ADMIN_KEY=`${CHANGE_CMD[@]} | awk 'END {print $NF; exit}'` echo "... admin user key set to '${ADMIN_KEY}'" + + if [ ! -z "$ADMIN_PASSWORD" ]; then + echo "... setting admin password to '${ADMIN_PASSWORD}'" + PASSWORD_POLICY=$(sudo -u www-data /var/www/MISP/app/Console/cake Admin getSetting "Security.password_policy_complexity" | jq ".value" -r) + PASSWORD_LENGTH=$(sudo -u www-data /var/www/MISP/app/Console/cake Admin getSetting "Security.password_policy_length" | jq ".value") + sudo -u www-data /var/www/MISP/app/Console/cake Admin setSetting "Security.password_policy_length" 1 + sudo -u www-data /var/www/MISP/app/Console/cake Admin setSetting "Security.password_policy_complexity" '/.*/' + sudo -u www-data /var/www/MISP/app/Console/cake user change_pw ${ADMIN_EMAIL} ${ADMIN_PASSWORD} + sudo -u www-data /var/www/MISP/app/Console/cake Admin setSetting "Security.password_policy_complexity" ${PASSWORD_POLICY} + sudo -u www-data /var/www/MISP/app/Console/cake Admin setSetting "Security.password_policy_length" ${PASSWORD_LENGTH} + else + echo "... leaving admin password as-is" + fi + echo 'UPDATE misp.users SET change_pw = 0 WHERE id = 1;' | ${MYSQLCMD} } apply_critical_fixes() { diff --git a/server/files/entrypoint_nginx.sh b/server/files/entrypoint_nginx.sh index 5db778b..f447c0e 100755 --- a/server/files/entrypoint_nginx.sh +++ b/server/files/entrypoint_nginx.sh @@ -67,7 +67,8 @@ init_misp_data_files(){ sed -i "s/'database' => 'misp'/'database' => '$MYSQL_DATABASE'/" $MISP_APP_CONFIG_PATH/database.php echo "... initializing email.php settings" - sudo -u www-data tee /var/www/MISP/app/Config/email.php > /dev/null < /dev/null <