Сканирование на безопасность веб ресурса. Информационная безопасность, защита и безопасное администрирование веб-ресурсов. Проверяйте входящие данные

Большинство проверенных веб-ресурсов на сегодняшний момент имеют ряд серьезных уязвимостей и не отвечает современным требованиям к безопасности. Примерно половина всех обнаруженных уязвимостей была связана с так называемыми SQL инъекциями, еще 42% уязвимостей связаны с кросс- скриптинговыми уязвимостями (XSS, Cross Site Scripting), называемые также межсайтовым скриптингом, 7% уязвимостей связаны с раскрытием исходного кода серверного веб-приложения, которое непосредственно обращается к данным.

Безопасность онлайновых приложений становится одной из основных проблем для обеспечения не только безопасности веб-сайтов, но и множества корпоративных приложений, работающих через Интернет.

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

Основные работы, которые осуществляются при проведении аудита на защищенность веб-ресурсов:
- обнаружение уязвимостей, позволяющих несанкционировано получить доступ к закрытым областям веб-приложений;
- попытки модифицирования информации веб-сервисов;
- тестирование возможности внедрения и выполнения произвольного вредоносного программного кода;
- проверку на устойчивость к атакам SQL инъекциям, Cross Site Scripting, XSS и др.;
- анализ кода скриптов;
- обнаружение и выявление уязвимостей на операционных системах, на которых функционируют веб-сервера и веб-сервисы;
- предоставление отчета по найденным уязвимостям и рискам, а также рекомендаций по их устранению;
- проверка устойчивости к Dos/DDos атакам.

Методика
При проведении аудита специалисты компании подвергают анализу как само веб-приложение, так и операционную систему, и базы данных. При этом мы используем, как инструментальное сканирование, так и анализ вручную, что существенно повышает качество работ.
Инструментальный анализ - предполагает сканирование веб-ресурса сканером уязвимости, а также другими специализированными приложениями.
Анализ вручную - второй вид сканирования, когда приложение разворачивается на выделенном сервере и специалисты проводят проверку данного приложения вручную, используя все возможные методы и атаки на приложения. После чего составляется детальные отчет о устойчивости приложений к тем либо иным атакам, включая атаки вида отказ в обслуживании.

Процесс выполнения тестирования на проникновения

Стандарты
При проведении анализа защищенности используются персональные разработки наших специалистов, а также общепризнанные стандарты, и руководства по обеспечению информационной безопасности, Web Application Security Consortium (WASC) Threat Classification и Open Web Application Security Project (OWASP) Testing Guide.
При работе используются передовые инструментальные средства анализа защищенности, как свободно распространяемые, так и коммерческие.

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

Дополнительно предоставляемые услуги
Анализ исходного кода приложения - эти работы выполняют высоко квалифицированные программисты, которые определяю безопасность написанного кода, отсутствие избыточности и установленных закладок. Этот вид работ является необходимым, когда происходит внедрения систем, связанных с финансовыми транзакциями либо биллингом.

Рисунок 2. Внешний вид веб-приложения Mutillidae

Методика тестирования

Теперь, когда мы подготовили тестовый стенд, можно рассмотреть процесс тестирования, который будет представлять собой следующую последовательность действий:

  1. Подготовка тестового приложения к сканированию
  2. Настройка сканера безопасности
  3. Запуск процесса сканирования с выбранными настройками
  4. Анализ результатов и занесение их в таблицу
Тип уязвимости Найдено Ложно найдено Время

Таблица 1. Результаты сканирования

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

The Path Traversal / Local File Inclusion

Sensitive Data Exposure

Затраченное время

Ложно обнару-

Ложно обнару-жено

Ложно обнару-

Ложно обнару-

Ложно обнару-

Таблица 2. Итоговая таблица результатов

