Инфраструктура
- Всегда используем только современное программное обеспечение, для которого выпускаются регулярные обновления безопасности.
- Следим, чтобы все важные обновления безопасности устанавливались вовремя и без ошибок.
- В автоматическом режиме следим, чтобы сайты были доступны и работали без перебоев.
- Для сайтов на PHP регулярно проверяем их на вирусы с помощью антивируса ai-bolit.
- Следим за актуальностью используемых CMS (систем управления сайтом) и вовремя их обновляем.
- Регулярно делаем резервные копии данных и храним их не только на основном сервере, но и в других дата-центрах — чтобы ничего не потерять даже в случае сбоя или атаки.
- Автоматически мониторим и вручную просматриваем журналы событий (логи), чтобы вовремя замечать подозрительную активность.
- Используем защищённое соединение (SSL), чтобы данные между сайтом и пользователем были зашифрованы. Наши сайты получают высшую оценку (A+) в тестах безопасности SSL
- Включаем специальные настройки безопасности (например, Content Security Policy), чтобы защититься от современных видов атак.
- Храним все пароли исключительно в корпоративном менеджере паролей, который помогает создавать и проверять сложные пароли для максимальной защиты.
Разработка
- Используем многоуровневую систему ролей и разделения доступов. Ограничиваем доступы сотрудников и всех причастных минимально допустимым набором прав необходимых для выполнения своих обязанностей.
- Все сайты запускаются от своего пользователя.
- По единым правилам ограничиваем права на доступ и исполнение к файлам и папкам.
- Отключаем вывод ошибок в продакшене, но логируем их, и отправляем в багтрекер компании, где они исправляются в приоритетном порядке.
- По единым правилам отключаем небезопасные функции, к которым может быть доступ из кода сайта.
- Используем единые и проверенные настройки серверного ПО по работе с сессиями и куками.
- Все изменения программного кода вносятся через систему контроля версий, возможность изменять программный код напрямую на сервере у программистов ограничены.
- Проверяем актуальность и безопасность используемых библиотек, используем линты и статические анализаторы кода в процессе CI/CD.
- Скрываем из публичного доступа конфигурационные файлы сайтов.
- Избегаем прямого доступа к файлам и скриптам.
- Используем современные библиотеки, обеспечивающие безопасную работу с входящими данными от пользователя, для них пишем валидацию и десереализацию, используем CSRF-токены.
- Используем современные библиотеки, обеспечивающие безопасную работу с БД, которые экранируют входные параметры через "подготовленные" запросы.
- Используем современные JS-библиотеки для реализации пользовательских интерфейсов, ограничивающих возможности для использования небезопасных функций в браузере пользователя.