Статья объемом 10 000 слов | От стрельбища DVWA до EdgeOne: изучите принципы атак и защиту от SQL-инъекций, XSS и DDoS.
Статья объемом 10 000 слов | От стрельбища DVWA до EdgeOne: изучите принципы атак и защиту от SQL-инъекций, XSS и DDoS.

Предисловие

Когда я впервые изучил JDBC,Я вспомнил фразу из обучающего видео:При выполнении SQL используйте подготовленный оператор вместо Statement, чтобы предотвратить внедрение SQL.。Возможно, я впервые слышу об этомwebзащитавопрос,Просто я тогда только изучал компьютеры.,Я помню только эту фразу,не понимая его смысла.

много лет спустя,В книге «Белые шляпы говорят о веб-безопасности»,Получил некоторые знания о веб-безопасности.,Например, DDoS-атаки, SQL-инъекция, xss-атаки и другие понятия.,В то же время я также научился простой защите. Но когда изучение защиты означает,Будь то SQL-инъекция или DDoS,Все требуют от разработчиков реализовать это на уровне кода.,Например, ранее мы упоминали подготовленный оператор для предотвращения SQL-инъекций и ограничение частоты доступа для предотвращения DDoS.

Но не каждый разработчик осведомлен о разработке веб-безопасности.,Больше энергии может быть потрачено на проектирование архитектуры приложения и разработку кода. Более того, численность рабочей силы в конечном итоге ограничена.,Неизбежно будут пропуски,Итак, существует ли какой-либо продукт, который может включить безопасную защиту одним щелчком мыши?,может помочь нам решить эти сложные проблемы безопасности. так,Сегодняшний фокус на наших потребностях в веб-безопасности,Приходите протестировать продукты Tencent для обеспечения безопасности:EdgeOne

EdgeOne

EdgeOne, полное название Tencent Cloud EdgeOne, — это решение для ускорения и обеспечения безопасности, основанное на узлах периферийных вычислений Tencent. Что касается ускорения, он обеспечивает такие функции ускорения, как динамическое и статическое ускорение данных, трансграничное ускорение и интеллектуальная оптимизация маршрутизации, что сокращает задержки доступа к данным, позволяет избежать дрожания при передаче данных и обеспечивает стабильность и эффективность крупномасштабных данных. передача инфекции.

Что касается безопасности, мы предоставляем услуги защиты WAF и DDoS. Узел идентифицирует и перехватывает различные запросы на атаки на уровне L3/L4/L7, а также очищает трафик DDoS-атак. Интеллектуальный механизм искусственного интеллекта и механизм политики BOT проводят анализ поведения атак типа Web, BOT и CC и обновляют стратегию перехвата для блокировки. поступления вредоносных запросов на сайт Пользователя.

Сегодня мы пока оставим в стороне обсуждение ускорения и сосредоточимся на эффекте применения EdgeOne в защите безопасности.

Руководство по покупке

ВходитьСтраница покупки EdgeOne

Ориентирован на различные потребности бизнеса,EdgeOne предлагает различные типы пакетов. Для индивидуальных пользователей,Достаточно выбрать персональную версию,и9,9 юаней/месяцЦена очень выгодная。

Поскольку я получил ваучер на 3800 юаней от EdgeOne, я использую стандартную версию. Нажмите, чтобы купить ее сейчас.

Подтвердите информацию о продукте и выберите ваучер.

Нажмите «Оплатить», чтобы завершить оплату.

НажмитеВойдите в консоль,Перейти к консоли EdgeOne,существоватьУправление пакетамисерединамы можем видеть Только что купилEdgeOneкомбо。

сайт связывания

После покупки пакета,выбиратьсписок сайтовДобавить сайт。

Введите доменное имя вашего личного сайта. Это доменное имя, используемое вашим сервисом.

1. Связать пакет

Выберите ранее приобретенный пакет EdgeOne, чтобы завершить привязку.

2. Выберите режим доступа

