126 lines
4.4 KiB
Plaintext
126 lines
4.4 KiB
Plaintext
###########################################################################
|
||
# ШАБЛОН ЗАЩИЩЁННОГО Laravel-ПРИЛОЖЕНИЯ (ФСТЭК №21, УЗ-1 / К1)
|
||
# Значения подобраны под production. Для локальной разработки см. README.
|
||
###########################################################################
|
||
|
||
APP_NAME="Защищённый сервис ПДн"
|
||
APP_ENV=production
|
||
APP_KEY=
|
||
# ВАЖНО (ОДТ.3/ЗИС): в production отладку отключаем — не раскрываем трассировку.
|
||
APP_DEBUG=false
|
||
APP_URL=https://example.local
|
||
|
||
APP_LOCALE=ru
|
||
APP_FALLBACK_LOCALE=ru
|
||
APP_FAKER_LOCALE=ru_RU
|
||
|
||
APP_MAINTENANCE_DRIVER=file
|
||
|
||
# Хранение паролей: bcrypt cost >= 12 (ИАФ.3)
|
||
BCRYPT_ROUNDS=12
|
||
|
||
###########################################################################
|
||
# Логирование. В production уровень не ниже warning, debug запрещён (ОДТ.3).
|
||
###########################################################################
|
||
LOG_CHANNEL=stack
|
||
LOG_STACK=daily
|
||
LOG_DEPRECATIONS_CHANNEL=null
|
||
LOG_LEVEL=warning
|
||
|
||
###########################################################################
|
||
# Основная БД — PostgreSQL (раздел 10 гайда: изоляция, отдельный сегмент).
|
||
###########################################################################
|
||
DB_CONNECTION=pgsql
|
||
DB_HOST=127.0.0.1
|
||
DB_PORT=5432
|
||
DB_DATABASE=app
|
||
DB_USERNAME=app
|
||
# Секрет хранить в Vault/Secret Manager, не в репозитории (ЗИС).
|
||
DB_PASSWORD=
|
||
|
||
###########################################################################
|
||
# Отдельная БД журнала аудита (РСБ.3). Учётка приложения — только INSERT.
|
||
###########################################################################
|
||
AUDIT_DB_CONNECTION=audit
|
||
AUDIT_DB_HOST=127.0.0.1
|
||
AUDIT_DB_PORT=5432
|
||
AUDIT_DB_DATABASE=app_audit
|
||
AUDIT_DB_USERNAME=app_audit_writer
|
||
AUDIT_DB_PASSWORD=
|
||
# Ключ HMAC-подписи записей журнала (отдельный от APP_KEY).
|
||
AUDIT_HMAC_KEY=
|
||
AUDIT_HASH_CHAIN=true
|
||
AUDIT_RETENTION_DAYS=1095
|
||
AUDIT_SIEM_ENABLED=false
|
||
AUDIT_SIEM_CHANNEL=siem
|
||
|
||
###########################################################################
|
||
# Сессии (ИАФ.5). Для УЗ-1: 30 минут, secure, http_only, same_site=strict.
|
||
###########################################################################
|
||
SESSION_DRIVER=redis
|
||
SESSION_LIFETIME=30
|
||
SESSION_EXPIRE_ON_CLOSE=true
|
||
SESSION_ENCRYPT=true
|
||
SESSION_SECURE_COOKIE=true
|
||
SESSION_HTTP_ONLY=true
|
||
SESSION_SAME_SITE=strict
|
||
SESSION_PATH=/
|
||
SESSION_DOMAIN=null
|
||
|
||
BROADCAST_CONNECTION=log
|
||
FILESYSTEM_DISK=local
|
||
QUEUE_CONNECTION=redis
|
||
CACHE_STORE=redis
|
||
|
||
###########################################################################
|
||
# Redis (сессии, кэш, очереди). Пароль обязателен.
|
||
###########################################################################
|
||
REDIS_CLIENT=phpredis
|
||
REDIS_HOST=127.0.0.1
|
||
REDIS_PASSWORD=
|
||
REDIS_PORT=6379
|
||
|
||
MAIL_MAILER=log
|
||
MAIL_HOST=127.0.0.1
|
||
MAIL_PORT=2525
|
||
MAIL_USERNAME=null
|
||
MAIL_PASSWORD=null
|
||
MAIL_FROM_ADDRESS="noreply@example.local"
|
||
MAIL_FROM_NAME="${APP_NAME}"
|
||
|
||
###########################################################################
|
||
# Параметры мер защиты (config/security.php)
|
||
###########################################################################
|
||
# Парольная политика (ИАФ.3)
|
||
SECURITY_PASSWORD_MIN_LENGTH=12
|
||
SECURITY_PASSWORD_MIXED_CASE=true
|
||
SECURITY_PASSWORD_NUMBERS=true
|
||
SECURITY_PASSWORD_SYMBOLS=true
|
||
SECURITY_PASSWORD_UNCOMPROMISED=false
|
||
SECURITY_PASSWORD_HISTORY=5
|
||
SECURITY_PASSWORD_MAX_AGE_DAYS=90
|
||
|
||
# Блокировка после неудачных попыток (ИАФ.6)
|
||
SECURITY_LOCKOUT_MAX_ATTEMPTS=5
|
||
SECURITY_LOCKOUT_DECAY_MINUTES=30
|
||
|
||
# Многофакторная аутентификация (ИАФ.4)
|
||
SECURITY_MFA_REQUIRED=true
|
||
SECURITY_MFA_RECOVERY_CODES=8
|
||
|
||
# Шифрование ПДн (ЗНИ). driver: laravel | gost
|
||
SECURITY_PDN_CIPHER_DRIVER=laravel
|
||
SECURITY_PSEUDONYM_KEY=
|
||
# Для драйвера gost (КриптоПро CSP):
|
||
SECURITY_GOST_BINARY=/opt/cprocsp/bin/amd64/csptest
|
||
SECURITY_GOST_CONTAINER=
|
||
|
||
# Заголовки безопасности (ЗИС)
|
||
SECURITY_HSTS_MAX_AGE=31536000
|
||
|
||
# Ограничение доступа по IP (опционально)
|
||
SECURITY_IP_WHITELIST_ENABLED=false
|
||
SECURITY_IP_WHITELIST=
|
||
|
||
VITE_APP_NAME="${APP_NAME}"
|