Нажмите "Enter", чтобы перейти к содержанию

Как дудосить: DDoS для чайников. Основные принципы атаки и защиты.

Содержание

DDoS для чайников. Основные принципы атаки и защиты.

Проблема вмешательства сторонних лиц в поведение киберспортивных матчей существует уже не первый день. Но в последнее время она особенно резко проявилась в Dota 2 и CS:GO. Мы расскажем вам, насколько просто провести DDoS-атаку и как эффективно от нее защититься.

Проблема вмешательства сторонних лиц в поведение киберспортивных матчей существует уже не первый день. Но в последнее время она особенно резко проявилась в Dota 2 и CS:GO. Многие игры приходится задерживать по часу, а то и вовсе отменять, переносить и переигрывать. Мы расскажем вам, насколько просто провести DDoS-атаку и как эффективно от нее защититься.
Что такое DDoS?
DDoS — атака, запущенная компьютером или сервером, которому дали цель и приказ к началу. После старта сеть зараженных машин начнет отправлять мертвые пакеты (бесполезную информацию) на роутер цели и таким образом блокирует соединение. Представьте себе лодку с одним веслом, которая пытается выбраться из загрязненной реки.

Атака
Для проведения атаки нужно лишь две вещи: DDoS-провайдер и цель. Услуги ддосеров зависят от количества времени, на которое они хотят испортить ваше соединение с интернетом и объема мусора, отправляемого на ваш роутер. Направление атаки определяется IP-адресом. Всё просто — если он есть у злоумышленников, то заддосить вас будет несложно. Поэтому очень важно избежать его попадания в чужие руки.
К сожалению, раздобыть нужный IP сейчас очень просто. Вы можете найти адрес сервера Valve через Dota 2, и даже если он будет скрыт через консоль, программа Packet Sniffer получит его без проблем.


Что касается айпишников отдельных игроков, то они оставляют следы во множестве программ. Для того, чтобы получить IP через Skype, требуется только ваш ник в программе, и это только один из множества способов. Представьте, что ситуация из видео ниже произойдет с вами (18+):

За DDoS даже необязательно платить. Я нашел бесплатный сервис, который дает отправить от 10 до 200 Mbps в качестве пробы. Этого достаточно, чтобы положить большинство стандартных сетей:

Как же защититься?
Существует много путей оградить себя от нападения. Я расскажу лишь о некоторых:

  1. Арендуйте VPN. Он спрячет ваш IP за сильным и защищенным сервером. Если вы используете программы связи, то убедитесь, что делаете это через ВПН. Количество провайдеров этого сервиса очень велико.
  2. Ограничьте общение через Skype, Teamspeak и т.д. Это один из простейших путей получить ваш адрес и испортить соединение.
  3. Большинство людей считают, что у них на компьютере нет никаких вирусов. К сожалению, в 90% случаев это не так, и вам стоит проводить очистку чаще, чтобы избежать резкого отключения сети.
  4. Будьте аккуратны в посещении сайтов и форумов. Администраторы видят ваш IP.
  5. Фаерволлы. У некоторых роутеров есть встроенный, как и в самом Windows, но они не успеют отфильтровать поступающий «мусор» до того, как он заблокирует интернет.
Что делать, если мой IP уже попал в чужие руки?
Тогда придется прибегнуть к весьма непростым манипуляциям с роутером. Интернет-провайдер вам ничем не поможет, так как им по работе не приходится сталкиваться с такими проблемами. Вам нужно

поменять WAN MAC роутера, чтобы автоматически получить новый адрес. Если же сделать это не получается, то придется выдернуть роутер из сети и долго-долго ждать.
Заключение.
Как было неоднократно сказано, это далеко не полная информация по защите от DDoSa, и проигрокам приходится сталкиваться с гораздо более изощренными приемами. Так что желаем вам не попадать под подобные атаки и по возможности защищать себя.

Источник:

Как организовать DDoS в благих целях? / Хабр

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

А как этот сервис отреагирует, если против него будет организована распределенная DoS-атака? Защищен ли ресурс от потенциальных действий злоумышленников?

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