Далее выберите область ускорения и режим доступа.

EdgeOne предоставляет два режима доступа, а именно режим доступа NS и режим доступа CNAME.

модель

Доступ к NS (рекомендуется)

Доступ CNAME

Применимые сценарии

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

Текущее доменное имя уже размещено у другого поставщика услуг разрешения доменных имен, и вы не хотите менять исходного поставщика услуг разрешения.

Метод доступа

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

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

Метод проверки

Исходный NS-сервер необходимо изменить на адрес, указанный EdgeOne.

Подтвердите право собственности на основное доменное имя, добавив записи DNS или проверив текст.

Метод планирования

После ускорения доменного имени его можно указать непосредственно на ближайший пограничный узел EdgeOne через запись A.

Его необходимо отправить на ближайший пограничный узел EdgeOne через Cname.

С вышеизложенной точки зрения выбрать NSДоступ относительно просто. Однако для вступления в силу NSДоступ требуется регистрация доменного имени.,существовать腾讯云搜索регистрация ПМС,Заполните форму согласно инструкции.

3. Измените DNS-сервер.

Если вы хотите использовать функцию «Ускорить защиту безопасности» EdgeOne, вам необходимо следовать инструкциям Изменить DNS-сервер.

Найдите свое доменное имя в консоли доменных имен.,НажмитеИзменить DNS-сервер

Измените DNS-сервер и нажмите «Отправить».

Наконец сайт добавлен.

Ускорьте защиту безопасности

1. Ускорение доменных имен

Нажмите на сайт выше, чтобы перейти на страницу защиты EdgeOne.

существоватьслужба доменных именнайдено нижеDNSЗаписывать.

В соответствии с конфигурацией, показанной на рисунке выше, введите имя домена и IP-адрес вашего сервера и нажмите «Сохранить».

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

2. Включите веб-защиту.

В веб-защите от EdgeOne,включатьУглубленный анализ,Используется для защиты от атак.

Здесь мы видим, что в правилах хостинга есть много правил защиты безопасности.

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

3. Перехватить ответ страницы

В EdgeOne мы также можем настроить страницу перехвата запросов, перехваченных хостингом.Здесь следует помнить, чтоперехватывать Код ответа страницы:566

URL-адрес и страницу файла можно указать на странице редактирования.

Оформление стрельбища

Чтобы протестировать функцию защиты безопасности EdgeOne,Я решил использовать стрельбище DVWA, чтобы настроить обстановку для атаки. Поскольку для создания DVWA требуется как сервер Apache, так и,Также требуется среда PHP,Так вот здесь используетсяphpStudyпанель для завершенияDVWAНастройка среды。

Подготовка среды PhpStudy

Выполните команду установки:

Язык кода:shell
копировать
yum install -y wget && wget -O install.sh https://notdocker.xp.cn/install.sh && sh install.sh

После завершения выполнения появится адрес доступа, учетная запись и пароль phpStudy. Если это облачный сервер, в группе безопасности необходимо открыть порт 9080.

Получите доступ к PhpStudy через URL-адрес, затем введите номер своей учетной записи и пароль для входа.

В управлении программным обеспечением мы видим, что PhpStudy установил php5.5 и сервер Apache. Если на хосте нет MySQL, вам необходимо установить MySQL, но для этого требуется 3G памяти. Я использую MySQL, установленный самостоятельно в DVWA.

Однако DVWA использует php7.x, поэтому вам необходимо удалить php5.5, а затем установить php7.

Здесь следует отметить, что PhpStudy по умолчанию изменит существующий MySQL в /usr/bin/ на mysql~, а затем заново создаст мягкую ссылку, указывающую на его собственный MySQL. Но здесь на моем сервере установлен MySQL, поэтому при выполнении mysql сообщается об ошибке (поскольку MySQL PhpStudy не установлен).

Здесь вам нужно только переименовать mysql~ в mysql.

Запустить сервер