В процессе проведения тестов мы столкнемся с несколькими проблемами:

  1. Сканеры безопасности отличаются своей настройкой и функционалом. Для того чтобы отразить в нашем тестировании специфические особенности сканеров, мы будем проводить по несколько серий сканирования с различными конфигурациями настроек для получения более качественного результата (если это возможно).
  2. Сканеры безопасности бывают специализированы на определенном типе уязвимости либо могут определять широкий спектр уязвимостей. Если сканер специализирован на определенном типе уязвимости, следовательно, он должен более качественно определять их, в противном случае мы будем акцентирование особое внимания на не идентифицированной или ложно идентифицированной уязвимости специализированным сканером.
  3. Типы уязвимостей. Так как существует большое множество типов уязвимостей, нам надо определиться с теми типами, которые мы будем отражать в итоговом отчете. В данном вопросе мы будем руководствоваться классификацией OWASP Top 10 2013 и выберем из этого списка пять типов уязвимостей.
  4. Количество уязвимостей в веб-приложении. Заранее знать о том, какое количество уязвимостей содержится в тестовом Web приложении, мы не можем, поэтому за общее число мы возьмем сумму найденных уязвимостей всеми сканерами.

Настройка сканеров и начало тестирования

SkipFish

Данный сканер представляет собой полностью автоматизированный инструмент с консольным интерфейсом и обладает небольшим количеством настроек, с полным перечнем которых можно ознакомиться с помощью команды skipfish -h. Для запуска процесса сканирования автор предлагает три базовых варианта:

  1. skipfish -W /dev/null -LV […other options…] – в данном режиме запуска сканер выполняет упорядоченный обход цели и в принципе работает также как другие сканеры. Не рекомендуется вследствие ограниченного охвата ресурсов цели, но зато процесс сканирования занимает значительно меньше времени по сравнению с остальными режимами;
  2. skipfish -W dictionary.wl -Y […other options…] – в данном режиме сканер использует фаззинг только имен файлов или расширений. Этот режим предпочтителен, если есть ограничение по времени и при этом требуется получить приемлемый результат;
  3. skipfish -W dictionary.wl […other options…] – в данном режиме сканер перебирает все возможные пары имя и расширение. Этот режим значительно медленнее предыдущих, но при этом он проводит более детальный анализ веб-приложения. Разработчик сканера рекомендует использовать данный вариант по умолчанию.

Skipfish -W dictionary.wl -o ~/report/ http://target/

W – указываем путь к словарю, который мы будем использовать;

O – указываем директорию, в которую будем сохранять отчет.

Тип уязвимости Найдено Ложно найдено Время
SQL injection 6 5 3ч18м
XSS 11 2
CSRF 1 1
3 2
Sensitive Data Exposure 128 0

Таблица 3. Результаты сканирования SkipFish

Рисунок 3. Окончание процесса сканирования SkipFish

SkipFish неплохо справился с поставленной задачей, несмотря на большое количество ложных срабатываний. Стоит заметить, что хоть сканер и не имеет графического интерфейса, он очень прост в настройке. Также помимо результатов, отраженных в таблице, SkipFish обнаружил много интересной информации о Web-приложение, проанализировав которую можно улучшить защищенность приложения

SQLMap

Основной целью данного сканера является автоматический поиск и эксплуатация SQL уязвимостей. Он обладает огромным количеством настроек, позволяющих оптимизировать процесс поиска и эксплуатации уязвимостей. Для запуска сканирования можно воспользоваться визардом: sqlmap —wizard или простейшей командой: sqlmap -u «http://www.target.com/vuln.php?id=1». Мы же постараемся полностью автоматизировать процесс поиска и максимизировать результат. Запускать процесс сканирования мы будем двумя способами:

Sqlmap –u "http://target/" -o –v 4 --crawl=4 --level=3 --risk=2 --forms --batch --dbms=mysql sqlmap –l ~/burplog.log -o –v 4 --batch --level=3 --risk=2 --dbms=mysql

В первом способе мы используем встроенный в SQLMap краулер, а во втором – файл логов Burp Suite. А теперь прокомментируем параметры, которые мы использовали:

U – после данного параметра указываем адрес цели сканирования;

L – после данного параметра указываем путь к файлу с логами Burp Suite (или WebScarab);

O – включаем оптимизацию;

V – устанавливаем уровень подробности выводимой информации;

—dbms – устанавливаем СУБД, которую использует наша цель;