В этой статье мы расскажем про опыт организации нагрузочного тестирования для DNS- и HTTP-сервисов.


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

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


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

Customer ID:
   Customer Name:
   Email Address:
   AWS Account ID load test will be performed from:
   Does the customer have an NDA?
Target Data
   EC2 Resources:
   Cloudfront Distribution:
   API Gateway / Lambda ID:
   ELB Names:
   Non-AWS Target:
   Region (please list all regions in scope for testing):
Source Data:
   IP Addresses:
   Source Account ID:
   Regions involved:
Testing Parameters:
   How much traffic do you plan to generate by region during testing?
   What is your expected peak load from source by region? (i.e. xx Gbps)
   What is your expected peak load at destination? (i.e. xx Gbps)
   Are you testing traffic outbound from EC2, inbound into EC2, or both?
   Are you testing traffic outbound (egress) from EC2, inbound (ingress) into EC2, or both:
   Egress. What is your expected peak load from source by region? (i.e. xx Gbps)
   Ingress.
What is your expected peak load from source by region? (i.e. xx Gbps) Start Date: End Date: Finite testing details including timeline of testing: Summary of Test: Testing Timelines by phase including rps, pps, and Gbps: Peak bandwidth for each source IP: Tools Used for each phase of test: Types of testing to be performed for each phase of the request: What criteria/metrics will you monitor to ensure the success of this test? Who is performing the Load Test? (Please provide contact details): Does the tester have an NDA? Testing Security Do you have a way to monitor the data traffic for the duration of the test to verify bandwidth limits do not exceed approved rates? Do you have a way to immediately stop the traffic if we/you discover any issue? 2 Emergency contact names and phone numbers:

Есть несколько нюансов:


  1. У нас спрашивают, кого будем «дубасить». Имеем ли мы на это право? Говорим, что это наш ресурс (по всей видимости, никто не проверяет, так ли это) и что тестирование полностью согласовано.


  2. Нам нужно обозначить, сколько трафика создадим в каждом из регионов. В ходе переписки выясняем, что каждый регион имеет свой лимит на количество сетевого трафика. В общей сложности разрешают запросить 645 Гб/c. Считаем, сколько нужно для атаки, и набираем регионы таким образом, чтобы получилось необходимое значение.


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


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


Скорее всего, в ответ на заполненную форму попросят какие-то разъяснения, поэтому переписываемся и отвечаем на вопросы до тех пор, пока не получим разрешение на тестирование.

На все согласование уходит примерно три рабочих дня, если отвечать оперативно.


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

• включать инстанс;

• запускать тестовую атаку;

• собирать статистику о ходе проведения;

• останавливать тестовую атаку;

• менять IP-адрес;

• выключать инстанс.


Создание образа инстанса


Выбор типа инстанса

Сначала соберем AWS-образ, который будет содержать необходимые инструменты и скрипты для управления. Первым делом надо выбрать, какой инстанс арендовать. Изучаем характеристики разных типов инстансов: смотрим на цену, объем максимального трафика, мощность CPU (последнее важно, потому что трафик создается мощностями процессора как-никак), затем тестируем реальную производительность и максимальное число запросов. По нашим оценкам, наиболее удобными для тестирования являются инстансы t3.small, но тут каждый выбирает на свой вкус.

Характеристики инстансов можно посмотреть вот тут. Также выбирать и сравнивать инстансы можно здесь.


Запрос на увеличение лимита

Нужно заранее подумать о том, сколько инстансов будет участвовать в тестировании. Дело в том, что Amazon предоставляет для каждого региона свои ограничения на число инстансов. Если у вас есть ощущение, что понадобится больше инстансов, чем доступно по умолчанию, то стоит как можно раньше запросить увеличение лимита. Для этого переходим в раздел Support, создаем обращение типа Service limit increase. Время обработки обращения может быть разным: кто-то отвечает уже на следующий день, предоставляя столько сущностей, сколько было запрошено, кто-то говорит, что не даст запустить больше, чем N инстансов. Были и такие регионы, которые отвечали на запрос около месяца.


