Pull to refresh
40
0
Кирилл Пименов @kirushik

User

Send message

Простой и эффективный метод отразить http DDoS от 50мбит с помощью nginx и iptables

Reading time7 min
Views67K
Здравствуй, Хабр!
Предлагаю твоему вниманию простой и в то же время эффективный метод борьбы с http DDoS. На основе сервера Xeon 2.5GHz / 4Gb RAM / SAS можно отражать атаку примерно до 300 Мбит/с (значение получено методом экстраполяции).

Способ реализация

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

Область применения

Борьба с Http DDoS на выделенном сервере или ВПС. Максимальная возможная мощность сдерживания DDoS атаки ограничивается физическими возможностями сервера и пропускной способностью канала.

SEO под DDoS-ом

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

Стоимость и эффективность

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

OneSwarm — полностью децентрализованная пиринговая сеть

Reading time4 min
Views7.3K
imageПроблема секьюрности информации, передаваемой в файлообменных сетях, сегодня стоит очень остро. Популярный пиринговый протокол битторрент не дает практически никаких средств защиты от посторонних глаз, выдавая IP всех пиров как на ладони. The Pirate Bay, помнится, обещал разработать свой собственный анонимный протокол, но, видимо, дело заглохло.

Еще одной проблемой битторрента является частичная централизованность. Нет серверов — нет сети (DHT не в счет, т.к. не полностью самостоятелен). Очевидно, будущее за полностью децентрализованными сетями — сетями третьего поколения. Об одной из таких я и хотел бы рассказать.
Читать дальше →

Пошаговое руководство по установке Debian 5.0 Lenny + XEN + LVM + Routing на Hetzner DS3000

Reading time7 min
Views15K

Вступление


Недавно мне потребовалось перенести несколько сайтов различных клиентов на нормальный выделенный сервер (не виртуальный). Я давно выбирал, где лучше арендовать сервер и выбором стала немецкая компания Hetzner Online и ее тарифный план DS 3000 (AMD Athlon 64 X2 4200+/2Gb DDR/2x160Gb HDD — как выяснилось потом — на сервере оказалось два винчестера по 320Гб).

Но мне не хотелось всех размещать на одном сервере. Поэтому было решено сделать виртуальные машины на базе технологии XEN (к тому же в придачу к серверу на ТП DS 3000 Hetzner Online бесплатно выдает 6 IP-адресов, которые очень удобно будут смотреться для отдельных проектов). В Сети можно найти много информации по теме настройки и самого XEN'а на Debian'e и настройки роутинга на нем, поднятии виртуалок на LVM (lvm дает большее быстродействие, чем виртуалки на базе image-файлов), даже в вики самой фирмы была информация об этом (но на немецком — Google Translate нам в помощь). Но. Было одно «Но». Она вся была разрозненная и кусками. Я нигде не смог найти толкового пошагового руководства для настройки «от» и «до».

Поэтому, всем кому интересна эта тема,
добро пожаловать под кат...

Печать из Vista на сетевом Linux-принтере

Reading time3 min
Views3.6K
Переведя компьютеры в нашей организации на лицензионное программное обеспечение, мы обнаружили проблему с ораганизацией печати документов. Компьютер под управлением Windows Vista Business не стал печататать на сетевом принтере, подключенном к Linux-компьютеру. Причем не работал ни один из принтеров, которые мы пробовали.
Читать дальше →

6 ступеней для создания популярного сервиса

Reading time3 min
Views584


2 года назад в рунете был только один онлайн-сервис тестов по билетам ГИБДД и пара stand-alone приложений. Теперь же таких сервисов несколько десятков и конкуренция за аудиторию поистине огромна.
Сегодня мы расскажем на примере самого популярного из них (acars.ru/pdd) и том, как этого добились.

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

Самое вкусное внутри

Эксперимент Дзен-ТВ

Reading time9 min
Views12K
Вступительное слово
Изначально я просто хотел сделать перевод статьи Бернарда Мак Грейна «The Zen TV Experiment», но в процессе я понял что текст, мягко говоря, нуждается в адаптации. В результате перевод соответствует оригиналу процентов на сорок.

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

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