—forms – включаем парсинг и анализ форм, содержащихся в тестовом приложении;

—crawl – включаем встроенный краулер, который будет сканировать нашу цель;

—batch – так как мы решили полностью автоматизировать процесс поиска и эксплуатации, мы воспользуемся этим параметром, он заставляет SQLMap выполнять все действия по умолчанию, а не запрашивать решение у пользователя;

—level, —risk – увеличиваем количество используемых тестов, при этом значительно увеличивается время сканирования.

Тип уязвимости Найдено Ложно найдено Время
SQL injection 14 0 4ч27м
XSS - -
CSRF - -
The Path Traversal / Local File Inclusion - -
Sensitive Data Exposure - -

Таблица 4. Результаты сканирования SQLMap

Рисунок 4. Эксплуатация обнаруженной SQL уязвимости

Как мы писали выше, SQLMap является специализированным инструментов для поиска и эксплуатации SQL уязвимостей, он справился с этой задачей на отлично, хотя полная автоматизация не дала такого результата. Добиться такого результата нам удалось благодаря ручному анализу. Стоит отметить, что время тестирования достаточно продолжительное, учитывая то, что мы занимались поиском только одного типа уязвимостей. Настройка данного сканера без подробного ознакомления с богатым перечнем опций является наиболее сложной из всех представленных в этой статье сканеров.

Acunetix Web Vulnerability Scanner (Acunetix WVS)

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

Итак, приступим к настройке сканера:

  1. На первом шаге нам предлагают ввести адрес цели, либо выбрать файл со структурой сайта, который был получен с помощью инструмента «Site Crawler», мы выберем первый вариант
  2. На втором шаге нам предстоит выбрать профиль сканирования, их достаточно много, мы выберем профиль «Default», так как он содержит в себе тесты для поиска всех доступных типов уязвимостей и настройки сканирования, которые мы оставим дефолтными
  3. На третьем шаге сканер пытается определить технологии, которые использует цель, и отображает полученные значения, при этом их можно выбрать самому либо выставить значение «Unknown». В нашем случае все значения были определены верно, и мы их оставим без изменения
  4. Следующим шагом предлагается выбрать способ аутентификации, так как нам она не потребуется, мы пропустим этот шаг
  5. На последнем шаге предлагается сохранить настройки и после нажатия «Finish» начинается процесс сканирования
Тип уязвимости Найдено Ложно найдено Время
SQL injection 1 0 2ч 13м
XSS 31 0
CSRF 19 0
The Path Traversal / Local File Inclusion 4 3
Sensitive Data Exposure 231 0

Таблица 5. Результаты сканирования Acunetix WVS

Рисунок 5. Окончание процесса сканирования Acunetix WVS

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

Web Application Attack and Audit Framework (w3af)

Фреймворк с графическим и консольным интерфейсом, позволяющий искать и эксплуатировать уязвимости в веб-приложении. Благодаря широкому спектру плагинов можно достаточно тонко настроить процесс сканирования. Также в w3af есть готовые шаблоны для сканирования, пользователю надо ввести только адрес цели.

При настройке сканера мы будем базироваться на шаблонах «full_audit» и «full_audit_spider_man», их отличие заключается в том, что в первом шаблоне в качестве плагина краулера используется web_spider – классический web-паук, а во втором spider_man – локальный прокси. Для наших целей нам не понадобятся плагины из группы «bruteforce», включенные по умолчанию в выбранных шаблонах, поэтому мы их выключим. Осталось настроить плагины из группы «output». По умолчанию вывод собранной информации производится только в консоль, что для анализа результатов не очень удобно, поэтому мы включим плагин «html_file», который позволяет сохранять всю полученную информацию в HTML-файл.

Теперь можно ввести адрес цели и начать сканирование.

Тип уязвимости Найдено Ложно найдено Время
SQL injection 4 2 2ч57м
XSS 3 1
CSRF 25 0
The Path Traversal / Local File Inclusion 4 3
Sensitive Data Exposure 17 0

Таблица 6. Результаты сканирования w3af

Рисунок 6. Детали запроса, содержащего SQL уязвимость

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

Итоги тестирования

