Bien pratique, Linux port/socket pseudo ACLs permet entre autres d'autoriser le bind des ports réservés à root, pour des utilisateurs classiques. Les services qui sont susceptibles d'être défaillant sont ainsi un peu mieux protégés contre une quelconque faiblesse. Cela permet d'éviter de jongler avec les IPChains/Tables. Le patch kernel existe pour Linux 2.4.16/17, 2.2.19/20, 2.5.0/1.
Aller plus loin
# Question simple...
Posté par Guillaume Rischard (site web personnel) . Évalué à 10.
Pourquoi est-ce que on continue à bloquer les low ports pour tout le monde sauf root? Je pense que c'est pour des raisons historiques, sans doute obsoletes aujourd'hui dans la plupart des cas.
Dès qu'un exploit est trouvé pour apache/wu-ftpd/obi-wan kenobi qui tournent en root, ça a beaucoup plus de consequences qu'un service qui tourne sur un high port.
Ca serait pas mieux de rajouter un groupe (par ex. lowports ou meuble2jardin) qui aurait le droit de les ouvrir et de specifier les ports ouvrables par chacun de ses users? Ca permetterait de faire tourner les services low ports en users non-suid, ce qui serait à mon avis un gain de securité. Ce patch permet de faire plus ou moins la même chose et je ne vois pas de mal à ca. J'ai raison ou je raconte des niaiseries?
[^] # Re: Question simple...
Posté par woof . Évalué à 10.
Apache par-contre peut très bien tourner en user (www-data, httpd), et y'a le daemon père qui tourne en root pour manager les requêtes qui arrivent sur le port 80 ..
C'est pour quand l'intégration au kernel?
[^] # sshd en user
Posté par falbala . Évalué à 10.
ah oui, ça le fait...
[^] # Re: sshd en user
Posté par woof . Évalué à 10.
[^] # sshd en user
Posté par falbala . Évalué à 2.
Y'a pas que linux dans la vie ...
à l'occurence, ça me permet de déposer le sauvegardes de mes machines sur un serveur, dans des environnements totalement "étanche".
[^] # bah y'a moyen
Posté par Paul . Évalué à 1.
cyrusimapd utilise un service n'écoutant pas l'extérieur (evidemment) pwcheck qui run en root et s'occupe de l'authentification via les shadows ce qui lui permet d'être lancé en utilisateur cyrus.
Une solution générique de cette solution serait-elle interessante, je me pose la question, ne l'ayant pas encore retouvrnée dans tous les sens... mmm
[^] # Re: Question simple...
Posté par Schwarzy . Évalué à 10.
ça marche bien mais il faut que le programmeur est prévu cette possibilité.
A part un choix de design un peu plus propre (enfin presque car c'est limité aux sockets), je me demande qu'elle est l'avantage de cette solution (les ACLs). En effet, ouvrir ces ports directement aux utilisateurs complique la gestion de la sécurité. Maintenant que je peux associer des droits d'accès à mon compte perso pour gérer des ports "root", la corruption de mon compte pourra corrompre des "ports" root.
Au final, la meilleur sécurité théorique est donc d'associer à chaque service un compte (et surtout pas un compte d'utilisateur <<physique>>) mais il est possible de le faire sans ACL.
Ainsi, à part pour des histoire de religion de sécurité, avoir des ACL sur les ports "root" n'améliore pas la sécurité.
[^] # Followup: Question simple...
Posté par Guillaume Rischard (site web personnel) . Évalué à 10.
#!/bin/sh
adduser httpd lowports
// le user httpd a le droit d'ouvrir tous les lowports
ou encore mieux:
#!/bin/sh
echo "httpd 80" >> /etc/lowports
// le user httpd a le droit d'ouvrir le lowport 80
et supprimer les daemons pères qui à mon avis ne servent pas à grand chose. Un user ftpd par exemple serait echo "ftpd 20,21" >> /etc/lowports et utiliserait qqch genre login pour avoir les droits de l'user qui vient de se logger. Il y aurait plus besoin de suid les daemons, ce qui rendrait le serveur plus secure. C'es complètement farfelu ou pas si con?
[^] # Re: Followup: Question simple...
Posté par Schwarzy . Évalué à 10.
c'est pas con et absolument pas farfelu mais quel services font en bénéficier ? httpd, ftpd .... ok mais sshd, telnetd, inetd vont rester en root et bien d'autres services encore car ils en ont besoin.
Ne serait-ce pas beaucoup de code dans la couche de communication qui peut-être facilement contourner par les api setuid(), setguid() ?
de mon point de vue, oui mais pour d'autres non (la preuve, l'existence de ce patch).
désolé de ne pas donner de réponse franche car c'est presque de la religion à la vi vs emacs et je sens le troll venir (vite un nain et sa hache !).
[^] # Re: Followup: Question simple...
Posté par Jar Jar Binks (site web personnel) . Évalué à 10.
En attendant (parce qu'il peut s'écouler un certain temps avant que les dolutions de ce type soient effectives), la solution de laisser un utilisateur non physique ouvrir un certain port me paraît sympathique, vu qu'elle ne change quasiment rien du point de vue pratique mais permet de gagner de la sécurité.
[^] # Re: Followup: Question simple...
Posté par Emmanuel Seyman . Évalué à 10.
De mémoire (comprendre: je me trompe surement), les gens avait envie que certains services soient "surs". On a donc reservé les 1024 premiers ports a root pour être sur que les services associés soient bien censés être lancés.
> C'es complètement farfelu ou pas si con?
C'est pas con du tout mais je trouve un peu plus simple de faire un chgrp wheel sur l'executable,
de le mettre en setuid et en execution par le groupe puis de mettre les personnes qui peuvent lancer le service dans le group wheel.
[^] # Re: Followup: Question simple...
Posté par kadreg . Évalué à 10.
Je pense que c'est ça. Dans une machine utilisateur, éviter qu'il y ai un user (local, masi pas sur, comme on en trouve en école par exemple) qui lance un serveur telnet en 23, en enregistrant les mots de passes. Un telnet en 23, c'est moins louche qu'un telnet en 2023.
[^] # re : question simple
Posté par VACHOR (site web personnel) . Évalué à 8.
Cependant c'est bien qu'il y ait une alternative. Ca peut toujours servir !
# achat de dvd
Posté par Benjamin Michotte . Évalué à -10.
- ces @#{|[^] de zones n'existerons plus;
- ils ne seront plus cryptés;
- je pourrai utiliser un logiciel de lecture qui n'utilise pas un algo illégal dans certains (beaucoup) pays;
- le prix sera à la portée de tout un chacun;
- je pourrai me servir de DVD comme support de stockage, et ce pour un prix décent;
Sur ce, en attendant, et pour bien montrer que je suis _contre_ ce système « venez à moi les billets », je continuerai à regarder des DivX téléchargés légalement ou illégalement.
Qui a dit que j'etais pas pret d'avoir un lecteur DVD ? ;)
[^] # euh...
Posté par Benjamin Michotte . Évalué à -2.
[^] # Re: euh...
Posté par Pierre Tramo (site web personnel) . Évalué à -10.
[^] # Re: euh...
Posté par Benjamin Michotte . Évalué à -10.
[^] # Re: euh...
Posté par Netsabes . Évalué à -6.
woof ? tu en es où de tes tests à ce sujet ?
(-1, OT)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.