{"id":24848,"date":"2026-09-16T17:52:27","date_gmt":"2026-09-16T17:52:27","guid":{"rendered":"https:\/\/www.mailgun.com\/blog\/guia-seguranca-seguranca-basica-infraestrutura\/"},"modified":"2026-09-16T17:52:27","modified_gmt":"2026-09-16T17:52:27","slug":"guia-seguranca-seguranca-basica-infraestrutura","status":"publish","type":"blog","link":"https:\/\/www.mailgun.com\/pt\/blog\/it-and-engineering\/guia-seguranca-seguranca-basica-infraestrutura\/","title":{"rendered":"Guia de seguran\u00e7a: como proteger sua infraestrutura contra ataques b\u00e1sicos"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Executar sua infraestrutura em uma configura\u00e7\u00e3o segura \u00e9 uma tarefa complexa at\u00e9 mesmo para profissionais de seguran\u00e7a. Este guia oferece conselhos pr\u00e1ticos para ajudar a equipe de engenharia a construir uma infraestrutura seguindo pr\u00e1ticas recomendadas de seguran\u00e7a, para que possa implantar seus servi\u00e7os na internet p\u00fablica com confian\u00e7a e reduzir as chances de comprometimento. Este guia \u00e9 voltado especificamente para sistemas baseados em Linux; no entanto, as pr\u00e1ticas recomendadas se aplicam a todos os sistemas de computador.<\/p>\n\n\n\r\n    <nav data-content-type=\"longform\" class=\"toc-block longform-spacings px-5 py-6 px-md-6 px-lg-7 py-md-7 bg-light fs-sm rounded-lg\" aria-labelledby=\"toc-title-7425\"><p class=\"h5 m-0\" id=\"toc-title-7425\">\u00cdndice<\/p><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">01<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#checklist-de-seguranca-de-rede\">Checklist de seguran\u00e7a de rede<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">02<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#vulnerabilidades-de-software\">Vulnerabilidades de software<\/a><a class=\"scrollme link-body-color\" href=\"#como-se-proteger-contra-vulnerabilidades-de-software\">Como se proteger contra vulnerabilidades de software<\/a><a class=\"scrollme link-body-color\" href=\"#como-reduzir-os-danos-de-vulnerabilidades-de-software\">Como reduzir os danos de vulnerabilidades de software<\/a><a class=\"scrollme link-body-color\" href=\"#resumo\">Resumo<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">03<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#protecao-de-rede\">Prote\u00e7\u00e3o de rede<\/a><a class=\"scrollme link-body-color\" href=\"#o-que-e-protecao-de-rede\">O que \u00e9 prote\u00e7\u00e3o de rede?<\/a><a class=\"scrollme link-body-color\" href=\"#como-reduzir-danos-pela-protecao-de-rede\">Como reduzir danos pela prote\u00e7\u00e3o de rede<\/a><a class=\"scrollme link-body-color\" href=\"#resumo\">Resumo<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">04<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#seguranca-do-firewall-de-rede\">Seguran\u00e7a do firewall de rede<\/a><a class=\"scrollme link-body-color\" href=\"#como-revisar-as-regras-de-firewall\">Como revisar as regras de firewall<\/a><a class=\"scrollme link-body-color\" href=\"#resumo\">Resumo<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">05<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#login-remoto\">Login remoto<\/a><a class=\"scrollme link-body-color\" href=\"#descricao\">Descri\u00e7\u00e3o<\/a><a class=\"scrollme link-body-color\" href=\"#resumo\">Resumo<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">06<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#limites-de-confianca\">Limites de confian\u00e7a<\/a><a class=\"scrollme link-body-color\" href=\"#descricao\">Descri\u00e7\u00e3o<\/a><a class=\"scrollme link-body-color\" href=\"#fortalecimento-do-endpoint-de-api\">Fortalecimento do endpoint de API<\/a><a class=\"scrollme link-body-color\" href=\"#fortalecimento-do-endpoint-de-servico-e-todo-o-resto\">Fortalecimento do endpoint de servi\u00e7o (e todo o resto)<\/a><a class=\"scrollme link-body-color\" href=\"#resumo\">Resumo<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">07<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#monitoramento-e-registro\">Monitoramento e registro<\/a><a class=\"scrollme link-body-color\" href=\"#descricao\">Descri\u00e7\u00e3o<\/a><a class=\"scrollme link-body-color\" href=\"#registros-gerais-de-aplicativos\">Registros gerais de aplicativos<\/a><a class=\"scrollme link-body-color\" href=\"#registros-de-sistema\">Registros de sistema<\/a><a class=\"scrollme link-body-color\" href=\"#resumo\">Resumo<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">08<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#uso-de-criptografia\">Uso de criptografia<\/a><a class=\"scrollme link-body-color\" href=\"#descricao\">Descri\u00e7\u00e3o<\/a><a class=\"scrollme link-body-color\" href=\"#resumo\">Resumo<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">09<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#backups\">Backups<\/a><a class=\"scrollme link-body-color\" href=\"#descricao\">Descri\u00e7\u00e3o<\/a><a class=\"scrollme link-body-color\" href=\"#resumo\">Resumo<\/a><\/div><\/div><\/nav>\n\n\n<p class=\"wp-block-paragraph\">Executar sua infraestrutura em uma configura\u00e7\u00e3o segura \u00e9 uma tarefa complexa at\u00e9 mesmo para profissionais de seguran\u00e7a. Este guia oferece conselhos pr\u00e1ticos para ajudar a equipe de engenharia a construir uma infraestrutura seguindo pr\u00e1ticas recomendadas de seguran\u00e7a, para que possa implantar seus servi\u00e7os na internet p\u00fablica com confian\u00e7a e reduzir as chances de comprometimento. Este guia \u00e9 voltado especificamente para sistemas baseados em Linux; no entanto, as pr\u00e1ticas recomendadas se aplicam a todos os sistemas de computador.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Parte de executar uma infraestrutura com confian\u00e7a \u00e9 entender contra o que e contra quem voc\u00ea a est\u00e1 protegendo. Este guia ter\u00e1, futuramente, tr\u00eas vers\u00f5es (B\u00e1sica, Intermedi\u00e1ria e Avan\u00e7ada), com cada vers\u00e3o focada em defender sua infraestrutura contra um perfil de ataque diferente. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Voc\u00ea est\u00e1 lendo a vers\u00e3o B\u00e1sica, que visa proteger contra ataques automatizados e script kiddies que entendem mais de ferramentas de explora\u00e7\u00e3o do que de t\u00e9cnicas de explora\u00e7\u00e3o. Esse tipo de amea\u00e7a \u00e9 mais oportunista do que direcionado e passa rapidamente para alvos mais f\u00e1ceis. <b>Se voc\u00ea est\u00e1 administrando um projeto paralelo ou come\u00e7ando uma empresa, este \u00e9 o melhor ponto de partida e ajudar\u00e1 a criar uma base s\u00f3lida sobre a qual construir.<\/b><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ao ler este guia, considere o perfil de quem pode atacar e os tipos de ataques contra os quais voc\u00ea quer se defender. As pr\u00e1ticas recomendadas que voc\u00ea segue ou n\u00e3o dependem do que est\u00e1 tentando defender e de contra quem est\u00e1 tentando se defender.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Checklist de seguran\u00e7a de rede<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Este guia segue estes princ\u00edpios norteadores em sua discuss\u00e3o sobre seguran\u00e7a de software:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><b>Defender, detectar e reagir. <\/b>Isso significa aplicar boas pr\u00e1ticas de seguran\u00e7a para defender sua infraestrutura, registrar todos os comportamentos suspeitos e, em caso de comprometimento, restaurar para um estado seguro.<\/li>\n\n\n\n<li><b>Todo software pode ser explorado.<\/b> Todo software n\u00e3o trivial tem falhas que permitem que uma amea\u00e7a com motiva\u00e7\u00e3o suficiente o explore.<\/li>\n\n\n\n<li><b>Simplicidade \u00e9 seguran\u00e7a. <\/b>Sistemas muito complexos se tornam mais dif\u00edceis para a equipe de desenvolvimento compreender e mais f\u00e1ceis para as amea\u00e7as explorarem. Sistemas mais simples, que podem ser compreendidos logicamente, costumam ser mais seguros. N\u00e3o implemente uma solu\u00e7\u00e3o de seguran\u00e7a que voc\u00ea n\u00e3o entende.<\/li>\n\n\n\n<li><b>Obscuridade n\u00e3o \u00e9 seguran\u00e7a. <\/b>Confie na seguran\u00e7a dos protocolos que voc\u00ea usa para defender sua infraestrutura, n\u00e3o em portas obscuras e outros truques para tentar esconder protocolos inseguros.<\/li>\n\n\n\n<li><b>Considere todas as entradas de usu\u00e1rio como hostis. <\/b>Considere todas as entradas aceitas de usu\u00e1rios como hostis e verifique rigorosamente o que voc\u00ea aceita.<\/li>\n\n\n\n<li><b>Princ\u00edpio do menor privil\u00e9gio. <\/b>Forne\u00e7a o privil\u00e9gio m\u00ednimo necess\u00e1rio para que alguma opera\u00e7\u00e3o ocorra. Se um processo ou sistema for explorado, voc\u00ea n\u00e3o vai querer permitir que o ataque obtenha mais acessos do que o minimamente necess\u00e1rio.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Vulnerabilidades de software<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Como se proteger contra vulnerabilidades de software<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Aplicar agressivamente atualiza\u00e7\u00f5es de seguran\u00e7a para softwares que voc\u00ea n\u00e3o escreveu pode parecer uma maneira ruim de proteger sua infraestrutura e talvez at\u00e9 in\u00fatil. No entanto, \u00e9 um dos melhores investimentos de tempo que voc\u00ea pode fazer, sob a perspectiva de seguran\u00e7a. Abaixo est\u00e3o dois exemplos de problemas de seguran\u00e7a recentes que <b>ataques pouco sofisticados usando ferramentas automatizadas podem explorar se voc\u00ea n\u00e3o atualizou seus servidores<\/b> com os patches de seguran\u00e7a mais recentes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><i>Heartbleed<\/i>: permite roubar seus certificados privados e descriptografar o tr\u00e1fego criptografado<\/li>\n\n\n\n<li><i>Shellshock<\/i>: permite executar remotamente c\u00f3digos arbitr\u00e1rios em seus servidores<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Apenas esses dois problemas j\u00e1 dariam a um ataque o controle total de toda a sua infraestrutura. Felizmente, atenuar esses bugs <b>n\u00e3o \u00e9 dif\u00edcil<\/b>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Como reduzir os danos de vulnerabilidades de software <\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Aplique consistentemente as atualiza\u00e7\u00f5es de seguran\u00e7a fornecidas pelo fornecedor do seu sistema operacional. A maioria dos fornecedores tem um m\u00e9todo automatizado. Por exemplo, para sistemas baseados em Debian, voc\u00ea pode usar o\u00a0<a href=\"https:\/\/wiki.debian.org\/UnattendedUpgrades\" target=\"_tabs\" rel=\"noopener noreferrer\"><i>Unattended Upgrades<\/i><\/a><i>,<\/i>e para sistemas baseados em Red Hat, voc\u00ea pode usar o\u00a0<a href=\"http:\/\/fedoraproject.org\/wiki\/AutoUpdates\" target=\"_tabs\" rel=\"noopener noreferrer\"><i>AutoUpdates<\/i><\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A aplica\u00e7\u00e3o automatizada de patches \u00e9 \u00f3tima; no entanto, ela tem uma poss\u00edvel desvantagem (para o seu neg\u00f3cio) se voc\u00ea n\u00e3o testar o seu software antes de aplicar os patches nos servidores de produ\u00e7\u00e3o: <b>as coisas podem quebrar inesperadamente<\/b>. Por mais que quem mant\u00e9m os pacotes tente garantir que as atualiza\u00e7\u00f5es de seguran\u00e7a n\u00e3o contenham mudan\u00e7as que quebrem tudo, n\u00e3o h\u00e1 como testar todas as combina\u00e7\u00f5es que podem estar em execu\u00e7\u00e3o em algum lugar antes do lan\u00e7amento. \u00c9 por isso que \u00e9 importante ter um sistema de integra\u00e7\u00e3o cont\u00ednua\/implanta\u00e7\u00e3o cont\u00ednua (CI\/CD) de teste (staging) ou testar manualmente as atualiza\u00e7\u00f5es de seguran\u00e7a antes de implement\u00e1-las nos servidores de produ\u00e7\u00e3o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Apenas aplicar essas atualiza\u00e7\u00f5es de seguran\u00e7a n\u00e3o \u00e9 o suficiente, no entanto. Se o problema estiver em uma biblioteca compartilhada, voc\u00ea usar\u00e1 a vers\u00e3o antiga da biblioteca e ainda estar\u00e1 vulner\u00e1vel \u00e0 explora\u00e7\u00e3o at\u00e9 reiniciar o processo vinculado a ela. Para verificar se h\u00e1 algum bin\u00e1rio que precisa de reinicializa\u00e7\u00e3o, voc\u00ea pode usar\u00a0<a href=\"http:\/\/manpages.debian.org\/cgi-bin\/man.cgi?query=checkrestart\" target=\"_tabs\" rel=\"noopener noreferrer\"><i>checkrestart<\/i><\/a>\u00a0para sistemas baseados em Debian e\u00a0<a href=\"http:\/\/man7.org\/linux\/man-pages\/man1\/needs-restarting.1.html\" target=\"_tabs\" rel=\"noopener noreferrer\"><i>needs-restarting<\/i><\/a>\u00a0para sistemas baseados em Red Hat.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Resumo<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>FA\u00c7A: Aplique patches em seus servidores contra as vulnerabilidades de seguran\u00e7a mais recentes.<\/li>\n\n\n\n<li>FA\u00c7A: Use atualiza\u00e7\u00f5es autom\u00e1ticas do fornecedor do seu SO sempre que poss\u00edvel.<\/li>\n\n\n\n<li>FA\u00c7A: Reinicie todos os servi\u00e7os que dependem de bibliotecas compartilhadas atualizadas.<\/li>\n\n\n\n<li>N\u00c3O FA\u00c7A: Implemente atualiza\u00e7\u00f5es em um servidor sem executar testes.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Prote\u00e7\u00e3o de rede<b> <\/b><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">O que \u00e9 prote\u00e7\u00e3o de rede? <\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Proteger o seu aplicativo usando recursos no n\u00edvel do SO \u00e9 uma abordagem eficaz para <b>limitar o escopo dos danos que podem ser causados<\/b> ap\u00f3s explorarem uma vulnerabilidade nele. Esta se\u00e7\u00e3o foca em usar os recursos tradicionais de controle de acesso do Unix, que a maioria dos usu\u00e1rios j\u00e1 conhece, para restringir o seu aplicativo ao conjunto m\u00ednimo de acesso necess\u00e1rio para operar. Os recursos s\u00e3o permiss\u00f5es em arquivos, identificador de usu\u00e1rio (UID) e acesso root.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O objetivo desta se\u00e7\u00e3o n\u00e3o \u00e9 fortalecer seu aplicativo a ponto de impossibilitar seu comprometimento por amea\u00e7as. Esse \u00e9 um objetivo quase imposs\u00edvel. O objetivo \u00e9 limitar o que podem fazer depois que o seu aplicativo for comprometido. Ap\u00f3s explorarem seu aplicativo, ser\u00e1 poss\u00edvel realizar a\u00e7\u00f5es como se fosse o seu aplicativo e, possivelmente, at\u00e9 elevar privil\u00e9gios para root, o que permite o acesso total e completo ao seu sistema operacional. O objetivo, em vez disso, \u00e9 <b>restringir as a\u00e7\u00f5es que seu aplicativo pode realizar ao conjunto limitado necess\u00e1rio para operar<\/b>, o que consequentemente restringe a amea\u00e7a.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Como reduzir danos pela prote\u00e7\u00e3o de rede <\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Voc\u00ea quer restringir o seu aplicativo de modo que, mesmo que um processo seja explorado e um c\u00f3digo seja executado como essa conta de usu\u00e1rio, o usu\u00e1rio tenha direitos de acesso limitados no sistema de arquivos. O mesmo conceito se aplica ao processo sob o qual a conta est\u00e1 sendo executada: restrinja o tempo de CPU, a mem\u00f3ria e a contagem de descritores de arquivo para mitigar ataques do tipo DOS, nos quais seus recursos s\u00e3o esgotados. O objetivo \u00e9 <b>for\u00e7ar a amea\u00e7a a usar um ataque de encaminhamento de privil\u00e9gios<\/b> (explorar outra parte do sistema operacional para elevar os privil\u00e9gios al\u00e9m do aplicativo em execu\u00e7\u00e3o) <b>para fazer qualquer coisa significativa no seu sistema.<\/b><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para restringir a conta em que o seu aplicativo \u00e9 executado, use as seguintes diretrizes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Nunca execute seu aplicativo como root ou como usu\u00e1rio que tenha recursos do sudo. Se o seu aplicativo for explorado, isso significa na pr\u00e1tica que a amea\u00e7a pode obter privil\u00e9gios de root.<\/li>\n\n\n\n<li>Se voc\u00ea tiver v\u00e1rios aplicativos, e cada um acessar dados confidenciais diferentes, considere executar cada um em sua pr\u00f3pria conta e usar os privil\u00e9gios do sistema de arquivos para isolar o acesso a dados confidenciais entre eles. Isso significa que os dados confidenciais do aplicativo nunca devem ter outras permiss\u00f5es configuradas que permitam acesso de leitura e grava\u00e7\u00e3o a qualquer pessoa. Por exemplo, nunca defina permiss\u00f5es para um valor como <code>0777<\/code>; em vez disso, use um valor como <code>0660<\/code>.<\/li>\n\n\n\n<li>Certifique-se de que tanto o usu\u00e1rio do aplicativo quanto o grupo tenham privil\u00e9gios limitados. Isso significa criar um novo usu\u00e1rio limitado e um grupo para a conta e n\u00e3o fornecer um shell para o usu\u00e1rio. Suponha que voc\u00ea tenha um aplicativo chamado <code>foo<\/code>. Crie um usu\u00e1rio chamado <code>fooapp <\/code>e transforme seu diret\u00f3rio inicial em <code>\/var\/appdata\/fooapp<\/code>: <code>sudo useradd -r -s \/bin\/false --home \/var\/appdata\/fooapp fooapp sudo mkdir \/var\/appdata\/fooapp sudo chown fooapp:fooapp \/var\/appdata\/fooapp<\/code><\/li>\n\n\n\n<li>Transforme seu aplicativo em daemon para que ele seja iniciado automaticamente como um usu\u00e1rio espec\u00edfico. Existem duas abordagens gerais para resolver esse problema. A primeira \u00e9 usar os recursos do sistema operacional (como scripts de inicializa\u00e7\u00e3o do System V (<a href=\"https:\/\/blog.hazrulnizam.com\/create-init-script-centos-6\/\" target=\"_tabs\" rel=\"noopener noreferrer\">Red Hat<\/a> \/ <a href=\"https:\/\/wiki.debian.org\/Daemon\" target=\"_tabs\" rel=\"noopener noreferrer\">Debian<\/a>) ou systemd (<a href=\"https:\/\/access.redhat.com\/documentation\/en-US\/Red_Hat_Enterprise_Linux\/7\/html\/System_Administrators_Guide\/chap-Managing_Services_with_systemd.html\" target=\"_tabs\" rel=\"noopener noreferrer\">Red Hat<\/a>\/ <a href=\"https:\/\/wiki.debian.org\/systemd\" target=\"_tabs\" rel=\"noopener noreferrer\">Debian<\/a>) para iniciar e parar seu aplicativo e, em seguida, usar uma ferramenta de monitoramento de processos (como <a href=\"https:\/\/mmonit.com\/monit\" target=\"_tabs\" rel=\"noopener noreferrer\">monit<\/a>) para reiniciar seu aplicativo se ele falhar. A outra abordagem \u00e9 usar um sistema de controle de processos (como <a href=\"http:\/\/supervisord.org\" target=\"_tabs\" rel=\"noopener noreferrer\">supervisord<\/a>, <a href=\"http:\/\/skarnet.org\/software\/s6\" target=\"_tabs\" rel=\"noopener noreferrer\">skarnet s6<\/a>, <a href=\"http:\/\/cr.yp.to\/daemontools.html\" target=\"_tabs\" rel=\"noopener noreferrer\">daemontools<\/a>) que inicializa seu aplicativo como filho e tamb\u00e9m o reinicia se houver alguma falha. Ambas as abordagens funcionam muito bem, e a escolha depender\u00e1 de qual se adequa melhor ao seu fluxo de trabalho.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Para restringir o processo que executa seu aplicativo, <b>use as seguintes diretrizes<\/b>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Atribua limites por processo usando o arquivo <code>\/etc\/security\/limits.conf <\/code>. Por exemplo, se voc\u00ea quiser limitar o n\u00famero de descritores de arquivo abertos a 10 e limitar a mem\u00f3ria a 1 GB, adicione as seguintes linhas ao arquivo <code>\/etc\/security\/limits.conf <\/code>:<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><code>fooapp hard nofile 10  # limite de 10 descritores de arquivo abertos fooapp hard as 1000000 # limite de 1 GB<\/code><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>N\u00e3o vincule seu aplicativo a uma porta baixa. Normalmente, voc\u00ea deve executar seu aplicativo com privil\u00e9gios administrativos para fazer isso. Em vez disso, vincule a um n\u00famero de porta alto e use um proxy reverso para encaminhar suas solicita\u00e7\u00f5es para o seu aplicativo. Em seguida, use os recursos do Linux para permitir que seu proxy reverso se vincule a uma porta baixa sem outros privil\u00e9gios. Por exemplo, se voc\u00ea tiver um proxy reverso em\u00a0<code>\/opt\/rproxy<\/code>, poder\u00e1 definir seus recursos da seguinte forma:<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><code>setcap 'cap_net_bind_service=+ep' \/opt\/rproxy<\/code><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Por fim, considere usar <code>chroot<\/code>, mas saiba que h\u00e1 certa carga extra de manuten\u00e7\u00e3o necess\u00e1ria. O <code>chroot <\/code> permite que voc\u00ea limite o escopo do que um processo pode ver no sistema de arquivos; especificamente, ele altera o diret\u00f3rio raiz para um diret\u00f3rio de sua escolha. Por exemplo, se voc\u00ea definir <code>\/var\/chroot <\/code> como seu novo diret\u00f3rio raiz, os processos ver\u00e3o arquivos em <code>\/var\/chroot <\/code> como <code>\/<\/code>. Embora isso seja mais seguro, significa que quaisquer bibliotecas compartilhadas que o seu processo possa usar devem ser copiadas e residir em <code>\/var\/chroot<\/code>, o que consequentemente significa que sempre que voc\u00ea aplicar atualiza\u00e7\u00f5es de seguran\u00e7a, precisar\u00e1 tamb\u00e9m copiar novamente quaisquer bibliotecas compartilhadas atualizadas. V<b>oc\u00ea pode evitar essa manuten\u00e7\u00e3o com links f\u00edsicos (hard links), mas assim oferecer\u00e1 um caminho externo que pode ser explorado.<\/b> <\/b>Outras abordagens (baseadas em cgroup) que voc\u00ea pode tomar para obter benef\u00edcios parecidos ser\u00e3o discutidas na vers\u00e3o intermedi\u00e1ria deste guia.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Resumo<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>FA\u00c7A: Crie uma conta restrita para executar seu aplicativo, o que significa n\u00e3o ter shell e acesso limitado ao sistema de arquivos.<\/li>\n\n\n\n<li>FA\u00c7A: Vincule seu aplicativo a uma porta alta, permitindo que voc\u00ea o execute como um usu\u00e1rio sem privil\u00e9gios.<\/li>\n\n\n\n<li>FA\u00c7A: Use recursos em vez do root sempre que puder.<\/li>\n\n\n\n<li>N\u00c3O FA\u00c7A: Use chroot, a menos que esteja pronto para assumir o trabalho extra de manuten\u00e7\u00e3o.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Seguran\u00e7a do firewall de rede <\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Como revisar as regras de firewall <\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Regras rigorosas de firewall permitem que voc\u00ea defina qual comunica\u00e7\u00e3o de entrada e de sa\u00edda \u00e9 permitida em seus servidores. Come\u00e7ar com uma pol\u00edtica de nega\u00e7\u00e3o padr\u00e3o e permitir apenas a entrada e sa\u00edda de tr\u00e1fego espec\u00edfico for\u00e7a voc\u00ea a pensar sobre o conjunto m\u00ednimo de servi\u00e7os que deseja expor, o que, consequentemente, reduz o risco de ataques. <b>Um processo falho n\u00e3o pode expor toda a sua infraestrutura ao p\u00fablico em geral, a menos que voc\u00ea permita especificamente.<\/b><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esta se\u00e7\u00e3o foca nas regras de firewall de entrada e nas configura\u00e7\u00f5es da pilha TCP\/IP. Embora regras de firewall de sa\u00edda sejam muito eficazes para limitar at\u00e9 onde um ataque pode ir depois de entrar na sua infraestrutura, a pr\u00f3xima vers\u00e3o deste guia focar\u00e1 nelas.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Mitiga\u00e7\u00e3o<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Primeiras regras de firewall. Ao construir um script para regras de firewall, use os seguintes princ\u00edpios norteadores.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Exclua as regras de firewall existentes. Ao desenvolver regras de firewall, voc\u00ea quer ter uma ideia coerente do que est\u00e1 bloqueando e permitindo. Descartar todas as regras existentes e come\u00e7ar do zero possibilita isso.<\/li>\n\n\n\n<li>Defina a regra padr\u00e3o para o tr\u00e1fego de entrada como DROP. Isso segue o <b><i>princ\u00edpio do menor privil\u00e9gio<\/i><\/b>. Ap\u00f3s definir a pol\u00edtica padr\u00e3o como DROP, voc\u00ea poder\u00e1 abrir lentamente sua rede, parte por parte.<\/li>\n\n\n\n<li>Permita o livre acesso \u00e0 interface de loopback. Ao contr\u00e1rio das interfaces externas, vincular seu processo ao localhost costuma ser bom para a seguran\u00e7a e, portanto, restringir o acesso \u00e0 interface de loopback causa mais danos do que benef\u00edcios. Isso deixa voc\u00ea com a guarda aberta a ataques de algum usu\u00e1rio local, mas esse \u00e9 um risco que voc\u00ea precisa avaliar por conta pr\u00f3pria.<\/li>\n\n\n\n<li>N\u00e3o encerre conex\u00f5es estabelecidas. Voc\u00ea quer evitar o encerramento da sua pr\u00f3pria conex\u00e3o SSH com um servidor e garantir que qualquer solicita\u00e7\u00e3o em andamento possa ser conclu\u00edda antes de ser encerrada.<\/li>\n\n\n\n<li>N\u00e3o restrinja todo o tr\u00e1fego de Protocolo de Mensagem de Controle da Internet (ICMP). Permitir o ICMP \u00e9 fundamental para que a internet funcione; roteadores e hosts o usam para comunicar informa\u00e7\u00f5es importantes, como disponibilidade de servi\u00e7o, tamanhos de pacote e exist\u00eancia de host. Os tipos 3 e 4, Destino Inalcan\u00e7\u00e1vel (Destination Unreachable) e Extin\u00e7\u00e3o da Fonte (Source Quench), s\u00e3o essenciais, e <b>restringi-los causar\u00e1 mais danos do que ganhos no futuro.<\/b> Se voc\u00ea se preocupa em permitir que a sua rede seja mapeada por invas\u00f5es, um meio-termo sensato \u00e9 primeiro limitar a taxa de todo o tr\u00e1fego ICMP e, depois, permitir um subconjunto restrito de tr\u00e1fego ICMP em seus hosts de borda, al\u00e9m de permitir o acesso irrestrito para comunica\u00e7\u00e3o interna entre hosts.<\/li>\n\n\n\n<li>Aplique verifica\u00e7\u00f5es de seguran\u00e7a b\u00e1sicas. Alguns tr\u00e1fegos de entrada n\u00e3o t\u00eam prop\u00f3sito leg\u00edtimo; restrinja esse tr\u00e1fego. Se voc\u00ea sofrer ataques de um tipo espec\u00edfico de tr\u00e1fego repetidas vezes, pode ser \u00fatil transformar isso na sua pr\u00f3pria cadeia, caso se pegue adicionando frequentemente regras a esta se\u00e7\u00e3o.<\/li>\n\n\n\n<li>A n\u00e3o ser que voc\u00ea esteja de fato usando IPv6 e tenha como plano construir regras de firewall para tr\u00e1fego IPv6, <b>restrinja todo o tr\u00e1fego IPv6 de entrada<\/b>.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Abaixo est\u00e1 um script comentado que atinge todos esses objetivos:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Abaixo est\u00e1 um pequeno script para o tr\u00e1fego IPv6:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Essas regras agora est\u00e3o em execu\u00e7\u00e3o na mem\u00f3ria, e voc\u00ea precisa se certificar de que elas ser\u00e3o carregadas na pr\u00f3xima vez que o sistema operacional for reiniciado. Para sistemas baseados em Debian, isso significa adicionar suas regras de firewall ao\u00a0<a href=\"https:\/\/wiki.debian.org\/iptables\" target=\"_tabs\" rel=\"noopener noreferrer\">\/etc\/network\/ip-pre-up.d\/<\/a>\u00a0ou adicionar um comando pre-up ao\u00a0<a href=\"https:\/\/help.ubuntu.com\/community\/IptablesHowTo\" target=\"_tabs\" rel=\"noopener noreferrer\">\/etc\/network\/interfaces<\/a>. Para sistemas Red Hat, isso geralmente \u00e9 feito usando o\u00a0<a href=\"http:\/\/docs.fedoraproject.org\/en-US\/Fedora\/html\/Security_Guide\/sect-Security_Guide-IPTables-Saving_IPTables_Rules.html\" target=\"_tabs\" rel=\"noopener noreferrer\">\/sbin\/service iptables<\/a>\u00a0comando save.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Al\u00e9m disso, a seguinte prote\u00e7\u00e3o\/ajuste de pilha TCP\/IP \u00e9 recomendada:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Se voc\u00ea estiver usando regras de firewall stateful, como no exemplo anterior, n\u00e3o se esque\u00e7a de aumentar o n\u00famero m\u00e1ximo de conex\u00f5es poss\u00edveis de se rastrear. Caso contr\u00e1rio, voc\u00ea pode sofrer um ataque distribu\u00eddo de nega\u00e7\u00e3o de servi\u00e7o (DDoS).<\/li>\n\n\n\n<li>Use SYN Cookies para evitar ataques DoS do tipo SYN flood. <a href=\"http:\/\/security.stackexchange.com\/a\/20917\" target=\"_tabs\" rel=\"noopener noreferrer\">Thomas Pornin fornece uma \u00f3tima explica\u00e7\u00e3o sobre o que s\u00e3o ataques SYN flood<\/a> e como os SYN cookies mitigam esse tipo de ataque.<\/li>\n\n\n\n<li>Registre todos os <a href=\"https:\/\/en.wikipedia.org\/wiki\/Martian_packet\" target=\"_tabs\" rel=\"noopener noreferrer\">pacotes marcianos<\/a> porque \u00e9 bastante prov\u00e1vel que qualquer pacote vindo de um endere\u00e7o de origem ou destino n\u00e3o rote\u00e1vel seja malicioso.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Voc\u00ea pode testar todas as configura\u00e7\u00f5es acima com o seguinte script:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para manter essas configura\u00e7\u00f5es ap\u00f3s a reinicializa\u00e7\u00e3o, atualize o\u00a0<code>\/etc\/sysctl.conf<\/code>:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Resumo<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>FA\u00c7A: Negue tr\u00e1fego por padr\u00e3o. Permita explicitamente apenas o tr\u00e1fego que voc\u00ea sabe que deve atravessar sua rede.<\/li>\n\n\n\n<li>N\u00c3O FA\u00c7A: Restrinja unilateralmente o ICMP.<\/li>\n\n\n\n<li>FA\u00c7A: Permita o livre acesso \u00e0 interface de loopback.<\/li>\n\n\n\n<li>FA\u00c7A: Force algumas verifica\u00e7\u00f5es de seguran\u00e7a b\u00e1sicas.<\/li>\n\n\n\n<li>FA\u00c7A: Garanta que suas regras sejam carregadas na reinicializa\u00e7\u00e3o.<\/li>\n\n\n\n<li>FA\u00c7A: Ajuste sua pilha TCP\/IP para aumentar o n\u00famero de conex\u00f5es rastreadas e se proteger contra SYN floods.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Login remoto<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Descri\u00e7\u00e3o<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Para login remoto, \u00e9 importante garantir n\u00e3o apenas que a comunica\u00e7\u00e3o com os seus servidores seja criptografada, mas tamb\u00e9m que somente usu\u00e1rios autorizados tenham acesso a eles. Abaixo est\u00e3o os objetivos t\u00edpicos ao proteger o login remoto:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Forne\u00e7a <b>acesso limitado a usu\u00e1rios<\/b> para que o comprometimento de uma conta de usu\u00e1rio n\u00e3o comprometa toda a sua infraestrutura.<\/li>\n\n\n\n<li>Criptografia forte garante que a comunica\u00e7\u00e3o n\u00e3o seja lida por invasores interceptando dados (eavesdropper).<\/li>\n\n\n\n<li>N\u00e3o deve ser poss\u00edvel usar t\u00e9cnicas de for\u00e7a bruta para fazer login nos seus servidores.<\/li>\n\n\n\n<li>Mesmo se a sua chave for comprometida, ningu\u00e9m deve conseguir obter acesso \u00e0 sua infraestrutura.<\/li>\n\n\n\n<li>Em caso de t\u00e9cnicas de for\u00e7a bruta, a amea\u00e7a <b>n\u00e3o deve conseguir esgotar os recursos do servidor<\/b>.<\/li>\n\n\n\n<li>Somente usu\u00e1rios autorizados devem ter acesso aos seus servidores.<\/li>\n\n\n\n<li>N\u00e3o deve existir nenhum login para contas administrativas de prop\u00f3sito geral. Todas as a\u00e7\u00f5es administrativas devem ser feitas por meio de alguma forma de encaminhamento de privil\u00e9gios (<code>sudo<\/code>) para registrar as a\u00e7\u00f5es realizadas.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">A falha em cumprir qualquer um desses objetivos pode representar um risco de seguran\u00e7a. Uma criptografia fraca (ou nenhuma) pode permitir que amea\u00e7as visualizem sua comunica\u00e7\u00e3o. A autentica\u00e7\u00e3o fraca pode permitir que usu\u00e1rios n\u00e3o autorizados acessem os seus sistemas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por sorte, o Secure Shell (SSH) mitiga a maior parte desses riscos e, com alguns pequenos ajustes em seus sistemas, todos eles podem ser mitigados.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Mitiga\u00e7\u00e3o<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Para come\u00e7ar, gere a sua chave SSH corretamente garantindo o uso de um tamanho de chave que seja grande o suficiente e que sua chave esteja protegida por frase secreta (passphrase). Voc\u00ea pode fazer isso usando o\u00a0<code>ssh-keygen<\/code>:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>ssh-keygen -t rsa -b 4096 -C foo@example.com  <\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Em seguida, quando solicitado, digite uma frase secreta! Uma frase secreta garante que, mesmo que algu\u00e9m roube a sua chave, n\u00e3o consiga us\u00e1-la sem saber tamb\u00e9m a sua frase secreta.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O OpenSSH tem uma configura\u00e7\u00e3o padr\u00e3o razo\u00e1vel que \u00e9 bem segura. No entanto, algumas distribui\u00e7\u00f5es podem enfraquecer esses padr\u00f5es em prol da interoperabilidade do OpenSSH com servidores legados. A configura\u00e7\u00e3o a seguir apenas garante que esses\u00a0<b>padr\u00f5es razo\u00e1veis sejam aplicados pela sua vers\u00e3o do OpenSSH<\/b>. Para informa\u00e7\u00f5es mais detalhadas sobre a configura\u00e7\u00e3o do OpenSSH, confira\u00a0<a href=\"https:\/\/wiki.mozilla.org\/Security\/Guidelines\/OpenSSH\" target=\"_tabs\" rel=\"noopener noreferrer\">O guia de configura\u00e7\u00e3o para OpenSSH da Mozilla<\/a>\u00a0e a p\u00e1gina\u00a0<a href=\"http:\/\/wiki.centos.org\/HowTos\/Network\/SecuringSSH\" target=\"_tabs\" rel=\"noopener noreferrer\">Prote\u00e7\u00e3o do SSH<\/a>\u00a0para o CentOS. Ambos s\u00e3o excelentes recursos e vamos nos basear nessas configura\u00e7\u00f5es nas vers\u00f5es futuras deste guia.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No servidor, certifique-se de ter as seguintes linhas no arquivo\u00a0<code>\/etc\/ssh\/sshd_config<\/code>:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esta configura\u00e7\u00e3o atinge os seguintes objetivos:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>O Protocol 2 garante que voc\u00ea esteja usando uma vers\u00e3o segura do protocolo SSH. <a href=\"http:\/\/www.snailbook.com\/faq\/ssh-1-vs-2.auto.html\" target=\"_tabs\" rel=\"noopener noreferrer\">A vers\u00e3o 1 do protocolo tem v\u00e1rios problemas e \u00e9 considerada quebrada<\/a>.<\/li>\n\n\n\n<li><code>PasswordAuthentication no <\/code> e <code>PubkeyAuthentication yes <\/code> for\u00e7am o uso de criptografia de chave p\u00fablica, e n\u00e3o de senhas, para a autentica\u00e7\u00e3o em seus servidores. Apesar da possibilidade de criar uma senha forte, se ela tiver sido gerada aleatoriamente com 2048 bits de forma codificada em ASCII, <a href=\"https:\/\/www.yahoo.com\/tech\/here-are-500-passwords-you-probably-shouldnt-be-using-96467697789.html\" target=\"_tabs\" rel=\"noopener noreferrer\">mais senhas s\u00e3o ruins<\/a> e <b>tamanhos de senha comumente usados t\u00eam um espa\u00e7o de busca muito menor do que o de uma chave grande<\/b>.<\/li>\n\n\n\n<li><code>PermitRootLogin no <\/code> desabilita a capacidade de fazer login remotamente como usu\u00e1rio root. Embora isso n\u00e3o seja um problema diretamente explor\u00e1vel, desabilitar esse login remoto ajuda voc\u00ea a manter bons registros de auditoria para entender o que est\u00e1 acontecendo nos seus servidores. A conta root age como uma conta administrativa compartilhada, o que limita a sua capacidade de auditar qual usu\u00e1rio est\u00e1 realizando qual a\u00e7\u00e3o privilegiada. Se voc\u00ea for\u00e7ar todos os usu\u00e1rios a passar por suas pr\u00f3prias contas, <b>ter\u00e1 um rastro audit\u00e1vel de qual usu\u00e1rio executou qual a\u00e7\u00e3o<\/b>. Detalhes sobre como configurar o registro de auditoria s\u00e3o fornecidos em uma se\u00e7\u00e3o posterior.<\/li>\n\n\n\n<li><code>LogLevel VERBOSE <\/code> registra o usu\u00e1rio e a impress\u00e3o digital da chave que fez uma tentativa de autentica\u00e7\u00e3o. Novamente, essa configura\u00e7\u00e3o n\u00e3o mitiga diretamente uma explora\u00e7\u00e3o, mas \u00e9 boa para auditoria.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">No cliente, certifique-se de ter as seguintes linhas no arquivo\u00a0<code>\/etc\/ssh\/ssh_config<\/code>:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esta configura\u00e7\u00e3o atinge os seguintes objetivos:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>O Protocol 2 garante que voc\u00ea esteja usando uma vers\u00e3o segura do protocolo SSH. <a href=\"http:\/\/www.snailbook.com\/faq\/ssh-1-vs-2.auto.html\" target=\"_tabs\" rel=\"noopener noreferrer\">A vers\u00e3o 1 do protocolo tem v\u00e1rios problemas e \u00e9 considerada quebrada<\/a>.<\/li>\n\n\n\n<li><code>HashKnownHosts yes <\/code> criptografa (hashes) nomes de host e endere\u00e7os no seu arquivo <code>~\/.ssh\/known_hosts <\/code>. Mesmo que uma amea\u00e7a roube seu arquivo de hosts conhecidos, n\u00e3o poder\u00e1 simplesmente enumerar os hosts aos quais voc\u00ea se conecta com sua chave.<\/li>\n\n\n\n<li><code>StrictHostKeyChecking ask <\/code> verifica a chave apresentada a voc\u00ea em rela\u00e7\u00e3o \u00e0quela do seu arquivo <code>~\/.ssh\/known_hosts <\/code> e, se ela tiver sido alterada (ou se for a primeira vez que voc\u00ea est\u00e1 visitando aquele host), perguntar\u00e1 se voc\u00ea aceitar\u00e1 a chave. <b>Isso ajuda a mitigar ataques do tipo man-in-the-middle.<\/b><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Por fim, d\u00ea aos usu\u00e1rios acesso limitado \u00e0 sua infraestrutura. Por exemplo, nem todos os usu\u00e1rios precisam de acesso aos seus servidores de backup; s\u00f3 d\u00ea acesso aos usu\u00e1rios que realmente sabem como restaurar backups. Isso garante que mesmo se a conta de um usu\u00e1rio sem capacidade de backup for comprometida, a integridade dos seus backups n\u00e3o estar\u00e1 em risco.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para realizar isso, duas das abordagens comuns s\u00e3o:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Contas de usu\u00e1rio locais. Nesta abordagem, voc\u00ea cria contas Unix locais para seus usu\u00e1rios e cria as contas apenas nos servidores aos quais precisam ter acesso. Voc\u00ea pode usar os comandos <code>newusers <\/code> e <code>userdel <\/code> para atingir esse objetivo, al\u00e9m de automatizar e orquestrar as a\u00e7\u00f5es usando ferramentas de gerenciamento de configura\u00e7\u00f5es como <a href=\"https:\/\/www.chef.io\" target=\"_tabs\" rel=\"noopener noreferrer\">Chef<\/a> ou <a href=\"http:\/\/www.ansible.com\" target=\"_tabs\" rel=\"noopener noreferrer\">Ansible<\/a>.<\/li>\n\n\n\n<li>Servi\u00e7o de autentica\u00e7\u00e3o centralizado como <a href=\"https:\/\/en.wikipedia.org\/wiki\/Lightweight_Directory_Access_Protocol\" target=\"_tabs\" rel=\"noopener noreferrer\">LDAP<\/a>. Com essa abordagem, os servidores aos quais cada usu\u00e1rio tem acesso s\u00e3o definidos e armazenados na configura\u00e7\u00e3o do servidor LDAP.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Resumo<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>FA\u00c7A: Proteja sua chave por frase secreta (passphrase).<\/li>\n\n\n\n<li>N\u00c3O FA\u00c7A: Presuma que sua distribui\u00e7\u00e3o tenha padr\u00f5es aceit\u00e1veis. Defina estritamente o que \u00e9 importante para sua infraestrutura.<\/li>\n\n\n\n<li>FA\u00c7A: Use criptografia baseada em chave p\u00fablica para autentica\u00e7\u00e3o em vez de autentica\u00e7\u00e3o baseada em senha.<\/li>\n\n\n\n<li>N\u00c3O FA\u00c7A: D\u00ea a todos os usu\u00e1rios acesso irrestrito; determine o escopo de acesso \u00e0s partes da infraestrutura que s\u00e3o necess\u00e1rias.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Limites de confian\u00e7a<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Descri\u00e7\u00e3o<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Limites de confian\u00e7a s\u00e3o locais comuns para a ocorr\u00eancia de vulnerabilidades de seguran\u00e7a. O limite entre o mundo exterior e a sua infraestrutura interna \u00e9 sagrado, e voc\u00ea deve fazer o m\u00e1ximo poss\u00edvel para defend\u00ea-lo e garantir que apenas usu\u00e1rios autorizados consigam ultrapass\u00e1-lo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><b>Voc\u00ea deve se preocupar com dois limites de confian\u00e7a principais.<\/b> O primeiro \u00e9 o limite entre a internet p\u00fablica e o seu endpoint de API; \u00e9 o limite que seus clientes cruzar\u00e3o todos os dias ao usarem o seu servi\u00e7o. O segundo \u00e9 um ponto de acesso que ser\u00e1 usado pela sua equipe de desenvolvimento e administra\u00e7\u00e3o de sistema na hora de implantar e consertar o seu aplicativo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para o limite de confian\u00e7a da API que seus clientes percorrer\u00e3o, voc\u00ea deve considerar todas as entradas de usu\u00e1rio como hostis e assumir que cada solicita\u00e7\u00e3o feita \u00e9, na verdade, uma tentativa de explorar a sua infraestrutura. Ao pensar em solicita\u00e7\u00f5es de usu\u00e1rios dessa forma, fica claro que \u00e9 preciso minimizar a superf\u00edcie de ataque fornecida e isolar os danos que podem ocorrer quando algu\u00e9m que usa o sistema finalmente explora o seu servi\u00e7o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para o limite de confian\u00e7a que voc\u00ea cruza para atender aos seus aplicativos, \u00e9 bom isolar todos os seus servi\u00e7os para que eles n\u00e3o sejam expostos \u00e0 internet p\u00fablica e, em seguida, for\u00e7ar os usu\u00e1rios que os acessam a partir da internet a passarem por um ponto de acesso bem protegido que voc\u00ea consiga defender (vamos cham\u00e1-lo de host basti\u00e3o). Voc\u00ea pode concentrar todos os seus recursos nesse \u00fanico ponto de acesso e ter menos preocupa\u00e7\u00e3o sobre como os seus servi\u00e7os se comunicam quando est\u00e3o dentro daquele limite de confian\u00e7a.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Mitiga\u00e7\u00e3o<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Para mitigar esses problemas de limite de confian\u00e7a, \u00e9 preciso imaginar as caixas distintas nas quais voc\u00ea pode posicionar a internet p\u00fablica e a sua infraestrutura (confira o diagrama a seguir). Depois de estabelecer isso, voc\u00ea poder\u00e1 come\u00e7ar a pensar em como defender a sua infraestrutura.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A primeira caixa grande \u00e9 a internet p\u00fablica. Voc\u00ea nunca deve confiar em ningu\u00e9m nem em nada na internet p\u00fablica. Na verdade, \u00e9 recomend\u00e1vel considerar todos os agentes na internet p\u00fablica como hostis, mesmo quando for sua pr\u00f3pria equipe fazendo SSH nos seus servidores.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A segunda caixa grande \u00e9 a sua infraestrutura interna. Estes s\u00e3o os seus hosts confi\u00e1veis. Servi\u00e7os executados nestes servidores devem escutar somente em interfaces de rede privada se poss\u00edvel, n\u00e3o sendo diretamente expostos \u00e0 internet p\u00fablica.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><b>As duas caixas que abrangem ambos s\u00e3o o seu host de salto (jump host) e os seus hosts de API. <\/b>Estes hosts devem ter acesso tanto \u00e0 internet p\u00fablica quanto \u00e0 sua infraestrutura interna. Por estarem diretamente expostos \u00e0 internet p\u00fablica, devem ser protegidos e executar o conjunto m\u00ednimo de servi\u00e7os necess\u00e1rios para cumprir suas tarefas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Fortalecimento do endpoint de API<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Apesar de n\u00e3o podermos esperar que nenhum servi\u00e7o seja livre de bugs, podemos limitar o quanto uma amea\u00e7a pode explorar sua infraestrutura ao encontrar uma vulnerabilidade no servi\u00e7o. \u00c9 por isso que recomendamos isolar os servi\u00e7os que aceitam solicita\u00e7\u00f5es de entrada e execut\u00e1-los nos seus pr\u00f3prios servidores dedicados.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Voc\u00ea pode realizar isso <b>dividindo as solicita\u00e7\u00f5es de entrada em duas partes<\/b>: o balanceamento de carga e a termina\u00e7\u00e3o de Transport Layer Security (TLS) para solicita\u00e7\u00f5es de entrada, al\u00e9m do processamento da solicita\u00e7\u00e3o pelo seu pr\u00f3prio servi\u00e7o. Ambos devem ser, no m\u00ednimo, seus pr\u00f3prios processos, e idealmente devem rodar em servidores diferentes, deixando o balanceamento de carga e a termina\u00e7\u00e3o de TLS no limite de N\u00e3o confi\u00e1vel\/Confi\u00e1vel. Esta se\u00e7\u00e3o focar\u00e1 no balanceamento e na termina\u00e7\u00e3o de carga (a prote\u00e7\u00e3o do aplicativo foi abordada na se\u00e7\u00e3o anterior).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ao separar o balanceamento de carga e a termina\u00e7\u00e3o de TLS do seu aplicativo, voc\u00ea est\u00e1 limitando a possibilidade de que um bug no balanceador de carga ou no software de TLS evolua para a explora\u00e7\u00e3o de todo o seu aplicativo, que normalmente ter\u00e1 informa\u00e7\u00f5es confidenciais carregadas na mem\u00f3ria. Isso tamb\u00e9m fornece um ponto \u00fanico de manuten\u00e7\u00e3o (e de falha) para aplicar patches quando uma vulnerabilidade for encontrada e voc\u00ea precisar fazer upgrade de sua biblioteca TLS, o que est\u00e1 se tornando uma tarefa cada vez mais comum.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por exemplo, digamos que uma amea\u00e7a tenha um bug de Execu\u00e7\u00e3o de C\u00f3digo Remoto (RCE) como o GHOST ou um bug de leitura de mem\u00f3ria arbitr\u00e1ria (como o Heartbleed) no seu servidor HTTP ou no software de TLS. Se o seu servidor HTTP, a termina\u00e7\u00e3o de TLS e a l\u00f3gica de aplicativo estiverem todos no mesmo processo, um bug em qualquer um deles dar\u00e1 \u00e0 amea\u00e7a acesso a informa\u00e7\u00f5es confidenciais das outras partes. Por exemplo, um bug no OpenSSL pode dar a uma amea\u00e7a o acesso a chaves confidenciais carregadas na mem\u00f3ria do seu aplicativo. Da mesma forma, um bug em seu aplicativo pode dar a uma amea\u00e7a acesso aos seus certificados SSL. <b>Por\u00e9m, ao separar essas partes, se uma for explorada, a outra n\u00e3o ser\u00e1, e a perda se restringir\u00e1 a apenas\u00a0<\/b><b><i>alguns<\/i><\/b><b>\u00a0dados confidenciais.<\/b><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para o balanceamento de carga, escolhas comuns s\u00e3o NGINX,\u00a0<a href=\"http:\/\/www.haproxy.org\/\" target=\"_tabs\" rel=\"noopener noreferrer\">HAProxy<\/a>, e\u00a0<a href=\"http:\/\/httpd.apache.org\/\" target=\"_tabs\" rel=\"noopener noreferrer\">Apache<\/a>. A termina\u00e7\u00e3o TLS geralmente \u00e9 feita com o\u00a0<a href=\"https:\/\/www.openssl.org\/\" target=\"_tabs\" rel=\"noopener noreferrer\">OpenSSL<\/a>; no entanto, alternativas como o\u00a0<a href=\"http:\/\/www.libressl.org\/\" target=\"_tabs\" rel=\"noopener noreferrer\">LibreSSL<\/a>\u00a0e\u00a0<a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Mozilla\/Projects\/NSS\" target=\"_tabs\" rel=\"noopener noreferrer\">Mozilla NSS<\/a>\u00a0tamb\u00e9m existem. Outra alternativa \u00e9 usar algo como o\u00a0<a href=\"https:\/\/github.com\/mailgun\/vulcand\" target=\"_tabs\" rel=\"noopener noreferrer\">vulcand<\/a>, que atua como balanceador de carga e usa a biblioteca TLS Go para termina\u00e7\u00e3o TLS.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Fortalecimento do endpoint de servi\u00e7o (e todo o resto)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c9 poss\u00edvel fortalecer o seu endpoint de servi\u00e7o restringindo o acesso aos seus servidores partindo da internet p\u00fablica e for\u00e7ando todas as autentica\u00e7\u00f5es a passarem por um\u00a0<i>jump host<\/i>. Essa restri\u00e7\u00e3o geralmente \u00e9 obtida sem expor diretamente a sua infraestrutura \u00e0 internet p\u00fablica e, no lugar disso, construindo algum tipo de rede interna que s\u00f3 pode ser acessada por meio do host basti\u00e3o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">H\u00e1 muitas formas de construir uma rede interna, e sua abordagem depender\u00e1 bastante de <b>como sua infraestrutura est\u00e1 configurada<\/b> pelo seu provedor de servi\u00e7os e tamb\u00e9m das suas prefer\u00eancias.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por exemplo, imagine que voc\u00ea hospede seus servidores na Amazon Web Services (AWS). Ent\u00e3o voc\u00ea pode come\u00e7ar com uma\u00a0<a href=\"http:\/\/aws.amazon.com\/vpc\" target=\"_tabs\" rel=\"noopener noreferrer\">Virtual Private Cloud<\/a>\u00a0(VPC) com uma \u00fanica sub-rede p\u00fablica. Seus servidores ficar\u00e3o isolados de outros servidores na AWS e residir\u00e3o em seu pr\u00f3prio bloco CIDR\u00a0<code>10.0.0.0\/16<\/code>. No entanto, eles ainda ter\u00e3o acesso irrestrito \u00e0 internet. Para restringir o acesso partindo da internet, crie\u00a0<a href=\"http:\/\/docs.aws.amazon.com\/AWSEC2\/latest\/UserGuide\/using-network-security.html\" target=\"_tabs\" rel=\"noopener noreferrer\">Grupos de seguran\u00e7a<\/a>que restrinjam tanto as portas que ficam abertas quanto os servidores que podem acess\u00e1-las. Por exemplo, voc\u00ea configuraria seus worker hosts para aceitarem conex\u00f5es nas portas 22 e 80, mas apenas do seu jump host e balanceador de carga, respectivamente. Seu servidor de salto, no entanto, aceitaria conex\u00f5es na porta 22 de qualquer servidor na internet p\u00fablica.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se o seu provedor de servi\u00e7os n\u00e3o fornece essas ferramentas, \u00e9 poss\u00edvel alcan\u00e7ar os mesmos resultados desde que haja suporte a algum tipo de rede privada, seja compartilhada ou dedicada, que possibilite isolar o tr\u00e1fego p\u00fablico e o privado. Esse recurso normalmente \u00e9 oferecido pela maioria dos fornecedores: como mencionado antes, a Amazon o chama de VPC, a Rackspace o chama de\u00a0<a href=\"http:\/\/www.rackspace.com\/knowledge_center\/frequently-asked-question\/what-is-servicenet\" target=\"_tabs\" rel=\"noopener noreferrer\">ServiceNet<\/a>, e a Digital Ocean o chama de\u00a0<a href=\"https:\/\/www.digitalocean.com\/blog\/introducing-private-networking\/\" target=\"_tabs\" rel=\"noopener noreferrer\">Private Networking<\/a>. Todas oferecem basicamente a mesma capacidade: <b>ao construir o seu servidor virtual, voc\u00ea pode vincul\u00e1-lo \u00e0 interface p\u00fablica, \u00e0 interface privada, ou a ambas<\/b>. Se o seu provedor de servi\u00e7os n\u00e3o tiver essa capacidade no momento da cria\u00e7\u00e3o, voc\u00ea poder\u00e1 habilitar e desabilitar essas interfaces por conta pr\u00f3pria no arquivo\u00a0<code>\/etc\/network\/interfaces<\/code>\u00a0em um sistema baseado em Debian e no arquivo\u00a0<code>\/etc\/sysconfig\/network-scripts\/ifcfg*<\/code>\u00a0em um sistema baseado em Red Hat.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Quando tiver servidores com interfaces p\u00fablicas e privadas, use o\u00a0<code>iptables<\/code>\u00a0para restringir o tr\u00e1fego de entrada em interfaces publicamente acess\u00edveis aos servidores que atuam como jump hosts ou executam a API acess\u00edvel de forma p\u00fablica. Os servidores que lidam com todos os servi\u00e7os internos, como o seu aplicativo e o servidor de banco de dados, n\u00e3o permitem qualquer tr\u00e1fego de entrada em interfaces p\u00fablicas e restringem o tr\u00e1fego de entrada nas interfaces privadas ao conjunto de servidores confi\u00e1veis.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Depois que voc\u00ea alcan\u00e7ar isso, a \u00fanica maneira de amea\u00e7as explorarem a sua infraestrutura usando a internet p\u00fablica ser\u00e1 por meio do host basti\u00e3o protegido ou explorando sua API de alguma maneira.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por fim, para acessar esses servidores, n\u00e3o use o\u00a0<code>ssh-agent<\/code>; em vez disso, use o\u00a0<code>ProxyCommand<\/code>. Apesar de o\u00a0<code>ssh-agent<\/code>\u00a0ter suas utilidades, ele n\u00e3o \u00e9 bom para este caso de uso espec\u00edfico. Se o usasse, qualquer pessoa que tivesse uma explora\u00e7\u00e3o local de encaminhamento de privil\u00e9gios para o seu servidor basti\u00e3o poderia acessar qualquer servidor na sua infraestrutura fingindo ser qualquer um que tivesse chaves carregadas na mem\u00f3ria pelo\u00a0<code>ssh-agent<\/code>. Em contrapartida, com o\u00a0<code>ProxyCommand<\/code>, suas chaves n\u00e3o ficar\u00e3o na mem\u00f3ria para que algu\u00e9m as roube e sua chave privada ficar\u00e1 exclusivamente na sua esta\u00e7\u00e3o de trabalho local; <b>apenas a sua chave p\u00fablica ser\u00e1 copiada para cada servidor ao qual voc\u00ea precisa de acesso.<\/b><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para usar o\u00a0<code>ProxyCommand<\/code>, copie sua chave p\u00fablica para\u00a0<code>~\/.ssh\/authorized_hosts<\/code>\u00a0em todos os servidores aos quais precisa de acesso. Em seguida, em sua esta\u00e7\u00e3o de trabalho, atualize seu arquivo\u00a0<code>~\/.ssh\/config<\/code>\u00a0com as seguintes informa\u00e7\u00f5es:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Essa configura\u00e7\u00e3o permite acessar os servidores\u00a0<code>server1.example.com<\/code>\u00a0e\u00a0<code>server2.example.com<\/code>\u00a0a partir de\u00a0<code>workstation.example.com<\/code>\u00a0via SSH nas interfaces privadas deles &#8220;saltando&#8221; atrav\u00e9s de jump.example.com, que tem acesso tanto \u00e0 interface p\u00fablica quanto \u00e0 privada. Tudo o que voc\u00ea precisa fazer para se conectar \u00e9 digitar\u00a0<code>ssh server1.example.com<\/code>\u00a0ou\u00a0<code>ssh server2.example.com<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Resumo<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>FA\u00c7A: Use um balanceador de carga para separar o servidor HTTP de aplicativo do servidor HTTP voltado para o p\u00fablico.<\/li>\n\n\n\n<li>FA\u00c7A: Fa\u00e7a a termina\u00e7\u00e3o do TLS no balanceador de carga.<\/li>\n\n\n\n<li>FA\u00c7A: Use um jump host protegido para controlar o acesso \u00e0 sua infraestrutura.<\/li>\n\n\n\n<li>N\u00c3O FA\u00c7A: Use agente SSH se puder evitar. Ele deixa todas as suas chaves possivelmente expostas se algu\u00e9m tiver uma explora\u00e7\u00e3o local de encaminhamento de privil\u00e9gios.<\/li>\n\n\n\n<li>FA\u00c7A: Use as interfaces p\u00fablicas e privadas que o seu provedor disponibiliza para isolar seus servi\u00e7os internos da internet p\u00fablica.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Monitoramento e registro<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Descri\u00e7\u00e3o<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Toda medida de seguran\u00e7a pode e ser\u00e1 burlada em algum momento. Como n\u00e3o existem medidas de seguran\u00e7a pr\u00e1ticas que ofere\u00e7am garantias infal\u00edveis, \u00e9 importante ter mecanismos robustos de monitoramento e de registros (logging) que ajudem a entender onde e como os seus sistemas foram comprometidos. Quanto mais voc\u00ea entende como e o que est\u00e1 sendo executado em seus sistemas, melhor ser\u00e1 a detec\u00e7\u00e3o de comportamentos an\u00f4malos. Da mesma forma que um banco instala c\u00e2meras de seguran\u00e7a mesmo com cofres protegidos, ter boas ferramentas de monitoramento \u00e9 fundamental para pegar cibercriminosos espertos que tenham superado as suas medidas de seguran\u00e7a.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><b>Monitoramento e registros ocorrem de duas formas<\/b>. A primeira \u00e9 o monitoramento ao vivo, que permite a voc\u00ea ver o que est\u00e1 acontecendo no seu sistema a qualquer momento. Isso engloba tudo, desde os soquetes de rede que est\u00e3o abertos at\u00e9 os processos que est\u00e3o em execu\u00e7\u00e3o no momento. A segunda diz respeito aos dados de registro de a\u00e7\u00f5es que j\u00e1 foram realizadas. Isso abrange tudo, desde o registro da l\u00f3gica de aplicativos at\u00e9 os registros do sistema.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nesta se\u00e7\u00e3o, falaremos sobre a visualiza\u00e7\u00e3o de registros do sistema nos pr\u00f3prios servidores individuais. Na vers\u00e3o intermedi\u00e1ria deste guia, abordaremos o tema de agrega\u00e7\u00e3o e alertas de registros.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Mitiga\u00e7\u00e3o<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">As ferramentas a seguir v\u00eam inclu\u00eddas na maioria dos sistemas operacionais baseados em UNIX. Elas s\u00e3o \u00fateis de se usar quando voc\u00ea suspeita de que um incidente de seguran\u00e7a est\u00e1 ocorrendo, mas tamb\u00e9m s\u00e3o fundamentais de se usar com anteced\u00eancia, para que voc\u00ea entenda as sa\u00eddas normais de cada uma.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Monitoramento ao vivo<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Abaixo h\u00e1 alguns comandos e suas sa\u00eddas esperadas em condi\u00e7\u00f5es normais de opera\u00e7\u00e3o. Esses exemplos ilustram como deve ser a sa\u00edda no s<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>who<\/code>\u00a0\u2013 Mostra quem est\u00e1 conectado no momento. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>last -a\u00a0<\/code>\u2013 Mostra uma lista dos \u00faltimos usu\u00e1rios conectados. Imprime o nome de usu\u00e1rio, a hora de conex\u00e3o, bem como os endere\u00e7os IP a partir dos quais os acessos foram feitos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>netstat -plntu<\/code>\u00a0\u2013 Mostra os nomes dos processos e as portas em que est\u00e3o escutando conex\u00f5es.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>netstat -ap<\/code>\u00a0\u2013 Mostra um fluxo ao vivo de todas as conex\u00f5es, incluindo conex\u00f5es de sa\u00edda estabelecidas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>find \/ -mtime -1 -ls | head -n 20<\/code>\u00a0\u2013 Lista os 20 principais arquivos modificados nas \u00faltimas 24 horas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>faillog -a<\/code>\u00a0para ver um resumo de falhas de login. Isto tamb\u00e9m \u00e9 \u00fatil para limitar o n\u00famero m\u00e1ximo de logins com falha de um usu\u00e1rio.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>tcpdump -i eth1 -s 0 -A tcp port http <\/code>\u2013 Despeja todo o tr\u00e1fego HTTP na interface <code>eth1<\/code>. Isso \u00e9 \u00fatil caso voc\u00ea tenha encontrado algo suspeito ao usar o <code>netstat <\/code> e deseje ir mais a fundo. Este guia n\u00e3o pode apresentar a voc\u00ea todos os detalhes do <code>tcpdump<\/code>, <b>mas h\u00e1 uma <\/b><a href=\"http:\/\/bencane.com\/2014\/10\/13\/quick-and-practical-reference-for-tcpdump\" target=\"_tabs\" rel=\"noopener noreferrer\"><b>variedade de recursos<\/b><\/a><b> na internet para ajudar voc\u00ea a entender o <\/b><b><code>tcpdump<\/code><\/b>.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Monitoramento de registros<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Abaixo est\u00e3o algumas regras gerais para lidar com registros (logging) de aplicativos e ponteiros para registros importantes do sistema.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Registros gerais de aplicativos<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Agregue seus registros de aplicativo em um local central, seja um \u00fanico arquivo de registro ou um diret\u00f3rio. A abordagem mais comum para isso \u00e9 usar o\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/Syslog\" target=\"_tabs\" rel=\"noopener noreferrer\"><i>syslog<\/i><\/a>\u00a0para essa finalidade. O uso do syslog facilitar\u00e1 no futuro o envio dos registros para um servidor central de registros.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><b>Mantenha seus registros enquanto o espa\u00e7o em disco permitir<\/b>. Manter os registros por at\u00e9 90 dias no disco n\u00e3o \u00e9 irrazo\u00e1vel se voc\u00ea tiver espa\u00e7o para isso.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Registros de sistema<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Assim como no monitoramento ao vivo, \u00e9 uma boa ideia acompanhar os seguintes arquivos de registro do sistema de forma cont\u00ednua para desenvolver uma boa base de sa\u00edda esperada. Ter uma base torna a detec\u00e7\u00e3o de comportamentos suspeitos muito mais f\u00e1cil no futuro. Abaixo est\u00e1 uma lista parcial de registros de sistema interessantes para se observar:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>\/var\/log\/auth.log <\/code>\u2013 Registros de autentica\u00e7\u00e3o do sistema.<\/li>\n\n\n\n<li><code>\/var\/log\/syslog <\/code>\u2013 Se voc\u00ea n\u00e3o estiver enviando registros para um recurso syslog espec\u00edfico, eles ser\u00e3o colocados aqui.<\/li>\n\n\n\n<li><code>\/var\/log\/messages <\/code>\u2013 Mensagens gerais de registro do sistema.<\/li>\n\n\n\n<li><code>~\/.bash_history <\/code>\u2013 Lista de comandos Bash que foram executados pelo usu\u00e1rio. Este registro pode ser manipulado ou apagado facilmente em ataques sofisticados.<\/li>\n\n\n\n<li><code>\/var\/log\/utmp <\/code> e <code>\/var\/log\/wtmp <\/code>\u2013 Estes registros cont\u00eam os usu\u00e1rios conectados no momento e o hist\u00f3rico de todos os usu\u00e1rios j\u00e1 conectados. Use <code>last -f  <\/code> para visualizar estes arquivos.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Resumo<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Aprenda alguns comandos b\u00e1sicos que podem ajudar voc\u00ea a descobrir o que est\u00e1 acontecendo nos seus servidores no momento. Estes comandos incluem <code>who<\/code>, <code>last<\/code>, <code>lsof<\/code>, <code>netstat<\/code>, <code>faillog<\/code> e <code>find<\/code>.<\/li>\n\n\n\n<li>Descubra o que voc\u00ea precisa registrar. Os registros n\u00e3o t\u00eam utilidade se n\u00e3o capturarem eventos cr\u00edticos de seguran\u00e7a. No m\u00ednimo, monitore os seguintes arquivos: <code>\/var\/log\/auth.log<\/code>, <code>\/var\/log\/syslog<\/code> e <code>\/var\/log\/messages<\/code>.<\/li>\n\n\n\n<li>Comece a centralizar os seus registros o mais cedo poss\u00edvel. Usar o syslog agora, em vez de alguma estrutura de registro personalizada, facilitar\u00e1 o envio dos registros para um servidor de registros centralizado no futuro.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Uso de criptografia<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Descri\u00e7\u00e3o<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A criptografia \u00e9 um t\u00f3pico complexo que deveria ser abordado de forma separada. Mesmo os mais leves descuidos ou erros podem levar ao comprometimento completo da seguran\u00e7a de um produto. \u00c9 por isso que o mantra &#8220;n\u00e3o invente sua pr\u00f3pria criptografia&#8221; (don&#8217;t roll your own cryptography) \u00e9 t\u00e3o repetido. Duas boas fontes de leitura antes de voc\u00ea come\u00e7ar a trabalhar com criptografia s\u00e3o o\u00a0<a href=\"https:\/\/www.crypto101.io\/\" target=\"_tabs\" rel=\"noopener noreferrer\">Crypto101<\/a>\u00a0escrito por Laurens Van Houtven (lvh) e os\u00a0<a href=\"http:\/\/cryptopals.com\/\" target=\"_tabs\" rel=\"noopener noreferrer\">desafios de criptografia da Matasano<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dito isto, manter sua infraestrutura segura <b>requer algum uso de criptografia<\/b>, e existem padr\u00f5es comuns que podem ser usados com seguran\u00e7a. Esta se\u00e7\u00e3o abrange um desses padr\u00f5es: como armazenar dados confidenciais no c\u00f3digo-fonte (ou no disco).<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Mitiga\u00e7\u00e3o<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Ao armazenar credenciais, seja no controle de c\u00f3digo-fonte ou no disco, n\u00e3o as armazene sem criptografia. Voc\u00ea pode pensar que as suas senhas est\u00e3o seguras usando um reposit\u00f3rio privado do GitHub, mas n\u00e3o \u00e9 bom depender apenas do GitHub para manter toda a sua infraestrutura segura contra ataques. Criptografando suas credenciais, \u00e9 poss\u00edvel manter a seguran\u00e7a mesmo se o GitHub for comprometido.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ao procurar uma ferramenta ou biblioteca para criptografar pequenas quantidades de dados, considere as seguintes recomenda\u00e7\u00f5es:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use uma cifra sim\u00e9trica moderna. Dois candidatos comumente sugeridos s\u00e3o AES e Salsa20 (NaCl).<\/li>\n\n\n\n<li>Se a sua cifra sim\u00e9trica oferecer suporte a modos diferentes, selecione o modo com cuidado. Por exemplo, CBC \u00e9 um bom modo para se usar com AES, ao passo que ECB n\u00e3o \u00e9.<\/li>\n\n\n\n<li>Use um C\u00f3digo de Autentica\u00e7\u00e3o de Mensagem (MAC) para garantir que os dados criptografados n\u00e3o sofreram adultera\u00e7\u00e3o. HMAC-SHA-512 ou Poly1305 s\u00e3o bons candidatos.<\/li>\n\n\n\n<li>Use uma fonte de aleatoriedade de alta qualidade, o que normalmente significa usar <code>\/dev\/urandom <\/code> para obter n\u00fameros aleat\u00f3rios usados em chaves, salts e nonces.<\/li>\n\n\n\n<li>Se a biblioteca ou ferramenta funcionar com frases secretas (passphrases), garanta que ela usa uma KDF para transformar a frase em uma chave.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Voc\u00ea pode construir uma ferramenta de criptografia por conta pr\u00f3pria, mas como mencionado, <b>isso pode ser complicado e n\u00e3o \u00e9 o recomendado<\/b>. Entretanto, se insistir em constru\u00ed-la, use uma biblioteca como\u00a0<a href=\"http:\/\/nacl.cr.yp.to\/\" target=\"_tabs\" rel=\"noopener noreferrer\">NaCl<\/a>\u00a0ou\u00a0<a href=\"https:\/\/www.cryptography.io\/\" target=\"_tabs\" rel=\"noopener noreferrer\">cryptography.io<\/a>\u00a0para que ao menos voc\u00ea acerte na criptografia. No entanto, \u00e9 ainda melhor usar uma &#8220;receita&#8221; que algu\u00e9m j\u00e1 construiu para isso, como o\u00a0<a href=\"http:\/\/github.com\/mailgun\/lemma\" target=\"_tabs\" rel=\"noopener noreferrer\">lemma<\/a>\u00a0ou\u00a0<a href=\"https:\/\/cryptography.io\/en\/latest\/fernet\/\" target=\"_tabs\" rel=\"noopener noreferrer\">Fernet<\/a>\u00a0ambos exp\u00f5em uma API simples que pode ser usada para criptografar e descriptografar dados de maneira segura.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Resumo<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>N\u00c3O FA\u00c7A: Escolha aleatoriamente o modo da cifra sim\u00e9trica.<\/li>\n\n\n\n<li>FA\u00c7A: Use uma cifra sim\u00e9trica autenticada com um MAC.<\/li>\n\n\n\n<li>FA\u00c7A: Use <code>\/dev\/urandom <\/code> para gerar material aleat\u00f3rio.<\/li>\n\n\n\n<li>FA\u00c7A: Use uma &#8220;receita&#8221; pronta se voc\u00ea puder.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Backups<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Descri\u00e7\u00e3o<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Embora backups possam n\u00e3o parecer pertencer \u00e0 mesma categoria dos outros t\u00f3picos discutidos neste guia, eles importam igualmente para a seguran\u00e7a da infraestrutura. Os backups t\u00eam dois prop\u00f3sitos principais: a restaura\u00e7\u00e3o no caso de alguma falha de hardware n\u00e3o maliciosa e no caso de a infraestrutura ser comprometida por um ataque. Lembre-se, em caso de comprometimento, <b>\u00e9 melhor apagar o seu servidor e criar um novo do que tentar remover o malware<\/b>, o que pode ser uma tarefa dif\u00edcil ou at\u00e9 imposs\u00edvel para iniciantes. \u00c9 por isso que os backups s\u00e3o cruciais no caso de um comprometimento para trazer sua infraestrutura de volta a um estado confi\u00e1vel.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Mitiga\u00e7\u00e3o<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">As seguintes abordagens s\u00e3o uma boa estrat\u00e9gia geral a ser seguida ao trabalhar com backups:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>N\u00e3o deixe de proteger seus backups s\u00f3 porque n\u00e3o parecem ser essenciais para a miss\u00e3o do seu servi\u00e7o. Amea\u00e7as comumente focam em infraestrutura de backup justamente por esse motivo.<\/li>\n\n\n\n<li>Fa\u00e7a backups com a frequ\u00eancia adequada para as necessidades do seu neg\u00f3cio. Uma vez por dia \u00e9 razo\u00e1vel.<\/li>\n\n\n\n<li>Seus servidores de backup devem ter acesso limitado, e as contas existentes devem usar mecanismos de autentica\u00e7\u00e3o e autoriza\u00e7\u00e3o diferentes daqueles usados no restante da sua infraestrutura. Por exemplo, seus servidores de backup devem usar uma chave SSH diferente para fazer o login. Se voc\u00ea fizer essas coisas e seu ambiente principal for comprometido, ainda <b>ter\u00e1 backups confi\u00e1veis<\/b> dos quais poder\u00e1 restaurar.<\/li>\n\n\n\n<li>Se n\u00e3o quiser executar sua pr\u00f3pria infraestrutura de backup, fa\u00e7a backup em um reposit\u00f3rio de dados terceirizado como o Amazon S3. Vale notar que se for usar qualquer servi\u00e7o de terceiros, voc\u00ea dever\u00e1 criptografar seus backups antes de enviar os dados a eles. Trabalhe com a presun\u00e7\u00e3o de que o seu reposit\u00f3rio de dados \u00e9 p\u00fablico e use a criptografia para proteger os seus dados. Se voc\u00ea trabalhar com essa mentalidade, mesmo que seu host seja comprometido, seus dados estar\u00e3o seguros.<\/li>\n\n\n\n<li>Se estiver usando o Amazon S3 ou Rackspace CloudFiles, use uma receita de cifra autenticada como <a href=\"http:\/\/github.com\/mailgun\/lemma\" target=\"_tabs\" rel=\"noopener noreferrer\">lemma<\/a> ou <a href=\"https:\/\/cryptography.io\/en\/latest\/fernet\" target=\"_tabs\" rel=\"noopener noreferrer\">Fernet<\/a>. Se n\u00e3o quiser se preocupar com a criptografia, use um servi\u00e7o que criptografe seus dados no cliente e envie apenas blobs criptografados para o servi\u00e7o dele, como o <a href=\"http:\/\/www.tarsnap.com\" target=\"_tabs\" rel=\"noopener noreferrer\">Tarsnap<\/a>.<\/li>\n\n\n\n<li>Fa\u00e7a o backup de seus reposit\u00f3rios de c\u00f3digo-fonte, de qualquer software de terceiros usado pelo seu aplicativo e do seu banco de dados. O recente exemplo da FoundationDB ilustra a import\u00e2ncia de fazer o backup de todo software que voc\u00ea usa. <b>Os downloads de software podem ser revogados por quem os desenvolve a qualquer momento e por qualquer motivo.<\/b><\/li>\n\n\n\n<li>Embora os sistemas de controle de vers\u00e3o distribu\u00eddos (DVCSs) como o Git forne\u00e7am alguma redund\u00e2ncia, eles n\u00e3o substituem backups reais. Voc\u00ea n\u00e3o vai querer depender de uma ramifica\u00e7\u00e3o espec\u00edfica na esta\u00e7\u00e3o de trabalho de colegas para garantir a continuidade dos neg\u00f3cios.<\/li>\n\n\n\n<li>Fa\u00e7a o backup do banco de dados usando o m\u00e9todo que ele prescreve.<\/li>\n\n\n\n<li>Restaure partindo dos backups com a mesma frequ\u00eancia com que executa os pr\u00f3prios backups. Os backups n\u00e3o ter\u00e3o nenhuma utilidade se n\u00e3o forem us\u00e1veis. No cen\u00e1rio ideal, voc\u00ea poder\u00e1 executar alguns servi\u00e7os auxiliares que n\u00e3o requeiram os dados mais recentes de acordo com seus backups restaurados. Dessa forma, se algo der errado, voc\u00ea saber\u00e1 imediatamente.<\/li>\n\n\n\n<li>Garanta que <b>v\u00e1rias pessoas da sua equipe<\/b> consigam restaurar a partir dos backups. Voc\u00ea pode ser capaz de descobrir como restaurar seus backups, ou talvez n\u00e3o. Isso pode levar uma hora ou dez horas. \u00c9 melhor passar algumas horas a cada trimestre revisando a infraestrutura de backup com um colega de trabalho.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Resumo<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>N\u00c3O FA\u00c7A: Use as mesmas contas de seu ambiente principal para backups.<\/li>\n\n\n\n<li>FA\u00c7A: Realize backup de reposit\u00f3rios de origem, de softwares de terceiros e de bancos de dados.<\/li>\n\n\n\n<li>FA\u00c7A: Tente fazer a restaura\u00e7\u00e3o de backups com a mesma frequ\u00eancia com que voc\u00ea executa o procedimento de backup.<\/li>\n\n\n\n<li>FA\u00c7A: Execute servi\u00e7os auxiliares baseados em backups restaurados, se puder.<\/li>\n\n\n\n<li>N\u00c3O FA\u00c7A: Tenha um ponto \u00fanico de falha. Tenha v\u00e1rias pessoas na sua equipe que consigam fazer a restaura\u00e7\u00e3o de backups.<\/li>\n\n\n\n<li>FA\u00c7A: Criptografe seus backups com uma cifra autenticada. Use uma ferramenta como\u00a0<a href=\"http:\/\/github.com\/mailgun\/lemma\" target=\"_tabs\" rel=\"noopener noreferrer\">lemma<\/a>\u00a0ou\u00a0<a href=\"https:\/\/cryptography.io\/en\/latest\/fernet\" target=\"_tabs\" rel=\"noopener noreferrer\">Fernet<\/a>, ou uma solu\u00e7\u00e3o hospedada como o\u00a0<a href=\"http:\/\/www.tarsnap.com\/\" target=\"_tabs\" rel=\"noopener noreferrer\">Tarsnap<\/a>.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Executar sua infraestrutura em uma configura\u00e7\u00e3o segura \u00e9 uma tarefa complexa at\u00e9 mesmo para profissionais de seguran\u00e7a. Este guia oferece conselhos pr\u00e1ticos para ajudar a equipe de engenharia a construir uma infraestrutura seguindo pr\u00e1ticas recomendadas de seguran\u00e7a, para que possa implantar seus servi\u00e7os na internet p\u00fablica com confian\u00e7a e reduzir as chances de comprometimento. Este guia \u00e9 voltado especificamente para sistemas baseados em Linux; no entanto, as pr\u00e1ticas recomendadas se aplicam a todos os sistemas de computador.<\/p>\n","protected":false},"author":13,"featured_media":4843,"menu_order":0,"template":"","meta":{"_acf_changed":false,"footnotes":""},"blog_category":[23],"class_list":["post-24848","blog","type-blog","status-publish","has-post-thumbnail","hentry","blog_category-it-and-engineering"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Como proteger sua infraestrutura de invasores - Transactional Email API Service For Developers | Mailgun<\/title>\n<meta name=\"description\" content=\"O Mailgun analisa alguns conselhos pr\u00e1ticos para ajudar na cria\u00e7\u00e3o de infraestruturas seguras que propiciem implanta\u00e7\u00f5es confi\u00e1veis.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.mailgun.com\/pt\/blog\/it-and-engineering\/guia-seguranca-seguranca-basica-infraestrutura\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Como proteger sua infraestrutura de invasores - Transactional Email API Service For Developers | Mailgun\" \/>\n<meta property=\"og:description\" content=\"O Mailgun analisa alguns conselhos pr\u00e1ticos para ajudar na cria\u00e7\u00e3o de infraestruturas seguras que propiciem implanta\u00e7\u00f5es confi\u00e1veis.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mailgun.com\/pt\/blog\/it-and-engineering\/guia-seguranca-seguranca-basica-infraestrutura\/\" \/>\n<meta property=\"og:site_name\" content=\"Transactional Email API Service For Developers | Mailgun\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-IT-Engineering.png\" \/>\n\t<meta property=\"og:image:width\" content=\"720\" \/>\n\t<meta property=\"og:image:height\" content=\"448\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"29 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/blog\\\/it-and-engineering\\\/guia-seguranca-seguranca-basica-infraestrutura\\\/\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/blog\\\/it-and-engineering\\\/guia-seguranca-seguranca-basica-infraestrutura\\\/\",\"name\":\"Como proteger sua infraestrutura de invasores - Transactional Email API Service For Developers | Mailgun\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/blog\\\/it-and-engineering\\\/guia-seguranca-seguranca-basica-infraestrutura\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/blog\\\/it-and-engineering\\\/guia-seguranca-seguranca-basica-infraestrutura\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-IT-Engineering.png\",\"datePublished\":\"2026-09-16T17:52:27+00:00\",\"description\":\"O Mailgun analisa alguns conselhos pr\u00e1ticos para ajudar na cria\u00e7\u00e3o de infraestruturas seguras que propiciem implanta\u00e7\u00f5es confi\u00e1veis.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/blog\\\/it-and-engineering\\\/guia-seguranca-seguranca-basica-infraestrutura\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/blog\\\/it-and-engineering\\\/guia-seguranca-seguranca-basica-infraestrutura\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/blog\\\/it-and-engineering\\\/guia-seguranca-seguranca-basica-infraestrutura\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-IT-Engineering.png\",\"contentUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-IT-Engineering.png\",\"width\":720,\"height\":448},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/blog\\\/it-and-engineering\\\/guia-seguranca-seguranca-basica-infraestrutura\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/inicio\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Blog\",\"item\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Guia de seguran\u00e7a: como proteger sua infraestrutura contra ataques b\u00e1sicos\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/#website\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/\",\"name\":\"Transactional Email API Service For Developers | Mailgun\",\"description\":\"Poderosas APIs de e-mail transacional que permitem a voc\u00ea enviar, receber e rastrear e-mails, criadas com os desenvolvedores em mente. Saiba mais hoje mesmo!\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/#organization\",\"name\":\"Transactional Email API Service For Developers | Mailgun\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-android-chrome-512x512-1.png\",\"contentUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-android-chrome-512x512-1.png\",\"width\":512,\"height\":512,\"caption\":\"Transactional Email API Service For Developers | Mailgun\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/pt\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Como proteger sua infraestrutura de invasores - Transactional Email API Service For Developers | Mailgun","description":"O Mailgun analisa alguns conselhos pr\u00e1ticos para ajudar na cria\u00e7\u00e3o de infraestruturas seguras que propiciem implanta\u00e7\u00f5es confi\u00e1veis.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.mailgun.com\/pt\/blog\/it-and-engineering\/guia-seguranca-seguranca-basica-infraestrutura\/","og_locale":"pt_BR","og_type":"article","og_title":"Como proteger sua infraestrutura de invasores - Transactional Email API Service For Developers | Mailgun","og_description":"O Mailgun analisa alguns conselhos pr\u00e1ticos para ajudar na cria\u00e7\u00e3o de infraestruturas seguras que propiciem implanta\u00e7\u00f5es confi\u00e1veis.","og_url":"https:\/\/www.mailgun.com\/pt\/blog\/it-and-engineering\/guia-seguranca-seguranca-basica-infraestrutura\/","og_site_name":"Transactional Email API Service For Developers | Mailgun","og_image":[{"width":720,"height":448,"url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-IT-Engineering.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"29 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.mailgun.com\/pt\/blog\/it-and-engineering\/guia-seguranca-seguranca-basica-infraestrutura\/","url":"https:\/\/www.mailgun.com\/pt\/blog\/it-and-engineering\/guia-seguranca-seguranca-basica-infraestrutura\/","name":"Como proteger sua infraestrutura de invasores - Transactional Email API Service For Developers | Mailgun","isPartOf":{"@id":"https:\/\/www.mailgun.com\/pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.mailgun.com\/pt\/blog\/it-and-engineering\/guia-seguranca-seguranca-basica-infraestrutura\/#primaryimage"},"image":{"@id":"https:\/\/www.mailgun.com\/pt\/blog\/it-and-engineering\/guia-seguranca-seguranca-basica-infraestrutura\/#primaryimage"},"thumbnailUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-IT-Engineering.png","datePublished":"2026-09-16T17:52:27+00:00","description":"O Mailgun analisa alguns conselhos pr\u00e1ticos para ajudar na cria\u00e7\u00e3o de infraestruturas seguras que propiciem implanta\u00e7\u00f5es confi\u00e1veis.","breadcrumb":{"@id":"https:\/\/www.mailgun.com\/pt\/blog\/it-and-engineering\/guia-seguranca-seguranca-basica-infraestrutura\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mailgun.com\/pt\/blog\/it-and-engineering\/guia-seguranca-seguranca-basica-infraestrutura\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.mailgun.com\/pt\/blog\/it-and-engineering\/guia-seguranca-seguranca-basica-infraestrutura\/#primaryimage","url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-IT-Engineering.png","contentUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-IT-Engineering.png","width":720,"height":448},{"@type":"BreadcrumbList","@id":"https:\/\/www.mailgun.com\/pt\/blog\/it-and-engineering\/guia-seguranca-seguranca-basica-infraestrutura\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.mailgun.com\/pt\/inicio\/"},{"@type":"ListItem","position":2,"name":"Blog","item":"https:\/\/www.mailgun.com\/pt\/blog\/"},{"@type":"ListItem","position":3,"name":"Guia de seguran\u00e7a: como proteger sua infraestrutura contra ataques b\u00e1sicos"}]},{"@type":"WebSite","@id":"https:\/\/www.mailgun.com\/pt\/#website","url":"https:\/\/www.mailgun.com\/pt\/","name":"Transactional Email API Service For Developers | Mailgun","description":"Poderosas APIs de e-mail transacional que permitem a voc\u00ea enviar, receber e rastrear e-mails, criadas com os desenvolvedores em mente. Saiba mais hoje mesmo!","publisher":{"@id":"https:\/\/www.mailgun.com\/pt\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.mailgun.com\/pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.mailgun.com\/pt\/#organization","name":"Transactional Email API Service For Developers | Mailgun","url":"https:\/\/www.mailgun.com\/pt\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.mailgun.com\/pt\/#\/schema\/logo\/image\/","url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/06\/cropped-android-chrome-512x512-1.png","contentUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/06\/cropped-android-chrome-512x512-1.png","width":512,"height":512,"caption":"Transactional Email API Service For Developers | Mailgun"},"image":{"@id":"https:\/\/www.mailgun.com\/pt\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.mailgun.com\/pt\/wp-json\/wp\/v2\/blog\/24848","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mailgun.com\/pt\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.mailgun.com\/pt\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.mailgun.com\/pt\/wp-json\/wp\/v2\/users\/13"}],"version-history":[{"count":0,"href":"https:\/\/www.mailgun.com\/pt\/wp-json\/wp\/v2\/blog\/24848\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mailgun.com\/pt\/wp-json\/wp\/v2\/media\/4843"}],"wp:attachment":[{"href":"https:\/\/www.mailgun.com\/pt\/wp-json\/wp\/v2\/media?parent=24848"}],"wp:term":[{"taxonomy":"blog_category","embeddable":true,"href":"https:\/\/www.mailgun.com\/pt\/wp-json\/wp\/v2\/blog_category?post=24848"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}