Monitorar sites visitados da conta de visitante através de qualquer navegador

1

Eu quero saber quais sites / URLs são visitados pelos usuários da conta de convidado do meu computador doméstico.

Existe uma maneira de registrar isso e salvá-lo como lista bem formatada para o disco? Eu só preciso de data / hora e URL visitada. Se possível, os URLs completos seriam bons, mas apenas o domínio também é bom para começar.

Atualização:

Depois de ler as respostas e sugestões vinculadas no bate-papo de A.B , executei o seguinte comando:

$ sudo iptables -A OUTPUT -m owner --uid-owner 499 -j LOG --log-prefix='[GUEST INTERNET ACCESS] '

depois de ter definido o UID da conta de convidado para o UID fixo 499 após Defina ou determine o intervalo de UID para contas de convidado .

Mas o /var/log/kern.log ainda não contém esses registros, mas muitas mensagens de apparmor que informam negar algo:

Nov 18 11:19:22 wolf-pack kernel: [ 1030.063374] audit: type=1400 audit(1447841962.731:164): apparmor="DENIED" operation="connect" profile="/usr/lib/lightdm/lightdm-guest-session" name="/run/systemd/journal/stdout" pid=4693 comm="dbus-daemon" requested_mask="w" denied_mask="w" fsuid=499 ouid=0

Eu publiquei uma pergunta separada sobre o problema do AppArmor aqui: O AppArmor bloqueia a configuração do log através do iptables para a conta do convidado - Como habilitar?

    
por Byte Commander 09.11.2015 / 12:34

2 respostas

2

Acho que sua intenção está clara aqui: registre URLs de sites visitados por qualquer pessoa que esteja usando qualquer aplicativo como usuário convidado.

Sugerir o log do iptables para realizar esta tarefa não está correto. O iptables (sem algumas extensões obscuras que limitam o desempenho) funciona no protocolo IP, não no nível do aplicativo.

Eu também vi sugestões nos URLs sugeridos como comentários - os respondentes sugeriram apenas capturar pacotes com sinalizadores SYN (novas conexões). Isso também resulta de um mal-entendido descrito acima.

A maneira de conseguir o que você quer é:

  1. Instale um proxy da Web (de preferência leve, como tinyproxy).
  2. Adicione regras de iptables que redirecionam as conexões de saída feitas por apenas um usuário específico para as portas 80,443 / tcp para o proxy local.

O que eu tinha em mente é descrito aqui (não é o meu post). Dessa forma, você obtém um log de proxy da web que tem todas as solicitações HTTP registradas. Você não receberá registros relacionados ao tráfego protegido por SSL, o que é bom.

Para reiterar: URLs não fazem parte da estrutura de cabeçalho IP ou TCP, portanto, algo trabalhando no nível IP / TCP não mostrará esses dados, a menos que tenha algum dissector TCP (tcpdump / wireshark são capazes de fazer isso, mas não apenas iptables).

    
por Marcin Kaminski 29.11.2015 / 14:28
-4

Você já tentou isso:

sudo iptables -A output -m owner --uid-owner 499 -j log --log-prefix="'/var/log/kern.log$'uri"

e isso pode ajudar bem dessa maneira.

    
por Michael 23.11.2015 / 17:20