В общем, на этот раз я советую кофе, вас ждёт 10-15 минут довольно увлекательного чтения.
Читать дальше →

SSH-туннели — пробрасываем порт

Reading time2 min
Views436K
Не всегда есть возможность, да и не всегда надо, строить полноценный туннель с интерфейсной парой адресов. Иногда нам нужно лишь «прокинуть» вполне определённые порты.

Тут важно понимать, что туннель можно организовать как изнутри сети, к ресурсам которой вы хотите получить доступ, на внешний ssh-сервер. Также можно организовать туннель с хоста в Интернете на пограничный ssh-сервер сети, чтобы получить доступ к внутренним ресурсам.
Читать дальше →

Визуализация данных в вебе: диаграммы Ганта

Reading time1 min
Views23K
В связи с недавней серией постов на тему визуализации данных в вебе меня попросили посоветовать библиотеки для рисования диаграмм Ганта, что с удовольствием и делаю.

Диаграмма Ганта (англ. Gantt chart, также ленточная диаграмма, график Ганта) — это популярный тип столбчатых диаграмм, который используется для иллюстрации плана, графика работ по какому-либо проекту. Является одним из методов планирования проектов.

Читать дальше →

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

Reading time12 min
Views26K
Стал я тут недавно 'счастливым' обладателем нетбука на базе Atom N270. Windows XP, естественно для меня, был немедленно выкинут с жёсткого диска и заменён Linux'ом. И всё было хорошо… где-то минут 15, пока процессор (вообще, конечно, все вам скажут, что не процессор, а чипсет, но всякие тесты, вроде кручения бесконечных пустых циклов в bash показали, что именно процессор) не стал чрезмерно горячим в процессе установки всяких разных пакетов (я вообще не понимаю, откуда Intel взяла оценку для TDP N270 в 2.5Вт).

Другая ситуация. У моего знакомого довольно пожилой ноутбук ASUS с достаточно странными настройками ACPI, в таблицах которого записано, что включать throttling нужно при температуре системы в 89 градусов Цельсия, а отрубать систему от критического перегрева при температуре в 81 градус.

Эмс… Вы не сочтите это всё антипиаром ASUS и Intel, ибо (я уверен) на других ноут(нет)буках с другими x86-процессорами вполне появляются схожие проблемы, и этот пост о том, как их решать, а не о том, какие праАативные флагманы IT… И вообще, я фанат ARM'ов… Так что для меня, что Intel, что AMD — одинаковое x86-зло… Но просто факт остаётся фактом. В некоторых старых моделях ноутбуков от ASUS кривые таблицы ACPI, а Atom'ы греются.

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

Проблема только в том, что стандартные рецепты манипулирования только лишь power-уровнями процессора в Linux (при помощи подсистемы cpufreq), которые раздаются на всех форумах направо и налево, недостаточно эффективны. Тот же Atom ощутимо греется находясь и в самом 'экономном' режиме, а моему знакомому в работе периодически нужна высокая производительность процессора, однако не ценой отключения по критической температуре. И при этом сброс процессора его ноутбука в 'экономный' режим при повышении температуры от перегрева не спасал.

В общем, проблемы надо как-то решать. Собственно вот, где-то на троечку с плюсом их решить получилось, решение описываю ниже с некоторыми подробностями, о которых редко пишут на user-форумах Linux (и вообще, я даже и сам не понял, откуда я всё это решение раздобыл :).

Читать дальше →

Физика высоких температур

