- Comment bloquer l'écriture sur le fichier hosts ?
- Fichier hosts - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Ouvrir fichier .bin - Guide
2 réponses
7 nov. 2022 à 22:53
Salut,
Le système ne semble pas écrire dans le fichier hosts, l'utilisateur ou les programmes si.
Tu serait prêt à le faire disparaitre ? et le remplacer par un dossier hosts avec un fichier avec nom "spécial" dedans (Pour éviter que quiconque pas informaticien puisse en re créer un) ?
Je n'ai jamais testé avec le fichier hosts.
del /p /f /a:h /a:S /a:r /a:- c:\Windows\System32\drivers\etc\hosts
md c:\Windows\System32\drivers\etc\hosts
attrib +h +s c:\Windows\System32\drivers\etc\hosts
type nul > "\\?\c:\Windows\System32\drivers\etc\hosts\NUL"
Bonjour
Je reste étonné de cette demande bien que en informatique pourquoi pas exercer son imagination.
Tu te complique la vie à transformer en profondeur le fonctionnement de windows qui réserve à hosts l'accès au plus haut rang d'administrateur alors que ce fichier fonctionne simplement comme un dns et qu'à distance il est modifiable par plein d'acteurs antivirus antispywares et par l'intermédiaire des sites s'y mettent de plus en plus de malwares. N-importe qui utilisant le pc et allant sur un site préparé aura autant de pouvoir que l'administrateur du pc pour corriger un hosts modifié? .
8 nov. 2022 à 08:38
Bonjour,
Que l'on supprime le fichier hosts (si on peut, et si tant est que Windows ne le recrée pas) est une chose, mais pourquoi créer à la place un dossier hosts que de toute façon Windows ne reconnaîtra pas et ne servira donc à rien?
Sur le problème lui-même, les utilisateurs n'ont, comme les logiciels, que dessus des droits de lecture et d'exécution; seul Système et, par héritage, les administrateurs qui en ont le contrôle total.
Ce qui signifie que, pour tenter de modifier ces autorisations, je dois simuler la suppression de ces administrateurs pour pouvoir d'abord supprimer cet héritage (je n'ai pas testé le résultat):
J'aurais été tenté de dire que l'on a plus vite fait de voir s'il existe un paramètre de stratégie locale approprié, mais ce qui est idiot parce que, même s'il y existe, les administrateurs ne peuvent sûrement pas s'y faire Hara Kiri.
Sur le plan local, il faut considérer le niveau de connaissance informatique des "autres": il est impossible d'enregistrer in situ des modifications du fichier hosts, il faut l'enregistrer ailleurs et l'écraser par un fichier modifié.
Un certain nombre de logiciels de protection peuvent par ailleurs contrôler le fichier hosts, quitte à ajouter une règle pour le désigner nommément; je n'utilise pas Windows Defender, je ne sais pas si cette capacité ne vise que les logiciels (et par extension les virus) ou bien si on peut l'étendre à des comptes locaux et, si c'est le cas, si on peut interdire tous les administrateurs en ajoutant un filtre d'exclusion pour un seul de ces administrateurs.
8 nov. 2022 à 22:29
Bonjour,
J'ai réussi à faire sauter les droits administrateurs en désactivant l'héritage, en passant l'administrateur en lecture et écriture seulement et enfin en faisant passer le système en propriétaire pour empêcher que l'administrateur (moi) puisse faire des modifications d'autorisation ultérieur. Du coup merci pour l'idée elle fonctionne en effet. Le seul problème c'est qu'ensuite je peux toujours faire le chemin inverse en remettant l'administrateur propriétaire (apparement même sans aucuns droit, l'admin peut décider s'il est propriétaire du fichier "hosts" et donc il a toujours le droit d'acquérir le droit de s'acquérir des droits... trop bizarre).
Ta solution de filtre d'exclusion via un firewall ou antivirus m'intéresse. Peut-être que de là-bas j'arriverais à mettre une exclusion irréversible, ou à tous le moins à complexifier davantage l'accès au fichier hosts.
Tu sais comment faire ?
En attendant, merci pour les idées précédentes.
8 nov. 2022 à 22:41
Salut,
c'est une bonne idée mais comme le dit @brucine j'ai besoin que le fichier reste lisible par le système pour qu'il puisse appliquer les préférences que j'ai mis dans le fichier hosts.
Par contre, je considère que devoir passer par du code pour pouvoir remodifier le fichiers hosts est une protection suffisante pour moi. Donc si tu sais comment faire pour retirer tous droits de l'administrateur sur le fichier hosts en invite de commande (droit de modification, droit d'allouer des autorisations ET "droit de choisir le propriétaire du fichier hosts") je prend avec plaisir !
Merci à toi.
8 nov. 2022 à 23:14
L'administrateur a par définition tous les droits (sauf les "super droits" système).
Je n'ai pas dit que les logiciels de protection filtraient tous l'accès local à un fichier, mais que certains le peuvent peut-être (un peu à la sauce de l'UAC Windows qui peut contrôler les droits d'accès à un exécutable, pas un fichier lambda); le mien en tout cas est capable de filtrer tous les objets Windows de la création, mais pas spécifiquement en vertu d'un administrateur ou d'un groupe d'administrateurs.
Le contrôle local, c'est plus volontiers le rôle des autorisations sur un fichier comme on vient de le voir ou celui d'une stratégie locale.
Le reste dépend du degré d'accès d'autres personnes au PC (y-a-t-il un mot de passe de session?), de la nécessité qu'un PC soit doté de plusieurs administrateurs (c'est assez antinomique).
Si c'est le cas, rien ni personne ne peut empêcher un de ces administrateurs de modifier des paramètres en assumant qu'ils aient la volonté de le faire, le temps et les connaissances requises, sauf peut-être, pas testé, de supprimer les autorisations de l'ensemble des groupes administrateur (qui ne peuvent par défaut qu'y lire) en ne laissant ces droits, y compris de lecture, qu'à Système mais ce qui n'empêche en effet probablement pas un administrateur qui serait un peu malin de rétablir la "faille".
On peut peut-être faire mieux en désignant nommément l'administrateur autorisé et en interdisant les autres via (I)CACLS ou TAKEOWN, j'avoue ne pas avoir étudié la question de près.
https://ss64.com/nt/
9 nov. 2022 à 18:41
Je ne sais plus (j'ai peut-être bidouillé du fait de ce fil) quels sont les droits par défaut des administrateurs sur le fichier hosts, il me semblait qu'ils étaient limités à Read Execute, il suffit pour vérifier d'ouvrir la console de commande en mode administrateur et de saisir:
icacls C:\Windows\System32\Drivers\etc\hosts
Ce qui nous apprend dans le cas de figure qu'en fait les groupes AUTORITE NT\Système et BUILTIN\Administrateurs ont les mêmes droits (I) (F), ce qui signifie en français qu'ils sont totaux mais hérités d'un conteneur de rang plus élevé.
Dans la pratique, même avec ces droits, on a vu que les administrateurs ne peuvent pas modifier directement ce fichier puisqu'ils n'en sont pas propriétaires (c'est Système), mais doivent pour le faire soit s'approprier ce fichier, soit en faire une copie externe que l'on modifie et avec laquelle on écrase l'original: cette fois-ci, c'est l'UAC qui pleure mais n'interdit pas l'opération.
Tout cela réclame un certain degré de "vice", la première question à se poser comme je l'ai évoqué étant pourquoi diable un autre administrateur voudrait modifier ce fichier, s'il en a le temps et la connaissance devant la machine, et plus généralement pourquoi il y a plusieurs administrateurs et dont certains ne seraient pas de confiance.
Le schmilblick, on l'a vu, c'est que les permissions ne sont pas attribuées à un administrateur lambda mais au groupe des utilisateurs: si on l'interdit, on se met à la porte soi-même, mais rien ne s'oppose théoriquement à ce que l'on dénie tout droit à l'ensemble des administrateurs sauf que l'on est soi-même connecté sur un compte administrateur pour exécuter la commande:
icacls "C:\Windows\System32\Drivers\etc\hosts" /deny administrators:(F)
Si on doit maintenant virer tous les administrateurs sauf soi-même, il faut donc commencer par s'approprier sous son nom d'administrateur le fichier si cela n'a pas été fait par le biais de l'interface graphique:
icacls "C:\Windows\System32\Drivers\etc\hosts" /setowner "Moi"
Puis un par un supprimer leurs droits:
icacls "C:\Windows\System32\Drivers\etc\hosts" /deny admin1:(F)
Reste à savoir pourquoi leur interdire quoi que ce soit puisqu'ils sont eux-mêmes administrateurs et s'ils le sont et que tu les imagines malins, rien ni personne ne peut leur interdire le processus inverse: la seule solution saine est de n'avoir qu'un administrateur, dont on ne voit pas pourquoi on l'empêcherait de modifier le fichier hosts et ce qui lui laisse la possibilité de ne pas le faire.