yazero Posted August 7, 2015 (edited) · Report post что то уже утомляют атаки на dns . 0) начало мая , куча запросов с ответом NXDOMAIN ,прописываю RRL для NXDOMAIN полет нормальный 1 июля 2015 , context switch вырос с 10K до 700к , причем conntrack не более 15K 1) прописал RRL (bind) + iptables drop результат есть, но система тормозит жутко cpu load 100 % 2) прописываю /proc/sys/net/core/somaxconn c 128 до 20000 , тормоза пропали (есть еще параметры, но помоему это основной http://rusua.org.ua/2013/01/07/411/) 3) остались временные скачки context switch до 100К-200K (летит разная хрень вроде dfdf.0Dlink или agrofirma-pc.TendaAP ) а также очень много рекурсивных запросов и мой логи копятся с записями NODATA , REFUSED , NXDOMAIN 4) перечитываю доку по RRL и меняю на slip 10 http://www.guug.de/veranstaltungen/ffg2013/talks/DNS_Rate_Limiting__Matthijs_Mekking.pdf 5) появились траблы у клиентов 5.1) задумался о ddos сервисе, зарегился на qrator.net и отслеживаю ботов в своей сети (бесплано) 5.2) подумал о переводе самостоятельно держать зоны в пользу услуги "хостинг для домена" на nic.ru 6) запустил два dns один для рекурсии unbound , другой для зон isc-bind (подумываю про RPZ для зон вида .DLINK) на одной машине 7) прописал в fail2ban для query-errors.log failregex = %(__line_prefix)sclient <HOST>#.+: .*\REFUSED %(__line_prefix)sclient <HOST>#.+: .*\NODATA %(__line_prefix)sclient <HOST>#.+: .*\NXDOMAIN жить стало лучше , P.S. может сумбурно, так что сори , перепишу P.S.S. bcp 38. Edited August 7, 2015 by yazero Share this post Link to post Share on other sites
vlad11 Posted August 7, 2015 · Report post rate-limit в isc-bind выставлен? Дампов траффика не вижу. Share this post Link to post Share on other sites
^rage^ Posted August 7, 2015 · Report post Зачем вы используете bind? и что скрывается под " iptables drop" ? Share this post Link to post Share on other sites
yazero Posted August 7, 2015 · Report post rate-limit { window 15; slip 10; // referrals-per-second 5; responses-per-second 50; nxdomains-per-second 1; // all-per-second 20; errors-per-second 1; nodata-per-second 1; qps-scale 250; // refferals-per-second 5; ipv4-prefix-length 32; log-only no; min-table-size 20000; max-table-size 100000; // exempt-clients {91.197.77.250;91.197.76.253;91.197;}; }; Share this post Link to post Share on other sites
yazero Posted August 7, 2015 (edited) · Report post Зачем вы используете bind? и что скрывается под " iptables drop" ? изначально как кеширующий dns для своих абонентов которых около 1500 (есть парочка крупных у которых по 2000 машин ), сейчас в основном записи ptr клиентов + свой домен за iptables drop скрывается блокировка абонентов у которых открыты рекурсивные запросы (сейчас закрыто на пограничном роутере ), отправляющие PTR запросы серых сетей и т.п. Edited August 7, 2015 by yazero Share this post Link to post Share on other sites
vlad11 Posted August 7, 2015 · Report post ... responses-per-second 50; ... Вы издеваетесь? Понижайте до 10, а то и до 5. Потом анализируйте логи и передавайте провинившихся в firewall. Не забудьте добавить в белые списки ip клиентов-юзеров. Share this post Link to post Share on other sites
yazero Posted August 8, 2015 · Report post res-pre-sec 5 если использорвать как сервер зон, то да. я сейчас его возвращаю как кеширующий, и за 1 ip сидят 30 абонентов(и у каждого по 1-4 устройства) ? есть смысл ? или оставить unbound Share this post Link to post Share on other sites
vlad11 Posted August 9, 2015 · Report post res-pre-sec 5 если использорвать как сервер зон, то да. я сейчас его возвращаю как кеширующий, и за 1 ip сидят 30 абонентов(и у каждого по 1-4 устройства) ? Читайте мануал от ISC. Basically, responses-per-second is the number of identical replies that can be sent to one single destination, per second. The definitions are tricky. Если у ваших клиентов куча идентичных запросов, то варианты: 1) клиенты - участники DDoS 2) к клиентам не доходят ответы от ДНС сервера. Share this post Link to post Share on other sites
st_re Posted August 9, 2015 · Report post А Вы вообще не смотрели что это за трафик (запросы) и откуда они исходят ? А то может пора выключить уже наконец рекурсивный ресолвер на рутере, и забыть о проблеме ? Не, я конечно знаю несколько человек которые по любому недомоганию пьют антибиотоки, но мне кажется это скорее путь не к выздоровлению, а в могилу. Если запросы исходят откудато то не лучше ли заткнуть там? Share this post Link to post Share on other sites
yazero Posted August 9, 2015 · Report post А Вы вообще не смотрели что это за трафик (запросы) и откуда они исходят ? А то может пора выключить уже наконец рекурсивный ресолвер на рутере, и забыть о проблеме ? Не, я конечно знаю несколько человек которые по любому недомоганию пьют антибиотоки, но мне кажется это скорее путь не к выздоровлению, а в могилу. Если запросы исходят откудато то не лучше ли заткнуть там? -для таких(с рекурсией) абонентов сети закрыт 53 порт c наружи. мониторю nmap -sU -sV -p 53 --script 'dns-recursion' -от многих абонентов сети летят запросы вида 164.34.168.192.in-addr.arpa это летит в blackhole -писал выше , что летят запросы вида фирма.0DLINK или имякомпа.TENDAAP (я так понимаю RPZ писать) -с наружи летят запросы type A вида X-22.178.195.reinfokom.ru бесконечно. (на всю подсеть (1500 адресов) - также часто прилетаю запросы на рекурсивный запрос () - ну и разные запросы типа белеберда.rafinad.ru , эти сразу в nxdomain но списка у меня нет. смотрел совпадения на сайте http://www.malwaredomains.com/ у меня их мало, в основном проблема решилась по ним еще в мае. Share this post Link to post Share on other sites
yazero Posted August 9, 2015 · Report post res-pre-sec 5 если использорвать как сервер зон, то да. я сейчас его возвращаю как кеширующий, и за 1 ip сидят 30 абонентов(и у каждого по 1-4 устройства) ? Читайте мануал от ISC. Basically, responses-per-second is the number of identical replies that can be sent to one single destination, per second. The definitions are tricky. Если у ваших клиентов куча идентичных запросов, то варианты: 1) клиенты - участники DDoS 2) к клиентам не доходят ответы от ДНС сервера. Вы правы , я не так перевел. а какой параметр тогда отвечает за всего запросов в секунду с одного ip и сколько всего может отвечать сервер в секунду (и можно ли разделить рекурсивные от запроса зон) all-per-second или qps-scale ? Share this post Link to post Share on other sites
vlad11 Posted August 10, 2015 · Report post а какой параметр тогда отвечает за всего запросов в секунду с одного ip all-per-second qps-scale - немного другое. Подробнее тут. и сколько всего может отвечать сервер в секунду (и можно ли разделить рекурсивные от запроса зон) Я видел сервера, которые отвечают 10Kr per sec. Я бы через allow-query разрешил запрашивать PTR всем, рекурсию оставил бы только DMZ и клиентам. responses-per-second выставил бы районе 10. Потом анализируйте логи и передавайте провинившихся в firewall.Не забудьте добавить в белые списки ip клиентов-юзеров. P.S. Я бы на вашем месте пропарсил бы логи и сделал бы графики - TOP50 внешних IP, TOP50 внутренних IP, TOP50 внешних доменов, TOP50 PTR IP И потом бы уже думал, как резать и банить. Share this post Link to post Share on other sites
st_re Posted August 10, 2015 · Report post 1 -для таких(с рекурсией) абонентов сети закрыт 53 порт c наружи. мониторю nmap -sU -sV -p 53 --script 'dns-recursion' 2 -от многих абонентов сети летят запросы вида 164.34.168.192.in-addr.arpa это летит в blackhole 3 -писал выше , что летят запросы вида фирма.0DLINK или имякомпа.TENDAAP (я так понимаю RPZ писать) 2 и 3 прямо вот так потоком в секунду c 1 IP ? Да, при 1500 абонентах запросов мождет быть и много, но не с 1 же IP. 4 -с наружи летят запросы type A вида X-22.178.195.reinfokom.ru бесконечно. (на всю подсеть (1500 адресов) 5 - также часто прилетаю запросы на рекурсивный запрос () 6 - ну и разные запросы типа белеберда.rafinad.ru , эти сразу в nxdomain но списка у меня нет. смотрел совпадения на сайте http://www.malwaredomains.com/ у меня их мало, в основном проблема решилась по ним еще в мае. reinfokom ваш домен я так понимаю ? а запросы на рафинад идут изнутри или снаружи ? если изнутри, то ктото работает ддосером на ник.ру ? 5: прилетает снаружи ? запрос наверное ANY . ? и вы на него раньше отвечали ? Вы работали усилителем трафика, вас запомнили и по старой памяти будут пытать еще дооооолго. вообще по мелочи на рекурсию скинируют постоянно. Если у вас есть зоны, например, с MX на не ваших хостах (ну гугло почта например, не важно), то есть спамеры которые после запроса МХ будут у вас же спрашивать и А записи для отданных мхов, хотя они не ваши. Таких тоже на раскрученных доменах может быть много, но врядли с 1 IP. $ dig -x 195.178.22.11 11.22.178.195.in-addr.arpa. 10800 IN PTR 11-22.178.195.reinfokom.ru. $ dig 11-22.178.195.reinfokom.ru. .... NXDOMAIN,... ну прописав в обратку, что не прописали впрямую ? нагенерите в прямую как обратки. и они будут хотябы кешиться. Вообще есть много сервисов, делающих ресолв туда-сюда. ваши абоненты тужа ходят, и там их ресолвят. (замечено, что если массово идут с разных сторон запросы на один или несколько одинаковых IP (обраток и потом прямых записей), то с вероятностью 90% оттуда шлют спам... это нормальное поведение почтового сервера, ресолвить все входящие) Но все это врядли, кроме 6, валится с отдельных постоянных IP пачками. Вы же пытаетесь зарезать ответы на 1 IP. Share this post Link to post Share on other sites
pavel.odintsov Posted August 10, 2015 · Report post Рекомендую попробовать dnsdist под это дело. Share this post Link to post Share on other sites
yazero Posted August 13, 2015 (edited) · Report post Рекомендую попробовать dnsdist под это дело. разделение на unbound и bind было оотличное решение. само решение по настройке isc bind сложное , парсинг логов , acl через iptables , conntrack и netstat . было бы удобно когда сам процесс может управлять запросами. так что перейду на dnsdist. Edited August 14, 2015 by yazero Share this post Link to post Share on other sites
yazero Posted August 14, 2015 (edited) · Report post даже сейчас незнаю как сделать top по dns запросам в online. к примеру в dnstop летит все , даже то что дробается через iptables. акромя ntopng интересует вопрос, можно ли писать два и более ? rrl (один для клиентов мелких) rrl (второй для ну очень больших) rrl (для зон) Edited August 14, 2015 by yazero Share this post Link to post Share on other sites
yazero Posted August 14, 2015 (edited) · Report post ну прописав в обратку, что не прописали впрямую ? нагенерите в прямую как обратки. и они будут хотябы кешиться. Вообще есть много сервисов, делающих ресолв туда-сюда. ваши абоненты тужа ходят, и там их ресолвят. (замечено, что если массово идут с разных сторон запросы на один или несколько одинаковых IP (обраток и потом прямых записей), то с вероятностью 90% оттуда шлют спам... это нормальное поведение почтового сервера, ресолвить все входящие) Но все это врядли, кроме 6, валится с отдельных постоянных IP пачками. Вы же пытаетесь зарезать ответы на 1 IP. по поводу прямой. кто то запрашивает 11-22.178.195.reinfokom.ru. а кто то 11-22-178-195.reinfokom.ru писать псевдиним? Edited August 14, 2015 by yazero Share this post Link to post Share on other sites
st_re Posted August 14, 2015 · Report post писать то, что у вас в обратке... dig +short -x 195.178.22.11 11-22.178.195.reinfokom.ru. Share this post Link to post Share on other sites
vlad11 Posted August 15, 2015 · Report post интересует вопрос, можно ли писать два и более ? rrl (один для клиентов мелких) rrl (второй для ну очень больших) rrl (для зон) В документации написано - или глобально или _для каждого_ домена Tight but reasonable limits for all domains serviced by this DNS for all but brain-dead DNS clients. # named.conf fragmentoptions{...rate-limit { responses-per-second 5; window 5;}...}; Different limits for each domain name serviced by this authoritative server for reasons best known to the operator. # named.conf fragmentoptions {...rate-limit { domain example.com; responses-per-second 5; window 5;}rate-limit { domain example.net; responses-per-second 10;}...} Share this post Link to post Share on other sites
yazero Posted August 24, 2015 (edited) · Report post 1)по поводу bind есть сомнения , попробуйю поставить другую версию. (сейчас стоит 9.10.2-P3) 2)сейчас работает dnsdist вот топ nxdomain и servfail 2 276041 192.in-addr.arpa. drop 3 1024 10.in-addr.arpa. drop 6 28211 wpad.Dlink. drop 7 11062 dlv.isc.org. drop 8 98185 wpad. drop 9 5611 siamert.pw. drop 10 8409 mlocate.spotlife.net. drop 11 12113 TendaAP. drop 12 396151 local. drop 13 18639 0.Dlink. drop 14 8301 _TCP. drop 15 11 teredo.ipv6.microsoft.com. qps limit to 1 за время работы (4 дня) было обработано 20M запросов , из них teredo 4M это нормально? dig +trace teredo.ipv6.microsoft.com @8.8.8.8 teredo.ipv6.microsoft.com. 3600 IN CNAME teredo.ipv6.microsoft.com.nsatc.net. ;; Received 103 bytes from 193.221.113.53#53(ns3.msft.net) in 115 ms я так понял что сервер отключен и вместо него test.ipv6.microsoft.com http://ipv6.br/teredo-sunset-mais-um-passo-na-transicao-para-o-ipv6/ 3) писал ранее что много arpa запросов, их действительно много , заблокировал(iptables) 3-х своих абонентов, которые создавали около 1M запросов. Edited August 24, 2015 by yazero Share this post Link to post Share on other sites
vlad11 Posted August 25, 2015 · Report post за время работы (4 дня) было обработано 20M запросов , из них teredo 4M это нормально? dig +trace teredo.ipv6.microsoft.com @8.8.8.8 teredo.ipv6.microsoft.com. 3600 IN CNAME teredo.ipv6.microsoft.com.nsatc.net. ;; Received 103 bytes from 193.221.113.53#53(ns3.msft.net) in 115 ms я так понял что сервер отключен и вместо него test.ipv6.microsoft.com http://ipv6.br/tered...ao-para-o-ipv6/ Во-первых, ответ все равно кешированный. Во-вторых, смотря сколько клиентов. В-третьих, может этим клиентам выдать белые ipv6? Share this post Link to post Share on other sites