После того, как php и MySQL готовы, вам нужно запустить сервер Apache. Сначала вам необходимо завершить настройку сайта, выбрать «Добавить сайт» в строке меню веб-сайта и ввести доменное имя, которое я настроил ранее в EdgeOne.

Затем apache выделит каталог приложения на основе имени домена, и мы сможем увидеть этот каталог в Linux.

Запомните этот каталог, а затем вернитесь на домашнюю страницу, чтобы запустить Apache.

По умолчанию используется порт 80, а это означает, что вы можете напрямую получить доступ к сервису, введя IP или доменное имя в браузере.

Процесс сервера Apache также можно увидеть в фоновом режиме.

Установить ДВВА

Загрузите исходный код DVWA на github.

Язык кода:shell
копировать
wget https://github.com/digininja/DvWA/archive/master.zip

После распаковки исходного кода переименуйте каталог в dvwa. Войдите в каталог конфигурации, удалите config.inc.php.dist и переименуйте dist в config.inc.php.

Язык кода:shell
копировать
mv config.inc.php.dist config.inc.php

Затем vi изменяет файл конфигурации.

Основное изменение в файле конфигурации — это информация о соединении MySQL.,Потому что некоторые атаки на стрельбище DVWA основаны на MySQL.,Например SQL-инъекция и т.д. Здесь изменены db_user и db_password.

После изменения конфигурации поместите каталог dvwa в каталог приложений сервера Apache.

Язык кода:shell
копировать
mv dvwa /www/admin/lzys522.cn_80/wwwroot

Прошло в это времяhttp://lzys522.cn/dvwaвы можете получить доступdvwa。Доменное имя здесь должно использовать имя домена, настроенное в EdgeOne.

Инициализация DVWA

Нажмите下方изCreate/Rest DataBaseинициализироватьDVW。

Войдите в MySQL, чтобы просмотреть базу данных, и вы обнаружите, что база данных dvwa была создана автоматически.

После завершения инициализации нажмите «Войти» ниже.,Перейти на страницу входа。Первоначальный счет:admin,пароль:password。существоватьdvwa数据库середина,Пароль можно изменить с помощью следующего sql.

Язык кода:sql
копировать
UPDATE users SET password=md5('new_password') WHERE user='admin';

Войти в dvwa

Войдите в учетную запись администратора и войдите на домашнюю страницу DVWA.

На домашней странице мы видим, что существует множество методов атаки. Например, CSRF (атака подделки межсайтовых запросов), File Включение (уязвимость включения файлов), SQL Injection(SQL-инъекция)、XSS(Атака с использованием межсайтовых сценариев)ждать。Начнем с самого простогоSQL-инъекция Начать тестированиеEdgeOneсила безопасности。

DVWA SecurityВсего существует четыре уровня безопасности:。отlowсамый низкий доImpossibleСамый высокий。

Здесь сначала отрегулируйте интенсивность безопасности до самого низкого уровня.

SQL-инъекция

Что такое SQL-инъекция? Короче говоря, SQL-инъекция означает, что пользователь добавляет дополнительные операторы SQL к введенным строковым условиям.

низкая - инъекция символов сращивания

Например:

Язык кода:php
копировать
$id = $_REQUEST[ 'id' ];
$query  = "SELECT first_name, last_name FROM users WHERE user_id = '$id';"

Это оператор запроса пользователя на основе введенного им идентификатора. Обычно обычные пользователи вводят идентификаторы пользователей, такие как 1, 2 и 3. Когда мы вводим 1, sql принимает вид:

Язык кода:sql
копировать
SELECT first_name, last_name FROM users WHERE user_id = '1';

Будет найдена информация пользователя с идентификатором 1.

Если вы войдете в это время1' or 1=1# , весь sql становится:

Язык кода:sql
копировать
SELECT first_name, last_name FROM users WHERE user_id = '1' or 1=1#';

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

По вышеуказанному принципу,Если вы войдете1' union select user,password from users #

