хотите помочь? Вот ваши варианты:","Crunchbase","О нас","Спасибо всем за потрясающую поддержку!","Быстрые ссылки","Партнерская программа","Премиум","ProxyScrape премиум-проба","Проверка прокси-сервера онлайн","Типы прокси-серверов","Страны-посредники","Примеры использования прокси-сервера","Важно","Политика использования файлов cookie","Отказ от ответственности","Политика конфиденциальности","Условия и положения","Социальные сети","Facebook","LinkedIn","Twitter","Quora","Telegram","Дискорд","\n © Copyright 2024 - Thib BV | Brugstraat 18 | 2812 Mechelen | Belgium | VAT BE 0749 716 760\n"]}
Не секрет, что в наше время предприятия все чаще используют веб-приложения. Веб-приложения позволяют оптимизировать корпоративные операции, повысить эффективность и сэкономить средства на выполнение задач, которые в противном случае выполнялись бы вручную. Несмотря на растущую популярность веб-приложений, они подвержены рискам и кибератакам. В этой статье мы расскажем о том.
Не секрет, что в наше время предприятия все чаще используют веб-приложения. Веб-приложения позволяют оптимизировать корпоративные операции, повысить эффективность и сэкономить расходы на выполнение задач, которые в противном случае выполнялись бы вручную.
Несмотря на растущую популярность веб-приложений, они подвержены рискам и кибератакам. В этой статье мы рассмотрим основные виды атак, которым подвержены веб-приложения. Затем вы узнаете, как можно использовать обратный прокси для минимизации угроз.
Но прежде чем погрузиться в аспекты безопасности, давайте рассмотрим архитектуру типичного веб-приложения.
В большинстве случаев веб-приложения состоят из веб-серверов и веб-страниц. Веб-серверы принимают запросы от клиентов (ваших веб-браузеров), которые веб-сервер обрабатывает и возвращает ответ клиенту.
В то время как серверная часть кодируется с помощью динамических языков программирования, таких как PHP, Python, ASP.NET и т.д., клиентская часть кодируется с помощью HTML, CSS и JavaScript. Связь между клиентом и сервером происходит по протоколу HTTP.
Для получения дополнительной информации о структуре веб-приложений вы можете обратиться к этой статье. На рисунке ниже показано типичное взаимодействие клиента и сервера.
На приведенной выше диаграмме все коммуникации выглядят просто: запросы перемещаются туда-сюда между клиентом и сервером. Однако это не всегда так.
К сожалению, веб-приложения, использующие вышеописанный дизайн, подвержены кибератакам со стороны посторонних лиц, находящихся между клиентом и сервером.
Давайте посмотрим на некоторые из наиболее интересных статистических данных о кибератаках, прежде чем погрузимся в их суть.
Согласно данным Positive Technologies об уязвимостях веб-приложений за 2018 год, на финансовую и банковскую отрасли пришлось 28 % всех атакованных веб-приложений. Кроме того, 14 % кибератак направлены на онлайн-приложения в телекоммуникационной и производственной отраслях, а 11 % - на транспортные приложения.
Среди других отраслей, подверженных риску, - государственные учреждения (11 %), информационные технологии, электронная коммерция и средства массовой информации.
Что касается типов атак, то в другом отчете F5 говорится о росте межсайтового скриптинга (с 4 до 54 %) и атак с использованием SQL-инъекций (SQLi) (с 15 до 76 %).
Из этой статистики можно сделать вывод, что для защиты веб-приложений от уязвимостей требуются строгие меры. Некоторые из недостатков безопасности возникают из-за проблем с кодированием, в то время как другие причины могут быть связаны с неадекватной инфраструктурой, используемой веб-приложением. Именно здесь на помощь приходит брандмауэр веб-приложений (WAF), который позволяет минимизировать уязвимости путем фильтрации пакетов, блокировки HTTP-трафика и несанкционированного протоколирования.
Мы рассмотрим его подробнее ниже. А пока - краткий обзор значимых угроз безопасности.
SQLi -SQL injection - это уязвимость в веб-безопасности, позволяющая злоумышленнику манипулировать SQL-запросами, которые приложение делает к базе данных. Таким образом, злоумышленник получает доступ к потенциально ценной информации, которую не может легко получить любой человек.
Простой и наиболее знакомый пример - использование несанированного пользовательского ввода в интересах хакера. Допустим, имеется текстовое поле, в котором запрашивается идентификатор пользователя. Затем на основе идентификатора пользователя запрос извлекает всю информацию, принадлежащую этому пользователю.
Предположим, что в текстовом поле пользователь ввел следующие данные:
Идентификатор пользователя: 228 или 1=1
Тогда результирующий запрос будет выглядеть следующим образом:
SELECT * FROM Users WHERE UserId = 228 OR 1=1;
Затем он получит все данные из таблицы пользователя, включая пароли, если таблица содержит данные о паролях.
Более подробную информацию о SQLi вы можете найти здесь.
XSS возникает, когда пользователь внедряет вредоносный скрипт, в основном на javascript, через несанированные поля ввода. Обычно злоумышленник отправляет этот вредоносный скрипт пользователю, который не вызывает подозрений. Браузер конечного пользователя не знает о том, что этот скрипт вредоносен, и выполняет его.
В результате вредоносный скрипт может получить доступ ко всем данным, связанным с cookies, маркерами сеансов или любой другой конфиденциальной информацией. Кроме того, эти скрипты могут переписать HTML веб-страницы.
Предположим, пользователю необходимо войти в веб-приложение, используя учетные данные для входа в систему. В этом случае собственный алгоритм веб-сайта генерирует уникальный идентификатор сессии для всего общения между пользователем и веб-сервером в течение этой сессии.
Если веб-разработчики не зашифровали данные, которые передаются между пользователем и веб-сервером, велика вероятность того, что злоумышленник сможет украсть их и выдать себя за пользователя. Такой сценарий в основном происходит, когда вы выходите в интернет через общественный WiFi в кофейнях.
Для получения более подробной информации вы можете обратиться к этой статье.
WAF - это защитный уровень 7 в модели OSI, который может быть размещен в точке входа на целевой сервер, как показано на следующей диаграмме. Он защищает внутреннюю сеть сервера от атак и скрывает сетевую топологию сервера.
Для того чтобы WAF работал, необходимо произвести дополнительные настройки на сервере. Как и брандмауэры, WAF фильтрует входящий и исходящий HTTP-трафик, который кажется опасным для внутренней сети сервера, если он не удовлетворяет правилам, установленным на WAF.
WAF также является разновидностью обратного прокси, о котором мы поговорим в следующем разделе.
Работа прокси-сервера заключается в том, чтобы скрыть ваш IP-адрес и заменить его IP-адресом прокси-сервера. Обратный прокси-сервер делает то же самое и повышает безопасность веб-сервера, скрывая его, а также топологию внутренней сети сервера.
Клиент знает только адрес прокси-сервера, поэтому реальный сервер скрыт от клиента.
В идеале вы можете использовать обратный прокси в качестве брандмауэра веб-приложений (WAF), о котором мы говорили выше. Вы можете реализовать WAF для веб-приложений на устройствах с настроенным обратным прокси. В результате сфера применения WAF для повышения безопасности становится шире. Злоумышленник также не может увидеть фактическое местоположение веб-сервера.
Вы можете обратиться к этой статье для получения дополнительной фундаментальной информации об обратных прокси. В следующем разделе мы рассмотрим использование обратного прокси для снижения рисков приложений. Однако перед этим давайте представим вам обзор того, что делает обратный прокси.
Все обратные прокси-серверы выполняют все следующие основные операции:
Поскольку нашей целью является преодоление кибератак, упомянутых ранее, обратный прокси должен выполнять дополнительные функции, помимо описанных выше.
Когда клиент отправляет запрос на сервер, обратный прокси проверяет его, сравнивая с базой данных сигнатур. Программисты разрабатывают эти сигнатуры с помощью высокотехнологичных регулярных выражений. Решение обратного прокси о разрешении запроса с пользовательским вводом будет основано исключительно на подходе фильтра блок-листа и фильтра белого списка.
Фильтр черного списка хранит известные вредоносные запросы. Затем он сравнивает каждый запрос с записями в списке. Если он обнаруживает совпадение, то отклоняет запрос. Различные варианты одного и того же нападения должны быть занесены в список отдельно. С помощью черных списков вы сможете предотвратить только известные нападения. Всеохватность черного списка способствует его эффективности.
Фильтр белого списка собирает всю коллекцию допустимых запросов для определенного сайта. В результате белый список предотвращает атаки, позволяя только известным запросам достигать сервера. С другой стороны, процесс создания белого списка занимает много времени и требует знания всего спектра легитимных запросов, которые пользователь потенциально может отправить на сервер.
Кроме того, создание всех корректных запросов к сотням тысяч поставщиков баз данных в случае SQL-инъекции может оказаться непосильной задачей.
Любые изменения в защищенном веб-приложении потребуют обновления белого списка. В результате ведение белого списка увеличивает нагрузку на администратора.
Прежде чем отправить ответ от сервера обратно клиенту, обратный прокси проверяет его. Для этого обычно используется черный список. Фильтр черного списка может скрывать известные ответы от клиентов, которым не нужно их просматривать. Сообщения об ошибках являются примером такого типа данных; обратный прокси может заменить ошибку общим сообщением об ошибке, не содержащим конфиденциальных данных.
Обратный прокси может также регистрировать запрос для последующего изучения. Лучше всего настроить ведение журнала только для тех запросов, которые обратный прокси блокировал изначально. Вы должны внимательно изучать журналы на первых этапах установки. Это необходимо для того, чтобы убедиться, что обратный прокси не блокирует никаких подлинных запросов.
В этой статье мы надеемся, что вы поймете, какие уязвимости существуют в веб-приложениях и как можно использовать обратный прокси для устранения этих угроз. На самом деле обратный прокси не сможет устранить все возможные уязвимости, связанные с веб-приложениями.
Тем не менее, это будет отличной стратегией, позволяющей смягчить большинство угроз, с которыми вы столкнетесь в веб-приложении. В заключение мы надеемся, что вы примените концепции, изложенные в этой статье, если столкнетесь с проблемами безопасности в своем веб-приложении.