Тестирование на проникновение (пентестинг) играет ключевую роль в обеспечении безопасности вашего приложения и защите важных данных от злоумышленников. Такое тестирование выполняется, как правило, отдельными специалистами, также известными как белые хакеры.
В этой статье мы собрали ряд базовых проверок на проникновение, которые обязательно нужно выполнить, тестируя ваш продукт.
Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туториалов, задач по автоматизации и книг по QA.
Что такое тестирование на проникновение?
Тестирование на проникновение – это вид тестирования, выявляющий уязвимости сети, веб-приложения или компьютерной системы. Он помогает определить, насколько надежны внедренные в систему защитные механизмы и могут ли они предотвратить любые нарушения безопасности. В отчетах по тестированию на проникновение также предлагаются рекомендации по снижению рисков взлома системы или приложения.
В ходе тестирования на проникновение также оценивается безопасность ИТ-инфраструктуры. Здесь будут учитываться уязвимости приложения, включающие “опасное” поведение пользователей, неправильные настройки конфигурации и баги в приложении. На основе такой оценки и будет подтверждена эффективность защитных методов, предложенных в ходе пентестинга.
Список распространенных тестов на проникновение
- Проверьте, способно ли приложение выявлять и блокировать спам-атаки на контактные формы, использующиеся на сайте.
- Протестируйте фильтрацию входящего и исходящего почтового трафика, а также блокировку нежелательных писем.
- Проверьте наличие прокси-серверов. Они должны отслеживать сетевой трафик. Хакерам будет сложно получить внутренние данные сети через прокси-сервер, что, в свою очередь, усилит защиту вашей системы от внешних атак.
- Убедитесь, что встроенные спам-фильтры ваших почтовых клиентов настроены должным образом. Правила настройки можно применить к телу, теме или заголовку письма.
- Весь компьютер или сеть должны быть защищены брандмауэрами. Неавторизованный доступ к системе должен блокироваться файерволом, который может быть как аппаратным, так и программным. Необходимо предотвращать несанкционированную передачу данных за пределы сети.
- Проверьте шифрование имен пользователей и паролей и их последующую передачу по защищенным соединениям, например https.
- Для обнаружения троянских атак можно сканировать входящий сетевой трафик.
- Проверьте уровень защищенности системы от брутфорс-атак (атаки “грубой силой”).
- Протестируйте сеть или систему на предмет защищенности от DoS-атак (Denial-of-service). Хакер может атаковать один компьютер или сеть непрерывными запросами с целью перегрузки ресурсов на сервере, что в итоге приводит к отказу в обслуживании для обычных пользователей.
- Убедитесь, что на сервере отключен просмотр директорий.
- Проверьте ведение журнала доступа и наличие в нем указаний для соответствующих разрешений на доступ.
- Проверьте защищенность системы от спуффинг-атак (spoofing).
- Проведите тестирование на предмет подделки GPS, электронной почты, IP-адреса, идентификатора вызывающего абонента, реферера, ARP (протокола, определяющего адрес пользователя) и т. д.
- Убедитесь, что важные данные, такие как пароли, хранятся в системе в секретных и защищенных файлах.
- Проверьте защиту вашего приложения от межсайтового скриптинга.
- Проведите тест на манипуляцию с URL-адресами, чтобы убедиться, что ваше веб-приложение не отображает нежелательную информацию.
Перевод статьи «Penetration Testing Explained with Sample Test Cases».