Язык кода:sql
копировать
SELECT first_name, last_name FROM users WHERE user_id = '1' union select user,password from users #;

Это эквивалентно запросу всех пользователей и паролей в таблице пользователей MySQL.

Хотя MySQL зашифрован, простые пароли все равно можно взломать путем подстановки учетных данных.

средний - Числовая SQL-инъекция

На низком уровне безопасности,Возникновение SQL-инъекции,Это вызвано отсутствием проверки ввода пользователя.,Таким образом, при среднем уровне безопасности DVWA,Непосредственное преобразование пользовательского ввода в поле параметров.

Мы знаем, что когда интерфейсная часть запрашивает данные из серверной части, данные формы внешнего интерфейса будут использоваться в качестве параметра URL-адреса. Здесь мы сначала вводим их низким способом.

Как показано на картинке,Нам просто нужно создать этот URL самостоятельно,Передаем предыдущие параметры1' or 1==1# , результат — ошибка.

Язык кода:sql
копировать
You have an error in your SQL syntax; check the manual that corresponds
to your MySQL server version for the right syntax to use near '\' or 1==1 #' at line 1

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

Поэтому я использовал самый простой метод,Измените значение формы на1изvalueдля1 union select user,password from users# (Вы также можете создать запрос URL-адреса), а затем отправить его.

Как показано на картинке,Имя пользователя и пароль MySQL успешно получены. Давайте посмотрим на внутренний код DVWA для среднего уровня SQL-инъекции.

Язык кода:php
копировать
$id = $_POST[ 'id' ];
$id = mysqli_real_escape_string($GLOBALS["___mysqli_ston"], $id);
$query  = "SELECT first_name, last_name FROM users WHERE user_id = $id;";

Действительно,Не только конвертируется из GET в POST,и调用mysqli_real_escape_string对用户输入из特殊字符进行转义。Поэтому я печатаю еще раз'就无法构造成一个有效изsql,Будет сообщено об ошибке. Но $id, на который указывает user_id в sql, здесь не заключен в кавычки.,Имеется очевидная числовая SQL-инъекция.

high

На высоком уровне нажмите «здесь» to change your ID”,Страница автоматически перескакивает,Защищен от автоматизированной SQL-инъекции.

на странице,я вхожу1' union select user,password from users# , также получил имя пользователя и пароль MySQL.

Код DVAWSQL-инъекции высокого уровня безопасности выглядит следующим образом:

Язык кода:php
копировать
$id = $_SESSION[ 'id' ];
$query  = "SELECT first_name, last_name FROM users WHERE user_id = '$id' LIMIT 1;";

impossible

Невозможное, как следует из названия, невозможно, вот оно.

Язык кода:php
копировать
 $id = $_GET[ 'id' ];

// Was a number entered?
if(is_numeric( $id )) {
    $id = intval ($id)                
    $data = $db->prepare( 'SELECT first_name, last_name FROM users WHERE user_id = (:id) LIMIT 1;' );
}

Сначала определите, является ли введенный идентификатор числом,Только числа могут выполнять следующие операторы,а затем использоватьфункция интервала()Иди направоid进行下一步из数字转换,Эти два шага гарантируют, что входные данные должны быть числом.

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

EdgeOneизSQL-инъекциязащита

EdgeOne предоставляет 85 правил хостинга для защитыSQL-инъекция,В соответствии со сценарием защиты отмечаются свободный, нормальный, строгий и сверхстрогий уровни.,这里из处置方式一律выбиратьдляперехватывать

Я подключил DVWA к EdgeOne, установил низкий уровень безопасности DVWA, а затем выполнил sql-инъекцию, ввел 1 'или 1=1#* и нажал кнопку «Отправить», и страница была заблокирована.

Как видно из ответа, код ответа — 566, что является ответом после перехвата правилами хостинга EdgeOne.

А адрес службы возврата — 43.175.237.123, что является адресом ускорения EdgeOne.

