Новое в Symfony 6.4: Улучшения безопасности
Разрешение бейджей в Profiler
Symfony Profiler предоставляет подробную информацию о безопасности, такую как данные о токене пользователя, слушатели безопасности, связанные с запросом, и лог принятия решения о доступе.
В Symfony 6.4 мы улучшаем эту функцию, чтобы она также показывала, как разрешаются бейджи безопасности. В данном примере пользователь неправильно ввёл свои учётные данные, поэтому бейдж PasswordCredentials
не был разрешён корректно:
![Symfony Profiler - Ошибка при разрешении бейджей безопасности](images/symfony-profiler-security-badges-error.png)
В другом примере аутентификация пользователя прошла успешно:
![Symfony Profiler Security - Разрешение значков безопасности при успешной аутентификации](images/symfony-profiler-security-badges-success.png)
Более безопасные логи безопасности
При использовании в приложении ограничения входа в систему (через компонент RateLimiter
) Symfony генерирует определённые сообщения журнала. В этих логах содержится такая информация, как IP-адрес и имя пользователя. Эта информация может рассматриваться как PII (Personally Identifiable Information), поэтому мы хэшируем её с помощью криптографической хэш-функции.
Достаточно обновить Symfony до версии 6.4 или выше, и Symfony начнёт хэшировать IP-адрес и имя пользователя, используя kernel.secret вашего приложения.
Массивы паттернов в файерволах
- Pull Request: [SecurityBundle] Allow an array of pattern in firewall configuration #51128 Grégoire Pineau
Параметр pattern
файервола безопасности определяет регулярное выражение, используемое для принятия решения о соответствии входящего запроса файерволу. Иногда один файервол соответствует нескольким путям, что может затруднить поддержку регулярного выражения. В Symfony 6.4 мы улучшили эту опцию, и теперь можно передавать массив регулярных выражений:
# config/packages/security.html.twig
security:
firewalls:
no_security:
- pattern: "^/(register|documentation)$"
+ pattern:
+ - "^/register$"
+ - "^/documentation$"