Что же показало наше тестирование? Если у вас появились задачи, связанные с проведением аудита безопасности веб-приложения, вам следует запастись терпением и временем. В таблице, представленной ниже можно обратить внимание на время, которое занял процесс сканирования каждым из инструментов. Оно не очень большое, причина в следующем: во-первых, тестовое приложение и сканеры безопасности находились на одной физической машине и, во-вторых, данное время не включает в себя процесс анализа полученных результатов, в реальных условиях время тестирования будет занимать значительно больше времени. Как вы успели заметить, результаты, предоставленные сканерами различаются: какой-то сканер лучше справился с поиском той или иной уязвимости, какой-то предоставил более подробную информацию о приложении в целом. В связи с этим при аудите безопасности не стоит полагаться только на один инструмент, надо использовать комплекс различных средств, в том числе и ручной анализ веб-приложения. Также стоит сказать, что веб-технологии развиваются со стремительной скоростью, и сканеры безопасности не поспевают за их развитием, поэтому перед проведением аудита надо подробно ознакомиться с технологиями, используемыми в тестируемом веб-приложении, чтобы более точно подобрать комплекс инструментов и методик.

SQL injection

Проблема безопасности вебсайтов ещё никогда не стояла так остро, как в 21 веке. Конечно, это связано со всеобъемлющим распространением сети Интернет практически во всех отраслях и сферах. Каждый день хакеры и специалисты по безопасности находят по нескольку новых уязвимостей сайтов. Многие из них тут же закрываются владельцами и разработчиками, а какие-то остаются как есть. Чем и пользуются злоумышленники. А ведь с помощью взломанного сайта можно нанести большой вред как его пользователям, так и серверам, на которых он размещён.

Типы уязвимостей сайтов

Вам будет интересно:

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

  • XSS. Каждый сайт обладает небольшими формами. С их помощью пользователи вводят данные и получают какой-либо результат, проводят регистрации или отправляют сообщения. Подстановкой в эти формы специальных значений можно спровоцировать выполнение определённого скрипта, что может вызвать нарушение целостности сайта и компрометирование данных.
  • SQL-инъекция. Очень распространённый и эффективный способ получить доступ к конфиденциальным данным. Происходить это может либо через адресную строку, либо через формы. Процесс проводится путем подстановки значений, которые могут не отфильтровываться скриптами и выполнять запросы в базу данных. А при должных знаниях это может вызвать нарушение безопасности.
Рубрика: .
Автор: Максадхан Якубов, Богдан Шкляревский.

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

Первый этап проектирования, создания или использования безопасного веб-сайта - это обеспечение максимального уровня безопасности сервера, на котором он размещается.

Основным компонентом любого веб-сервера является операционная система. Обеспечить ее безопасность сравнительно просто: достаточно вовремя устанавливать последние обновления системы безопасности.

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

Также следует вовремя обновлять все программное обеспечение, работающее на веб-сервере. Любое ПО, не относящееся к необходимым компонентам (например, DNS-сервер либо средства удаленного администрирования наподобие VNC или служб удаленных рабочих столов), следует отключить или удалить. Если средства удаленного администрирования все же необходимы, следите за тем, чтобы не использовались пароли по умолчанию или пароли, которые можно легко угадать. Это замечание относится не только к средствам удаленного администри­рования, но и к учетным записям пользователей, маршрутизаторам и коммутаторам.

Следующий важный момент - это антивирусное программное обеспечение. Его использование является обязательным требованием для любого веб-ресурса вне зависимости от того, используется в качестве платформы Windows или Unix. В сочетании с гибким межсетевым экраном антивирусное программное обеспечение становится одним из самых эффективных способов защиты от кибер­атак. Когда веб-сервер становится целью атаки, злоумышленник без промедления старается загрузить инструменты для взлома или вредоносное программное обеспечение, чтобы успеть использовать уязвимость систем безопасности. При отсутствии качественного антивирусного обеспечения уязвимость системы безопасности может долгое время оставаться незамеченной и привести к нежелательным последствиям.

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