Тюнинг производительности

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

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

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

Для этого внесем настройки в файл /etc/sysctl.conf:

• Повысим диапазон локальных портов и уменьшим время нахождения сокетов в состоянии FIN_WAIT:

net.ipv4.ip_local_port_range = 1024-65535 (по умолчанию: 32768-61000)
net.ipv4.tcp_fin_timeout = 10 (по умолчанию: 60)

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

С настройкой по умолчанию (61 000–32 768) получается 28 233 сокета. С новыми настройками – 64 500.

Fin_timeout определяет минимальное время, в течение которого исходящие сокеты могут находиться в состоянии FIN_WAIT.

Если указаны значения по умолчанию, система может обеспечить не более (61 000–32 768) / 60 = 470 сокетов в секунду.

Увеличивая port_range и уменьшая fin_timeout, мы можем повлиять на способность системы генерировать большее число исходящих соединений.

• Разрешим повторно использовать сокеты в состоянии TIME_WAIT, когда заканчиваются свободные:

net.ipv4.tcp_tw_reuse = 1 

Установка вышеуказанной опции (которая по умолчанию отключена) помогает минимизировать потери на «простаивание» уже отработавших соединений.

Очень подробно о TIME_WAIT рассказано в этой статье.

• Включим опцию tcp_timestamps для работы вышеуказанной опции tcp_tw_reuse:

net.ipv4.tcp_timestamps = 1 – включить опцию `tcp_timestamps` для работы вышеуказанной опции tcp_tw_reuse 

• Остальные опции:

net.ipv4.tcp_max_tw_buckets = 720000 – увеличить возможное количество сокетов в состоянии TIME_WAIT
net.ipv4.tcp_keepalive_time = 600 – уменьшить тайм-аут keepalive-соединений
net. ipv4.tcp_keepalive_probes = 3 – уменьшить количество keepalive-проб
net.ipv4.tcp_keepalive_intvl = 10 – уменьшить временной интервал между keepalive-пробами
net.ipv4.tcp_window_scaling = 1 – разрешить масштабирование TCP-окна
net.ipv4.tcp_mem = 8192 131072 196304 – увеличить размер буферов для TCP-пакетов 
net.ipv4.udp_mem = 8192 131072 196304 – увеличить размер буферов для udp-пакетов
net.ipv4.tcp_slow_start_after_idle=0 – отключить Slow-Start Restart
net.core.wmem_default = 31457280 – установить размер буфера по умолчанию для отправки данных 
net.core.wmem_max = 33554432 – установить максимальный размер буфера для отправки данных  
net.core.somaxconn = 65535 – увеличить размер очереди сокетов в ожидании обработки
net.core.netdev_max_backlog = 65535 – увеличить размер очереди пакетов между сетевой картой и ядром
vm.swappiness = 30 – понизить порог своппинга
vm.dirty_ratio = 50 – очищать буферы по достижении 50 % ОЗУ
vm.pagecache = 90 – ограничить размер файлового кеша

Сценарии тестовых атак

1. Атака на DNS

Одна из основных задач тестирования – оценка производительности DNS-серверов. Именно DNS-серверы могут стать узким местом отказоустойчивости сайта, так как при возникновении проблем с DNS даже самый устойчивый сервис окажется недоступным. Для создания нагрузки на DNS-серверы будем генерировать много разнообразных DNS-запросов. Запросы должны быть валидными и требовать от DNS-сервера как можно большего и длительного ответа.

Для генерации подобного трафика подходит утилита DNSPerf.

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

В нашем случае нагружаются authoritative DNS-сервера, обслуживающие одну зону – example.com.

Для DNSPerf предварительно подготовим файл с запросами dns_queries.txt (преимущественно ANY для увеличения времени и размера ответа от DNS-сервера):

#dns_queries. txt
example.com ANY
www.example.com ANY
test.example.com ANY
static.example.com ANY
example.com АААА
www.example.com АААА
test.example.com MX

Пример запуска утилиты:

dnsperf -s TARGET_IP -d dns_queries.txt -c 100 -n 100 
-s = целевой IP-адрес
-d = путь к файлу данных с запросами. По умолчанию – stdin 
-c = количество имитируемых клиентов. Для каждого клиента используется уникальный исходящий номер порта 
-n = количество «прогонки» файла с запросами.

2. Атака на ICMP

Следующим этапом тестирования является оценка устойчивости к большому количеству ICMP-трафика. Так как по техническим причинам у серверов часто должна оставаться возможность отвечать на ping-request, существует вероятность DDoS-атаки с использованием ping-запросов. Помимо указания настроек, исключающих возможность ping-to-death, нужно убедиться в устойчивости серверов к пиковым нагрузкам на ICMP. Для создания таких нагрузок лучше использовать известную утилиту hping3, которая позволяет регулировать количество запросов, интервал между отправками, а также размер пакетов.

Пример запуска утилиты:

hping3 -i u1000 -d 1500 -c 100000 -1 TARGET_IP
-i u100 = интервал между отправляемыми пакетами (uX for X microseconds)
-d 1500 = размер каждого пакета
-c 1000000 = количество пакетов для отправки
-1 = режим ICMP

3. Атака на HTTP

Теперь проверяем на стрессоустойчивость основной функционал сервиса – обработку HTTP(S)-трафика. Одним из самых гибких и простых инструментов для генерации HTTP-трафика является siege. Siege – это многопоточная утилита с открытым исходным кодом, предназначенная для тестирования производительности веб-ресурса.

Как и DNSPerf, siege позволяет нагрузить сервер запросами от заданного числа виртуальных пользователей (эмуляция пользователя реализуется c помощью отдельного порта), а также использовать подготовленный заранее набор запросов. Это очень удобно, так как можно включить в тест наиболее ресурсоемкие запросы.

Пример запуска утилиты:

siege -b -c 100 -f test_urls.txt 
-b = без задержек (режим benchmark)
-c = количество имитируемых клиентов.  Для каждого клиента используется уникальный исходящий номер порта 
-f = файл с запросами

Формат содержимого test_urls.txt:

http://example.com/site/login POST login=username&password=test
http://example.com/site/client POST useragent=Mozilla&version=123&date=24May
http://example.com/site/order POST user=username&company=ooo&phone=812345678

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

Ни в одном из вариантов не используется подмена IP, так как Amazon не позволяет это реализовать. Какой бы src_IP ни был указан в пакете, на выходе с инстанса он будет изменен на правильный.

Все создаваемые запросы должны быть легитимными – никакой волны исходящего трафика без ответа, – так как политика Amazon в отношении DDoS довольно строгая. Даже согласованный стресс-тест отнимает минимум несколько дней на общение с техподдержкой, а при первых «вредоносных» действиях получаем бан порта, с которого выходил трафик, и требование немедленно объясниться. (start|stop|status)$ ]]; then echo «nothing to do: need argument for stop,start or status» exit 1 fi if [[ «$1» = «start» ]]; then shift dnsperf $@ fi if [[ «$1» = «stop» ]]; then kill $(pidof dnsperf) fi if [[ «$1» = «status» ]]; then if [[ ! «$(pidof dnsperf)» = «» ]]; then echo «dnperf is running with PID $(pidof dnsperf)» ps aux | grep dnsperf else echo «dnsperf is not running» fi fi

Как видно из кода, скрипт можно будет запускать и останавливать, а также проверять статус (запущен/не запущен).

Аналогичным образом построены скрипты для ICMP- и HTTP-тестов, запускающие соответственно hping3 и siege с переданной через аргумент строкой параметров.

Примеры команд:

ssh instance-amazon 'sudo dns.sh start -s TARGET_IP -d valid_dns_queries.txt -c 1 -n 100 &>>dns.log &'
ssh instance-amazon 'sudo ping.sh start -i u1000 -d 1500 -c 100000 -1 TARGET_IP &>>ping.log &'
ssh instance-amazon 'sudo http. sh start -b -c 100 -f test_urls.txt &>> http.log &'

Скрипты мониторинга

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