На странице анализа веб-безопасности EdgeOne,можно увидеть刚才изSQL-инъекция Все прошли успешноперехватывать。

и还会显示每条SQL-инъекция请求匹配到изперехватыватьправило。

XSS

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

Существует три типа распространенных XSS:

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

Светоотражающий XSS

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

Язык кода:php
копировать
$name = htmlspecialchars( $_GET[ 'name' ] );
// Feedback for end user
echo "<pre>Hello {$name}</pre>";

В приведенном выше PHP-коде пользовательский ввод выводится непосредственно на веб-страницу. Обычно я ввожу строку.

будет отображаться на странице. Если входной контент содержит блок кода сценария, веб-страница выполнит этот код.

Язык кода:javascript
копировать
<script>alert("XSS");</script>

Это предупреждение представляет собой мой вредоносный код, который внедряется на веб-страницу посредством рефлексивного xss и выполняется, когда я нажимаю кнопку «Отправить».

Здесь показан простой блок кода сценария. Распространенная атака использует атрибут src для указания сценария на удаленном сервере, например:

Язык кода:javascript
копировать
<script src='http://ip/xss.js></script>

Сохраненный XSS

Сохраненный XSS,Как следует из названия, это связано с хранением. Например, доска объявлений,Содержимое сообщения записывается в блоке кода сценария.,Затем он сохраняется в MySQL без проверки.,При обновлении страницы,Это сообщение будет отображаться на доске объявлений,Содержащийся в нем скрипт будет выполнен.,влиять на других пользователей.

Я ввожу сообщение, содержащее код сценария, на доску объявлений.

Затем нажмите «Отправить на доску объявлений».

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

Тип DOM XSS

DOM,То есть объект документа. Тип DOM XSS указывает интерфейс, использующий объект документа.,Например, write(),innerHTML,cookie,url и т.д.,Внедрить XSS-атаку.

Как показано на картинке,существоватьDVWAиз Тип DOM На странице стрельбища XSS используйте функцию write() документа для создания html-элементов. Смысл if в этом коде — удалить href, если существует значение по умолчанию. Значение по умолчанию присваивается переменной lang и записывается на веб-страницу.

Как показано на рисунке, значением URL-адреса по умолчанию на данный момент является английский. Давайте изменим его на скрипт и попробуем.

Язык кода:javascript
копировать
<script>alert(document.cookie)</script>

Используйте документ в скрипте для получения файлов cookie.

Это более типичный XSS типа DOM. Помимо приведенных выше примеров, неправильное использование eval(), setTimeout() и setInterval() может привести к внедрению вредоносного кода, поэтому это проблема для разработчиков.

Предотвратите XSS-атаки

Хотя выше описаны три различных типа XSS-атак, вы можете видеть, что на самом деле это самые простые атаки, которые встраивают скрипты в URL-адрес.

1. Заменить скрипт

Чтобы предотвратить эту атаку, введенный пользователем «скрипт» заменяется на среднем уровне.

Язык кода:php
копировать
$name = str_replace( '<script>', '', $_GET[ 'name' ] );

Как видите, тег скрипта заменен, но что, если я переведу скрипт в верхний регистр?

Вы можете видеть, что XSS-атака также завершена.

2. Скрипт замены корпуса

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

Язык кода:php
копировать
$name = preg_replace( '/<(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/i', '', $_GET[ 'name' ] );

Но другие элементы html не фильтруются. Здесь я напрямую добавляю тег img, src указывает на неправильный адрес, а затем добавляю обратный вызов при ошибке.

Язык кода:html
копировать
<img src=x onerror=alert('XSS');>

Как показано на рисунке ниже, атака xss осуществляется через тег img.

Язык кода:php
копировать
$name = htmlspecialchars( $_GET[ 'name' ] );

Используйте функцию htmlspecialchars() для преобразования специальных символов в объекты HTML, например