Исходя из параметров операционной системы и функционала веб-сервера, можно привести следующие общие приемы защиты от кибератак:

  • Не устанавливайте ненужные компоненты. Любой компонент несет с собой отдельную угрозу; чем их больше, тем выше суммарный риск.
  • Своевременно устанавливайте обновления системы безопасности для операционной системы и приложений.
  • Используйте антивирус, включите автоматическую установку обновлений и регулярно проверяйте правильность их установки.

Некоторые из этих задач могут казаться затруднительными, но следует помнить о том, что для атаки достаточно единственной бреши в системе безопасности. Потенциальные риски при этом - кража данных и трафика, занесение IP-адреса сервера в «черные» списки, ущерб репутации организации и нестабильность веб-сайта.

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

Взлом сайта не всегда можно распознать по внешним признакам (мобильный редирект, спам-ссылки на страницах, чужие баннеры, дефейс и пр.). При компрометации сайта этих внешних признаков может и не быть. Ресурс может работать в штатном режиме, без перебоев, ошибок и попадания в «черные» списки антивирусов. Но это отнюдь не означает, что сайт в безопасности. Проблема в том, что заметить факт взлома и загрузки хакер­ских скриптов без проведения аудита безопасности - сложно, а сами веб-шеллы, бэкдоры и другие инструменты хакера могут достаточно долго находиться на хостинге и не использоваться по назначению. Но однажды наступает момент, и они начинают сурово эксплуатироваться злоумышленником, в результате чего у владельца сайта возникают проблемы. За спам, размещение фишинговых страниц сайт блокируют на хостинге (или отключают часть функционала), а появление редиректов или вирусов на страницах чревато баном со стороны антивирусов и санкциями со стороны поисковых систем. В подобном случае необходимо в срочном порядке «лечить» сайт, а затем ставить защиту от взлома, чтобы сюжет не повторялся. Зачастую штатные антивирусы не опознают некоторые виды троянов и веб-шеллов, причиной тому может быть несвоевременное обновление либо устаревшее программное обеспечение. При проверке веб-ресурса на вирусы и скрипты следует пользоваться антивирусными программами различной специализации, в этом случае не найденный одной антивирусной программой троян может быть обнаружен другой. На рисунке 1 приведен пример отчета проверки антивирусного программного обеспечения, здесь важно отметить тот факт, что другие антивирусные программы не смогли обнаружить вредоносное программное обеспечение.

Такие троянские программы, как «PHP/Phishing.Agent.B», «Linux/Roopre.E.Gen», «PHP/Kryptik.AE», используются злоумышленниками для удаленного управления компьютером. Такие программы часто проникают на веб-сайт через электронную почту, бесплатное программное обеспечение, другие веб-сайты или чат-комнату. Большую часть времени такая программа выступает в качестве полезного файла. Тем не менее, это вредоносная троян­ская программа, которая собирает личную информацию пользователей и передает ее злоумышленникам. Кроме того, она может автоматически подключаться к определенным веб-сайтам и загружать другие виды вредоносного ПО в систему. Чтобы избежать обнаружения и удаления, «Linux/Roopre.E.Gen» может отключать средства безопасности. Данная троянская программа разработана с применением технологии руткит, которая позволяет ей скрываться внутри системы.

  • «PHP/WebShell.NCL» является тро­янской программой, которая может выполнять различные функции, например, удаление системных файлов, загрузку вредоносных программ, скрывать существующие компоненты или загруженную личную информацию и другие данные. Эта программа может обойти общую антивирусную проверку и проникнуть в систему без ведома пользователя. Данная программа способна установить бэкдор для удаленных пользователей, чтобы взять контроль над зараженным веб-сайтом. С помощью этой программы злоумышленник может шпионить за пользователем, управлять файлами, устанавливать дополнительное программное обеспечение, а также контролировать всю систему.
  • «JS/TrojanDownloader.FakejQuery. A» - троянская программа, основными целями атак которой являются сайты, разработанные с использованием CMS «WordPress» и «Joomla». Когда злоумышленник взламывает веб-сайт, он запускает скрипт, который имитирует инсталляцию плагинов «WordPress» или «Joomla», а затем внедряет вредоносный JavaScript-код в файл «header.php».
  • «PHP/small.NBK» - является вредоносным приложением, которое позволяет хакерам получить удаленный доступ к компьютерной системе, позволяя им изменять файлы, красть личную информацию и устанавливать более вредоносное программное обеспечение. Эти виды угроз, которые называются Троянский конь, обычно загружаются злоумышленником или же загрузка осуществляется другой программой. Они могут также появляться в связи с установкой зараженных приложений или онлайн-игр, а также при переходе на зараженные сайты.