#iptables.sh
sudo iptables -N TRAFFIC_OUT
sudo iptables -A TRAFFIC_OUT -p tcp
sudo iptables -A TRAFFIC_OUT -p udp
sudo iptables -A TRAFFIC_OUT -p icmp
sudo iptables -A OUTPUT -j TRAFFIC_OUT
sudo iptables-save

Скрипт создает новую цепочку TRAFFIC_OUT и добавляет в нее фильтры для нужных протоколов: tcp, udp, icmp.

В цепочку OUTPUT добавляется перенаправление пакетов в TRAFFIC_OUT.

Количество переданных данных можно узнать командой:

# iptables -L TRAFFIC_OUT -v -n -x | tail -n 3 | awk '{print $2/1024/1024,"Mb\t\t\t",$3}’ : 
 2.2 Mb       tcp
 4.4 Mb      udp
 3.2 Mb      icmp

Установим скрипт в качестве сервиса. Для этого создадим файл monitoring.service и переместим его в директорию /etc/systemd/system нашего образа:

# /etc/systemd/system/monitoring.service
[Unit]
After=network.target
[Service]
ExecStart=/usr/local/bin/monitoring.sh
[Install]
WantedBy=default.target

Теперь можно добавить сервис в автозагрузку:

systemctl enable monitoring.service
systemctl start monitoring.service

Управление инстансами

Теперь разберемся с удаленным (максимально автоматизированным) управлением инстансами.

Для этих целей можно использовать механизм AWS CLI – управление с помощью консоли.

Создаем Secret Key (Access keys (access key ID and secret access key)) и настраиваем консоль.

Теперь у нас есть доступ ко всем возможностям учетной записи.

Особенность работы с AWS состоит в том, что все действия выполняются для конкретного региона и их приходится повторять, если привлечено несколько регионов.

Для создания нового инстанса из образа, который мы выше смастерили (подразумеваем, что есть публичный ami-ID, который используем в скрипте), выполним следующие действия:


  • создаем SSH-ключ и добавляем его в AWS:
yes n |ssh-keygen -q -t rsa -f $KEYNAME -m pem -N "" > /dev/null
chmod 400 $KEYNAME
aws ec2 import-key-pair --region $REGION --key-name $KEYNAME --public-key-material file:///$(pwd)/$KEYNAME. pub

  • создаем security-group, который разрешает доступ к машине по SSH. В противном случае входящие SSH-соединения будут запрещаться:
SECURITY="ssh-group"
aws ec2 create-security-group --region $REGION --group-name $SECURITY --description "Just ssh. Nothing more"
IP_RANGE="0.0.0.0/24"
aws ec2 authorize-security-group-ingress --region $REGION  --group-name $SECURITY --protocol tcp --port 22 --cidr $IP_RANGE

  • создаем инстанс с созданными ранее ключом и security-group и указываем ID образа. Число инстансов, создаваемых единовременно, может быть произвольным:
IMG='ami-0d0eaed20348a3389'
NUM=1
aws ec2 run-instances --region $REGION --image-id $IMG --count $NUM --instance-type t2.micro --key-name $KEYNAME --security-groups default $SECURITY > instances.json

  • ждем, пока машина проинициализируется. Это занимает какое-то время: сначала мы получаем ответ об успехе (instances.json), но в это время машина только создана, но еще не запущена (например, ей еще не присвоен IP-адрес). Необходимо дождаться завершения запуска (обычно для этого достаточно минуты).

Затем можно подключиться по SSH, если нам известен IP-адрес. Просто запрашиваем список машин, которые сейчас запущены. Среди их параметров находим PublicDnsName или PublicIpAddress.

aws ec2 describe-instances --region

Далее выполняем SSH-команды, указав SSH-ключ, созданный выше:

ssh -I $KEYNAME -oStrictHostKeyChecking=no ubuntu’'+ins_dns echo‘'O’'

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

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

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

Разница между выключением и удалением заключается в том, что мы посылаем разные сигналы. Stop – чтобы выключить, terminate – чтобы выключить и сразу же удалить.

