Pour enregistrer l'utilisation d'Internet (URL visitées) de mon compte invité local , j'ai posé la question Surveiller les sites Web visités du compte invité via n'importe quel navigateur et après avoir attribué au compte invité l'UID fixe 499 (- === -) et configuré la règle iptables
ci-dessous, je n'obtiens pas le code recherché consigner les messages dans /var/log/kern.log
mais un message de apparmor
indiquant qu'il a bloqué la tentative de journalisation.
Comment dire à AppArmor d'autoriser le compte invité (nom aléatoire, mais UID fixe) à consigner son utilisation du réseau via iptables
?
La règle iptables
que j'ai mise en place:
Sudo iptables -A OUTPUT -m owner --uid-owner 499 -j LOG --log-prefix='[GUEST INTERNET ACCESS] '
Un exemple de ligne des messages qui apparaissent dans /var/log/kern.log
à la place (reformaté pour une meilleure lisibilité):
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
Informations supplémentaires sur le système:
$ uname -a
Linux wolf-pack 4.2.0-18-generic #22-Ubuntu SMP Fri Nov 6 18:25:50 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 15.10
Release: 15.10
Codename: wily
$ unity --version
unity 7.3.2
$ apt-cache policy apparmor | grep Installed
Installed: 2.10-0ubuntu6
$ iptables --version
iptables v1.4.21
La sortie de Sudo apparmor_status
:
apparmor module is loaded.
23 profiles are loaded.
23 profiles are in enforce mode.
/sbin/dhclient
/usr/bin/evince
/usr/bin/evince-previewer
/usr/bin/evince-previewer//sanitized_helper
/usr/bin/evince-thumbnailer
/usr/bin/evince-thumbnailer//sanitized_helper
/usr/bin/evince//sanitized_helper
/usr/lib/NetworkManager/nm-dhcp-client.action
/usr/lib/NetworkManager/nm-dhcp-helper
/usr/lib/connman/scripts/dhclient-script
/usr/lib/cups/backend/cups-pdf
/usr/lib/lightdm/lightdm-guest-session
/usr/lib/lightdm/lightdm-guest-session//chromium
/usr/lib/telepathy/mission-control-5
/usr/lib/telepathy/telepathy-*
/usr/lib/telepathy/telepathy-*//pxgsettings
/usr/lib/telepathy/telepathy-*//sanitized_helper
/usr/lib/telepathy/telepathy-ofono
/usr/sbin/cups-browsed
/usr/sbin/cupsd
/usr/sbin/cupsd//third_party
/usr/sbin/ippusbxd
/usr/sbin/tcpdump
0 profiles are in complain mode.
6 processes have profiles defined.
6 processes are in enforce mode.
/sbin/dhclient (1138)
/usr/lib/telepathy/mission-control-5 (4700)
/usr/sbin/cups-browsed (777)
/usr/sbin/cupsd (5626)
/usr/sbin/cupsd (5651)
/usr/sbin/cupsd (5652)
0 processes are in complain mode.
0 processes are unconfined but have a profile defined.
Je pense que votre intention est claire ici et dans l'autre question à laquelle vous avez lié: enregistrer les URL des sites Web visités par toute personne utilisant n'importe quelle application en tant qu'utilisateur invité.
Il n'est pas correct de suggérer la journalisation iptables pour réaliser cette tâche. iptables (sans certaines extensions obscures et limitant les performances) fonctionne sur le protocole IP, pas au niveau de l'application.
J'ai également vu des suggestions dans les URL suggérées en tant que commentaires - les répondants ont suggéré de capturer uniquement les paquets avec des drapeaux SYN (nouvelles connexions). Cela aussi résulte d'un malentendu décrit ci-dessus.
La façon de réaliser ce que vous voulez est:
Ce que j'avais en tête est décrit ici (pas mon article). De cette façon, vous obtenez un journal de proxy Web contenant toutes les requêtes HTTP enregistrées. Cependant, vous n'obtiendrez pas de journaux liés au trafic protégé par SSL, ce qui est une bonne chose.
Pour réitérer: les URL ne font pas partie de l'IP ou de la structure d'en-tête TCP, donc quelque chose qui fonctionne au niveau IP/TCP ne pourra pas vous montrer ces données, sauf s'il en a TCP dissector (tcpdump/cableshark sont capables de le faire mais pas iptables seuls).