Comments 52
>Не секрет, что Украина, это страна, где каждый думает, что он умнее всех.
По-моему, это не совсем правильно, оскорблять каждого жителя страны.
А за статью спасибо, но хотелось бы услышать компетентное мнение — защищаться как от таких атак?
Ни каких оскорблений тут не вижу, живу в Киеве всю жизнь и знаю не по наслышке проблему, в сочетании с истиной, что «где два украинца там три гетьмана», это очень сложная национальная особенность, ну такие мы.
А методы защиты опишем, в принципе, они не сложны, но поражает, что даже простейшие методы не были выдержаны, я не удивлюсь, что во всех этих сайтах куча sql-иннъекций и js-инъекций найдется в скорости.
А методы защиты опишем, в принципе, они не сложны, но поражает, что даже простейшие методы не были выдержаны, я не удивлюсь, что во всех этих сайтах куча sql-иннъекций и js-инъекций найдется в скорости.
Как защищаться уже ниже написал — 1 строка RewriteRule в .htaccess решила бы проблему для Украины, почему ее 3 дня не добавляли — это уже другой вопрос. И еще методы очевидные, фильтрация по {HTTP_REFERER} — ну допустим источников атак было несколько, но основных то 5-10 было, вот это еще пару строк в .htaccess ну или аналог в nginx и IIS. Ну как крайняя мера, временно, можно было отфильтровать диапазоны IP основных провайдеров, от которых шли атаки, все это знает любой мало мальски практикующий админ.
Не секрет, что Украина, это страна, где каждый думает, что он умнее всех
Вы сами себя хотели оскорбить?
Начало и конец статьи — копипаста с той самой ссылки, которую автор в начале сам дал. В итоге при чтении возникает какое-то дежавю!
Если каналы спустить, никакой nginx не поможет, да хоть ты на asm сайт пиши — не спасёт.
Сайты — не стратегические объекты, гнать на спец. службы не обязательно.
Выводы — не объективные.
Сайты — не стратегические объекты, гнать на спец. службы не обязательно.
Выводы — не объективные.
Ну есть же у них отделы ИТ-шные, ну как так можно, все же лягло за 5 минут, без особых усилий. Есть даже мнение, что сайты вообще были отключены самими госорганами, чтобы потом хныкать, как их обидели и денег просить на апгрейд. А знаете ли Вы, какие средства на все эти сайты шли, у…
Слухи — не наш источник информации. Ну мало-ли, вдруг там 14гб/с, и защищали всё это 2 к.т.н. и 18 инженеров. Я не знаю что там было, и мало кто знает, нельзя строить такие выводы и обвинения на догадках.
А чего оно тогда лежало 3 дня, сложно было из бекапа поднять на других серверах и домен перепрописать? Это ведь дело престижа, ну…
Ну если атака на домен — новый не спасёт. По сути, проблему решить должен был провайдер. Не так все просто. Ну хабр — грамотный сайт вроде, а под DDoSом валяться тоже любит.
Ну о чем Вы говорите, даже если тот же домен, то DDOS работает запросы добираются до PHP и MySQL, а если они режутся на этапе обработки веб-сервером, то нагрузка минимально. Для защиты от LOIC просто добавляем в .htaccess такую строку:
и все запросы будут приводить к выдаче статического файла. Одна эта строчка и, скорее всего, в новостях бы уже не передали «хакеры взломали».
RewriteRule .*msg=.* /staticHelloLOIC.html
и все запросы будут приводить к выдаче статического файла. Одна эта строчка и, скорее всего, в новостях бы уже не передали «хакеры взломали».
Скорей всего, но не факт.
Еще раз, я говорю о том, что это не прокатит, если атака сильно сильная и слабым звеном является не CPU/RAM/HDD, а сеть.
Еще раз, я говорю о том, что это не прокатит, если атака сильно сильная и слабым звеном является не CPU/RAM/HDD, а сеть.
Упавшие компы были доступны по другим портам, так что это не про нынешний случай. Ну а вот крупные атаки, и не через JS LOIC, а через C# LOIC или другие инструменты, на Visa, Whitehouse, и т.д. конечно уже сеть загружали и там все ложилось еще не доходя до сервера, маршрутизаторы не выдерживают, ну после этого там же бюджеты выделены, оборудование посерьезнее и сразу выявление атак и контрудары. У нас все не на таком уровне, атака слабенькая была, и ответ вообще за страну стыдно. Но какое начальство, сытое, скупое и ленивое, такие и результаты.
> Упавшие компы были доступны по другим портам
Ну тогда ладно))
Ну тогда ладно))
Я этот вопрос мониторил, почему ж я так и гневаюсь, и атаки и защиты были сопливые :)
Ну в статье я этого не видел(.
Мониторил это как? Кто доступ дал? Куда СБУ смотрит?
Мониторил это как? Кто доступ дал? Куда СБУ смотрит?
Какая разница на чем сайт написан? Разница есть как писать.
В любом случае все упрется либо в канал, либо в проц, либо в память.
В любом случае все упрется либо в канал, либо в проц, либо в память.
Сайты — не стратегические, но есть же специальная контора «Государственная служба специальной связи и защиты информации Украины» — dstszi.kmu.gov.ua — они не могли дописать одну строку в .htaccess оперативненько? Я уж не говорю о том, что есть много заблаговременных мер, но хоть заплатку то навесить и заблокировать в DNS основной домен loic.anonymvs.com можно было и пошустрее. Этот домен только на четвертый день стал недоступен и то, непонятно, то ли его заблокировали, то ли хозяева поддомен loic удалили сами.
И теперь каждый школьник и домохозяйка может стать соучастником преступления в котором легко доказать вину, потому что они ддосят со своих домашних компьютеров?
Если такой скрипт запускается на любом ресурсе, к которому пользователь относится не более, чем пользователь, то вины его нет.
Я же не виноват, что пройдя по ссылке на каком-то сайте грохнул БД этого самого сайта из-за ошибки программиста? Так и тут.
Школьник\домохозяйка не разбираются в тонкостях построения сайтов, а то, что они зашли по ссылке — это мог быть и вирус…
Вообщем доказать, что они являются соучасниками — нет возможности…
Я же не виноват, что пройдя по ссылке на каком-то сайте грохнул БД этого самого сайта из-за ошибки программиста? Так и тут.
Школьник\домохозяйка не разбираются в тонкостях построения сайтов, а то, что они зашли по ссылке — это мог быть и вирус…
Вообщем доказать, что они являются соучасниками — нет возможности…
Когда DDOS-ят десятки тысяч человек, то наказать можно только случайных, а их вклад в общий поток атаки ничтожен. Некоторые говорят о 5.000 человек, а другие про 300.000, тут сложно сказать. Кроме того, массово используют прокси, веб-анонимайзеры, досят из общественного вайфая, в мобильного интернета по препейд карточкам (ну тут много не надосят) и всякое такое. Я говорю больше не про этот конкретный случай, а про то, что скоро кто-то может разместить код атаки (без обязательной кнопки) на крупно портале СМИ или же полулегальных высоко посещаемых ресурсах, тогда вина будет недоказуема, т.к. человек ничего не нажимал, просто ходил по интернету.
Ругать «бездарных кодеров» и я могу. А что бы Вы сделали в данной ситуации? В ситуации, когда вас ддосят по http куча человек?
Кстати, вопрос: а в чем принципиальные различия подгрузки через тэг img и jsonp, что Вы аж отдельно абзац выделили про последний?
Кстати, вопрос: а в чем принципиальные различия подгрузки через тэг img и jsonp, что Вы аж отдельно абзац выделили про последний?
В разных браузерах по-разному конечно, но дело в том, что JSONP специально оптимизирован под интерактивные, чатовые, веб-2.0-ные динамические задачи, и работают немного другие механизмы. Это протестировано, мы сравнительный тест делали. Кстати, ресурс мы свой собственный атаковали через JSONP, он вообще не почувствовал, но вот по логам видно, что у JSONP чисто статистически есть преимущество.
Ладно, а в чем отличие обычной загрузки скрипта и JSONP?
Не схемы с коллбеком, а именно загрузки, если предположить что урл, который отдает JS, урл, который обрабатывает JSONP запрос — оба статика?
Не схемы с коллбеком, а именно загрузки, если предположить что урл, который отдает JS, урл, который обрабатывает JSONP запрос — оба статика?
Черт, пятница сказывается, сам не понял, что написал. Я имел в виду, что по обоим урлам отдается статика.
Вообще как работает JSONP (пишу через jQuery):
Это приводит к генерации такого
И в результате вызывается функция уже.
Почему именно так делают, AJAX/JSON не позволяют сделать запрос на сервер, а вот тег script позволяет. Сначала между src картинки и src тега sctipt небыло ни какой разницы, но топом, когда JSONP начал использоваться веб-приложениями, то рзработчики браузеров начали оптимизировать поддержку этой техники, обнаружив в ней, что она более безопасна, чем, если бы AJAX был кроссдоменным. Постепенно, чтобы улучшить Гугловских, Фейсбуковских, Майкрософтовских, и др. сервисов, JSONP был возведен в стандарты и браузеры его начали выявлять и обрабатывать с оптимизацией.
$.getJSON(url+"&callback=?", function(data) { alert("Result: " + data.parameter1); });
Это приводит к генерации такого
<script type="text/javascript" src="http://targetdomain.com/somePath?parameter1=value1&jsonp=callbackProcName1">
</script>
И в результате вызывается функция уже.
Почему именно так делают, AJAX/JSON не позволяют сделать запрос на сервер, а вот тег script позволяет. Сначала между src картинки и src тега sctipt небыло ни какой разницы, но топом, когда JSONP начал использоваться веб-приложениями, то рзработчики браузеров начали оптимизировать поддержку этой техники, обнаружив в ней, что она более безопасна, чем, если бы AJAX был кроссдоменным. Постепенно, чтобы улучшить Гугловских, Фейсбуковских, Майкрософтовских, и др. сервисов, JSONP был возведен в стандарты и браузеры его начали выявлять и обрабатывать с оптимизацией.
Либо лыжи не едут…
Как работает jsonp я знаю.
Отвечу на свой вопрос: разницы в подгрузке браузером простого js кода и в выполнении JSONP «запроса» нет совершенно никакой.
Вот Вы написали, AJAX/JSON не позволяют сделать запрос на сервер (Вы видимо имели в виду удаленный сервер). Ajax понятно, а вот JSON, спешу Вас расстроить даже на локальный сервер не позволяет сделать запроса, и вообще запросов делать не позволяет.
JSON (англ. JavaScript Object Notation) — текстовый формат обмена данными (википедия).
Так же, спешу Вас расстроить, но JSONP к транспортному уровню тоже никак не относится сам по-себе. Это так называемый «JSON с подкладкой». Позволяет Вам, подгружая скрипт, который находится на удаленном сервере, указать ему, какую Вашу локальную функцию надо вызвать с некоторыми аргументами, в которые он положит некоторые данные (например результаты поиска, которые Вы запрашивали). После такой подгрузке вам вернется обычный JS, в котором будет что-то типа localCbFn(data), где localCbFn — ваша функция, а data — ответ на ваш запрос по урлу.
Уффф, пиво все больше действует на ясность мысли, надеюсь понятно описал.
Как работает jsonp я знаю.
Отвечу на свой вопрос: разницы в подгрузке браузером простого js кода и в выполнении JSONP «запроса» нет совершенно никакой.
Вот Вы написали, AJAX/JSON не позволяют сделать запрос на сервер (Вы видимо имели в виду удаленный сервер). Ajax понятно, а вот JSON, спешу Вас расстроить даже на локальный сервер не позволяет сделать запроса, и вообще запросов делать не позволяет.
JSON (англ. JavaScript Object Notation) — текстовый формат обмена данными (википедия).
Так же, спешу Вас расстроить, но JSONP к транспортному уровню тоже никак не относится сам по-себе. Это так называемый «JSON с подкладкой». Позволяет Вам, подгружая скрипт, который находится на удаленном сервере, указать ему, какую Вашу локальную функцию надо вызвать с некоторыми аргументами, в которые он положит некоторые данные (например результаты поиска, которые Вы запрашивали). После такой подгрузке вам вернется обычный JS, в котором будет что-то типа localCbFn(data), где localCbFn — ваша функция, а data — ответ на ваш запрос по урлу.
Уффф, пиво все больше действует на ясность мысли, надеюсь понятно описал.
Кстати, jQuery.getJSON() так же, распознает JSONP, отличая его от JSON и эмулируя привычный вызов, хотя, на самом деле происходит все через динамическую вставку тега script.
Нет, getJSON с локального сервера делает обычный XMLHttpRequest, при этом ожидая, что в ответ ему придет JSON, который впоследствии будет передан в коллбек.
Что имеете в веду под «локальный сервер»? localhost что ли? А кого он в вебе интересует?
Same origin. На тот же сервер, с которого был подгружен.
Знаете я проверял только такую штуку — getJSON для обращений к тому же серверу но к другому порту, так оно именно через JSONP идет, а к тому же порту — не проверял, но проверю, интересно, хотя практического применения поменьше. Обычно нужно из JS, загруженного с обычного веб-сервера, обратиться к URL-у на другой порт, где стоит специализированный сервер, например APE или node.js приложение или любой другой прикладной сервер на сокетах.
Я вообще не понимаю как подобный скрипт мог составить хоть какую-то проблему для вэб ресурса. Запросы-то все одинаковые, блочится все одной! строчкой в фаерволле, ну еще второй можно логи собирать.
Нормальному администратору справиться с таким «ддосом» пару минут делов, как можно было провалятся 3 дня, это вообще нонсенс. У меня в голове не укладывается какими нужно быть криворукими.
Тут правда был один момент скорее всего. Специалистов-то в Украине хватает, просто внутренние распорядки запрещают скорее всего привлекать сторонних админов, а свои работают за еду.
Нормальному администратору справиться с таким «ддосом» пару минут делов, как можно было провалятся 3 дня, это вообще нонсенс. У меня в голове не укладывается какими нужно быть криворукими.
Тут правда был один момент скорее всего. Специалистов-то в Украине хватает, просто внутренние распорядки запрещают скорее всего привлекать сторонних админов, а свои работают за еду.
В голове не укладывается, с 10 компов можно организовать более серьезную атаку с любого языка, в котором есть сокеты и URL-ы можно как-то лучше генерировать, например, прокравлить все урлы на сайтах и по ним атакующих диверсифицировать или найти URL-лы с параметрами. А если куки не будут приходит, как из браузера приходят, то не исключено, что от одного выделения сессий там может все обрушиться.
Зарплаты в гос. секторе порядка 2К грн (около 250 долларов). Вопрос: откуда там мотивация и квалификация?
Ради интереса погуглил, зарплат ИТ шников не нашел, но вот рядовые сотрудники делятся кто сколько получает police-ua.com/showthread.php?t=6355. Грустно конечно. На такую з/п явно протянуть можно только ноги.
Вполне понятна тогда ситуация со специалистами. Хотя обычно ИТ шникам стараются платить побольше чем рядовым сторудникам объеденяя ставки и т.д, ибо иначе в госструктурах спецов не удержать.
Вполне понятна тогда ситуация со специалистами. Хотя обычно ИТ шникам стараются платить побольше чем рядовым сторудникам объеденяя ставки и т.д, ибо иначе в госструктурах спецов не удержать.
Какой бы ты ни был специалист, а больше чем начальнику не заплатят. Такие дела. А то, что начальники выбираются по географическому, а не профессиональному принципу, никому не секрет.
Ну последнее время всем работникам МВД платят президентскую надбавку в размере равном зарплате, так что умножаем на 2 все. А ЗП нынче у работника МВД 2000-4000 грн. Кроме того, ну можно же 2-3 зарплаты склеить и одного ИТ-шника нанять, я понимаю, что им на удаленку нельзя, аутсорсить нельзя, субподряд нельзя, сложно все, но это у МВД сложно, а вот у других госорганов, сайты которых так же лежали — все можно. Хотя соглачен, по большей части это вина руководства, выделяющего мизерные финансы, но из бюджета то финансы ого какие идут на эти сайы.
Да как не верифицируй, реферер-то всегда передаваться будет. По нему и заблочить прямо в iptables еще на подлете.
Все эти методы действуют если ресурс на самом дешевом шаред хостинге или админ заочник первого курса, да и то не по ИТ специальности.
Так что скрипты эти все для жураналистов и тех, кто их читает/слушает.
Все эти методы действуют если ресурс на самом дешевом шаред хостинге или админ заочник первого курса, да и то не по ИТ специальности.
Так что скрипты эти все для жураналистов и тех, кто их читает/слушает.
По просьбам, вопросам и обсуждениям в конце статьи внесены дополнения.
Спохватились, даже ЗП в $180 дают — kiev.pravda.com.ua/news/4f3e7040d0337/
Sign up to leave a comment.
EX.UA, LOIC и беспомощная украинская милиция