J'ai un frontend Flex se connectant via RemoteObject au Zend Amf de Zend Framework. C'est mon seul moyen de transporter des données entre la couche client (Flex) et les couches application et persistance (LAMP avec Zend Framework). Voici quelques façons que je peux aborder la sécurité sont les suivantes:Implémentation Zend AMF et sécurité du protocole AMF
- Je peux répondre à TLS en utilisant mx.messaging.channels.SecureAMFChannel dans mon dossier des services-config.xml et assurer lecteur flash est chargé dans une enveloppe HTTPS et est en fait en utilisant HTTPS puisque le protocole AMF est superposé sur HTTP
- RemoteObject a une méthode setCredentials avec laquelle je peux passer des en-têtes d'authentification AMF pour protéger les données liées à l'utilisateur. En supposant que TLS était réellement sécurisé, je peux exposer des méthodes sur le point de terminaison après l'authentification de l'utilisateur.
- Je peux protéger contre les scripts inter-site et d'autres FLASH vulnérabilités avec un ensemble correctement en place crossdomain.xml
La question que j'est de savoir comment protéger mon point final contre un autre consommateur AMF? Par exemple, s'il y avait un autre consommateur AMF (pas Flash donc pas lié par crossdomain.xml et la sécurité de sandbox Flash) autre que mon client Flex qui connaissait mon endpoint, qu'est-ce qui l'empêcherait d'utiliser les méthodes exposées par le terminal? Pour autant que je sache, j'ai essentiellement besoin d'un moyen d'authentifier mon application Flex par rapport à mon point de terminaison Zend Amf. Après l'authentification du consommateur AMF, j'ai certains des mécanismes de sécurité que j'ai mentionnés ci-dessus pour protéger certaines données (comme l'authentification de l'utilisateur). Je ne peux pas intégrer une sorte de mécanisme d'authentification dans mon swf Flex parce que le swf est vulnérable à la décompilation (le swf ne peut pas être approuvé). Alors que les données sensibles sont protégées via l'authentification de l'utilisateur, les données non protégées sont rarement publiques, mais autant que je sache, elles sont totalement ouvertes à la consommation publique.