К сожалению, хакерские скрипты по внешним признакам или внешними сканерами не обнаруживаются. Поэтому ни антивирусы поисковых систем, ни антивирусное программное обеспечение, установленное у веб-мастера на компьютере, не сообщит о проблемах безопасности сайта. Если скрипты размещены где-нибудь в системных каталогах сайта (не в корневом и не в images) или инжектированы в существующие скрипты, случайно заметить их также не удастся.

Рисунок 1. Пример отчета проверки антивирусного ПО

Поэтому необходимыми мерами для защиты веб-ресурсов могут быть следующие рекомендации:

  1. Регулярное резервное копирование всего содержимого файловой системы, баз данных и журналов событий (лог-файлов).
  2. Регулярное обновление системы управления контентом до последней стабильной версии CMS (системы управления контентом).
  3. Использование сложных паролей. Требования к паролю: пароль должен содержать не менее восьми символов, при создании пароля должны быть использованы символы верхнего и нижнего регистра, а также специальные символы.
  4. Обязательное использование дополнений или плагинов безопасности для предотвращения атак типа XSS-атака или SQL-инъекции.
  5. Использование и установка дополнений (плагинов, шаблонов или расширений) должны осуществляться только с проверенных источников или официальных веб-сайтов разработчиков.
  6. Сканирование файловой системы не менее 1 раза в неделю антивирусными программами и с использованием актуальных сигнатур баз данных.
  7. Предусмотреть использование механизма «CAPTCHA» для защиты веб-сайта от взлома методом перебора паролей при авторизации и ввода данных в любую форму запросов (форма обратной связи, поиск и др.).
  8. Ограничить возможность входа в административную панель управления веб-сайта после определенного количества неудачных попыток.
  9. Корректно настроить политику безопасности веб-сайта через файл конфигурации веб-сервера с учетом таких параметров, как:
  • ограничить количество IP-адресов, используемых администратором для доступа в административную панель управления веб-сайтом в целях предотвращения доступа к ней с посторонних IP-адресов;
  • запретить передачу любых тегов любыми способами, кроме оформления текста (например, p b i u) для предотвращения XSS-атак.
  1. Перемещение файлов, содержащих информацию о доступе к базе данных, FTP-доступу и т.д., из директорий по умолчанию в другие с последующим переименованием данных файлов.

Даже не совсем опытному хакеру взломать сайт на «Joomla» достаточно просто, если вы не предусмотрели защиты. Но, к сожалению, часто веб-мастера откладывают защиту от взлома сайта на потом, считая это делом не первой необходимости. На восстановление доступа к своему сайту уйдет значительно больше времени и усилий, чем на принятие мер по его защите. Без­опасность веб-ресурса - задача не только разработчика и хостера, который обязан обеспечить максимальную защищенность серверов, но и администратора сайта.

