From: "Michael A. Kangin" <mak@complife.ru> To: ALT Linux sysadmins' discussion <sysadmins@lists.altlinux.org> Subject: [Sysadmins] Борьба с synflood Date: Wed, 12 Dec 2012 02:33:02 +0400 Message-ID: <50C7B49E.9040305@complife.ru> (raw) Добрый день. хочется запинать систему, которая бы выдерживала как можно большее PPS синфлуда без вреда для предоставляемых сервисов. Есть тестовый сервер с двумя ксеончиками, и сетевухой Intel Corporation 82580 Gigabit Network Connection (драйвер igb). Запускаем на нём в качестве жертвы апача с тестовым cgi, который рассказывает текущее время - так проверяем отзывчивость сервиса. атакуем так с другого сервера: hping3 <ip> -p 80 -S --rand-source --flood Это даёт нам порядка 380K pps исходящего. А атакуемый сервер (p6, std-def) принимает только порядка 75K, остальное дропает. Ну и сервис отвечает более-менее уверенно только до 150K. Если поставить 3.4.21-un-def-alt0.M60P.1, число принимаемых пакетов немного увеличивается, до 110К. Причём, количество принимаемых пакетов снижается с ростом нагрузки - так, при атаке под 500К принимается уже только 90K. Немного лучше себя ведёт Centos6 - она вполне принимает до 140K, и сохраняет отзывчивость сервиса до 200К с атакующей стороны. На атакуемой машинке в htop'е светятся красным все ядра, отданные под прерывания сетевухи и довольно высокий LA. Интриги добавляет тот факт, что Линупс сосёт. Если на этот сервер поставить FreeBSD9, то она принимает под 450К без всякого ухудшения сервиса. И живёт со скрипом вплоть до 750К с атакующей машины, больше я с неё не смог выжать. Собственно, что сделать можно под Линуксом? Все настройки в целом по умолчанию (кроме раскидывания прерываний по ядрам процессора). Я пробовал много шаманств - и всякие там sysсtl крутить, и длины очередей в ifconfig и ethtool, и параметры igb. Все бесполезно (да и раскидывание прерываний, подозреваю, тоже). Была идея, что 2-4 сетевухи в бондинге будут лучше справляться. Авотфиг. Хуже. -- Michael A. Kangin
next reply other threads:[~2012-12-11 22:33 UTC|newest] Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top 2012-12-11 22:33 Michael A. Kangin [this message] 2012-12-12 7:20 ` Viacheslav Dubrovskyi 2012-12-12 8:31 ` Anton Gorlov 2012-12-12 9:54 ` Viacheslav Dubrovskyi 2012-12-12 10:12 ` Anton Gorlov 2012-12-13 7:47 ` Sergey 2012-12-12 9:40 ` Michael A. Kangin 2012-12-14 12:17 ` Sergey Alembekov 2012-12-12 8:39 ` Anton Gorlov 2012-12-12 9:42 ` Michael A. Kangin 2012-12-12 9:58 ` Viacheslav Dubrovskyi 2012-12-12 10:20 ` Alexei Takaseev 2012-12-12 10:34 ` Viacheslav Dubrovskyi 2012-12-12 10:44 ` Michael A. Kangin 2012-12-12 10:40 ` Michael A. Kangin 2012-12-12 10:46 ` Michael A. Kangin 2012-12-12 10:51 ` Viacheslav Dubrovskyi 2012-12-12 11:10 ` Michael A. Kangin 2012-12-20 6:20 ` Dubrovskiy Viacheslav 2012-12-20 18:15 ` Michael A. Kangin 2013-01-06 12:04 ` Dubrovskiy Viacheslav
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=50C7B49E.9040305@complife.ru \ --to=mak@complife.ru \ --cc=sysadmins@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux sysadmins discussion This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/sysadmins/0 sysadmins/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 sysadmins sysadmins/ http://lore.altlinux.org/sysadmins \ sysadmins@lists.altlinux.org sysadmins@lists.altlinux.ru sysadmins@lists.altlinux.com public-inbox-index sysadmins Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.sysadmins AGPL code for this site: git clone https://public-inbox.org/public-inbox.git