В целях мониторинга входящего трафика инстанса используем следующую команду с указанием ID инстанса: когда начинается замер трафика, когда заканчивается, за какой период значения суммируются:

aws cloudwatch get-metric-statistics --region REGION --namespace AWS/EC2 \
        --statistics Sum --metric-name NetworkIn 
        --start-time $STARTTIME --end-time $FINISHTIME
        --period $PERIOD --dimensions Name=InstanceId,Value=$INCTANCEID

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

Создаем и запускаем простейший «пинг»-скрипт, который отслеживает доступность целевых портов (53 и 80 в нашем случае).

Пример кода на Python, который позволяет автоматизировать проверку доступности:

def http(url):
    cmd = ['curl', '-w', '"%{time_total}"', '-o', '/dev/null', '-s', url]
    result = check_output(cmd). decode('utf-8')
    result = float(json.loads(result))
    return result * 1000000
def dns(ip, domain):
    cmd = ['dig', 'any', '@'+ip, domain ]
    result = check_output(cmd).decode('utf-8')
    result = int(result.split('Query time:')[1].split('msec')[0])
    return result

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

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

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


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

Amazon предоставляет подробную информацию о тарифах, но нужно понимать, что приходится платить практически за все. Тем не менее многими расчетами можно пренебречь. В первую очередь стоит посчитать стоимость трафика (зависит от региона и от того, какой итоговый объем информации будет передан) и стоимость аренды инстансов (оплата поминутная). Эти пункты образуют примерно 99 % от стоимости всей атаки.

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

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

Для того чтобы проиллюстрировать подсчет стоимости проведения нагрузочного тестирования, допустим, что хотим проверить устойчивость DNS-сервера к нагрузке в 10 Гб/c.

Нам известно, что используемые инструменты и возможности инстанса t3. small, запущенного в Мумбаи, позволяют выдать 500 Мб/c с одного запущенного инстанса. Цена за аренду сущности – 0,0224 $ в час, за трафик – 0,01093 $ за 1 Гб. То есть пик атаки означает одновременную работу 20 сущностей.

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

Формула расчета стоимости принимает вид:

60 с * (стоимость аренды в секунду) + 60 с * 0,5 Гб/c * (стоимость Гб трафика) = стоимость атаки с одной сущности за 60 с.
1 * (стоимость атаки с одной сущности) + 2 * (стоимость атаки с одной сущности) + ... + 20 * (стоимость атаки с одной сущности) = стоимость всей атаки

Получается, что стоимость одной атаки мощностью в 10 Гб/c на DNS-сервер – примерно 70 $. Отметим, что это приблизительная оценка, так как объем трафика нельзя абсолютно точно спрогнозировать. Подробнее про цены можно почитать здесь. Более того, правильный подход – выполнить проверку несколько раз, чтобы откалибровать настройки тестируемого сервера.

На этом все про организацию нагрузочного тестирования. Желаем не убить ваши серверы в процессе проб и ошибок.

9 техник для начинающих, которые помогут вам стать профессионалом

Освойте классический завиток капкейков, используя насадку для украшения 1M. Идеально подходит для покрытия кексов, пирогов, тортов и многого другого, эта техника легко выполняется с помощью масляного крема или глазури из стабилизированных взбитых сливок. Вы также можете заменить декорирующие материалы и использовать насадку 2A или насадку 2D для создания другого вида и текстуры.

Звезда, пожалуй, одна из самых простых и универсальных техник для начинающих. Самое замечательное в звезде то, что кончик делает всю работу за вас… просто сожмите и потяните. Имея большое разнообразие насадок в виде звездочек, вы можете использовать эту технику в качестве бордюра или для заполнения глазурью большого торта с изображением персонажа. Так что хватайте кондитерский мешок и вперед!

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

Розетки создают прекрасные цветочные акценты и являются быстрым и простым способом украсить ваши десерты. Хотя они традиционно изготавливаются со звездообразными наконечниками, вы также можете сделать розетки с наконечниками в форме капель для получения различных эффектов лепестков. Используйте стандартные насадки, чтобы добавить маленькие розетки к украшенному цветами торту, или используйте большие насадки для украшения, например 1M или 2D, чтобы вырезать большие розетки и поднять украшение кексов на новый уровень.

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

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

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

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

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

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

