Calendrier partagé

De OpenWikiBSD
Aller à : navigation, rechercher

Vous, madame, les gosses,...tout ce monde souhaite bénéficier d'un calendrier partagé à la ....Google Agenda. En bon libriste sourcilleux sur les aspects attentatoires à votre vie privée, vous souhaitez garder la main sur vos données et dégoogliser Internet.


Radicale

Simple, sans Bdd, sans GUI, bref, une surface d'attaque réduite..

Installation de la version 1.1

pkg_add radicale
cp /etc/radicale/config /etc/radicale/config.ORI

Si on veut un brin de TLS auto-signé :

openssl req -x509 -sha256 -nodes -days 36 -newkey rsa:2048 -keyout /etc/radicale/private/radicale.key  -out /etc/radicale/radicale.crt

Générer un utilisateur :

htpasswd  /etc/radicale/users TOTO


Pour tester :

/etc/rc.d/radicale -df start

installation de la version 2

Upgrade

L'upgrade de V1 à V2 doit être traité spécifiquement : [1]

Nouveautés

  • Gestion des plugins améliorée (Suivi par GIT par exemple)
  • Meilleure gestion des objets calendrier et contact

Fichiers de conf

  • La configuration réside dans /etc/radicale/config
  • La gestion des droits d'accès réside dans /etc/radicale/rights
private_users = toto,titi
[toto/calendrier]
titi : r
toto: rw


Self explicite, non ? Attention, un anonyme accède en lecture aux calendriers trouvés....

Derrière un proxy reverse

Utilisons NginX qui fera le travail décapsulation TLS à destination d'un radicale écoutant en local sur un port clair. L'ensemble faisant faire un gros gain en sécurité avec :

  • Utilisation d'un frontal Web connu et audité (plus que Radicale)
  • Décapsulation TLS par un frontal web et audité (plus que Radicale)
  • Décorrélation des rôles
  • Usage (ici) d'un certificat client pour authentification TLS cliente !!

Pour NginX :

server {
       listen       443 ssl;
       server_name  localhost;
       root         /var/www/htdocs;
       ssl_certificate     /etc/ssl/certs/calendar.crt;
       ssl_certificate_key /etc/ssl/certs/calendar.key;
       ssl_client_certificate /etc/ssl/certs/ca.crt;
       ssl_verify_client on;
       ssl_protocols        TLSv1.2;
       ssl_ciphers         HIGH:!aNULL:!MD5;
       location /radicale {
       auth_basic "Radicale";
       auth_basic_user_file /etc/radicale/users;
       proxy_pass http://localhost:5232;
       proxy_set_header X-SSL-client-serial $ssl_client_serial;
          proxy_set_header X-SSL-client-s-dn $ssl_client_s_dn;
           proxy_set_header X-SSL-client-i-dn $ssl_client_i_dn;
           proxy_set_header X-SSL-client-session-id $ssl_session_id;
           proxy_set_header X-SSL-client-verify $ssl_client_verify;
                               }
       }


Pour Radicale :

hosts = 127.0.0.1:5232
ssl = False


Client Android

CalDav-SYnc est une application Android payante, mais qui va bien ses 2€49. C'est, en effet, la seule que j'ai trouvée à accepter l'authentification mutuelle par certificat X509.

Pensez-bien à désactiver la synchronisation automatique avec l'agenda Google (Paramètres → onglet Général → Comptes → Google ) car les solutions de synchro de calendrier synchronisent également avec l'agenda Google..