Agora você é a parte a quem alguém escreve
Um leitor que quer saber quem visitou o seu site não começa pelo seu host. Começa por você, porque você é a única parte na cadeia com um interesse direto em manter o registro, um endereço legal para o qual se pode escrever, e nenhum relatório de transparência para publicar depois.
Essa é uma frase incômoda para uma empresa de hospedagem escrever, então aqui está a aritmética por trás dela. O inventário publicado aqui diz que os logs de acesso HTTP são destruídos em um temporizador de vinte e quatro horas e que nenhum histórico de endereços existe em lugar nenhum depois disso. Um servidor web padrão em uma máquina alugada conosco mantém o seu próprio log de acesso por cerca de uma quinzena, em um backup noturno por um ano, e ninguém definiu nenhum dos dois números de propósito. A escolha cuidadosa do host é desfeita por um padrão que ninguém leu.
O que uma linha de um log de acesso realmente contém
O formato padrão dos dois servidores web mais comuns está estável há vinte e cinco anos, e quase ninguém o lê como o registro de uma pessoa. Vale a pena lê-lo assim uma vez, porque cada campo abaixo é uma divulgação separada, e elas se somam.
| O campo | O que ele diz | O que ele pode identificar |
|---|---|---|
| O endereço do cliente | O endereço de onde a requisição chegou, por completo | Uma linha de assinante, identificável como uma residência ou um empregador pela parte que a atribuiu, e como uma cidade por qualquer um com um banco de dados |
| O timestamp, com precisão de segundo | Quando a requisição chegou, com o deslocamento de fuso horário | Um padrão de horários que é um dia de trabalho, depois uma região, depois uma rotina |
| A linha de requisição | O método, o caminho inteiro incluindo tudo depois do ponto de interrogação, e o protocolo | Todo token, identificador de sessão e link de uso único que já foi colocado em uma URL do seu site |
| O status e a contagem de bytes | Se funcionou, e quanto voltou | Qual documento foi servido. Um 200 de tamanho conhecido identifica a página mesmo quando a conexão foi criptografada |
| O endereço de referência | A página em que o leitor estava imediatamente antes | O link privado que lhe enviaram, o fórum que falou sobre você, e, nos referenciadores mais antigos, a pesquisa que a pessoa fez |
| O user agent | Navegador, versão, engine, sistema operacional, às vezes o modelo do dispositivo | Pouco sozinho e muito em combinação — é o primeiro campo de todo fingerprint já construído |
| O usuário autenticado | Quem quer que a sua aplicação ou o seu basic auth tenha escrito ali | Uma conta nomeada, unida a todos os seis campos acima, em uma única linha |
Sete campos, uma linha, escrita para cada requisição que um navegador faz — o que, para uma única visualização de página, costuma ficar entre vinte e oitenta linhas. Nada disso foi uma decisão. Tudo isso é um registro.
Nove lugares onde a sua própria stack registra um visitante
Quase toda discussão sobre registro de logs gira em torno da primeira linha. É a que as pessoas sabem que existe, e está longe de ser a coisa mais reveladora na máquina.
| Onde | O que ele registra | Quanto tempo costuma sobreviver |
|---|---|---|
| O log de acesso | Os sete campos acima, para cada requisição | Uma rotação que você não escolheu. Duas semanas é o padrão comum |
| O log de erros | Requisições que falharam ou foram recusadas, com o endereço, a URL completa e, com frequência, a página de referência | A mesma rotação, e ninguém nunca o abriu |
| O log da aplicação | O que quer que o seu framework tenha decidido que merecia uma linha: identificadores de conta, endereços de e-mail, às vezes um corpo de requisição inteiro | Até o disco encher, em boa parte das instalações |
| O log do banco de dados | Consultas lentas na íntegra, parâmetros incluídos | Até alguém perceber que ele está ativado |
| O log de e-mail | Todo endereço para o qual você enviou, todo endereço que retornou, e o momento em que cada um foi tentado | Uma rotação, mais o que quer que esteja preso na fila |
| O proxy ou CDN à frente | A mesma requisição de novo, em outra empresa, com o endereço real movido para um cabeçalho | A retenção dessa empresa, que não é a sua e não está publicada na sua página de privacidade |
| Análise | Uma visita, um endereço, uma tela, um referenciador e um caminho ordenado pelo site | Meses por padrão, anos se o padrão foi deixado como estava |
| O rastreador de erros | Um stack trace, o endereço que o disparou, e o que quer que estivesse no escopo quando isso aconteceu | O que quer que o plano pague |
| Todo backup dos oito itens acima | Tudo de novo, congelado no momento em que o snapshot rodou | A retenção do backup — invariavelmente o maior número desta tabela |
A última linha é a que derrota a maioria das boas intenções. Encurtar uma rotação de logs de quatorze dias para um muda o que está no disco e não muda absolutamente nada sobre a cópia que foi feita às três da manhã e que será mantida por um ano. Apagar um registro que você já replicou é uma mudança de local, não uma exclusão.
Os dois campos que revelam mais do que o endereço
O endereço é o campo sobre o qual todo mundo discute, e é o que tem a vida útil mais curta: ele muda, é compartilhado, e em uma rede móvel pertence a uma operadora, não a uma pessoa. Os dois campos ao lado dele são, discretamente, piores.
O endereço de referência descreve o leitor, não a requisição
Ele responde a uma pergunta que você nunca fez: onde essa pessoa estava um segundo atrás. Isso é o link de um documento privado que lhe foi encaminhado, um sistema interno de chamados, a pré-visualização de um cliente de e-mail, ou uma página de um site que ela não gostaria de ver associado ao seu. Os navegadores agora reduzem o caminho quando o destino é uma origem diferente, o que ajuda — e não faz absolutamente nada pelos links dentro do seu próprio site, onde o caminho completo ainda é enviado e ainda é registrado.
O user agent é a semente de um fingerprint
Sozinho, é uma multidão. Combinado com um endereço, um cabeçalho de idioma, uma ordem de requisições e um conjunto de formatos aceitos, é frequentemente um único visitante ao longo de semanas — sem cookie, sem consentimento, e sem que ninguém tenha decidido rastrear coisa alguma. Esse é o mecanismo que torna “nós só guardamos logs do servidor” uma frase mais fraca do que quem a diz acredita.
Segredos acabam no log porque estavam na URL
Esta é a falha que justifica sozinha a leitura desta página, porque é comum, é silenciosa e está inteiramente sob o seu controle. Tudo depois do ponto de interrogação faz parte da linha de requisição, e a linha de requisição é o que fica registrado.
- Links de redefinição de senha. Um token de uso único em uma query string fica registrado em texto simples no log de acesso, no backup do log de acesso, e em todo proxy entre o leitor e você.
- Links de convite e de cancelamento de inscrição. O mesmo formato, com vida mais longa, e em geral sem expirar nunca.
- Identificadores de sessão passados na URL. Raros em código novo, ainda presentes em código antigo, e o controle total de uma conta para quem estiver de posse do arquivo.
- Chaves de API entregues a um navegador. Uma chave em uma query string é uma chave em um log, uma chave em um referenciador enviado a terceiros, e uma chave no histórico do leitor.
- A caixa de pesquisa. Uma busca do site que envia por GET registra toda pesquisa que alguém já digitou no seu site ao lado do endereço de quem a digitou.
A correção não é uma configuração de log. Mova o valor para um cabeçalho ou para o corpo da requisição, onde nenhum formato padrão o registra, e rotacione tudo o que já foi escrito. Um filtro de log que remove tokens é mais uma coisa para manter, e vai falhar na primeira vez que alguém adicionar um parâmetro.
O que pode ser exigido de você, e por quem
Os outros guias aqui tratam de instrumentos que chegam a uma empresa de hospedagem em uma jurisdição escolhida para essa finalidade. O instrumento que alcança os seus próprios logs é mais simples: ele é dirigido a você, onde quer que você esteja, e a localização da máquina não faz parte da questão.
- Uma ação civil no seu próprio país. Alguém que processa por causa de um comentário, um vazamento ou uma compra pede ao operador do site aquilo que o operador guarda. Esse operador é você, e uma quinzena de logs de acesso é uma coisa fácil de ser obrigado a apresentar.
- Um pedido de um leitor. Sob a legislação europeia de proteção de dados, uma pessoa pode perguntar o que você guarda sobre ela, e um endereço é capaz de constituir dado pessoal: o Tribunal de Justiça decidiu exatamente isso em 2016, no Processo C-582/14, em que um endereço dinâmico guardado por um operador de site era dado pessoal porque existia uma via legal até o assinante. A retenção também precisa ser justificada — o Artigo 5(1)(e) diz que não pode ser por mais tempo do que o necessário, e “foi assim que o pacote veio configurado” não é uma finalidade.
- Quem quer que comprometa a máquina. O leitor mais provável do seu log de acesso não é um tribunal, de forma alguma. Logs raramente são criptografados, raramente são monitorados e quase nunca são incluídos em um modelo de ameaças, e ficam em um caminho previsível em todo servidor montado da forma comum.
- Qualquer um a quem os seus backups alcancem. Uma cópia externa é uma cópia em outra empresa, sob outra jurisdição, sujeita a instrumentos que você nunca leu.
Nada disso é aconselhamento jurídico, e esta casa não é o seu advogado. É a mesma lógica de inventário aplicada ao seu lado da linha: o que você não pode apresentar não pode ser exigido de você, e tudo o mais é uma questão de qual tribunal está perguntando. Como isso se desenrola do lado da hospedagem está descrito em o que realmente acontece quando a polícia pede algo a um host.
Guardar menos sem ficar cego
O instinto depois de ler até aqui é desligar o registro de logs, e essa é a atitude errada: um servidor sem logs não pode ser depurado, não pode ter uma limitação de taxa sensata e não pode avisar que está sendo invadido neste exato momento. A meta não é zero. É manter a parte que responde a uma pergunta operacional e descartar a parte que só responde a uma pergunta sobre uma pessoa.
| A mudança | O que ela faz | O que ela custa a você |
|---|---|---|
| Truncar o endereço no momento em que é escrito | Zerar o último octeto de um endereço IPv4, ou os últimos oitenta bits de um IPv6, no próprio formato do log, para que o valor completo nunca seja gravado no disco | A perícia por visitante depois do fato. Bloqueio e limitação de taxa continuam funcionando, porque ambos agem sobre a requisição em tempo real, não sobre o arquivo |
| Encurtar a rotação de forma deliberada | Um dia para um site público, mantido porque você escolheu o número, e não porque um pacote escolheu | A capacidade de investigar qualquer coisa mais antiga do que a janela que você escolheu |
| Parar de registrar arquivos estáticos | Remove quatro quintos das linhas e nada do significado | Nada. Esta é a única linha sem trade-off |
| Descartar o endereço de referência | Parar de registrar onde o leitor estava um momento atrás | Saber qual link ou qual discussão está lhe enviando leitores, algo que o analytics pode responder mediante consentimento |
| Separar o log de segurança do log de analytics | Dois arquivos, dois propósitos, dois números de retenção, e apenas um deles guardando endereços | Vinte minutos de configuração, uma única vez |
| Colocar os logs na lista de exclusão do backup | Impede que o snapshot noturno preserve silenciosamente o que a rotação acabou de destruir | Nada que você algum dia vá sentir falta. Ninguém nunca restaurou um backup para ler um log de acesso antigo |
Duas dessas seis não custam absolutamente nada e desfazem a maior parte da exposição descrita nesta página. A última é a que ninguém lembra, e é o motivo pelo qual as outras cinco ficam aquém.
Os terceiros que registram os seus leitores por você
Tudo o que foi dito acima diz respeito a arquivos em uma máquina que você controla. Um navegador que carrega a sua página também abre uma conexão com toda outra origem que a página menciona, e cada uma delas recebe o endereço, o user agent e um referenciador indicando qual das suas páginas estava sendo lida — antes mesmo de qualquer banner de consentimento ser respondido, porque a requisição já partiu.
- Uma fonte servida por outra empresa. Uma linha em uma folha de estilo, e todo leitor de toda página é revelado a um terceiro por causa de um arquivo que você poderia hospedar no mesmo diretório do restante do site.
- Um vídeo ou mapa incorporado. Carregado só de aparecer, em toda página em que está presente, quer alguém aperte o play, quer não.
- Um widget de chat ou um gerenciador de tags. Presente em toda página por design, e capaz de carregar código adicional que você nunca revisou.
- Um rastreador de erros. O mais útil de todos e o mais revelador: ele existe para lhe enviar o estado da sessão de outra pessoa.
- Uma CDN na frente do site inteiro. Isso não é um argumento contra usar uma — é uma troca razoável — mas é uma empresa que vê cada requisição antes de você, guarda os seus próprios logs, e responde à sua própria jurisdição.
Hospedar você mesmo os três primeiros costuma ser o trabalho de uma tarde, e remove mais observação de terceiros do que qualquer configuração no seu próprio servidor. É também a parte desta página que melhora o que os seus leitores recebem, e não só o que você pode ser obrigado a apresentar, e é por isso que vale a pena fazer isso primeiro. A lista equivalente, voltada para a sua própria exposição em vez da dos seus leitores, está em as nove coisas que identificam um site.
O que esta casa pode fazer a respeito, e o que não pode
Traçar essa fronteira com honestidade vale mais do que uma garantia tranquilizadora, então aqui está ela, deste lado.
- Os nossos próprios logs de acesso HTTP são destruídos em um temporizador de vinte e quatro horas, e não há histórico de endereços, nenhum registro de local de login e nenhum fingerprint que sobreviva a isso. A lista completa do que sobrevive está publicada como um inventário, e chega a sete registros.
- O que chega por via judicial é contabilizado no relatório de transparência, e o que uma ordem válida de fato produz é registrado por escrito com antecedência, em vez de decidido na hora.
- Em uma VPS ou em um servidor dedicado, os logs descritos nesta página estão dentro do seu sistema operacional. Nós não os lemos, não os enviamos para lugar nenhum, e também não podemos configurá-los por você — ser o único ocupante da máquina corta dos dois lados, e essa é exatamente a ideia.
- O que podemos assumir é a camada de baixo: nenhum registro de identidade no cadastro, liquidação somente on-chain, e uma máquina em uma jurisdição escolhida por você, em vez daquela onde vive o emissor do seu cartão.
E a frase para a qual esta página existe: escolher um host pelo que ele se recusa a guardar, e depois guardar uma quinzena da mesma coisa você mesmo, é uma decisão de privacidade anulada por um arquivo de configuração. As duas metades não são comparáveis em esforço. Uma exigiu uma semana de leitura, a outra exige uma tarde, e só uma delas está concluída.
Uma auditoria de uma hora nos seus próprios logs
Nada abaixo exige uma ferramenta que você precise comprar, e cada etapa conta algo que a etapa anterior não contava.
- Imprima uma única linha do seu próprio log de acesso e leia-a como um estranho leria, campo por campo, em voz alta.
- Liste todo arquivo dentro do seu diretório de logs, depois marque os que você abriu no último ano. Os que ficarem sem marca são puro risco.
- Leia a configuração de rotação e anote o número de dias que ela realmente mantém, em vez do número que você se lembra de ter aceitado.
- Restaure o backup do mês passado em um diretório temporário e procure pelo log que você acredita ter sido apagado há uma quinzena.
- Pesquise no seu log de acesso pelas palavras token, reset, key, session e password. Qualquer coisa que você encontrar é um segredo que já foi gravado no disco e precisa ser trocado, não apenas corrigido.
- Carregue a sua própria página inicial com o painel de rede do navegador aberto, e anote todo domínio contatado que não seja o seu. Cada um é uma empresa guardando os seus leitores sob a sua própria retenção.
- Verifique qual cabeçalho carrega o endereço real por trás do seu proxy ou CDN, e confirme se a origem o registra. Uma CDN não impede que a origem registre; ela apenas move o campo.
- Abra o evento mais recente no seu rastreador de erros e conte quantos detalhes de um leitor real estão no payload.
- Decida três números de retenção de propósito — segurança, analytics, backups — e anote-os onde a próxima pessoa a mexer no servidor vá encontrá-los.
- Escreva o inventário: o que existe, onde, por quanto tempo, e o que você produziria se uma ordem válida chegasse amanhã de manhã. Se esse documento for desconfortável de escrever, é a hora mais útil desta lista.
Perguntas que as pessoas realmente fazem
Os logs do servidor contam como dados pessoais?
Com frequência, sim, e o endereço é o motivo. O Tribunal de Justiça da União Europeia decidiu em 2016 que um endereço dinâmico guardado por um operador de site é dado pessoal quando existe uma via legal para identificar o assinante, e o mesmo raciocínio hoje é comum em outros lugares. A consequência prática não é uma multa, é um dever: sobre o que você guarda, você pode ser questionado, e o que você mantém, você precisa justificar por que mantém.
Por quanto tempo devo manter os logs de acesso?
O suficiente para responder à pergunta que você de fato faz a eles, que para a maioria dos sites é “o que aconteceu no último dia ou dois”. A quinzena padrão foi escolhida por um mantenedor de pacote que nunca viu o seu site. Escolha um número, anote o motivo, e verifique se o backup não está silenciosamente guardando uma cópia por um ano depois que ela expira.
Devo simplesmente desativar o registro de logs por completo?
Não, e essa é a correção excessiva mais comum. Um servidor sem logs não pode ser depurado quando quebra, e não pode avisar que está sendo atacado enquanto isso acontece. Truncar o endereço, descartar arquivos estáticos e encurtar a janela removem quase toda a exposição, mantendo o arquivo útil.
A hospedagem offshore protege os meus próprios logs de visitantes?
Ela os protege de um instrumento dirigido à empresa de hospedagem. Ela não faz nada contra um instrumento dirigido a você, no país onde você vive, pedindo o que você guarda — e é você quem guarda o sistema operacional. Mudar a máquina de lugar e mudar o operador são decisões diferentes, e só uma delas se compra.
Truncar o endereço IP é suficiente?
É a mudança isoladamente mais eficaz, e não é suficiente por si só. Um log com o endereço removido, mas com um timestamp com precisão de segundo, um caminho completo e um user agent, ainda segue um único visitante ao longo de uma sessão, e muitas vezes entre sessões. Trunque o endereço, depois encurte a retenção, e a combinação vale mais do que qualquer uma das duas isoladamente.
E os logs que a minha ferramenta de analytics mantém?
Eles costumam ter vida mais longa e ser mais ricos do que o log do servidor, e se a ferramenta é hospedada por outra empresa, eles estão em outra empresa, sob outra jurisdição. Um analytics auto-hospedado com o mascaramento de endereço ativado, e uma retenção definida por você de propósito, responde à mesma pergunta de negócio com uma fração do registro.
Os logs de erros importam tanto quanto os logs de acesso?
Muitas vezes mais, e recebem uma fração da atenção. Um log de erros registra as requisições que deram errado, que é onde acabam URLs malformadas, credenciais digitadas pela metade e stack traces contendo dados reais. É também o arquivo com a menor probabilidade de ter uma retenção escolhida por alguém.
Qual é a única mudança que vale a pena fazer hoje?
Exclua o diretório de logs do backup, depois trunque o endereço no formato do log. O primeiro impede que uma exclusão que você já configurou seja desfeita todas as noites; o segundo remove o campo que faz o resto da linha identificar uma pessoa. Juntas, levam cerca de vinte minutos, e são as duas mudanças que a maioria das pessoas nunca faz.
Todos os preços desta estrutura são publicados por completo, em um só lugar. Veja o catálogo completo

