# onion for all 2023-10-23T15:33:03Z Puisque les services cacnés en ".onion" apportent des avantages certains en terme de bie privée et de chiffrement, je les apprecie beaucoup. Qui plus est, ces liens sont des noms de domaines alternatifs viables qui ne dépendant pas d'un serveur de nom et encore moin d'un registrar. Dit autrement, si un jour je ne pouvais plus réserver le domaine "si3t.ch" pour une raisons ou une autre (trop cher, l'extension .ch n'est plus disponible, la suisse devient nazie...), les ".onions" seront toujours les même. J'avais déjà des services cachés pour la version web et gopher de mon site. Configurer un onion Tor (http) => https://si3t.ch/w/doku.php?id=ah:fr:09-services#configurer_un_service_cache_tor Configurer un onion Tor (gopher) => /log/2023-10-11-gopher-onion.txt Ne manquait plus que la version gemini, que j'avais déjà configurée il y a quelques temps déjà avant de délaisser un peu ce protocole. Bien qu'il ne soit toujours pas officiel, une discussion avec Solène m'a rappelé pourquoi il reste digne d'intérêt : utf-8 par défaut, liens relatifs, et le gemtext c'est vraiment chouette. Et puisqu'il ne pourra devenir vraiment répandu que si on l'utilise, je l'ai réactivé et par la même occasion souhaite garder ici quelques notes pour la mise en place d'un onion Tor pour gemini. Tout d'abord, dans /etc/tor/torrc, on ajoute un service caché. ``` HiddenServiceDir /var/tor/hidden-gemini/ HiddenServicePort 1965 localhost:11966 ``` Dans /var/tor/hidden-gemini/hostname, j'ai retrouvé le même .onion que la dernière fois \o/ Vous aurez peut-être noté que tor va écouter sur le port gemini par défaut 1965 et va renvoyer en local sur le port 11966. C'est pour le support des certificats TLS. En effet, bien qu'un service caché onion soit déjà chiffré, gemini ne fonctionne qu'au travers d'une connexion TLS réussie : sinon, le client renvoie une erreur. Le client peut d'ailleurs par ce biais s'identifier avec une empreinte (pas de mots de passe, c'est plus fort). Par conséquent, j'ai une nouvelle section dans /etc/relayd.conf pour gérer les accès via Tor sur le port 11966: ```/etc/relayd.conf ext_ip4 = "192.168.1.5" ext_ip6 = "2a01:e0a:2b8:ca70::1bad" prefork 10 log connection log state changes tcp protocol "gemini" { tls keypair si3t.ch-self } relay "gemini4" { listen on $ext_ip4 port 1965 tls protocol "gemini" forward to localhost port 11965 } relay "gemini6" { listen on $ext_ip6 port 1965 tls protocol "gemini" forward to localhost port 11965 } relay "geminitor" { listen on localhost port 11966 tls protocol "gemini" forward to localhost port 11965 } ``` Les deux premiers relays, c'est comme dans la documentation pour vger: => https://tildegit.org/solene/vger J'ai juste fait en sorte de pouvoir gérer l'ipv6 avec "localhost": => https://si3t.ch/w/doku.php?id=ah:fr:09-services#gemini_vger C'est la dernière section "geminitor" qui est importante ici : elle renvoie les accès en localhost sur le port 11966 vers le port 11965 après avoir introduit le certificat si3t.ch-self. En effet, et c'est important, l'url en ".onion" doit être indiquée dans le certificat. Pour cela, il faut générer un certificat avec ssl et indiquer un "subject alt name". D'après ssl(8), il faut utiliser l'option -extfile server.ext. Pour mon cas, j'ai inscrit dans le fichier server.ext: ``` subjectAltName=DNS:si3t.ch,DNS:b2khgkvb2wn4avjshjp63kknsjwikgwff5dwwydldia6qwf4kdnueyad.onion ``` Et généré le certificat pour 100 ans: ``` openssl genrsa -out /etc/ssl/private/server.key 4096 openssl req -new -key /etc/ssl/private/server.key \ -out /etc/ssl/private/server.csr openssl x509 -sha256 -req -days 36500 \ -in /etc/ssl/private/server.csr \ -signkey /etc/ssl/private/server.key \ -extfile /etc/ssl/server.ext \ -out /etc/ssl/server.crt ``` Et voilà! Vous trouverez donc à la racine de mon site un fichier "onions.txt" qui recense les différentes urls permettant de joindre mon serveur. => http://si3t.ch/onions.txt => https://si3t.ch/onions.txt => gopher://si3t.ch/0/onions.txt => gemini://si3t.ch/onions.txt => http://6gvb6fzoxv72mtlpvr2fgj7ytpeggwuerdawspt24njlkwfxir6jncid.onion => gopher://of2w2p5f4hsslk63hmo6tid6r7inhlxuxviq4pb5cxg45enswpbrfjad.onion => gemini://b2khgkvb2wn4avjshjp63kknsjwikgwff5dwwydldia6qwf4kdnueyad.onion --- Une réaction? Envoyez votre commentaire par mail (anonyme): => mailto:bla@bla.si3t.ch?subject=onion-all Voici quelques instructions pour utiliser la liste de diffusion et recevoir les réponses à vos messages: => https://si3t.ch/log/_commentaires_.txt