Вариантов атак на веб-ресурс, как и последствий этих атак, великое множество. А целей как всегда только две - слава с банальной радостью от показа собственных возможностей, и вездесущая выгода, проявляющаяся в виде прямой или косвенной материальной наживы, проще говоря денег. Итак, что же грозит? Вот пример наиболее распространенных атак на веб-сайты:

  • Подмена главной страницы сайта - одна из самых частых форм взлома. Заместо привычного содержимого на обложке сайта будет красоваться все что угодно - от имени злостного хакера до банальных оскорблений.
  • Удаление файловой системы - вся информация попросту пропадает, что становится провальным в случае отсутствия сохраненной копии ресурса. Стоит отметить, что пропасть может и база клиентских паролей, а также прочие данные, имеющие критичную ценность.
  • Подмена информации - злоумышленники могут подменить телефон или другие данные организации. В этом случае ваши клиенты автоматически становятся клиентами злоумышленников.
  • Размещение троянских программ - в этом случае скорее всего вы не заметите визит хакера, по крайней мере все будет на это нацелено. Вредоносные программы могут выполнять разнообразные функции - осуществлять переадресацию на сайт злоумышленников, воровать персональные данные клиентов, заражать посетителей вирусами и так далее.
  • Рассылка спама - ваш сайт могут использовать для рассылки спама, в этом случае ваша «настоящая» корреспонденция не будет доходить до адресата, так как домен вашей организации практически сразу будет внесен в централизованную базу данных спамеров.
  • Создание высокой нагрузки - отправление в адрес веб-сервера заведомо некорректных запросов или иные действия извне, результатом которых будет затруднение доступа к сайту или падение операционной системы сервера. Такой вид атаки очень широко распространен в интернете.

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

Что делать?

Вопросом безопасности веб-сайта можно задаться уже на этапе разработки. Существует множество CMS-систем (Content Management System - система управления содержимым), представляющих собой некий шаблон, упрощающий управление и разработку сайта. Весь спектр CSM систем можно подразделить на открытые (бесплатные) и проприетарные. Среди открытых можно выделить Drupal, Mambo, Joomla и Typo3, среди платных - 1С-Битрикс, NetCat, Amiro.CMS. Все они являются в той или иной мере безопасными, обладают рядом преимуществ и недостатков. Так какую CMS стоит выбрать? Безусловно этот вопрос остается на рассмотрении в каждом конкретном случае, однако статистика говорит о том, что в России подавляющее большинство веб-студий, использующих сторонние разработки для создания сайтов, пользуются продуктом 1С-Битрикс. За это говорит ряд факторов:

  • Объединившись с фирмой 1C, Битрикс внегласно превратился в национальный стандарт веб-разработки на основе CMS.
  • 1С-Битрикс имеет сертификат безопасности от компании Positive Technologies (речь о которой пойдет далее), подтверждающий неуязвимость системы ко всем видам известных атак на веб-приложения.
  • 1С-Битрикс на данный момен является самой перспективной на российском рынке CMS-системой, показывая наилучший темп роста.
  • Функционала продукта вполне достаточно для создания сложных корпоративных сайтов, информационных и справочных порталов, интернет-магазинов, сайтов СМИ, а также для создания практически любых других видов веб-ресурсов.

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

Сайт уже создан - уязвим ли он?

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

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

  • Локальные - устанавливаются непосредственно на проверяемом узле и обеспесивают высокую достоверность. Работают от имени учетной записи с максимальными привелегиями и используют только один метод поиска уязвимостей - сравнение атрибутов файлов.
  • Пассивные - в качестве источника данных используют сетевой трафик, однако, в отличие от сетевых, позволяют минимизировать влияние сканера на уязвимости. В настоящее время слабо распространены, но выглядят весьма перспективно.
  • Сетевые - самые популярные на сегодняшний день. Выполняют проверки дистанционно, подключаясь через сетевые сервисы.

Производителей сканеров уязвимостей много, существует масса обзоров и тестирований, выделяющих продукт той или иной фирмы. Перечислим несколько наиболее распространенных сканеров: Nessus, XSpider, IBM Internet Scanner, Retina, Shadow Security Scanner, Acunetix, N-Stealth.

XSpider (на смену которого приходит MaxPatrol) - сканер от российского производителя Positive Technologies. Он обладает поистине обширным списком возможностей - эвристический анализ и определение типа серверов, полное сканирование портов и отображение сервисов, проверка на стандартные пароли, анализ на SQL инъекции, XSS атаки, и практически ежедневный апдейт уязвимостей. В сравнении с конкурентами, сканер демонстрирует более качественную идентификацию сервисов и приложений, обеспечивая как следствие большее и более точное определение уязвимостей при минимальном проценте ложных оповещений. Продукт является одним из лучших решений не только на российской, но и на мировой сцене, поэтому мы решили выделить именно его.

Что нужно менять?

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