Поворот запястья — это все, что вам нужно, чтобы сделать закрученный цветок. Сделанные с использованием наконечника 224 (для стандартных цветов) или наконечника 2D (для крупных цветов), эти цветущие красавицы начинают напоминать звезду, но, когда вы сжимаете пакетик для глазури, вы поворачиваете запястье наружу, чтобы получились перекрывающиеся лепестки. Используйте крупную пудру или каплю глазури в центре, и вскоре у вас будет сад, полный сладких цветов!

Сладкая техника: окантовка 101

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

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

«Несколько крутых трюков могут превратить скучный торт в торт, который будет выглядеть элегантно и по-особенному.»

Украшение тортов так, как это делают профессионалы, требует многолетней самоотверженности и практики, но знание нескольких крутых трюков может определенно сделать разницу между скучным тортом и тортом, который выглядит элегантно и особенно. Только с базовым набором наконечников для металлических труб; включая открытую звездочку, закрытую звездочку, круглую, листообразную, заостренную лепестковую и корзинчатую — существует множество впечатляющих дизайнов, которые вы можете создать, чтобы оживить торт. (Вот хороший набор насадок, гвоздей и соединителей на Amazon, хотя многие люди также продают их гораздо дешевле на ebay.) Дополнительное оборудование не является абсолютно необходимым, но также неплохо иметь кондитерский мешок, либо одноразовый пластиковый, либо одноразовый. многоразовый вид (вы также можете использовать сверхпрочные пластиковые пакеты для хранения в морозильной камере в крайнем случае) и пластиковую муфту, которая позволяет вам переключать насадки для декорирования по ходу работы без необходимости останавливаться, опорожнять и наполнять кондитерский мешок каждый раз. .

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

Безграничные возможности

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

Кондитерские мешки

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

Муфты

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

Подготовьте кондитерский мешок

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

Прикрепите насадку для декорирования снаружи

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

Наполнение мешка

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

Наполнение мешка

Выдавите глазурь в пакет, стараясь устранить воздушные карманы, которые могут нарушить рисунок окантовки. Оберните лишний пакет вокруг глазури.

Звездочки трубопровода

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

Звездочки трубопровода

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

Корпуса трубопроводов

Ракушки — еще одно прекрасное украшение, которое вы можете использовать с любым открытым кончиком звезды. Чтобы выдавить ракушки, начните с выдавливания глазури в одном месте, затем продолжайте выжимать, быстро оттягивая кончик. Вернитесь назад и начните обвязывать следующую ракушку с того места, где остановилась последняя, ​​по цепочке. Это классическая техника оформления бордюров и оснований тортов.

Корпуса трубопроводов

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

Жемчужные нити

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

Начало плетения корзины

Для плетения корзины начните с вертикальных линий, оставляя расстояние примерно в 1 линию между каждой.

Обвязка корзины

Линии трубопровода перпендикулярны параллельным линиям, чередующимся сверху и снизу. Для «нижних» остановитесь и оставьте место для исходной параллельной линии, чтобы казалось, что исходная линия покрывает новую линию.

Обвязка корзиночного плетения

Плетение корзины требует практики — попробуйте несколько раз на тарелке, прежде чем применять эту технику к торту. Это можно сделать с наконечником корзины любого размера или с другими формами. Схема такая же.

Трубные розетки

Чтобы сделать розетку, используйте закрытый наконечник в виде звезды, который дает рисунок окантовки с более глубокими волнами. Соберите розетки, описав узкий круг, затем поднимите кончик к вершине круга, чтобы закончить.

Трубные розетки

Розетки можно обвязать с помощью закрытого наконечника в виде звезды любого размера.

Отверстия для труб

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

Отверстия для труб

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

Окантовка розы

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

Окантовка внутренних лепестков розы

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

Больше внутренних лепестков

Продолжайте обводить концентрические круги вокруг центра розы.

Ваш комментарий будет первым

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *