Supervise los sitios web visitados de la cuenta de invitado a través de cualquier navegador

Supervise los sitios web visitados de la cuenta de invitado a través de cualquier navegador

Quiero saber qué sitios web/URL visitan los usuarios de la cuenta de invitado de la computadora de mi hogar.

¿Hay alguna manera de registrar esto y guardarlo como una lista bien formateada en el disco? Sólo necesito la fecha/hora y la URL visitada. Si es posible, las URL completas estarían bien, pero solo el dominio también es bueno para empezar.

Actualizar:

Después de haber leído las respuestas y sugerencias enlazadas en el chat deAB, ejecuté el siguiente comando:

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

después de haber configurado el UID de la cuenta de invitado en el UID fijo 499 siguienteEstablecer o determinar el rango de UID para cuentas de invitados.

Pero /var/log/kern.logtodavía no contiene esos registros, pero hay muchos mensajes apparmorque indican que se negó 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

He publicado una pregunta aparte sobre el problema de AppArmor aquí:AppArmor bloquea el registro configurado a través de iptables para la cuenta de invitado: ¿cómo habilitarlo?

Respuesta1

Creo que su intención es clara aquí: registrar las URL de los sitios web visitados por cualquier persona que utilice cualquier aplicación como usuario invitado.

Sugerir el registro de iptables para realizar esta tarea no es correcto. iptables (sin algunas extensiones oscuras que limitan el rendimiento) funciona en el protocolo IP, no en el nivel de aplicación.

También he visto sugerencias en las URL sugeridas como comentarios: los respondedores sugirieron capturar solo paquetes con indicadores SYN (nuevas conexiones). Esto también es el resultado de un malentendido descrito anteriormente.

La forma de lograr lo que deseas es:

  1. Instale un proxy web (preferiblemente ligero, como tinyproxy).
  2. Agregue reglas de iptables que redireccionen las conexiones salientes realizadas solo por un usuario específico a los puertos 80,443/tcp al proxy local.

Lo que tenía en mente se describeaquí(no es mi publicación). De esta manera obtienes un registro de proxy web que tiene registradas todas las solicitudes HTTP. Sin embargo, no obtendrá registros relacionados con el tráfico protegido SSL, lo cual es bueno.

Para reiterar: las URL no son parte de la estructura del encabezado IP o TCP, por lo tanto, algo que funcione en el nivel IP/TCP no podrá mostrarle estos datos, a menos que tenga algún disector TCP (tcpdump/wireshark pueden haga esto, pero no solo con iptables).

Respuesta2

¿Has probado esto?

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

y podría ayudar bien de esta manera.

información relacionada