10. Considérations de sécurité (Security Considerations)
10.1. Entrées non fiables (Untrusted Input)
L'agent DOIT traiter tous les messages reçus comme des entrées non fiables et valider la longueur et le type de données avant l'analyse et les opérations. Les requêtes dont l'analyse échoue ou qui débordent DOIVENT être refusées et DOIVENT renvoyer SSH_AGENT_FAILURE.
10.2. Frontière de confiance (Trust Boundary)
Toute partie à l'intérieur de la frontière de confiance de l'agent peut utiliser les clés chargées. Les clés privées ne doivent pas être chargées à un endroit situé hors de la frontière de confiance et qui ne pourrait être contraint de les accepter. Avant de se connecter à un agent accessible publiquement, l'utilisateur DOIT évaluer la frontière de confiance de l'agent.
10.3. Contrôle d'accès au point de terminaison (Endpoint Access Control)
Le point de terminaison de l'agent DOIT être soumis au contrôle d'accès du système d'exploitation afin d'empêcher l'accès par des parties extérieures à la frontière de confiance de l'agent. L'agent NE DOIT autoriser par défaut que les processus du même utilisateur. Il est recommandé de restreindre les permissions du point de terminaison de l'agent à l'accès par l'utilisateur uniquement. Sous Microsoft Windows, le pipe nommé de l'agent DOIT être protégé par une liste de contrôle d'accès (ACL) appropriée.
10.4. Matériel de clé privée (Private Key Material)
Le matériel de clé privée DOIT rester dans le processus de l'agent et NE DOIT PAS être exporté en clair. Les clés privées chargées dans l'agent DEVRAIENT être chiffrées à l'aide d'une protection de clé (key protection) ou d'une phrase de passe (passphrase), mais cela dépend de la politique du client.
10.5. Transfert (Forwarding)
Lorsqu'un agent est transféré vers un système distant, ce système distant peut obtenir un accès à l'intérieur de la frontière de confiance de l'agent. L'utilisateur DOIT être prudent avec l'accès à l'agent transféré. Le serveur SSH distant PEUT refuser les requêtes de transfert d'agent.