first commit
This commit is contained in:
125
.env.example
Normal file
125
.env.example
Normal file
@@ -0,0 +1,125 @@
|
||||
###########################################################################
|
||||
# ШАБЛОН ЗАЩИЩЁННОГО 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}"
|
||||
Reference in New Issue
Block a user