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 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vlad11 Posted August 7, 2015 · Report post rate-limit в isc-bind выставлен? Дампов траффика не вижу. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
^rage^ Posted August 7, 2015 · Report post Зачем вы используете bind? и что скрывается под " iptables drop" ? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
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;}; }; Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
yazero Posted August 7, 2015 (edited) · Report post Зачем вы используете bind? и что скрывается под " iptables drop" ? изначально как кеширующий dns для своих абонентов которых около 1500 (есть парочка крупных у которых по 2000 машин ), сейчас в основном записи ptr клиентов + свой домен за iptables drop скрывается блокировка абонентов у которых открыты рекурсивные запросы (сейчас закрыто на пограничном роутере ), отправляющие PTR запросы серых сетей и т.п. Edited August 7, 2015 by yazero Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vlad11 Posted August 7, 2015 · Report post ... responses-per-second 50; ... Вы издеваетесь? Понижайте до 10, а то и до 5. Потом анализируйте логи и передавайте провинившихся в firewall. Не забудьте добавить в белые списки ip клиентов-юзеров. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
yazero Posted August 8, 2015 · Report post res-pre-sec 5 если использорвать как сервер зон, то да. я сейчас его возвращаю как кеширующий, и за 1 ip сидят 30 абонентов(и у каждого по 1-4 устройства) ? есть смысл ? или оставить unbound Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
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) к клиентам не доходят ответы от ДНС сервера. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
st_re Posted August 9, 2015 · Report post А Вы вообще не смотрели что это за трафик (запросы) и откуда они исходят ? А то может пора выключить уже наконец рекурсивный ресолвер на рутере, и забыть о проблеме ? Не, я конечно знаю несколько человек которые по любому недомоганию пьют антибиотоки, но мне кажется это скорее путь не к выздоровлению, а в могилу. Если запросы исходят откудато то не лучше ли заткнуть там? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
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/ у меня их мало, в основном проблема решилась по ним еще в мае. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
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 ? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
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 И потом бы уже думал, как резать и банить. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
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. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
pavel.odintsov Posted August 10, 2015 · Report post Рекомендую попробовать dnsdist под это дело. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
yazero Posted August 13, 2015 (edited) · Report post Рекомендую попробовать dnsdist под это дело. разделение на unbound и bind было оотличное решение. само решение по настройке isc bind сложное , парсинг логов , acl через iptables , conntrack и netstat . было бы удобно когда сам процесс может управлять запросами. так что перейду на dnsdist. Edited August 14, 2015 by yazero Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
yazero Posted August 14, 2015 (edited) · Report post даже сейчас незнаю как сделать top по dns запросам в online. к примеру в dnstop летит все , даже то что дробается через iptables. акромя ntopng интересует вопрос, можно ли писать два и более ? rrl (один для клиентов мелких) rrl (второй для ну очень больших) rrl (для зон) Edited August 14, 2015 by yazero Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
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 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
st_re Posted August 14, 2015 · Report post писать то, что у вас в обратке... dig +short -x 195.178.22.11 11-22.178.195.reinfokom.ru. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
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;}...} Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
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 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
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? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...