Очередной развод

Чистил сегодня свой ЖэЖэ от спама, нашел кое что… не то чтобы новое, но по качеству исполнения заслуживающее внимания.

Очередной сайт “поиск по базам данных всех спецслужб вселенной”. http://saturn-polet.ru

Как это обычно бывает, можно ввести фамилию уважаемого тов. Дарт Вейдера, и получить ответ, что гражданин такой найден, укажите только свой номер телефона, а потом смс, и т.д.

Есть куда в интернетах на таких вот жуликов жаловаться? Или только полицаям?

Как уронить Windows шестью строчками кода

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



Читать

Путешествия во времени и программирование

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

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

Тонкая Настройка TCP

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

Автор Brian Tierney
Перевод Войновича Андрея

Как-то раз мой друг Боб пришел ко мне с вопросом. Он написал программу на Java, которая копировала 100 МБ файлы с его компьютера под управлением Windows XP в его офисе на Linux-сервер в региональный офис компании. В обоих офисах используются 100Мбит сети Ethernet, соединенные через 155Mbps VPN канал. Однако он был очень неприятно удивлен тем, что измеренная скорость передачи была ниже 4Мбит, и попросил меня объяснить причину такого поведения. Читать

Одна из самых больших DDoS-атак в истории

На протяжении последней недели многие пользователи интернета в Европе столкнулись с задержками и кратковременной недоступностью множества сайтов. Их причина — бушевавшая всё это время DDoS-атака, достигавшая 300 гигабит в секунду — одна из самых крупных, возможно даже самая крупная за всю историю интернета. Масштаб атаки был таков, что её ощутили даже «киты», на которых стоит интернет — Tier-1-операторы и крупнейшие точки обмена трафиком европейских столиц.

Причиной атаки стал конфликт между организацией Spamhaus, составляющей списки распространителей спама, и голландским провайдером Cyberbunker. Конфликт разгорелся после того, как Spamhaus включила Cyberbunker в списки спамеров. Cyberbunker — один из самых радикально настроенных «абузоустойчивых» провайдеров. Его услугами пользовалась Пиратская Бухта. Штаб-квартира и серверы Cyberbunker расположены в пятиэтажном здании бывшего военного бункера НАТО — отсюда и название. Как утверждает Spamhaus, в ответ на включение в чёрный список Cyberbunker начал атаку.

Удар приняла на себя CDN CloudFlare, предоставляющая в том числе и защиту от DDoS. Атака началась 18 марта и на следующий день выросла до 90 Гб/с. 21 марта атака прервалась, но 22 продолжилась с новой силой, увеличившись до 120 Гб/с. Так как завалить саму CloudFlare не удалось, атакующие вскоре переключились на провайдеров, с которыми работает CloudFlare, и увеличили мощность атаки до рекордных 300 Гб/с. Атака затронула сети крупнейших провайдеров, которые в отдельные моменты оказывались перегруженными. 23 марта значительные проблемы были на лондонской точке обмена трафиком. В час пик, когда трафик обычно составляет около полутора терабит, она не справлялась с нагрузкой. Провал хорошо виден на графике:

Атака велась методом DNS amplification — серверы атакующих рассылали DNS-серверам по всему интернету множество рекурсивных запросов с поддельными обратными адресами. Ответ на такой запрос длиной несколько десятков байт может весить несколько килобайт, и отправляется он по адресу жертвы, «усиливая» таким образом атаку. С помощью DNS amplification можно добиться гораздо большего трафика, чем обычным ботнетом, так как в роли «зомби» оказываются не пользовательские компьютеры со слабым каналом, а серверы. Чтобы провести такую атаку, надо иметь списки адресов уязвимых DNS-серверов. Судя по всему, списки атакующих были очень длинными и качественными. Об этой уязвимости DNS известно уже давно, но до сих пор миллионы серверов по всему миру не закрыли её.

10 Способов сгенерировать пароль в консоли

One of the great things about Linux is that you can do the same thing hundreds of different ways—even something as simple as generating a random password can be accomplished with dozens of different commands. Here’s 10 ways you can do it.

We gathered all of these commands from Command-Line Fu and tested them out on our own Linux PC to make sure they work. You should be able to use at least some of these on Windows with Cygwin installed, though we didn’t test all of them—the last one definitely works though.

Generate a Random Password

For any of these random password commands, you can either modify them to output a different password length, or you can just use the first x characters of the generated password if you don’t want such a long password. Hopefully you’re using a password manager like LastPass anyway so you don’t need to memorize them.

This method uses SHA to hash the date, runs through base64, and then outputs the top 32 characters.

date +%s | sha256sum | base64 | head -c 32 ; echo

Читать

Объединение кэшей нескольких прокси-серверов в один

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

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

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

Kernel Parameters

The following is a consolidated list of the kernel parameters as implemented
(mostly) by the __setup() macro and sorted into English Dictionary order
(defined as ignoring all punctuation and sorting digits before letters in a
case insensitive manner), and with descriptions where known.

Module parameters for loadable modules are specified only as the
parameter name with optional ‘=’ and value as appropriate, such as:

    modprobe usbcore blinkenlights=1

Module parameters for modules that are built into the kernel image
are specified on the kernel command line with the module name plus
‘.’ plus parameter name, with ‘=’ and value if appropriate, such as:

    usbcore.blinkenlights=1

Hyphens (dashes) and underscores are equivalent in parameter names, so
    log_buf_len=1M print-fatal-signals=1
can also be entered as
    log-buf-len=1M print_fatal_signals=1

Читать

QoS в Linux

В предыдущей статье я рассказывал про фильтр U32. В этой статье речь пойдёт о так называемых tc actions — действиях, которые можно производить над трафиком. Например, можно построить файерволл без использования iptables/netfilter, или изменять отдельные байты в пакетах, перенаправлять/зеркалировать трафик на другие интерфейсы. Осваивать это будем на примерах. Продолжение под катом.

Что же это за tc actions такие?

Traffic Control Action (далее просто «действия») — это расширение фильтров в подсистеме управления трафиком. Расширения эти нужны для самых разнообразных нужд — от простейшего отбрасывания пакетов до изменений самого трафика. Действие прикрепляется к отдельному фильтру, и таким образом манипуляции производятся только над выбранным трафиком, что добавляет гибкости. Кроме того, можно строить целые цепочки действий через пайпы (подобно конвейерной обработке данных в консоли), комбинируя их. Манипуляции могут производиться как над входящим трафиком, так и над исходящим.

Прежде всего нам необходимо добавить классовую или бесклассовую дисциплину к интерфейсу, а к ней уже будут добавляться фильтры с действиями. Если мы хотим издеваться над входящим трафиком, то надо добавлять ingress дисциплину. Её отличительной особенностью является то, что её хэндл всегда равен «ffff:» и она всегда является бесклассовой.

Естественно, в ядро должны быть включены соответствующие модули. Находятся они в ветке Networking support — Networking options — QoS and/or fair queueing. Вам необходимы включенные опции Actions и модули с действиями, которые будете использовать. В дистрибутивных ядрах, обычно, всё уже включено.
Читать