Files
laravel-gost-template/.env.example
2026-06-24 17:20:43 +09:00

126 lines
4.4 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

###########################################################################
# ШАБЛОН ЗАЩИЩЁННОГО 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}"