{"id":4600,"date":"2019-02-04T09:23:50","date_gmt":"2019-02-04T11:23:50","guid":{"rendered":"https:\/\/blog.clusterweb.com.br\/?p=4600"},"modified":"2019-02-04T09:26:32","modified_gmt":"2019-02-04T11:26:32","slug":"mecanismo-de-aceleracao-dosfilter","status":"publish","type":"post","link":"https:\/\/blog.clusterweb.com.br\/?p=4600","title":{"rendered":"DoSFilter Throttling Mechanism"},"content":{"rendered":"<p>O filtro de nega\u00e7\u00e3o de servi\u00e7o ou DoSFilter foi adicionado ao servidor de caixa de correio no ZCS 8.0 para acelerar os clientes enviando um grande n\u00famero de solicita\u00e7\u00f5es em um per\u00edodo muito curto de tempo.\u00a0O DoSFilter \u00e9 aplicado a todas as solicita\u00e7\u00f5es de servi\u00e7o, caixa de correio e admin.\u00a0Este recurso foi adicionado com a conclus\u00e3o do\u00a0<a class=\"external text\" href=\"https:\/\/bugzilla.zimbra.com\/show_bug.cgi?id=66921\" rel=\"nofollow\">bug 66921<\/a>\u00a0.<\/p>\n<p>A filtragem de DoS \u00e9 ativada por padr\u00e3o quando o ZCS 8 \u00e9 instalado.\u00a0Pode ser necess\u00e1rio ajustar a configura\u00e7\u00e3o para acomodar necessidades ambientais espec\u00edficas.\u00a0Desativar DoSFilter n\u00e3o \u00e9 recomendado.<\/p>\n<p><!--more--><\/p>\n<h2><span id=\"Identifying_False_Positives\" class=\"mw-headline\">Identificando falsos positivos<\/span><\/h2>\n<p>\u00c9 poss\u00edvel que clientes como o Zimbra Connector for Outlook (ZCO), o Mobile ActiveSync, o zmprov, etc. acionem o DoSFilter.\u00a0Para o cliente, o servi\u00e7o de caixa de correio do Zimbra n\u00e3o est\u00e1 dispon\u00edvel.\u00a0O DoSFilter pode ser identificado no servidor das seguintes maneiras:<\/p>\n<h4><span id=\".2Fopt.2Fzimbra.2Flog.2Fsync.log\" class=\"mw-headline\">\/opt\/zimbra\/log\/sync.log<\/span><\/h4>\n<pre>2013-01-15 15: 52: 20,426 AVISO [qtp1635701107-91: https: \/\/10.10.0.54: 443 \/ Microsoft-Server-ActiveSync? Usu\u00e1rio = zsupport2 &amp; DeviceId = Appl5K0113UN3NR e DeviceType = iPhone &amp; Cmd = FolderSync] [name=zsupport2@domain.com ; mid = 64; ip = 71.194.89.54; Cmd = FolderSync; DeviceID = Appl5K0113UN3NR; Vers\u00e3o = 12.1;] sync - Exce\u00e7\u00e3o de servi\u00e7o\r\ncom.zimbra.common.service.ServiceException: erro ao enviar proxy ao servidor de destino: HTTP \/ 1.1 503 Servi\u00e7o indispon\u00edvel\r\nExceptionId: qtp1635701107-91: https: \/ 10\/10.10.54: 443 \/ Microsoft-Server-ActiveSync? Usu\u00e1rio = zsupport2 &amp; DeviceId = Appl5K0113UN3NR e DeviceType = iPhone &amp; Cmd = FolderSync: 1358286740426: c5ca7f36bb0a038f C\u00f3digo: service.PROXY_ERROR Arg: (url, STR, \"http: \/\/mail.domain.com:80\/service\/soap\/SyncRequest \")\r\n<\/pre>\n<h4><span id=\".2Fopt.2Fzimbra.2Flog.2Fzmmailboxd.out\" class=\"mw-headline\">\/opt\/zimbra\/log\/zmmailboxd.out<\/span><\/h4>\n<pre>2013-01-15 15: 57: 32.537: AVISO: oejs.DoSFilter: DOS ALERTA: ip = 127.0.1.1, session = null, user = null<\/pre>\n<h2><span id=\"Configuration\" class=\"mw-headline\">Configura\u00e7\u00e3o<\/span><\/h2>\n<p>Os atributos de configura\u00e7\u00e3o\u00a0<i>zimbraHttpDosFilterDelayMillis<\/i>\u00a0,\u00a0<i>zimbraHttpDosFilterMaxRequestsPerSec<\/i>\u00a0e\u00a0<i>zimbraHttpThrottleSafeIPs<\/i>\u00a0.\u00a0Cada atributo \u00e9 herdado do servidor global ou \u00e9 configur\u00e1vel no n\u00edvel do servidor.\u00a0Nossa recomenda\u00e7\u00e3o \u00e9 preservar a configura\u00e7\u00e3o padr\u00e3o sempre que poss\u00edvel.<\/p>\n<h4><span id=\"DoSFilter_Delay_.28milliseconds.29_-_zimbraHttpDosFilterDelayMillis\" class=\"mw-headline\">Atraso de DoSFilter (milissegundos) &#8211; zimbraHttpDosFilterDelayMillis<\/span><\/h4>\n<p>Atraso imposto a todas as solicita\u00e7\u00f5es acima do limite de taxa, antes de serem consideradas.\u00a0-1 = Rejeitar pedido, 0 = Sem atraso, qualquer outro valor = Atraso em ms.\u00a0O padr\u00e3o \u00e9 -1.<\/p>\n<p>Para modificar na configura\u00e7\u00e3o global;\u00a0Por exemplo, defina o atraso para 20 ms:<\/p>\n<pre>zmprov mcf zimbraHttpDosFilterDelayMillis 20\r\n<\/pre>\n<h4><span id=\"DoSFilter_Maximum_Requests_Per_Second_-_zimbraHttpDosFilterMaxRequestsPerSec\" class=\"mw-headline\">Solicita\u00e7\u00f5es M\u00e1ximas de DoSFilter por Segundo &#8211; zimbraHttpDosFilterMaxRequestsPerSec<\/span><\/h4>\n<p>N\u00famero m\u00e1ximo de solicita\u00e7\u00f5es de uma conex\u00e3o por segundo.\u00a0Solicita\u00e7\u00f5es em excesso s\u00e3o limitadas.\u00a0O padr\u00e3o \u00e9 30 e o m\u00ednimo \u00e9 1.<\/p>\n<p>Para definir o n\u00famero m\u00e1ximo de solicita\u00e7\u00f5es na configura\u00e7\u00e3o global:<\/p>\n<pre>zmprov mcf zimbraHttpDosFilterMaxRequestsPerSec 100\r\n<\/pre>\n<h4><span id=\"DoSFilter_IP_Addresses_Whitelist_-_zimbraHttpThrottleSafeIPs\" class=\"mw-headline\">Endere\u00e7os IP do DoSFilter Whitelist &#8211; zimbraHttpThrottleSafeIPs<\/span><\/h4>\n<p><b>Aviso: O Zimbra Collaboration 8.7 anterior n\u00e3o suporta o CIDR, portanto voc\u00ea deve adicionar os IPs individualmente.<\/b><\/p>\n<p>Endere\u00e7os IP para ignorar ao aplicar o Jetty DosFilter.\u00a0Este atributo n\u00e3o possui um valor padr\u00e3o, no entanto, esses IPs de loopback s\u00e3o permitidos por padr\u00e3o:<\/p>\n<ul>\n<li>127.0.0.1<\/li>\n<li>\u00a0:: 1<\/li>\n<li>0: 0: 0: 0: 0: 0: 0: 1<\/li>\n<li>Todos os servidores de caixa de correio<\/li>\n<\/ul>\n<p>Voc\u00ea pode verificar se esses hosts foram colocados corretamente na lista de permiss\u00f5es pela entrada de log em \/opt\/zimbra\/log\/mailbox.log.\u00a0Essa entrada de log deve conter todos os hosts whitelisted padr\u00e3o, bem como quaisquer IPs adicionados ao zimbraHttpThrottleSafeIPs:<\/p>\n<pre>2014-09-09 10: 33: 47,772 INFO [main] [] misc - DoSFilter: IP da lista de permiss\u00f5es configurados = 192.168.234.130,127.0.0.1, :: 1,0: 0: 0: 0: 0: 0: 0: 1\r\n<\/pre>\n<p>Observa\u00e7\u00e3o: os n\u00f3s de proxy n\u00e3o precisam estar na lista de permiss\u00f5es, desde que o recurso de IP de origem esteja configurado corretamente no ZCS:\u00a0<a class=\"external free\" href=\"https:\/\/wiki.zimbra.com\/wiki\/Log_Files#Logging_the_Originating_IP\" rel=\"nofollow\">https:\/\/wiki.zimbra.com\/wiki\/Log_Files#Logging_the_Originating_IP<\/a><\/p>\n<p>Os endere\u00e7os IP devem ser fornecidos no atributo zimbraHttpThrottleSafeIPs de valores m\u00faltiplos.\u00a0<b>A nota\u00e7\u00e3o CIDR pode ser usada no ZCS 8.7 e acima.\u00a0Por favor, note em 8.6, 8.5 e 8.0 voc\u00ea deve us\u00e1-lo IP por IP<\/b>\u00a0.<\/p>\n<h5><span id=\"Examples_in_ZCS_8.7_or_above\" class=\"mw-headline\">Exemplos no ZCS 8.7 ou acima<\/span><\/h5>\n<pre>zmprov mcf zimbraHttpThrottleSafeIPs 10.1.2.3\/32 zimbraHttpThrottleSafeIPs 192.168.4.0\/24\r\n<\/pre>\n<p>ou para anexar a uma lista existente de zimbraHttpThrottleSafeIPs com v\u00e1rios valores<\/p>\n<pre>zmprov mcf + zimbraHttpThrottleSafeIPs 10.1.2.3\/32\r\nzmprov mcf + zimbraHttpThrottleSafeIPs 192.168.4.0\/24\r\n<\/pre>\n<h5><span id=\"Examples_in_ZCS_8.6.2C_8.5_or_previous\" class=\"mw-headline\">Exemplos no ZCS 8.6, 8.5 ou anterior<\/span><\/h5>\n<pre>zmprov mcf zimbraHttpThrottleSafeIPs 10.1.2.3 zimbraHttpThrottleSafeIPs 192.168.4.5\r\n<\/pre>\n<p>ou para anexar a uma lista existente de zimbraHttpThrottleSafeIPs com v\u00e1rios valores<\/p>\n<pre>zmprov mcf + zimbraHttpThrottleSafeIPs 10.1.2.3\r\nzmprov mcf + zimbraHttpThrottleSafeIPs 10.1.2.50\r\nzmprov mcf + zimbraHttpThrottleSafeIPs 192.168.4.5\r\nzmprov mcf + zimbraHttpThrottleSafeIPs 192.168.4.6\r\n<\/pre>\n<h4><span id=\"Mailbox_server_restart\" class=\"mw-headline\">Reinicializa\u00e7\u00e3o do servidor de caixa de correio<\/span><\/h4>\n<p>Uma reinicializa\u00e7\u00e3o do servidor de caixa de correio \u00e9 necess\u00e1ria ao modificar esses atributos.<\/p>\n<pre>reinicializa\u00e7\u00e3o zmmailboxdctl\r\n<\/pre>\n<h3><span id=\"Using_the_DoSFilter_To_Block_IPs_on_Repeated_Failed_Login_-_ZCS_8.5.2B_Only\" class=\"mw-headline\">Usando o DoSFilter para bloquear IPs em logins repetidos com falha &#8211; Somente ZCS 8.5+<\/span><\/h3>\n<p>A partir do ZCS 8.5, voc\u00ea pode bloquear IPs por um per\u00edodo de tempo ap\u00f3s v\u00e1rias tentativas de login com falha.\u00a0Note que isto honra\u00a0<i>zimbraHttpThrottleSafeIPs<\/i>\u00a0, portanto, se configurado, ele n\u00e3o bloquear\u00e1 os IPs na lista de permiss\u00f5es.<\/p>\n<p>Voc\u00ea estar\u00e1 olhando para estes valores:<\/p>\n<pre>zimbraInvalidLoginFilterDelayInMinBetwnReqBeforeReinstating: 15\r\nzimbraInvalidLoginFilterMaxFailedLogin: 10\r\nzimbraInvalidLoginFilterReinstateIpTaskIntervalInMin: 5\r\n<\/pre>\n<p><i>zimbraInvalidLoginFilterDelayInMinBetwnReqBeforeReinstating<\/i>\u00a0define por quanto tempo um IP \u00e9 bloqueado.<\/p>\n<p><i>zimbraInvalidLoginFilterMaxFailedLogin<\/i>\u00a0define o n\u00famero de logins com falha antes que um IP seja bloqueado.<\/p>\n<p><i>zimbraInvalidLoginFilterReinstateIpTaskIntervalInMin<\/i>\u00a0define quanto tempo entre a execu\u00e7\u00e3o do processo para desbloquear os IPs.<\/p>\n<h4><span id=\"Examples\" class=\"mw-headline\">Exemplos<\/span><\/h4>\n<p>Para definir o filtro DoS para bloquear um IP ap\u00f3s 5 tentativas de login malsucedidas por 25 minutos, voc\u00ea faria isso:<\/p>\n<pre>zmprov mcf zimbraInvalidLoginFilterDelayInMinBetwnReqBeforeReinstating 25\r\nzmprov mcf zimbraInvalidLoginFilterMaxFailedLogin 5\r\nreinicializa\u00e7\u00e3o zmmailboxdctl\r\n<\/pre>\n<h2><span id=\"Tuning_Considerations_-_8.0.3_and_later\" class=\"mw-headline\">Considera\u00e7\u00f5es de ajuste &#8211; 8.0.3 e posterior<\/span><\/h2>\n<h3><span id=\"ZCS_Member_Servers\" class=\"mw-headline\">Servidores membros do ZCS<\/span><\/h3>\n<p>Os servidores ZCS sob o controle de um \u00fanico servidor LDAP mestre s\u00e3o automaticamente permitidos por endere\u00e7o IP.\u00a0Esses hosts s\u00e3o descobertos usando uma chamada GetAllServersRequest;\u00a0ou seja,\u00a0<i>g\u00e1s zmprov<\/i>\u00a0.<\/p>\n<h3><span id=\"External_Provisioning_Hosts.2FSOAP_API\" class=\"mw-headline\">Hosts de provisionamento externo \/ API SOAP<\/span><\/h3>\n<p>Hosts de provisionamento externo podem ser adicionados \u00e0 lista de permiss\u00f5es de IP para garantir que o DoSFilter n\u00e3o bloqueie algumas solicita\u00e7\u00f5es.\u00a0Por exemplo, uma reindexa\u00e7\u00e3o de caixa de correio pode fazer v\u00e1rias chamadas por segundo que podem acionar o DoSFilter.<\/p>\n<h2><span id=\"ZCS_8.0.0_-_8.0.2\" class=\"mw-headline\">ZCS 8.0.0 &#8211; 8.0.2<\/span><\/h2>\n<p>Veja este\u00a0<a class=\"external text\" href=\"http:\/\/www.zimbra.com\/forums\/announcements\/60397-zcs-dosfilter-workaround-zcs-8-0-1-8-0-2-a.html\" rel=\"nofollow\">link<\/a>\u00a0nos f\u00f3runs do Zimbra para obter informa\u00e7\u00f5es sobre como configurar o DoSFilter para as vers\u00f5es do ZCS 8 anteriores \u00e0 8.0.3.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>O filtro de nega\u00e7\u00e3o de servi\u00e7o ou DoSFilter foi adicionado ao servidor de caixa de correio no ZCS 8.0 para acelerar os clientes enviando um grande n\u00famero de solicita\u00e7\u00f5es em um per\u00edodo muito curto de tempo.\u00a0O DoSFilter \u00e9 aplicado a todas as solicita\u00e7\u00f5es de servi\u00e7o, caixa de correio e admin.\u00a0Este recurso foi adicionado com a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[730,1,79,42,51,495,85,68,271,74,896],"tags":[1262,353,1263,1261,1265,1264],"class_list":["post-4600","post","type-post","status-publish","format-standard","hentry","category-clusterweb","category-viazap","category-firewall","category-leitura-recomendada","category-linux-linuxrs","category-profissional-de-ti","category-proxy","category-redes-2","category-seguranca-2","category-servidor-de-e-mail","category-zimbra","tag-aceleracao","tag-de","tag-dosfilter","tag-mecanismo","tag-mechanism","tag-throttling"],"_links":{"self":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/4600","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4600"}],"version-history":[{"count":2,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/4600\/revisions"}],"predecessor-version":[{"id":4602,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/4600\/revisions\/4602"}],"wp:attachment":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4600"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4600"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4600"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}