Pour des raisons de sécurité flash ne permet pas l’exécution et le chargement de fichiers provenant d’un domaine différent de celui qui l’appelle, il était possible jusqu’à la version 9 du player flash de contourner cette restriction en plaçant un simple fichier crossdomain.xml
à la racine des sites concernés.
L’arrivée de Flash 10 à imposé de nouvelles méthodes de sécurité en ce qui concerne les connexions par socket. Il est dorénavant nécessaire d’avoir un "policy server" renvoyant l’équivalent des anciens fichiers XML d’autorisation interdomaine sur le port 843 du serveur.
Si un site hébergé sur notre serveur nécessité cette fonctionnalité, il est donc nécessaire d’installer un démon capable de faire ce travail.
Il en existe à priori deux différents en circulation sur internet :
- Celui développé par Adobe et disponible sur leur site
- Celui développé par R.I.PIENAAR développé sur Google Code
Première solution : le serveur fourni par Adobe
La version d’adobe est disponible en perl ou en python. La version disponible sur le lien plus haut est principalement adaptée pour un serveur sur la distribution Linux Red Hat et il y a quelques différences importantes par rapport à Debian (notre cas).
Je me suis donc permis de reprendre ce package pour le rendre facilement installable sur Debian. Les principaux changements sont :
- Une installation fonctionnelle
- Un script d’init fonctionnel
- Une modification du serveur permettant d’enregistrer les logs via syslog
- Je n’ai laissé que la version python qui est suffisante
Installation
Il est nécessaire de s’assurer de la présence de certains programmes permettant de continuer :
- apt-get install python unzip
Ensuite, son installation est très simple, il suffit de récupérer l’archive zip et de la dézipper :
- cd ~
- wget http://technique.arscenic.org/sites/technique.arscenic.org/IMG/zip/flashpolicyd_0_6_adobe.zip
- unzip flashpolicyd_0_6_adobe.zip
- cd flashpolicyd_0_6_adobe
- sudo sh install.sh
Le script install.sh
devrait installer correctement le server. Il dispose d’un script d’initialisation /etc/init.d/flashpolicyd
, d’un xml correspondant à la "Policy" dans /usr/local/etc/flashpolicy.xml
et du serveur lui-même écrit en Python /usr/local/sbin/flashpolicyd.py
Seconde solution : le serveur mis à disposition par R.I.Piernaar
Peu de temps après avoir modifié le serveur d’Adobe afin qu’il s’installe correctement, j’ai trouvé sur internet celui de R.I.Piernaar écrit en Ruby quant à lui. Ce serveur semble plus robuste mais comme celui d’Adobe, il est développé pour la distribution Linux Red Hat.
Je me suis donc permis également de reprendre ce package pour le rendre facilement installable sur Debian. Les principaux changements sont :
- Un script d’installation
- Un script d’init fonctionnel
- Une modification du serveur lui demandant décrire son PID dans un fichier afin de pouvoir l’arrêter à l’aide de la commande
start-stop-daemon
de Debian. Le server a donc une nouvelle option--pidfile
permettant de modifier le nom du fichier PID
Installation
L’installation est similaire au serveur précédent. Il est tout d’abord nécessaire de s’assurer de la présence des logiciels nécessaires à son installation et utilisation :
- apt-get install ruby rubygems ruby1.8-dev rdoc unzip
Ensuite, son installation est très simple, il suffit de récupérer l’archive zip et de la dézipper :
- cd ~
- wget http://technique.arscenic.org/sites/technique.arscenic.org/IMG/zip/flashpolicyd-2-1_ruby.zip
- unzip flashpolicyd-2-1_ruby.zip
- cd flashpolicyd-2.1_ruby
- sudo sh install.sh
Le script install.sh
devrait installer correctement le server. Il dispose d’un script d’initialisation /etc/init.d/flashpolicyd
, d’un xml correspondant à la "Policy" dans /usr/local/etc/flashpolicy.xml
et du serveur lui-même écrit en Ruby /usr/local/sbin/flashpolicyd.rb
Ressources :