среда, 18 марта 2020 г.

Что нам стоит сайт построить?


У вас бывает такое ощущение, когда необходимо вспомнить слово или фразу, как будто вот оно, сейчас… но искомый образ все ускользает, и ускользает. Но мы же живем в 21-м веке! Что делает продвинутый пользователь в этом случае? Не знаю, как другие, а я «пытаю» Google всеми созвучными словами в надежде увидеть искомое.


И неожиданно поймал себя на мысли – какое бы слово я не указывал в поиске, всегда найдется соответствующий сайт. «Порывшись» в интернете, узнал, что по состоянию на январь 2020 было более 1.74 миллиард сайтов в Интернете. И это при том, что словарный запас человека с ученой степенью, например, в русском языке оценивается в 100-102 тысячи слов.

Правда, есть одно «но». Замечали вы, или нет, но минимум каждый 5-й сайт выдает ошибки (прежде всего, ошибки sql), тексты и рисунки часто не масштабируются и т.д. Причем сайты могут принадлежать вполне респектабельным компаниям. В чем же тут дело?

Порывшись еще немного в интернете, получил ответ и на этот вопрос. Вернее, эмпирическое правило: «Основное время программиста уходит не на написание кода. Основное время программиста уходит на поиск ошибок и отладку.» К сожалению, очень много людей начинает разработку сайта вообще без опыта программирования и, как следствие - никогда не слышали об отладке. А это и есть самое главное в программировании - умение искать ошибки.

Как искать эти ошибки? Я задал этот вопрос гуру сайтостроения на нескольких специализированных форумах и получил очень большое количество рекомендаций. Поскольку советы большинства специалистов сводились к использованию специализированного ПО, то и выбрал для тестирования то, которое получило высокую оценку - Acunetix Web Vulnerability Scanner. И, заодно, стал обладателем ссылки на обзор ПО Acunetix Web Vulnerability Scanner на сайте www.windowsecurity.com, которым и делюсь.




Существует много сканеров слабых мест защиты, но опасность может исходить из разных сторон, поэтому появляются инструменты безопасности с узкой специализацией. 

Компания Acunetix создала сканер для защиты веб-серверов и веб-приложений. Программа показалась нам интересной, и мы решили протестировать ее. В данной статье мы опишем свойства и функции программы, а также наши впечатления.

Вот описание программного продукта: «В данный программный комплект входит сканер безопасности, поисковый агент, инструмент анализа сообщений, а также объяснения веб-безопасности и расширенная база данных проверок безопасности для всех распространенных платформ веб-серверов. Программа безопасности, созданная по принципу «все в одном», позволяет обнаруживать слабые места защиты, представленные в рейтингах SANS Top 20 и OWASP Top 10. Кроме того, новая функция автоматически определяет устаревшее программное обеспечение на сервере, сообщает о нем и в случае необходимости устанавливает с ним связь, что значительно улучшает безопасность сервера и ограждает его от возможных атак».

Обзор функций

На что же способна данная программа? Сканер определяет хосты, на который работают службы сервера, и сканирует данные хосты на предмет наличия общих слабых мест, таких как перекрестных кодов, просмотр-обход директорий, ввод SQL и многих других. Программа также производит тестирование аутентификации HTTP для определения небезопасных настоек и ненадежных паролей и для проверки настроек безопасности сервера. Она сообщает о наличии устаревшего ПО на сервере, которое необходимо обновить или исправить.

С ее помощью можно просканировать виртуальные хосты и все типы веб-серверов, а не только на основе Windows. WVS поддерживает ОС UNIX и Linux, веб-службы Apache и файлы настроек PHP. Имеется возможность подвергнуть ОС специальным проверкам.

Можно просканировать множество типов веб-страниц и файлов, включая ASP и CGI. Программа поддерживает безопасные прокси и HTTP (HTTPS) сервера.

Сканирование

Примечание:
При установленной системе обнаружения сетевых атак (IDS) она определит сканирование WVS как множественные атаки и будет выводить предупреждающие сообщения.


Есть несколько вариантов сканирования:

  • Сканировать одинарный сайт (HTTP или HTTPS) Введите URL или IP адрес сайта, который необходимо просканировать.
  • Сканировать список компьютеров. Необходимо создать текстовый файл со списком имен компьютеров или IP адресов.
  • Сканировать ряд компьютеров. Введите начальный и конечный IP адреса и укажите порты, которые необходимо просканировать (например, порт 80).



