Главная / Security Misconfiguration
Что такое Security Misconfiguration
Безопасность Web-приложения требует наличия безопасной конфигурации всех компонентов инфраструктуры: компонентов приложения (таких как фреймворки – frameworks), веб-сервера, сервера баз данных и самой платформы. Настройки компонентов сервера по-умолчанию зачастую небезопасны и открывают возможности к атакам. Например, кража сессионной cookie через JavaScript при XSS-атаке становится возможна благодаря выключенной по-умолчанию настройке cookie_http only.
Как определить что приложение уязвимо
- Все ли компоненты системы обновлены (OC, сервера и т. д.)?
- Включены ли неиспользуемые функции (открыты неиспользуемые порты, привилегии)?
- Изменены ли дефолтные учетные записи и пароли?
- Доходят ли до пользователя исходные сообщения об ошибках?
- Переменные окружения приложений и библиотек выставлены в безопасный режим(production)?
Примеры уязвимости
Пример 1
Админка приложения была установлена с дефолтным логином\паролем и они небыли изменены. Таким образом зайдя на url админки и введя дефолтный логин и пароль злоумышленник получит доступ к ней.
Пример 2
Вывод списка файлов в директории не отключен, таким образом злоумышленник может увидеть все файлы хранящиеся на веб сервере и в некоторых случаях скачать исходники приложения.
Пример 3
Приложение отдает ошибки приложения в пользовательский интерфейс. Таким образом злоумышленник может прощупать интересующие его места и возможно он сможет найти более серьезную уязвимость.
Пример 4
Нет ограничения доступа к незащищенным приложениям (например memcachedAdmin) таким образом найдя memcachedAdmin злоумышленник сможет менять его состояние.
Защита
- Приложение должно поддерживать несколько режимов работы (в разном окружении) и по дефолту работать в самом агрессивном режиме.
- Необходимо своевременно обновлять компоненты приложения а так же остальное ПО
- Периодически сканировать приложение на предмет наличия Уязвимостей.