Archives de mots clés: CRIME

Rustine pour un serveur Web antédilluvien

Pas facile de maintenir un serveur qui tourne depuis presque 10 ans sur une vénérable Debian Etch … Cela fait bien longtemps qu’il n’y a plus de mises à jour de sécurité pour cette distribution. Il héberge une application critique: un serveur Sympa qui gère pas loin de 1500 listes de diffusion. Heureusement, ce dernier est installé à partir des sources et n’est pas complètement à la ramasse.

Cependant, les failles s’accumulent, notamment du côté du serveur Apache et surtout d’OpenSSL. Certaines peuvent être colmatées avec un peu de configuration, par contre il est impossible de corriger la faille CRIME en l’état: la version d’Apache est trop ancienne pour permettre la désactivation de la compression TLS. Enfin la version d’OpenSSL supporte, au mieux TLS 1.0 …

J’ai essayé deux solutions:

  • Passer le service derrière un reverse-proxy Nginx => impossible de faire fonctionner correctement le CGI de Sympa avec le SSO Cas !
  • Remplacer Apache par Nginx / fcgi-wrapper => effets de bord indésirables …

Troisième et dernière solution: compiler et installer Apache + OpenSSL + fastcgi sans écraser les composants déjà présents sur le système.

Quelques contraintes à respecter:

  • Rester en Apache 2.2.x
  • Passer à OpenSSL >= 1.x.x (support de TLSv1 et TLSv2)
  • Lien statique entre OpenSSL et Apache
  • Les module ne sont pas intégrés à Apache (sauf OpenSSL)
  • Conserver mod_fastcgi (fastcgid poserait des problèmes)
  • Conserver mod_security
  • Quelques coups de lime pour compiler des vieux machins avec du neuf (OpenSSL v1.0.2e) !

Reste ensuite à ré-écrire la configuration d’Apache (récupérer celle du serveur d’origine n’est pas un bonne idée) et debugger petit à petit.

La rustine permettra de tenir 2 ou 3 mois, en attendant la prochaine Ubuntu LTS (16.04), pour la migration sur la dernière version de Sympa (encore une procédure bien compliquée …).

=> Procédure de compilation le Wiki.