Debian GNU/Linux
Les paquets de la distribution Debian GNU/Linux intègrent cette fonctionnalité de délégation des droits de capture de paquets. Pour l'activer, il suffit de reconfigurer le paquet wireshark-common.
#
dpkg-reconfigure wireshark-common
Comme indiqué dans la copie d'écran ci-dessus, l'utilisateur
doit appartenir au groupe système wireshark
pour bénéficier de la fonctionnalité.
Par exemple, l'ajout de l'utilisateur etu
au groupe via la commande adduser donne le résultat suivant
:
#
adduser etu wireshark
Ajout de l'utilisateur « etu » au groupe « wireshark »...
Ajout de l'utilisateur etu au groupe wireshark
Fait.
Lors de la connexion suivante avec ce compte utilisateur il sera possible d'utiliser directement les outils wireshark ou tshark.
Détail des manipulations
-
Création d'un groupe système dédié à la capture de trafic réseau.
#
addgroup --system pcap Adding group `pcap' (GID 136) ... Done. -
Ajout d'un utilisateur au groupe système.
#
adduser phil pcap Adding user `phil' to group `pcap' ... Adding user phil to group pcap Done.Avertissement Cette nouvelle attribution n'est valable qu'après une nouvelle authentification. Nous sommes encore dans le cas classique de l'évaluation du contexte de travail utilisateur au moment de l'authentification.
-
Modification des propriétés du programme dumpcap.
Avant modification du groupe propriétaire :
#
ls -lh `which dumpcap` -rwxr-xr-x 1 root root 62K 4 mars 18:04 /usr/bin/dumpcapChangement de groupe propriétaire et nouveau masque de permission. Une fois cette opération faite, les membres du groupe système
pcap
seront les seuls utilisateurs à pouvoir exécuter le programme en mode non privilégié.#
chgrp pcap /usr/bin/dumpcap#
chmod 750 /usr/bin/dumpcap#
ls -lh /usr/bin/dumpcap -rwxr-x--- 1 root pcap 62K 4 mars 18:04 /usr/bin/dumpcapMémorisation de ces nouvelles propriétés par le gestionnaire de paquets Debian.
#
dpkg-statoverride --add root pcap 750 /usr/bin/dumpcap # dpkg-statoverride --list /usr/bin/dumpcap root pcap 750 /usr/bin/dumpcapAvec cette dernière manipulation, toutes les mises à jour de paquets conserveront les changements de propriétés du programme en l'état.
-
Modification du contexte de travail pour le programme
dumpcap
.#
setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap#
getcap /usr/bin/dumpcap /usr/bin/dumpcap = cap_net_admin,cap_net_raw+eipLes bits
eip
correspondent aux attributs effective, inheritable et permitted.Avec l'attribut effective, le noyau ne vérifie pas si l'UID vaut 0 (mode privilégié) si le programme nécessite une opération en mode privilégié.
L'attribut inheritable transmet les aptitudes du processus actuel aux autres processus enfants.
L'attribut permitted indique que le processus peut utiliser les aptitudes étendues du noyau Linux.
La documentation sur les Linux Capabilities est disponible à partir de la page Not needing root to administer Linux.
Il ne reste plus qu'à tester les nouvelles fonctionnalités
attribuées à l'utilisateur non privilégié membre du groupe système
pcap
.
phil@0wnB0x:~$
id uid=1000(phil) gid=1000(phil) groupes=1000(phil),4(adm),20(dialout),<snip/>,128(tftp),136(pcap)phil@0wnB0x:~$
tshark -i wlan0 Capturing on wlan0 <snip> 0.577380 192.168.1.9 -> 192.168.1.1 SSH Encrypted response packet len=352 0.578481 192.168.1.1 -> 192.168.1.9 TCP 46722 > ssh [ACK] Seq=1 Ack=353 Win=30 Len=0 TSV=7711965 TSER=1467786 1.582427 192.168.1.9 -> 192.168.1.1 SSH Encrypted response packet len=240 1.583462 192.168.1.1 -> 192.168.1.9 TCP 46722 > ssh [ACK] Seq=1 Ack=593 Win=33 Len=0 TSV=7712217 TSER=1468791 </snip>