Вопросы и ответы

Как мы обеспечиваем информационную безопасность сайтов?

Инфраструктура

  1. Всегда используем только современное программное обеспечение, для которого выпускаются регулярные обновления безопасности.
  2. Следим, чтобы все важные обновления безопасности устанавливались вовремя и без ошибок.
  3. В автоматическом режиме следим, чтобы сайты были доступны и работали без перебоев.
  4. Для сайтов на PHP регулярно проверяем их на вирусы с помощью антивируса ai-bolit.
  5. Следим за актуальностью используемых CMS (систем управления сайтом) и вовремя их обновляем.
  6. Регулярно делаем резервные копии данных и храним их не только на основном сервере, но и в других дата-центрах — чтобы ничего не потерять даже в случае сбоя или атаки.
  7. Автоматически мониторим и вручную просматриваем журналы событий (логи), чтобы вовремя замечать подозрительную активность.
  8. Используем защищённое соединение (SSL), чтобы данные между сайтом и пользователем были зашифрованы. Наши сайты получают высшую оценку (A+) в тестах безопасности SSL
  9. Включаем специальные настройки безопасности (например, Content Security Policy), чтобы защититься от современных видов атак.
  10. Храним все пароли исключительно в корпоративном менеджере паролей, который помогает создавать и проверять сложные пароли для максимальной защиты.

Разработка

  1. Используем многоуровневую систему ролей и разделения доступов. Ограничиваем доступы сотрудников и всех причастных минимально допустимым набором прав необходимых для выполнения своих обязанностей.
  2. Все сайты запускаются от своего пользователя.
  3. По единым правилам ограничиваем права на доступ и исполнение к файлам и папкам.
  4. Отключаем вывод ошибок в продакшене, но логируем их, и отправляем в багтрекер компании, где они исправляются в приоритетном порядке.
  5. По единым правилам отключаем небезопасные функции, к которым может быть доступ из кода сайта.
  6. Используем единые и проверенные настройки серверного ПО по работе с сессиями и куками.
  7. Все изменения программного кода вносятся через систему контроля версий, возможность изменять программный код напрямую на сервере у программистов ограничены.
  8. Проверяем актуальность и безопасность используемых библиотек, используем линты и статические анализаторы кода в процессе CI/CD.
  9. Скрываем из публичного доступа конфигурационные файлы сайтов.
  10. Избегаем прямого доступа к файлам и скриптам.
  11. Используем современные библиотеки, обеспечивающие безопасную работу с входящими данными от пользователя, для них пишем валидацию и десереализацию, используем CSRF-токены.
  12. Используем современные библиотеки, обеспечивающие безопасную работу с БД, которые экранируют входные параметры через "подготовленные" запросы.
  13. Используем современные JS-библиотеки для реализации пользовательских интерфейсов, ограничивающих возможности для использования небезопасных функций в браузере пользователя.