Администрирование
Безопасность
Настройка безопасности NEW
10мин
общая информация в этом документе собраны все параметры и рекомендации, которые могут влиять на безопасность различных компонентов инфраструктуры пассворка (веб сервер, php, база данных) выставление максимальных значений требуется не всегда и может привести к неудобству использования пассворка конечными пользователями, а также отсутствию поддержки или совместимости со старыми ос и компонентами изменяйте значения по рекомендациям технической поддержки пассворк настройки php (php ini) название параметра значение важно commentary expose php off да скрывает информацию о версии php в заголовках ответа веб сервера display errors off да отключает вывод информации об ошибках php всегда должно быть off, так как все ошибки пишутся в лог файлы post max size 10mb ограничивает максимальный размер получаемых от клиента данных, что защищает от dos атак max execution time 120 до 600 максимальное время выполнения скрипта в секундах при необходимости можно увеличить max input time 120 максимальное время чтения данных от клиента в секундах memory limit 256mb до 2gb максимальный объем ram, который может использовать скрипт при необходимости можно увеличить max input vars 1000 количество параметров в post запросе можно увеличить, если наблюдаются проблемы с импортом больших csv или json файлов session cookie lifetime 0 при значении 0 браузер не хранит куки и очищает их при перезапуске браузера session use only cookies on да сессия будет передавать только через куки session use strict mode on да php не будет принимать куки с сессией, номер который установлен пользователем, а не выдан php защищает от cookie fixation session cookie httponly on да запрещает доступ к кукам из javascript session cookie secure on да куки будут доступны только по https session use trans sid off да запрещает предавать номер сессии через get параметры session cache limiter nocache отключает кеш session sid length 100 да устанавливает длину сессии длинный номер сессии защищает ее от перебора (максимально 256) session sid bits per character 5 да максимальная вариативность символов в номере сессии '4' (0 9, a f), '5' (0 9, a v), '6' (0 9, a z, a z, " ", ",") значение 6 не поддерживается session cookie domain если используется одно доменное имя, то его можно указать в этом параметре веб сервер настройка ssl 💡 для продакшен среды требуется обязательная настройка работы по https протоколу основные сведения об ssl docid\ mov 1uzctujovgyxurw4f оставить поддержку только tls 1 2 и 1 3 ssl protocols tlsv1 2 tlsv1 3; рекомендованный набор крипто алгоритмов (не будут поддерживаться старые ос и браузеры, например ie6/winxp) ssl ciphers ecdhe rsa aes256 gcm sha512\ dhe rsa aes256 gcm sha512\ ecdhe rsa aes256 gcm sha384\ dhe rsa aes256 gcm sha384\ ecdhe rsa aes256 sha384; http strict transport security расширение http strict transport security предназначено для сохранения настройки в браузере «этот сайт работает только посредством https» атаковать такой ресурс при помощи «человек посередине» (mitm) уже не получится, т к в случае подмены сертификата браузер сразу закроет соединение и не даст возможности продолжить работу с поддельным сертификатом add header strict transport security max age=31536000; в параметре max age указывается на сколько секунд следует кэшировать заголовок hsts в браузере рекомендуется указывать 31536000 (1 год) и выше http public key pinning extension при помощи данного расширения администратор ресурса может указать какой удостоверяющий центр может использоваться для подписания его сертификатов чтобы включить данное расширение, нам необходимо получить отпечаток удостоверяющего центра, выдавшего наш сертификат и закодировать его в base64 проще всего это сделать так openssl x509 in cert pem pubkey noout | \openssl rsa pubin outform der | \openssl dgst sha256 binary | openssl enc base64 здесь cert pem — это первый в цепочке сертификат, принадлежащий удостоверяющему центру на выходе мы получим строку в base64 включаем расширение и прописываем отпечаток нашего уц (не забудьте указать свой base64 отпечаток) add header public key pins 'pin sha256="5c8kvu039kouvrl52d0ezsgf4onjo4khs8tmytlv3nu="; max age=1512000'; в параметре max age указывается на сколько секунд следует кэшировать отпечаток в кэше браузера рекомендуется указывать не слишком большое значение, т к в случае смены уц клиенты не смогут зайти на ваш ресурс до истечения таймаута настройка пассворка настройка параметров безопасности config env название параметра значение комментарий encryption cipher рекомендуется оставить без изменений можно указать алгоритм шифрования из библиотеки openssl hash algorithm рекомендуется оставить без изменений по умолчанию используется sha512 is export enabled рекомендуется оставить без изменений по умолчанию экспорт паролей в пассворке доступен значение 0 запрещает экспорт системные параметры пассворка название параметра значение комментарий системные настройки дополнительная защита и подпись cookie файлов включить куки с php сессией подписываются с помощью энтропии и данных из заголовка http запроса, в том числе ip пользователя это повышает защиту от перебора номера сессии, а так же от переноса (кражи) кук между браузерами каждый пользователь автоматически будет терять сессию при смене ip адреса запросы на подключение включить подключение пользователей к сейфам после подтверждения запроса лимит неудачных попыток входа в течение установленного периода 3–5 максимальное количество неудачных попыток входа в систему, допустимое в течение определенного периода времени до срабатывания блокировки период учёта неудачных попыток входа (в секундах) 300–600 временное окно в секундах, в течение которого отслеживаются неудачные попытки входа в систему меньшее значение может пропустить медленные попытки перебора; 600 секунд (10 минут) продолжительность блокировки аккаунта (в секундах) 300–900 длительность блокировки учетной записи в секундах после превышения лимита неудачных попыток 15 минут достаточно для предотвращения большинства автоматизированных атак самостоятельное восстановление пароля авторизации запрещено только владелец или пользователь с ролью в пассворке сможет сбросить пароль авторизации пользователя настройки роли обязательная двухфакторная аутентификация включить все пользователи, назначенные на эту роль, должны будут настроить 2fa перед входом в пассворк максимальный срок действия сессии при неактивности (в минутах) 15 30 определяет максимальное время жизни неактивного сеанса рекомендуется устанавливать это значение в средах с высоким уровнем безопасности, чтобы минимизировать риск перехвата сеанса обязательный пин код в расширении включить требуется создать и для авторизации в расширении браузера ввести pin код для доступа включение этой функции обеспечивает дополнительный уровень безопасности, особенно на общих устройствах время жизни токена доступа (в минутах) 60 240 продолжительность действия токена доступа рекомендуется 1 4 часа, чтобы ограничить потенциальный ущерб от компрометации токена время жизни токена обновления (в минутах) 1440–10080 продолжительность действителен токена обновления для повышения безопасности рекомендуется ограничить срок действия маркера обновления 1 7 днями аккаунт — использование мобильного приложения; — использование браузерного расширения; — создавать и отзывать api токены через веб интерфейс позволяет отключить использование api клиентские приложения (мобильные приложения, расширения для браузеров) используют api если api отключен, пользователь сможет войти только в веб версию настройка базы данных mongodb рекомендации по дополнительной настройке примеры настройки авторизации docid\ x5ajbkgf0i cgv68dr03k