Язык кода:html
копировать
&:转换для&amp;
":转换для&quot;
<:转换для&lt;
>:转换для&gt;

Таким образом, XSS-атаки не могут быть осуществлены.

EdgeOne защищает от XSS-атак

мы можем видеть,Для обычных разработчиков,Хотите предотвратить XSS-атаки,Есть много аспектов, которые необходимо учитывать с точки зрения злоумышленника. И давайте еще раз посмотрим на EdgeOne,Для XSS-атак,Предусмотрено 35 правил хостинга.

Также подключите DVWA к EdgeOne, а затем начните XSS-атаки.

1. низкая защита от XSS-атак.

Для отраженного XSS также введите сценарий XSS, и вы увидите, что EdgeOne наконец перехватил его.

2. средняя защита от XSS-атак

Здесь для XSS-атак используется сценарий с заглавной буквы.

EdgeOne успешно перехвачен.

3. Высокая защита от XSS-атак.

Здесь я ввожу тег img перед ним для XSS-атаки.

Вы можете видеть, что XSS-атака на тег img заблокирована. В то же время в анализе веб-безопасности консоли EdgeOne вы также можете увидеть детали перехваченных XSS-атак.

DDoS

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

DDoS-атака сетевого уровня использует уязвимость трехстороннего рукопожатия TCP для подделки поддельного адреса источника для отправки пакета SYN. ​​Затем, когда сервер получает пакет SYN/ACK, поддельный IP-адрес не отвечает, и сервер повторяет попытку. 3-5 раз и «Ожидание времени SYN» (30 с ~ 2 мин), это приведет к установлению множества бесполезных соединений.

CC-атака

Прикладной уровеньDDoS攻击必将常见из就是CC-атака,Контролируя определенные хосты для непрерывной отправки большого количества пакетов данных на сервер.,Особенно те страницы, для обработки которых требуется много ресурсов процессора.,Держите процессор под высокой нагрузкой в ​​течение длительного времени,Это приводит к исчерпанию ресурсов сервера.,Вызывает перегрузку сети и перебои в обслуживании.,Невозможно обработатьнормальныйиз访问请求。

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

Кроме CC-атака,кромеSlowlorisатака на истощение ресурсов,Предотвращайте прерывание соединения, создавая неверные заголовки запросов. Здесь мы в основном смотрим на CC-атаку прикладного уровня.

EdgeOne защищает от DDoS

Защита от DDoS (Anti-DDoS) обладает комплексными, эффективными и профессиональными возможностями защиты от DDoS. Она предоставляет корпоративным организациям различные решения от DDoS, такие как пакеты высокой защиты от DDoS и IP с высокой защитой от DDoS, для борьбы с DDoS-атаками. Благодаря достаточным и качественным ресурсам защиты от DDoS в сочетании с постоянно развивающимся алгоритмом очистки «собственная разработка + интеллектуальная идентификация с помощью искусственного интеллекта» мы обеспечиваем стабильную и безопасную работу пользовательских предприятий.

1. Профилактика CC-атаки

CC-атаказащита Обучение по базовой ставке、Статистический анализ характеристик головы и IP-адреса клиентаинтеллектждать方式识别CC-атака,и избавиться от него. EdgeOne Предусмотрено три предустановки. CC Стратегия защиты от атак:

  1. Ограничения запросов на высокочастотный доступ:用于应对通过高频和大量并发из连接请求占用服务器资源из Поведение CC-атаки может ограничивать частоту доступа на основе одного источника IP.
  2. Защита от медленных атак:用于应对通过大量慢速连接请求占用服务器资源изCC-атака行для,Минимальная скорость подключения доступа может быть ограничена для каждой сессии.,Устраните клиентов с медленным подключением.
  3. Умная фильтрация клиентов:Базовое обучение по встроенной ставке、Статистический анализ характеристик головы и IP-адреса клиентаинтеллект,Динамическое создание правил защиты в режиме реального времени.

