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