Причем можно создать профиль сканирования, который разрешает или запрещает определенные тесты, для ускорения самого сканирования. Здесь можно установить параметры поискового агента  – программного компонента, который производит поиск по сайту. С помощью установки параметров можно включить или наоборот исключить определенные ссылки и файлы из круга поиска агента. Если поисковый агент не смог проследить все ссылки автоматически, необходимо выполнить ручной поиск. После этого агент включает найденные ссылки в структуру сайта. Если вы не хотите, чтобы поисковый агент прошел по ссылкам за пределы сайта, то следует выбрать вариант получения только первого адреса URL. Для сканирования сайтов, требующих аутентификации необходимо ввести пользовательское имя и пароль.

Получение результатов сканирования

Результаты сканирования состоят из следующих закладок:

Предупреждения (Alerts) — Расширение данной закладки выводит список слабых мест защиты, которые были обнаружены во время сканирования: небезопасные настройки, истечение времени разрешений или устаревшие версии ПО. Предупреждения могут быть только информационными, низкой, средней и высокой опасности. Выберите какой-либо пункт в закладке Alerts (Предупреждения), чтобы просмотреть подробности в правой панели. Здесь также представлены советы по устранению слабых мест защиты и список ссылок для получения дополнительной информации.

Site Structure (Структура сайта) – В данной закладке предоставлены директории и файлы, которые обнаружил поисковый агент, включая найденные во время ручного поиска, а также их структура в файловой системе. Для получения дополнительной информации (путь, размер в байтах, результаты HTTP Get и т. д.) необходимо выбрать файл или директорию.

Внизу интерфейса программы размещается Activity Window (Окно выполняемых действий). В нем отображаются все действия, выполняемые WVS. В окне Результаты сканирования показывается номер всех найденных слабых мест защиты. Например, наше сканирование выявило четыре недействительные ссылки и один случай перекрестного кода.

Для сравнения результатов данного и предыдущего сканирования необходимо в меню Tools (Инструменты) выбрать пункт Compare Results (Сравнить результаты).

Создание отчетов

Для создания отчета с использованием информации из базы данных применяется инструмент Reporter. В отчет можно включить только предупреждения определенного типа (информационные, низкой, средней или высокой опасности) и выбрать, показывать ли подробные предупреждения, заголовки запрос/ответ и/или таблицу предупреждений. Вы можете указать название отчета, заголовок или текст нижнего колонтитула, а также выбрать изображение для заголовка.

Отчет состоит из следующих разделов:
  • Группы сканирования
  • Сводка сканирования
  • Сводка предупреждений
  • Подробности предупреждений

В сводке сканирования представлена информация о начальном и конечном времени сканирования, продолжительность сканирования и общая информация о сервере (ОС и баннер сервера (версия веб-служб)).



Отчет можно сохранить в файл или распечатать. Предусмотрена возможность создания шаблонов отчетов, которые включают в себя варианты тестирования, чтобы ускорить и облегчить процесс создания отчетов.

Дополнительные интсрументы

В Acunetix WVS включает в себя некоторые дополнительные инструменты:

HTTP Editor (Редактор HTTP) — предназначен для создания пользовательского варианта изучения запросов и ответов HTTP, а также для определения формата выхода/ответа (например, простой текст или HTML). В интерфейс также входят инструмент шифровки-расшифровки для конвертации между простым текстом и кодами URL или Base64, а также переменный редактор, который позволяет редактировать переменные запроса, cookies и данные запроса.

Target Finder (Искатель целевых объектов) – исследует список или ряд IP адресов для обнаружения серверов HTTP/HTTPS.

Authentication Tester (Тестер аутентификации) – используется для тестирования и восстановления действительных паролей целевых сайтов, а также для взлома паролей с применением способов грубой силы.

Доступ к ним осуществляется через меню Tools (Инструменты) в командной строке WVS. В подменю Acunetix меню Программы есть также Troubleshooter Wizard (Мастер поиска неисправностей).

Выводы

Acunetix Web Vulnerability Scanner прост в установке, настройке и использовании. От установки до получения первых результатов сканирования проходит всего лишь несколько минут. Такая простота, однако, совершенно не снижает серьезности программы. Существует множество способов настройки и подгонки под конкретного пользователя, а дополнительные инструменты обеспечивают больше возможностей. В комплект поставки включено руководство пользователя в формате HTML Help, но доступны и версии в формате PDF и Web на сайте компании Acunetix. В отличие от других программ Acunetix легко деинсталлировать, хотя это не входит в наши планы, так как она показала себя с лучшей стороны.