Hello, Juste mes 2 centimes pour ajouter à la discussion qu'il n'est pas nécessaire d'être root pour faire tourner un serveur sur les ports privilégiés. La capability CAP_NET_BIND_SERVICE suffit, et peut généralement être attribuée à l'aide de setcap. Ça fonctionne depuis Linux 2.quelquechose (la flemme d'aller retrouver la version exacte à cette heure).
Certaines des capabilities existantes permettent clairement à un processus d'obtenir facilement un root complet, je pense notamment à la tristement célèbre CAP_SYS_ADMIN ou à la triviale CAP_SETUID, mais ça, ça mériterait une discussion à part entière. William Le mercredi 20 mars 2024 à 01:37, Pierre-Elliott Bécue <be...@crans.org> a écrit : > Bon, désolé, mais il y a beaucoup de choses qui me posent problème, et > que je ne souhaite pas laisser sans réponse pour les éventuels lecteurs > qui ne seraient pas forcément à l'aise avec le sujet ou habitués à > celui-ci. > > Laurent Barme <2...@barme.fr> wrote on 19/03/2024 at 20:34:20+0100: >> A lire mes notes, la mise en œuvre des certificats LE était >> effectivement super simple sauf qu'il y avait dans le crontab : >> >> 32 6 * * 0 /root/certbot-auto renew -q >> >> Apparemment, il n'est plus nécessaire de renouveler le certificat avec >> root (et peut-être est-ce que cela a toujours été le cas) quoique >> sinon je ne vois pas comment concilier ça avec la gestion d'un serveur >> web qui appartiennent à root. > > Tu peux donner le droit de reload ton serveur web à un utilisateur non > privilégié (merci sudoers). certbot marche très bien sans droit root > mais doit pouvoir travailler dans les dossiers dont il dépend (par > défaut /etc/letsencrypt, /var/log/lestencrypt et /var/lib/letsencrypt). > > Tes workers sur un serveur web ne tournent jamais en tant que root, seul > le master process le fait. Et donc il peut reloader des certifs SSL qui > n'appartiennent pas à root. Par ailleurs même sans ça, c'est une > question d'ACLs UNIX, et tu pourrais donner un droit de lecture sur tes > certifs SSL à www-data. > >> Oui, je sais qu'il serait possible de configurer un serveur apache >> hors root mais ce n'est pas standard, notamment parce que seul root >> peut accéder aux ports 80 ou 443. > > Cela semble hors sujet (et un redirect du port 80/443 via un firewall > trivial, mais idem, hors sujet, pas nécessaire). > >> Quoiqu'il en soit, avoir un script obscur qui revoit potentiellement >> la configuration de mon serveur toutes les semaines, cela ne me plait >> pas. > > "qui revoit" ? Que veux-tu dire ? > >> Je n'ai pas cherché plus loin > > Et c'est bien le problème : tu as émis un avis très définitif sans avoir > cherché plus loin. > >> et j'ai profité des certificats LE pour des contextes sans >> conséquences. Ce qui ne veut pas dire que l'on ne peut pas utiliser >> les certificats LE pour des cas autres que ceux où il n'y a pas >> d'enjeu… > > Du coup pour ceux que ça intéresse, c'est tout à fait faisable > d'utiliser du LE automatisé en prod sans compromettre sa sécurité > numérique. > > Et si vraiment ça vous tracasse, un reverse proxy pour servir du SSL > c'est pas la mer à boire, et ça ôte bien des soucis. > >> Pour ce qui est de chiffrer les échanges avec un serveur web, tous les >> certificats se valent qu'ils soient auto-signés, wildcards, gratuits >> ou payants, même très chers. A la base, une clé publique c'est juste >> le produit de deux nombres premiers si grands que sa factorisation >> prendrait a priori un temps infini par rapport aux calculs modulo n >> dans un corps Z/nZ avec n premier > > Déjà tu ne décris que RSA, il existe quand même pléthore d'algos crypto > asym largement utilisés dont des moins consommateurs en ressources. > > Ensuite, ce que tu décris de l'algo RSA et des maths derrière est faux¹. > >> qui sont faits pour chiffrer et déchiffrer les échanges… d'une clé >> symétrique qui sera exploité ensuite. > > En effet, dans un échange SSL/TLS on crée une clef symétrique, mais la > clef n'est jamais échangée dans un algo moderne². Elle est déduite, et > c'est vital car ça préserve les échanges d'un replay si les clefs asym > sont cassées/divulguées. > >> Le recours aux clés asymétriques a simplement déplacé le >> problème : au lieu d'avoir à assurer le partage confidentiel d'une clé >> symétrique, il faut s'assurer qu'une clé publique appartient bien à >> celui qui prétend en être le propriétaire. C'est là où les CA >> interviennent et l'opportunité d'en faire un racket. Racket soutenu >> par l'obligation artificielle de tout chiffrer. Pour cela la >> disponibilité des certificats LE est effectivement une bénédiction ! >> >> Car non, en vrai cela ne sert à rien de chiffrer une recette d'Irish >> coffe partagée sur un blog, à part pour lui éviter d'être totalement >> ostracisée par ggl. > > La confidentialité, fortement connecté au respect de l'intimité et de la > vie privée me semblent être un bon argument pour, si. De même, cela > évite qu'un malandrin fasse du MITM et te fasse faire un Irish Coffee > avec du méthanol. > >> Quant à chiffrer une librairie JS publique, je n'y avais jamais pensé >> mais je n'en vois pas non plus l'intérêt, d'autant moins que sous >> couvert de minimisation (mais en vrai pour les protéger d'une >> réutilisation) la plupart des librairies JS sont quasiment illisibles >> :-) > > On se fiche de leur lisibilité, le but c'est d'éviter du MITM et une > potentielle altération de ladite bibliothèque à toute fin > malveillante. Le chiffrement c'est autant la confidentialité que > l'authenticité que l'intégrité en fait. > >> Par contre conforter l'origine d'une librairie externe par la >> validation d’authenticité d'un CA est effectivement intéressant mais >> ce n'est pas le certificat du site qui l'utilise qui le fait. > > Non, mais sans le certificat du site qui l'utilise tu ne peux pas > valider l'authenticité du contenu de la page que tu affiches, et donc tu > ne sais pas quelles libs tu vas te faire refiler. > >> Ah et sinon, pour répondre à la remarque du petit jeune > > Aux âmes bien nées… > >> qui m'a gentiment dit d'arrêter de raconter n'importe quoi sur des >> sujets que je ne connais manifestement pas, je dirais qu'il a au moins >> à moitié tort. L'expérience a ceci de particulier qu'il ne me >> rattrapera jamais pour ce qui est de la durée sur laquelle je l'ai >> accumulée > > C'est sans rapport avec le fait de ne pas raconter d'âneries sur un > sujet qu'on ne maîtrise pas, et ton courriel renforce cette impression > que tu ne maîtrises effectivement pas le sujet. > > Par ailleurs, on peut avoir accumulé 40 ans d'expérience en culture des > betteraves, ça ne fait pas de soi un expert en lancement de fusées. > > On peut même acquérir 40 ans d'expérience en ingénierie systèmes, si > celle-ci est faite de convictions erronnées, de raisonnements hâtifs, et > d'un certain manque de curiosité, elle ne vaudra /in fine/ pas > nécessairement plus que 15 ans bien investis dans le même domaine. > > Tout est souvent une question de curiosité, un des plus grands moteurs > de l'espèce humaine. > >> ; je serai certainement mort avant :-)) > > Il n'est jamais interdit de changer d'approche jusqu'au dernier jour. > > o/ > > -- > PEB > > ¹ La clef publique c'est la donnée d'un couple (m, e) où m=pq, avec p, q > premiers très grands et de n'importe quel nombre e premier avec > φ(m)=(p-1)(q-1). La clef privée, elle, est la donnée du couple (m, d) > avec d l'inverse de e dans ℤ/φ(m)ℤ. > > Par ailleurs, les calculs de chiffrement et déchiffrement ne se font pas > dans Z/nZ avec n premier (puisque comme vu au dessus, on part d'un > *produit* de nombres premiers), mais dans ℤ/pqℤ avec p et q premiers. > > ² PFS, eg Diffie-Hellman > > _______________________________________________ > Liste de diffusion du %(real_name)s > http://www.frsag.org/
_______________________________________________ Liste de diffusion du %(real_name)s http://www.frsag.org/