Skip to content

Commit 0a836d2

Browse files
Diogo-Regodiegolamaral
andauthored
Add additional PHP settings and cookie configurations (#164)
Add additional PHP settings and cookie configurations --------- Co-authored-by: diegolamaral <[email protected]>
1 parent b6e25aa commit 0a836d2

File tree

4 files changed

+67
-2
lines changed

4 files changed

+67
-2
lines changed

core/files/configure_misp.sh

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,26 @@ set_up_aad() {
219219
sudo -u www-data /var/www/MISP/app/Console/cake Admin setSetting -q "Security.require_password_confirmation" false
220220
}
221221

222+
set_up_session() {
223+
# Command to modify MISP session configuration
224+
sudo -u www-data php /var/www/MISP/tests/modify_config.php modify "{
225+
\"Session\": {
226+
\"timeout\": ${PHP_SESSION_TIMEOUT},
227+
\"cookie_timeout\": ${PHP_SESSION_COOKIE_TIMEOUT},
228+
\"defaults\": \"${PHP_SESSION_DEFAULTS}\",
229+
\"autoRegenerate\": ${PHP_SESSION_AUTO_REGENERATE},
230+
\"checkAgent\": ${PHP_SESSION_CHECK_AGENT},
231+
\"ini\": {
232+
\"session.cookie_secure\": ${PHP_SESSION_COOKIE_SECURE},
233+
\"session.cookie_domain\": \"${PHP_SESSION_COOKIE_DOMAIN}\",
234+
\"session.cookie_samesite\": \"${PHP_SESSION_COOKIE_SAMESITE}\"
235+
}
236+
}
237+
}" > /dev/null
238+
239+
echo "... Session configured"
240+
}
241+
222242
set_up_proxy() {
223243
if [[ "$PROXY_ENABLE" == "true" ]]; then
224244
echo "... configuring proxy settings"
@@ -411,6 +431,8 @@ echo "MISP | Set Up LDAP ..." && set_up_ldap
411431

412432
echo "MISP | Set Up AAD ..." && set_up_aad
413433

434+
echo "MISP | Set Up Session ..." && set_up_session
435+
414436
echo "MISP | Set Up Proxy ..." && set_up_proxy
415437

416438
echo "MISP | Mark instance live"

core/files/entrypoint.sh

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,15 @@ export PHP_UPLOAD_MAX_FILESIZE=${PHP_UPLOAD_MAX_FILESIZE:-50M}
4545
export PHP_POST_MAX_SIZE=${PHP_POST_MAX_SIZE:-50M}
4646
export PHP_MAX_INPUT_TIME=${PHP_MAX_INPUT_TIME:-300}
4747

48+
export PHP_SESSION_TIMEOUT=${PHP_SESSION_TIMEOUT:-60}
49+
export PHP_SESSION_COOKIE_TIMEOUT=${PHP_SESSION_COOKIE_TIMEOUT:-10080}
50+
export PHP_SESSION_DEFAULTS=${PHP_SESSION_DEFAULTS:-php}
51+
export PHP_SESSION_AUTO_REGENERATE=${PHP_SESSION_AUTO_REGENERATE:-false}
52+
export PHP_SESSION_CHECK_AGENT=${PHP_SESSION_CHECK_AGENT:-false}
53+
export PHP_SESSION_COOKIE_SECURE=${PHP_SESSION_COOKIE_SECURE:-true}
54+
export PHP_SESSION_COOKIE_DOMAIN=${PHP_SESSION_COOKIE_DOMAIN}
55+
export PHP_SESSION_COOKIE_SAMESITE=${PHP_SESSION_COOKIE_SAMESITE:-Lax}
56+
4857
export NGINX_X_FORWARDED_FOR=${NGINX_X_FORWARDED_FOR:-false}
4958
export NGINX_SET_REAL_IP_FROM=${NGINX_SET_REAL_IP_FROM}
5059

docker-compose.yml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,11 +193,20 @@ services:
193193
- "PHP_UPLOAD_MAX_FILESIZE=${PHP_UPLOAD_MAX_FILESIZE:-50M}"
194194
- "PHP_POST_MAX_SIZE=${PHP_POST_MAX_SIZE:-50M}"
195195
- "PHP_MAX_INPUT_TIME:${PHP_MAX_INPUT_TIME:-300}"
196+
# Additional PHP settings
197+
- "PHP_SESSION_TIMEOUT=${PHP_SESSION_TIMEOUT:-60}"
198+
- "PHP_SESSION_COOKIE_TIMEOUT=${PHP_SESSION_COOKIE_TIMEOUT:-10080}"
199+
- "PHP_SESSION_DEFAULTS=${PHP_SESSION_DEFAULTS:-php}"
200+
- "PHP_SESSION_AUTO_REGENERATE=${PHP_SESSION_AUTO_REGENERATE:-false}"
201+
- "PHP_SESSION_CHECK_AGENT=${PHP_SESSION_CHECK_AGENT:-false}"
202+
- "PHP_SESSION_COOKIE_SECURE=${PHP_SESSION_COOKIE_SECURE:-true}"
203+
- "PHP_SESSION_COOKIE_DOMAIN=${PHP_SESSION_COOKIE_DOMAIN}"
204+
- "PHP_SESSION_COOKIE_SAMESITE=${PHP_SESSION_COOKIE_SAMESITE:-Lax}"
196205
# Security Settings
197206
- "HSTS_MAX_AGE=${HSTS_MAX_AGE}"
198207
- "X_FRAME_OPTIONS=${X_FRAME_OPTIONS}"
199208
- "CONTENT_SECURITY_POLICY=${CONTENT_SECURITY_POLICY}"
200-
209+
201210
misp-modules:
202211
image: ghcr.io/misp/misp-docker/misp-modules:${MODULES_RUNNING_TAG:-latest}
203212
build:

template.env

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,13 +178,38 @@ SYNCSERVERS_1_PULL_RULES=
178178
# FASTCGI_SEND_TIMEOUT=300s
179179
# FASTCGI_CONNECT_TIMEOUT=300s
180180

181-
# PHP fpm configuration
181+
# PHP FPM configuration
182+
183+
## Basic PHP settings
184+
# Maximum memory a PHP script can use.
182185
# PHP_MEMORY_LIMIT=2048M
186+
# Maximum execution time for a PHP script in seconds.
183187
# PHP_MAX_EXECUTION_TIME=300
188+
# Maximum file upload size for PHP scripts.
184189
# PHP_UPLOAD_MAX_FILESIZE=50M
190+
# Maximum size for POST data sent to PHP.
185191
# PHP_POST_MAX_SIZE=50M
192+
# Maximum time PHP spends parsing input data in seconds.
186193
# PHP_MAX_INPUT_TIME=300
187194

195+
## Additional PHP settings
196+
# Timeout (in minutes) for user session inactivity before it expires.
197+
# PHP_SESSION_TIMEOUT=60
198+
# Session cookie validity period in minutes.
199+
# PHP_SESSION_COOKIE_TIMEOUT=10080
200+
# Default PHP configurations.
201+
# PHP_SESSION_DEFAULTS=php
202+
# Automatically regenerate session ID on each request.
203+
# PHP_SESSION_AUTO_REGENERATE=false
204+
# Check user agent on each request for security.
205+
# PHP_SESSION_CHECK_AGENT=false
206+
# Only send session cookies over HTTPS.
207+
# PHP_SESSION_COOKIE_SECURE=true
208+
# Domain for session cookie validity (leave empty for current domain).
209+
# PHP_SESSION_COOKIE_DOMAIN=
210+
# SameSite policy for cookies ("Lax" allows top-level navigation).
211+
# PHP_SESSION_COOKIE_SAMESITE=Lax
212+
188213
# MariaSQL/MySQL (InnoDB) configuration
189214
# INNODB_BUFFER_POOL_SIZE=2048M
190215
# INNODB_CHANGE_BUFFERING=none

0 commit comments

Comments
 (0)