Reading time1 min
Views1.2K
Все уже наверняка обратили внимание, что в PostgreSQL 8.4 появился новый режим работы базы данных: Warm standby. При нём во время работы базы данных Write-Ahead логи (WAL) транслируются на подчинённую базу данных, на которой в реальном времени применяются, как если бы это происходило на основной системе. Поэтому, если основная база данных по какой-то причине (молния/торнадо/третья мировая война/другие стихийные бедствия) выйдет из строя, можно будет мгновенно переключиться на подчинённую базу данных (данные в которой будут достаточно актуальны по сравнению с основной базой) и использовать её дальше.
Но, к сожалению, «тёплый стэндбай» подразумевает, что на подчинённой системе непрерывно происходит процесс восстановления базы данных; из чего следует, что пока основная база жива, подчинённой базой пользоваться нельзя.
Если вы читаете хотя бы блог depesz (не говоря уже про коммит-логи), то вы уже знаете, к чему я веду; если же нет, то… 19-го декабря прошлого года в разрабатываемую версию PostgreSQL 8.5 была добавлена функциональность Hot standby. Теперь, при настройке репликации WAL, подчинённая база данных тоже может использоваться для запросов SELECT (и только SELECT, по понятным причинам). Если раньше второй сервер со второй базой данных простаивал в ожидании форс-мажора, и админу приходилось краснеть перед менеджерами при вопросах об эффективности использования оборудования — то теперь этот сервер, при правильном построении логики приложений, поможет разгрузить основную базу данных.
Подробности о функционировании Hot standby можно прочитать в соответствующей статье из документации разрабатываемой версии PostgreSQL.

Где наша бизнес-логика, сынок?

Reading time18 min
Views84K
Спасибо небу за то, что в субботу шел дождь, и я это прочитал (а вы скажите спасибо за то, что перевел). В воскресенье, однако, светило солнце и форматирование текста было отложено.

Отдельное спасибо автору, за разрешение отдельной публикации.

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

не поддайся темной стороне силы usernаme

Триграммный индекс или «Поиск с опечатками»

Reading time4 min
Views36K
Как-то по долгу службы появилась необходимость добавить к поиску на сайте всем известную фичу, сервис «Возможно вы имели в виду…» или «Поиск с опечатками». Стали думать как реализовывать. Сторонние сервисы и api использовать не хотелось, ибо время до чужого сервера и назад, да и в целом не очень хорошо. Как раз кстати пришелся модуль pg_trgm, который ищет близкие к запросу слову на основе триграммного индекса.

Итак, идея есть, надо реализовывать.

Как собрать бинарный deb пакет: подробное HowTo

Reading time15 min
Views234K
Сегодня я расскажу на абстрактном примере как правильно создать *.deb пакет для Ubuntu/Debian. Пакет мы будем делать бинарный. Пакеты, компилирующие бинарники из исходников здесь не рассматриваются: осилив изложенные ниже знания, в дальнейшем по готовым примерам можно понять суть и действовать по аналогии :)

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

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

Для тех, кто не хочет вдаваться в мощную систему установки софта в Linux, рекомендую посетить сайт проги CheckInstall: она автоматически создаёт deb-пакет из команды «make install» ;) А мы вместе с любопытными —
поехали дальше!

Debian пакет с собственными скриптами: «Сделай сам»

Reading time6 min
Views715
В продолжение темы пользователя dreadatour, написавшего набор скриптов для заливки скриншотов на сервис clip2net, я решил показать, как можно собрать DEB пакет с собственными скриптами. Сам уже давно использую эту практику, удобно, если надо поделиться с кем-то или же взять с собой «к соседу» набор собственных утилит и не мучаться с зависимостями, вспоминая, что же ты там используешь, чтобы оно заработало.

Я не очень люблю dpkg-buildpackage, так как придется возиться с MakeFile'ами, а в данном случае оно все просто не нужно, скрипты не компилируются, а просто должны оказаться на своих местах. Поэтому собирать будем «совсем руками». Заодно покажу что же такое DEB пакет вообще и расскажу о некоторых «костылях», которые с ним можно иногда сотворить.

Итак, приступим! Нам понадобятся:
date, tar, gunzip, vi (nano, ee, kate, gedit), ar

Читать дальше →

Использование deb-пакетов для дистрибъюции кода

Reading time8 min
Views6.3K
В этой статье я хочу рассказать, о том, как можно внедрить систему сборки deb-пакетов для некоторого абстрактного проекта. Плюсов в распространении и развёртывании ПО на основе пакетов несколько:
  • Атомарность пакета (представление продукта в виде одного файла);
  • Наличие скриптов пред/пост установки/удаления ПО;
  • Возможно указания зависимостей для ПО.
Кроме того, при развёртывании ПО на основе пакетов, а не на основе SVN, вы гарантировано защищены от проблем с .svn-папками.
Читать дальше →
12 ...
17

Information

Rating
Does not participate
Location
Nürnberg, Bayern, Германия
Registered
Activity