существоватьАдаптивное управление частотойсередина,Ограничение частоты по умолчанию составляет 2000 раз/5 секунд.,Мы можем изменить частоту запросов в редакторе.,Изменено до 40 раз/10 секунд.

CC-атака — это неограниченный доступ к сайту. Здесь я использую сценарий оболочки, чтобы просто имитировать CC-атаку.

Язык кода:bash
копировать
for in in {1..80};
do 
  curl -XGET 'http://lzys522.cn/dvwa/'
done

Всего за 10 секунд было инициировано 80 запросов.,Превышен лимит в 40 раз/10 секунд.,Так что EdgeOne трактует эти посещения как CC-атаку,перехвачен,отweb安全分析серединаизCC-атаказащитаможно увидеть。

2. Предотвращение DDoS-атак сетевого уровня.

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

  1. Неправильная фильтрация пакетов:过滤 frag flood,smurf,stream flood,land flood атака, фильтрация IP Неверные пакеты, TCP Неверные пакеты, UDP Неправильно сформированная сумка.
  2. сетевой уровень DDoS 攻击защита:过滤 UDP Flood、SYN Flood、TCP Flood、ICMP Flood、ACK Flood、FIN Flood、RST Flood、DNS/NTP/SSDP Ждите атак отражения и пустых соединений.
  3. DNS-DDoS-атака:DNS DDoS Атаки в основном включают DNS Request Flood、DNS Response Потоп, ложный источник + реальный источник DNS Query Флуд, авторитарные атаки на серверы и Local Серверные атаки и т.д.
  4. Тип подключения DDoS 攻击:Тип подключения DDoS Атаки в основном относятся к атакам на медленное соединение TCP, атакам на исчерпание соединения, Loic, Hoic, Slowloris, Pyloris、Xoic Ждите медленных атак.

В дополнение к стандартным спецификациям платформы по защите от DDoS, EdgeOne,还существовать企业版середина提供了Независимая DDoSзащита,Обеспечивает более мощные возможности защиты от DDoS.

Индикаторный анализ

существоватьEdgeOne平台изИндикаторный анализсередина,Доступ к данным журнала путем анализа L7 (уровень приложений),Обеспечивает многомерное визуальное отображение анализа трафика.

Я включил ускорение в EdgeOne для моего доменного имени выше, поэтому, когда я получаю доступ к своему доменному имени, EdgeOne будет кэшировать статические файлы ответов на пограничном узле. Когда я делаю повторный запрос, граничный узел напрямую ответит на запрос, чтобы избежать запроса возврата к источнику. Эта часть представляет собой ответный трафик, который мы видим, обработанный EdgeOne на рисунке выше.

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

наведение курсора мыши,可以НажмитеДобавить в фильтр,Используйте размеры региона в качестве фильтра. кроме,还会отHost、URL、Тип ресурса、IP-адрес клиента、referer、клиентское устройство、Проведите анализ трафика на основе измерения кода состояния.

Для каждого Индикаторный анализ,Нажав кнопку загрузки в правом верхнем углу,Данные/диаграммы можно загрузить локально.

Веб-защита другие функции

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

1. Пользовательские правила

Мы можем добавить правила в веб-защиту для IP-адреса клиента, региона, реферера и других типов.

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

2. Настройте страницу перехвата

В EdgeOne мы также можем настроить страницу перехвата запросов, перехваченных хостингом.

URL-адрес и страницу файла можно указать на странице редактирования.

Заключение

Эта статья в основном популяризирует общие знания в области веб-безопасности, полученные из SQL-инъекций, XSS-атак и DDoS.,В то же время эти методы атаки также используются,У меня появилось новое понимание возможностей защиты EdgeOne. кроме,EdgeOne также имеет множество функций безопасности.,Например, атаки с загрузкой файлов, атаки с внедрением Idap и т. д.

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

Наконец, особая благодарность лидерам сообщества.Ян Буииз域名(lzys522.cn)поддерживать.

boy illustration
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода