Сайт о телевидении

Сайт о телевидении

» » Защита от DDoS: как своими силами отбить атаку – руководство. Бортовой журнал

Защита от DDoS: как своими силами отбить атаку – руководство. Бортовой журнал

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

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

Правильные ингредиенты

Суровая правда такова, что многие сайты может положить любой желающий, воспользовавшись атакой Slowloris, наглухо убивающей Apache, или устроив так называемый SYN-флуд с помощью фермы виртуальных серверов, поднятых за минуту в облаке Amazon EC2. Все наши дальнейшие советы по защите от DDoS своими силами основываются на следующих важных условиях.

1. Отказаться от Windows Server

Практика подсказывает, что сайт, который работает на винде (2003 или 2008 - неважно), в случае DDoS обречен. Причина неудачи кроется в виндовом сетевом стеке: когда соединений становится очень много, то сервер непременно начинает плохо отвечать. Мы не знаем, почему Windows Server в таких ситуациях работает настолько отвратно, но сталкивались с этим не раз и не два. По этой причине речь в данной статье будет идти о средствах защиты от DDoS-атак в случае, когда сервер крутится на Linux. Если вы счастливый обладатель относительно современного ядра (начиная с 2.6), то в качестве первичного инструментария будут выступать утилиты iptables и ipset (для быстрого добавления IP-адресов), с помощью которых можно оперативно забанить ботов. Еще один ключ к успеху - правильно приготовленный сетевой стек, о чем мы также будем говорить далее.

2. Расстаться с Apache

Второе важное условие - отказ от Apache. Если у вас, не ровен час, стоит Apache, то как минимум поставьте перед ним кеширующий прокси - nginx или lighttpd. Apache’у крайне тяжело отдавать файлы, и, что еще хуже, он на фундаментальном уровне (то есть неисправимо) уязвим для опаснейшей атаки Slowloris, позволяющей завалить сервер чуть ли не с мобильного телефона. Для борьбы с различными видами Slowloris пользователи Apache придумали сначала патч Anti-slowloris.diff, потом mod_noloris, затем mod_antiloris, mod_limitipconn, mod_reqtimeout… Но если вы хотите спокойно спать по ночам, проще взять HTTP-сервер, неуязвимый для Slowloris на уровне архитектуры кода. Поэтому все наши дальнейшие рецепты основываются на предположении, что на фронтенде используется nginx.

Отбиваемся от DDoS

Что делать, если пришел DDoS? Традиционная техника самообороны - почитать лог-файл HTTP-сервера, написать паттерн для grep (отлавливающий запросы ботов) и забанить всех, кто под него подпадет. Эта методика сработает… если повезет. Ботнеты бывают двух типов, оба опасны, но по-разному. Один целиком приходит на сайт моментально, другой - постепенно. Первый убивает все и сразу, зато в логах появляется весь полностью, и если вы их проgrepаете и забаните все IP-адреса, то вы - победитель. Второй ботнет укладывает сайт нежно и осторожно, но банить вам его придется, возможно, на протяжении суток. Любому администратору важно понимать: если планируется бороться grep’ом, то надо быть готовым посвятить борьбе с атакой пару дней. Ниже следуют советы о том, куда можно заранее подложить соломки, чтобы не так больно было падать.

3. Использовать модуль testcookie

Пожалуй, самый главный, действенный и оперативный рецепт этой статьи. Если на ваш сайт приходит DDoS, то максимально действенным способом дать отпор может стать модуль testcookie-nginx , разработанный хабрапользователем @kyprizel. Идея простая. Чаще всего боты, реализующие HTTP-флуд, довольно тупые и не имеют механизмов HTTP cookie и редиректа. Иногда попадаются более продвинутые - такие могут использовать cookies и обрабатывать редиректы, но почти никогда DoS-бот не несет в себе полноценного JavaScript-движка (хотя это встречается все чаще и чаще). Testcookie-nginx работает как быстрый фильтр между ботами и бэкендом во время L7 DDoS-атаки, позволяющий отсеивать мусорные запросы. Что входит в эти проверки? Умеет ли клиент выполнять HTTP Redirect, поддерживает ли JavaScript, тот ли он браузер, за который себя выдает (поскольку JavaScript везде разный и если клиент говорит, что он, скажем, Firefox, то мы можем это проверить). Проверка реализована с помощью кукисов с использованием разных методов:

  • «Set-Cookie» + редирект с помощью 301 HTTP Location;
  • «Set-Cookie» + редирект с помощью HTML meta refresh;
  • произвольным шаблоном, причем можно использовать JavaScript.

Чтобы избежать автоматического парсинга, проверяющая кукиса может быть зашифрована с помощью AES-128 и позже расшифрована на клиентской стороне JavaScript. В новой версии модуля появилась возможность устанавливать кукису через Flash, что также позволяет эффективно отсеять ботов (которые Flash, как правило, не поддерживают), но, правда, и блокирует доступ для многих легитимных пользователей (фактически всех мобильных устройств). Примечательно, что начать использовать testcookie-nginx крайне просто. Разработчик, в частности, приводит несколько понятных примеров использования (на разные случаи атаки) с семплами конфигов для nginx.

Помимо достоинств, у testcookie есть и недостатки:

  • режет всех ботов, в том числе Googlebot. Если вы планируете оставить testcookie на постоянной основе, убедитесь, что вы при этом не пропадете из поисковой выдачи;
  • создает проблемы пользователям с браузерами Links, w3m и им подобными;
  • не спасает от ботов, оснащенных полноценным браузерным движком с JavaScript.

Словом, testcookie_module не универсален. Но от ряда вещей, таких как, например, примитивные инструментарии на Java и C#, он помогает. Таким образом вы отсекаете часть угрозы.

4. Код 444

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

Location /search { return 444; }

Таким образом можно, например, оперативно реализовать фильтрацию по URL. Если вы уверены, что запросы к location /search приходят только от ботов (например, ваша уверенность основана на том, что на вашем сайте вообще нет раздела /search), вы можете установить на сервер пакет ipset и забанить ботов простым shell-скриптом:

Ipset -N ban iphash tail -f access.log | while read LINE; do echo "$LINE" | \ cut -d""" -f3 | cut -d" " -f2 | grep -q 444 && ipset -A ban "${L%% *}"; done

Если формат лог-файлов нестандартный (не combined) или требуется банить по иным признакам, нежели статус ответа, - может потребоваться заменить cut на регулярное выражение.

5. Баним по геопризнаку

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

  • Подключите к nginx GeoIP-модуль (wiki.nginx.org/HttpGeoipModule).
  • Выведите информацию о геопривязке в access log.
  • Далее, модифицировав приведенный выше шелл-скрипт, проgrepайте accesslog nginx’а и добавьте отфутболенных по географическому признаку клиентов в бан.
  • Если, к примеру, боты по большей части были из Китая, то это может помочь.

    6. Нейронная сеть (PoC)

    Наконец, вы можете повторить опыт хабрапользователя @SaveTheRbtz, который взял нейронную сеть PyBrain, запихал в нее лог и проанализировал запросы (habrahabr.ru/post/136237). Метод рабочий, хотя и не универсальный:). Но если вы действительно знаете внутренности своего сайта - а вы, как системный администратор, должны, - то у вас есть шансы, что в наиболее трагических ситуациях такой инструментарий на основе нейронных сетей, обучения и собранной заранее информации вам поможет. В этом случае весьма полезно иметь access.log до начала DDoS’а, так как он описывает практически 100% легитимных клиентов, а следовательно, отличный dataset для тренировки нейронной сети. Тем более глазами в логе боты видны не всегда.

    Диагностика проблемы

    Сайт не работает - почему? Его DDoS’ят или это баг движка, не замеченный программистом? Неважно. Не ищите ответа на этот вопрос. Если вы считаете, что ваш сайт могут атаковать, обратитесь к компаниям, предоставляющим защиту от атак, - у ряда анти-DDoS-сервисов первые сутки после подключения бесплатны - и не тратьте больше время на поиск симптомов. Сосредоточьтесь на проблеме. Если сайт работает медленно или не открывается вообще, значит, у него что-то не в порядке с производительностью, и - вне зависимости от того, идет ли DDoS-атака или нет, - вы, как профессионал, обязаны понять, чем это вызвано. Мы неоднократно были свидетелями того, как компания, испытывающая сложности с работой своего сайта из-за DDoS-атаки, вместо поиска слабых мест в движке сайта пыталась направлять заявления в МВД, чтобы найти и наказать злоумышленников. Не допускайте таких ошибок. Поиск киберпреступников - это трудный и длительный процесс, осложненный самой структурой и принципами работы сети Интернет, а проблему с работой сайта нужно решать оперативно. Заставьте технических специалистов найти, в чем кроется причина падения производительности сайта, а заявление смогут написать юристы.

    7. Юзайте профайлер и отладчик

    Для наиболее распространенной платформы создания веб-сайтов - PHP + MySQL - узкое место можно искать с помощью следующих инструментов:

    • профайлер Xdebug покажет, на какие вызовы приложение тратит больше всего времени;
    • встроенный отладчик APD и отладочный вывод в лог ошибок помогут выяснить, какой именно код выполняет эти вызовы;
    • в большинстве случаев собака зарыта в сложности и тяжеловесности запросов к базе данных. Здесь поможет встроенная в движок базы данных SQL-директива explain.

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

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

    8. Анализируйте ошибки

    Проанализируйте объем трафика, время ответа сервера, количество ошибок. Для этого смотрите логи. В nginx время ответа сервера фиксируется в логе двумя переменными: request_time и upstream_response_time. Первая - это полное время выполнения запроса, включая задержки в сети между пользователем и сервером; вторая сообщает, сколько бэкенд (Apache, php_fpm, uwsgi…) выполнял запрос. Значение upstream_response_time чрезвычайно важно для сайтов с большим количеством динамического контента и активным общением фронтенда с базой данных, им нельзя пренебрегать. В качестве формата лога можно использовать такой конфиг:

    Log_format xakep_log "$remote_addr - $remote_user [$time_local] " ""$request" $status $body_bytes_sent " ""$http_referer" "$http_user_agent" $request_time \ $upstream_response_time";

    Это combined-формат с добавленными полями тайминга.

    9. Отслеживайте количество запросов в секунду

    Также посмотрите на число запросов в секунду. В случае nginx вы можете примерно оценить эту величину следующей shell-командой (переменная ACCESS_LOG содержит путь к журналу запросов nginx в combined-формате):

    Echo $(($(fgrep -c "$(env LC_ALL=C date --date=@$(($(date \ +%s)-60)) +%d/%b/%Y:%H:%M)" "$ACCESS_LOG")/60))

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

    10. Не забывайте про tcpdump

    Многие забывают, что tcpdump - это обалденное средство диагностики. Я приведу пару примеров. В декабре 2011-го был обнаружен баг в ядре Linux, когда оно открывало TCP-соединение при выставленных флагах TCP-сегмента SYN и RST. Первым багрепорт отправил именно системный администратор из России, чей ресурс был атакован этим методом, - атакующие узнали об уязвимости раньше, чем весь мир. Ему, очевидно, такая диагностика помогла. Другой пример: у nginx есть одно не очень приятное свойство - он пишет в лог только после полной отработки запроса. Бывают ситуации, когда сайт лежит, ничего не работает и в логах ничего нет. Все потому, что все запросы, которые в данный момент загружают сервер, еще не выполнились. Tcpdump поможет и здесь.

    Он настолько хорош, что я советовал людям не использовать бинарные протоколы до того, как они убедятся, что все в порядке, - ведь текстовые протоколы отлаживать tcpdump’ом легко, а бинарные – нет. Однако сниффер хорош как средство диагностики - в качестве средства поддержания production’а он страшен. Он легко может потерять сразу несколько пакетов и испортить вам историю пользователя. Смотреть его вывод удобно, и он пригодится для ручной диагностики и бана, но старайтесь ничего критичного на нем не основывать. Другое любимое многими средство «погрепать запросы» - ngrep - вообще по умолчанию пытается запросить в районе двух гигабайт несвопируемой памяти и только потом начинает уменьшать свои требования.

    11. Атака или нет?

    Как отличить DDoS-атаку, например, от эффекта рекламной кампании? Этот вопрос может показаться смешным, но эта тема не менее сложная. Бывают довольно курьезные случаи. У одних хороших ребят, когда они напряглись и основательно прикрутили кеширование, сайт слег на пару дней. Выяснилось, что в течение нескольких месяцев этот сайт незаметно датамайнили какие-то немцы и до оптимизации кеширования страницы сайта у этих немцев со всеми картинками грузились довольно долго. Когда страница начала выдаваться из кеша моментально, бот, у которого не было никаких тайм-аутов, тоже начал собирать их моментально. Тяжело пришлось. Случай особенно сложный по той причине, что если вы сами изменили настройку (включили кеширование) и сайт после этого перестал работать, то кто, по вашему и начальственному мнению, виноват? Вот-вот. Если вы наблюдаете резкий рост числа запросов, то посмотрите, например, в Google Analytics, кто приходил на какие страницы.

    Тюнинг веб-сервера

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

    12. Лимитируем ресурсы (размеры буферов) в nginx

    Про что нужно помнить в первую очередь? Каждый ресурс имеет лимит. Прежде всего это касается оперативной памяти. Поэтому размеры заголовков и всех используемых буферов нужно ограничить адекватными значениями на клиента и на сервер целиком. Их обязательно нужно прописать в конфиге nginx.

    • client_header_buffer_size_ _ Задает размер буфера для чтения заголовка запроса клиента. Если строка запроса или поле заголовка запроса не помещаются полностью в этот буфер, то выделяются буферы большего размера, задаваемые директивой large_client_header_buffers.
    • large_client_header_buffers Задает максимальное число и размер буферов для чтения большого заголовка запроса клиента.
    • client_body_buffer_size Задает размер буфера для чтения тела запроса клиента. Если тело запроса больше заданного буфера, то все тело запроса или только его часть записывается во временный файл.
    • client_max_body_size Задает максимально допустимый размер тела запроса клиента, указываемый в поле «Content-Length» заголовка запроса. Если размер больше заданного, то клиенту возвращается ошибка 413 (Request Entity Too Large).
    13. Настраиваем тайм-ауты в nginx

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

    • reset_timedout_connection on; Помогает бороться с сокетами, зависшими в фазе FIN-WAIT.
    • client_header_timeout Задает тайм-аут при чтении заголовка запроса клиента.
    • client_body_timeout Задает тайм-аут при чтении тела запроса клиента.
    • keepalive_timeout Задает тайм-аут, в течение которого keep-alive соединение с клиентом не будет закрыто со стороны сервера. Многие боятся задавать здесь крупные значения, но мы не уверены, что этот страх оправдан. Опционально можно выставить значение тайм-аута в HTTP-заголовке Keep-Alive, но Internet Explorer знаменит тем, что игнорирует это значение
    • send_timeout Задает тайм-аут при передаче ответа клиенту. Если по истечении этого времени клиент ничего не примет, соединение будет закрыто.

    Сразу вопрос: какие параметры буферов и тайм-аутов правильные? Универсального рецепта тут нет, в каждой ситуации они свои. Но есть проверенный подход. Нужно выставить минимальные значения, при которых сайт остается в работоспособном состоянии (в мирное время), то есть страницы отдаются и запросы обрабатываются. Это определяется только тестированием - как с десктопов, так и с мобильных устройств. Алгоритм поиска значений каждого параметра (размера буфера или тайм-аута):

  • Выставляем математически минимальное значение параметра.
  • Запускаем прогон тестов сайта.
  • Если весь функционал сайта работает без проблем - параметр определен. Если нет - увеличиваем значение параметра и переходим к п. 2.
  • Если значение параметра превысило даже значение по умолчанию - это повод для обсуждения в команде разработчиков.
  • В ряде случаев ревизия данных параметров должна приводить к рефакторингу/редизайну сайта. Например, если сайт не работает без трехминутных AJAX long polling запросов, то нужно не тайм-аут повышать, а long polling заменять на что-то другое - ботнет в 20 тысяч машин, висящий на запросах по три минуты, легко убьет среднестатистический дешевый сервер.

    14. Лимитируем соединия в nginx (limit_conn и limit_req)

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

    Предположим, что на сайте есть разделы с говорящими названиями /download и /search. При этом мы:

    • не хотим, чтобы боты (или люди с чересчур ретивыми рекурсивными download-менеджерами) забили нам таблицу TCP-соединений своими закачками;
    • не хотим, чтобы боты (или залетные краулеры поисковых систем) исчерпали вычислительные ресурсы СУБД множеством поисковых запросов.

    Для этих целей сгодится конфигурация следующего вида:

    Http { limit_conn_zone $binary_remote_addr zone=download_c:10m; limit_req_zone $binary_remote_addr zone=search_r:10m \ rate=1r/s; server { location /download/ { limit_conn download_c 1; # Прочая конфигурация location } location /search/ { limit_req zone=search_r burst=5; # Прочая конфигурация location } } }

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

    Обратите внимание на параметр 10m в примере. Он означает, что на расчет данного лимита будет выделен словарь с буфером в 10 мегабайт и ни мегабайтом более. В данной конфигурации это позволит отслеживать 320 000 TCP-сессий. Для оптимизации занимаемой памяти в качестве ключа в словаре используется переменная $binary_remote_addr, которая содержит IP-адрес пользователя в бинарном виде и занимает меньше памяти, чем обычная строковая переменная $remote_addr. Нужно заметить, что вторым параметром к директиве limit_req_zone может быть не только IP, но и любая другая переменная nginx, доступная в данном контексте, - например, в случае, когда вы не хотите обеспечить более щадящий режим для прокси, можно использовать $binary_remote_addr$http_user_agent или $binary_remote_addr$http_cookie_myc00kiez - но использовать такие конструкции нужно с осторожностью, поскольку, в отличие от 32-битного $binary_remote_addr, эти переменные могут быть существенно большей длины и декларированные вами «10m» могут скоропостижно закончиться.

    Тренды в DDoS
  • Непрерывно растет мощность атак сетевого и транспортного уровня. Потенциал среднестатистической атаки типа SYN-флуд достиг уже 10 миллионов пакетов в секунду.
  • Особым спросом в последнее время пользуются атаки на DNS. UDP-флуд валидными DNS-запросами со spoof’ленными IP-адресами источника - это одна из наиболее простых в реализации и сложных в плане противодействия атак. Многие крупные российские компании (в том числе хостинги) испытывали в последнее время проблемы в результате атак на их DNS-серверы. Чем дальше, тем таких атак будет больше, а их мощность будет расти.
  • Судя по внешним признакам, большинство ботнетов управляется не централизованно, а посредством пиринговой сети. Это дает злоумышленникам возможность синхронизировать действия ботнета во времени - если раньше управляющие команды распространялись по ботнету в 5 тысяч машин за десятки минут, то теперь счет идет на секунды, а ваш сайт может неожиданно испытать мгновенный стократный рост числа запросов.
  • Доля ботов, оснащенных полноценным браузерным движком с JavaScript, все еще невелика, но непрерывно растет. Такую атаку сложнее отбить встроенными подручными средствами, поэтому Самоделкины должны с опасением следить за этим трендом.
  • готовим ОС

    Помимо тонкой настройки nginx, нужно позаботиться о настройках сетевого стека системы. По меньшей мере - сразу включить net.ipv4.tcp_syncookies в sysctl, чтобы разом защитить себя от атаки SYN-flood небольшого размера.

    15. Тюним ядро

    Обратите внимание на более продвинутые настройки сетевой части (ядра) опять же по тайм-аутам и памяти. Есть более важные и менее важные. В первую очередь надо обратить внимание на:

    • net.ipv4.tcp_fin_timeout Время, которое сокет проведет в TCP-фазе FIN-WAIT-2 (ожидание FIN/ACK-сегмента).
    • net.ipv4.tcp_{,r,w}mem Размер приемного буфера сокетов TCP. Три значения: минимум, значение по умолчанию и максимум.
    • net.core.{r,w}mem_max То же самое для не TCP буферов.

    При канале в 100 Мбит/с значения по умолчанию еще как-то годятся; но если у вас в наличии хотя бы гигабит в cекунду, то лучше использовать что-то вроде:

    Sysctl -w net.core.rmem_max=8388608 sysctl -w net.core.wmem_max=8388608 sysctl -w net.ipv4.tcp_rmem="4096 87380 8388608" sysctl -w net.ipv4.tcp_wmem="4096 65536 8388608" sysctl -w net.ipv4.tcp_fin_timeout=10

    16. Ревизия /proc/sys/net/**

    Идеально изучить все параметры /proc/sys/net/**. Надо посмотреть, насколько они отличаются от дефолтных, и понять, насколько они адекватно выставлены. Linux-разработчик (или системный администратор), разбирающийся в работе подвластного ему интернет-сервиса и желающий его оптимизировать, должен с интересом прочитать документацию всех параметров сетевого стека ядра. Возможно, он найдет там специфические для своего сайта переменные, которые помогут не только защитить сайт от злоумышленников, но и ускорить его работу.

    Не бояться!

    Успешные DDoS-атаки изо дня в день гасят e-commerce, сотрясают СМИ, c одного удара отправляют в нокаут крупнейшие платежные системы. Миллионы интернет-пользователей теряют доступ к критичной информации. Угроза насущна, поэтому нужно встречать ее во всеоружии. Выполните домашнюю работу, не бойтесь и держите голову холодной. Вы не первый и не последний, кто столкнется с DDoS-атакой на свой сайт, и в ваших силах, руководствуясь своими знаниями и здравым смыслом, свести последствия атаки к минимуму.

    Главная цель хакеров - это сделать атакуемый ресурс недоступным для пользователя. Для этого на него направляется огромное количество ложных запросов, которые сервер не в состоянии обработать, в результате ресурс "падает". Это можно сравнить с тем, как неподготовленному человеку под видом гантелей на привычные ему 3 кг внезапно дали такие же по виду, но по 9 кг каждая. Разумеется, он не справится. То же происходит с сайтом - и вместо привычной страницы пользователь видит "заглушку" с сообщением об ошибке.

    Для генерации зловредного трафика, который по сути и является DDoS-атакой, чаще всего используется большое количество устройств, имеющих доступ к Интернет, зараженных специальным кодом. Эти устройства (ПК, смартфоны, "умные вещи", серверы) объединяются в ботнеты, которые посылают запросы на адрес жертвы. Иногда источником мусорного трафика могут быть соцсети, где размещена ссылка на сайт-жертву. Помимо прочего, в Интернете есть сервисы-стрессеры, с помощью которых любой желающий может устроить ddos-атаку.

    Как выглядит DDoS-атака на графике с интерфейса, через который проходит атакующий трафик

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

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

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

    Скрипты и фаерволы

    Допустим, что на условный сайт n.ru идет ддос-атака. По логам (истории) видно, что большое количество GET-запросов идет на главную страницу. В этом случае можно воспользоваться редиректом javascript, например:


    window.location = "n.ru/index.php"

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

    Но тут возникает проблема - боты поисковых систем (Яндекса, Google) не оборудованы js-интерпретаторами и не будут перенаправлены, как и атакующие. Это негативно скажется на позициях сайта в выдаче. Чтобы этого избежать, можно написать небольшой скрипт, который будет считать количество коннектов с определенного IP адреса, и банить его. Определить бота можно, например, проверив его host.

    Существует бесплатный скрипт DDoS Deflate - это своего рода сигнализация, которая использует команду «netstat» для обнаружения флуда (одного из видов DDoS), после чего блокирует подозрительные IP-адреса вредителей с помощью межсетевого экрана iptables (либо apf).

    Настройки параметров Apache

    Чтобы предотвратить DDoS, можно еще изменить настройки параметров Apache:

  • KeepAliveTimeout - нужно снизить ее значение или полностью выключить эту директиву;
  • TimeOut - установить как можно меньшее значение для данной директивы (веб-сервера, который подвержен DDoS-атаке).
  • Директивы LimitRequestBody, LimitRequestFieldSize, LimitRequestFields, LimitRequestLine, LimitXMLRequestBody должны быть настроены на ограничение потребления ресурсов, вызванных запросами клиентов.
  • Самый радикальный способ остановить DDoS-атаку - это блокировать все запросы из страны, откуда начал идти "мусорный" трафик. Однако это может доставить большие неудобства реальным пользователям из этих стран, т.к. им придется воспользоваться proxy для обхода блокировки.

    И тут мы подходим к вопросу, почему вышеперечисленные способы не могут в полной мере обеспечить защиту от DDoS-атак. Дело в том, что бывает очень сложно отличить легитимные запросы от зловредных. Например, нашумевший червь заставлял видеорегистраторы посылать запросы по протоколу TCP, которые выглядели как легитимные, из-за чего не сразу удалось остановить DDoS-атаку. На сегодняшний день существует более 37 типов DDoS-атак, каждый из которых имеет свои особенности. Кроме того, велика вероятность отсеять вместе с зловредными запросами часть легитимных, т.е. потерять реальных пользователей.

    Способы защиты от DDoS-атак

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

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

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

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

    1. reverse proxy (обратное проксирование). Провайдер защиты выдает ресурсу, который надо защитить, новый IP-адрес - его необходимо внести в А-запись. После изменения А-записи входящий трафик будет идти сначала на очистку в сеть провайдера по новому IP-адресу, а после этого, уже очищенный, поступать на реальный адрес. При этом ресурс может оставаться на прежнем хостинге. Это самая доступная защита от DDoS: подходит сайтам различной посещаемости, подключение и настройка занимает не более 20 минут, требует минимальных знаний от вебмастера.

    2. защищенный хостинг (или выделенный сервер). Такую услугу anti ddos предлагают хостеры, серверы которых уже подключены к системе защиты (это могут быть собственные фильтрующие станции либо услуга от компании-партнера). Это не менее популярная и выгодная защита от ddos атак, ее плюсы: один общий счёт за все услуги, все настройки выполняют специалисты хостинг-провайдера, перенос сайта с незащищенного стороннего хостинга осуществляется, зачастую, бесплатно. При создании нового сайта его можно сразу размещать на защищенном от ддос-атаки хостинге или выделенном сервере.

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

    3. защищенный IP-транзит по виртуальному туннелю. Эта услуга подходит для проектов с большими объемами трафика, для защиты от мусорного трафика сразу всей автономной системы. Это дорогостоящая услуга, которой пользуются ЦОДы, хостинг-провайдеры, регистраторы доменных имен, операторы связи, которые не имеют собственных фильтрующих станций.

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

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

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

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

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

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

    В любом случае, провайдер защиты от DDoS должен иметь хорошие каналы связи для приема большого объема трафика с возможностью "горячего" расширения, т.к. сила кибератак растет чуть ли не в геометрической прогрессии и уже были зафиксированы DDoS-атаки в 1 Tbps. Поэтому при общении с представителями компании обязательно надо узнать про их технические мощности.

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

    Кроме того, если Вы не имеете в штате подкованных опытных айтишников, которые сами всё настроят, то Вам понадобится помощь техподдержки. Большим плюсом будет, если саппорт компании, предоставляющей сервис по защите от DDoS, работает 24/7 и говорит на одном языке с заказчиком.

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

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

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

    Одной из таких неприятностей может стать ddos атака!

    В статье я хотел бы рассказать вам о следующем:

    Что такое ddos атака?

    DDoS-атака — это аббревиатура Distributed Denial Of Service Attack. Существует также DoS-атаки, отличающиеся от первого вида тем, что нападение происходит не с разных IP-адресов. Но сейчас обо всем по порядку.

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

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

    Итак, давайте подробнее разберем, как хакеры подвергали опасности хорошо защищенные веб узлы?

    Все выглядит достаточно просто, но все же сделать это не так уж легко.

    Схема DDoS-атаки построена вот так. Хакеры выбрали один сервер, на который сейчас совершат нападение. И разом обрушивают на него кучу ложных запросов, причем в се это делают со всех уголков мира, а значит с разных IP-адресов. В конце концов ресурс тратит все свои силы на обработку.

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

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

    Dos-атака.

    Теперь немного о Dos-атаки. Это немного иное, нежели чем ddos, однако также отказ в обслуживании ресурса будет вам обеспечен.

    Суть её заключается в том, хакер используют уязвимость на компьютере, которая способствуют появлению ошибки. Она в свою очередь приостанавливает работу веб- ресурса.

    Если уязвимость на ПК закинуть не получилось, то злоумышленник пользуется вторым вариантом, который немного схож с ddos атакой.

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

    Виды ddos атак и как от них защититься?

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

    Вот, что вам следует проделать, точнее операции необходимо выполнить:

    Предотвращение.

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

    Фильтрация.

    Если вы заметили трафик от атакующих машин, то смело блокируйте его любыми методами. Например, воспользуйтесь плагин WordFence Security, позволяющий закрыть доступ IP-адресам, даже целых стран. Но с этим баловаться очень опасно, так и самим себя загубить можно. Короче, действуйте лишь тогда, когда уверены, что вы правы. Здесь нет такого выражения: «Риск благородное дело» или"Кто не рискует тот не пьет шампанского".

    Обратный DDOS.

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

    Устранение уязвимостей.

    Уязвимость можно убрать при помощи Антивируса. Лично я использую Касперского, о его преимуществах и характеристиках можете ознакомиться в статье про

    Рассредоточение.

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

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

    Построение распределённых и дублирование систем, которые не прекратят обслуживать пользователей, даже если некоторые их элементы станут недоступны из-за DoS-атаки.

    Уклонение.

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

    Активные ответные меры.

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

    С профилактическими мерами ознакомились. Теперь познакомлю вас с видами ddos-атак.

    Виды ddos-атак.

    Сперва я затрону тему флуд атак. Они нацелены на то, чтобы исчерпать системный ресурс, а это объем памяти, канал связи, или тот же процессор.

    памтHTTP-флуд.

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

    ICMP-флуд (Smurf-атака).

    Это самый опасный тип ddos-атаки. Все происходит вот так: системе отправляют поддельный пакет инфы с данными. Хакер изменяет свой адрес на адрес атакуемого объекта. Для более эффективного нападения используют «зомби-компьютеры». В начале статьи я об этом говорил. Допустим набрали 1000 IP-адресов и отправляют пакет инфы, но не просто так, а усилив 1 к комп в 1 к раз.Это значит направили на ресурс 1000 запросов, при этом увеличив их число в тысячу раз.

    Один раз в жизни был такой случай, когда мощность проводимой атаки на сервер достигла 300 Гбит/с. Но при этом система смогла выдержать нападение. Основным элементом защиты было обратные атаки и пере-направление трафика на свои дополнительные дата-центры.

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

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

    Как понять, что идет ddos атака на сайт?

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

    Чтобы этого избежать надо заранее позаботиться об обнаружении ddos -атак на свой блог.

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

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

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

    До свидания, уважаемые читатели!

    С уважением, Жук Юрий.

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

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

    DDoS или distributed denial-of-service (разделенный отказ в обслуживании) - это атака на определенный компьютер в сети, которая заставляет его путем перегрузки не отвечать на запросы других пользователей.

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

    Если скорость поступления новых запросов превышает скорость обработки, то, со временем, очередь запросов будет настолько длинной, что фактически новые запросы уже не будут обрабатываться. Это и есть главный принцип ddos атаки. Раньше такие запросы отправлялись с одного IP адреса и это называлось атакой отказа в обслуживании - Dead-of-Service, по сути, это ответ на вопрос что такое dos. Но с такими атаками можно эффективно бороться, просто добавив ip адрес источника или нескольких в список блокировки, к тому же несколько устройство из-за ограничений пропускной способности сети не физически не может генерировать достаточное количество пакетов, чтобы перегрузить серьезный сервер.

    Поэтому сейчас атаки выполняются сразу с миллионов устройств. К называнию было добавлено слово Distribed, распределенная, получилось - DDoS. По одному эти устройства ничего не значат, и возможно имеют подключение к интернету с не очень большой скоростью, но когда они начинают все одновременно отправлять запросы на один сервер, то могут достигнуть общей скорости до 10 Тб/с. А это уже достаточно серьезный показатель.

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

    Виды DDoS атак

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

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

    DoS атаки на интернет канал требуют намного больше ресурсов, но зато с ними намного сложнее справиться. Если проводить аналогию с osi, то это атаки на 3-4 уровень, именно на канал или протокол передачи данных. Дело в том, что у любого интернет-соединения есть свой лимит скорости, с которой по нему могут передаваться данные. Если данных будет очень много, то сетевое оборудование точно так же, как и программа, будет ставить их в очередь на передачу, и если количество данных и скорость их поступления будет очень сильно превышать скорость канала, то он будет перегружен. Скорость передачи данных в таких случаях может исчисляться в гигабайтах в секунду. Например, в случае с отключения от интернета небольшой страны Либерии, скорость передачи данных составила до 5 Тб/сек. Тем не менее 20-40 Гб/сек достаточно, чтобы перегрузить большинство сетевых инфраструктур.

    Происхождение DDoS атак

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

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

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

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

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