Compréhension de l'examen de site privé

AppScan 360° fournit des tests dynamiques de sécurité des applications (DAST) à partir d'un serveur sur site centralisé. Cette capacité exige que le scanner (situé sur l'instance AppScan 360°) puisse accéder à l'application testée. Les applications Web situées sur le même segment de réseau ou accessibles via un routage standard peuvent être examinées sans problème. Cependant, l'examen de site privé (PSS) est requis lorsque l'application cible réside sur un segment de réseau isolé, derrière un pare-feu interne strict ou un VPN où le serveur AppScan 360° central ne peut pas établir de connexion directe.

Création de tunnels PSS

Notre solution pour l'examen de site privé (PSS) n'implique aucune modification spéciale au niveau du réseau du client susceptible de présenter un risque pour le réseau. Le client PSS défini dans le réseau du client nécessite uniquement un accès sortant vers l'instance AppScan 360° (soit directement, soit via un proxy HTTP) et un accès vers le site examiné.

La solution consiste en deux nœuds finaux (serveur et client) qui créent un tunnel TCP/IP initié par le nœud final du côté du réseau isolé.

Serveur de tunnel

Ce nœud final réside dans le segment de réseau isolé à côté du scanner. Il est uniquement démarré au démarrage d'un nouvel examen. Le serveur a deux « côtés » qui consistent à écouter les connexions (serveurs dos à dos).

  • Le premier écoute les connexions entrantes provenant du client du tunnel. Il s'agit du côté tunnel.
  • Le second écoute les connexions entrantes provenant du scanner. A cette fin, il imite un proxy HTTP. Il s'agit donc du côté proxy.

Lorsque des connexions provenant du client sont disponibles, le scanner envoie les demandes au côté proxy, qui font ensuite l'objet d'une redirection de port vers les connexions entrantes du côté tunnel. Lorsque le client envoie des réponses, elles sont transférées jusqu'au scanner en passant par le côté proxy.

Client de tunnel

Ce nœud final réside dans le segment de réseau isolé et génère les connexions TCP/IP vers le serveur. Il remplit la même fonction que le serveur de tunnel, sauf qu'il se compose de deux ensembles de connexions client (clients dos à dos). Le client de tunnel dispose également de deux « côtés ».

  • Le côté tunnel est un ensemble de connexions initiées vers le serveur de tunnel sur l'instance AppScan 360°.
  • Le côté client est l'ensemble de connexions initiées vers le serveur examiné (directement ou via un proxy).

Le client de tunnel réalise la redirection de port.

AppScan Presence

Le tunnel d'examen de site privé repose sur un mécanisme central contrôlé par AppScan 360° appelé AppScan Presence : un canal de communication qui reçoit des tâches à réaliser depuis le service central, et qui déclenche la réalisation de ces tâches par des gestionnaires. Le service Presence est un service d'interrogation qui interroge constamment le service AppScan 360° à propos de tâches à l'aide d'une communication HTTP sécurisée.

Le service AppScan Presence sert uniquement à extraire des tâches du service AppScan 360, à télécharger les informations requises pour gérer la tâche et à déclencher le gestionnaire. Dans ce cas, la tâche est gérée pour le client de tunnel et les informations extraites sont les données requises pour le démarrage des connexions du client de création de tunnel jusqu'au serveur.

Réalisation d'un examen

Pour réaliser un examen, il est nécessaire de démarrer le client de tunnel et de le connecter à un serveur. Cette tâche est réalisée par la structure AppScan Presence.

La structure AppScan Presence se compose d'un service Presence qui s'exécute sur la machine du client de tunnel. Le service Presence interroge l'instance AppScan 360 Presence, qui indique le moment où un examen est prêt à être exécuté. L'échange entre les services se compose des détails de l'examen, y compris de l'adresse IP du serveur de tunnel auquel le client doit se connecter. En outre, il reçoit des informations qui lui permettent d'identifier positivement le serveur auquel il se connecte. Vous trouverez davantage d'informations dans la section Remarques sur la sécurité ci-après.

Dès qu'un utilisateur a demandé un examen privé et a sélectionné une instance Presence par laquelle l'examen doit être réalisé, un agent d'examen est affecté et le serveur de tunnel de cet agent est démarré. Ensuite, une tâche est mise en file d'attente dans le serveur AppScan 360°. Cette tâche est acceptée par le service Presence, qui lance ensuite un client de tunnel contenant les informations de connexion pertinentes.

Remarques sur la sécurité

Deux aspects de sécurité importants ont été pris en compte : le réseau du client et la sécurité de la connexion tunnel.

La solution ne nécessite aucune modification du routage réseau principal de l'organisation. Il est important de noter que l'instance AppScan Presence et le client du tunnel PSS ne nécessitent aucune concession spéciale. Ainsi, le client peut appliquer les stratégies de sécurité organisationnelle sur la machine hôte qui exécute l'instance AppScan Presence et le client du tunnel PSS. Dans la plupart des cas, il n'est pas nécessaire de modifier le pare-feu interne (par exemple, en autorisant les connexions entrantes sur des ports ou des adresses IP spécifiques). Voici les seules exceptions :
  • Si les machines du segment isolé sont limitées à l'accès sortant direct au réseau central, la machine hébergeant AppScan Presence doit être autorisée à atteindre l'instance AppScan 360.
  • Si l'organisation signe de nouveau le trafic SSL/TLS avec son propre certificat, les connexions à AppScan 360° doivent être exclues afin que la communication ne soit pas interrompue et que les mécanismes de sécurité intégrés dans l'architecture fonctionnent correctement.
Dans ce cas, veillez à ce que les adresses IP ou noms d'hôte utilisés par AppScan 360 soient exclues de la nouvelle signature, ou autorisez un accès direct à ces plages et vérifiez qu'elles ne sont pas bloquées par votre pare-feu.

ID Presence

Chaque service Presence dispose d'une clé unique qui lui sert d'ID. Elle sert à identifier l'instance Presence et à lui fournir les tâches d'examen correctes. Il est possible de renouveler la clé à tout moment, pour ainsi se conformer aux règles de sécurité organisationnelle qui exigent des mises à jour périodiques. Dès qu'une clé est renouvelée sur le serveur, l'instance Presence cesse de recevoir des tâches jusqu'à ce que la clé soit physiquement placée sur la machine Presence.

Authentification

Il est essentiel que le serveur de tunnel et le client de tunnel puissent compter l'un sur l'autre, afin de prévenir tout accès extérieur entre les segments réseau depuis un emplacement non validé. Lorsqu'un examen est prêt à être exécuté et que le serveur de tunnel est démarré, il génère une clé de serveur privée et un certificat, ainsi qu'une clé client aléatoire (25 caractères alphanumériques). Le certificat du serveur et la clé client sont transmis au client de tunnel avec les détails de la tâche d'examen (via la communication entre le service Presence et le service AppScan 360). Le serveur et le client de tunnel peuvent ensuite valider l'identité de la connexion à distance.

Le certificat du serveur et la clé client sont invalidés dès que l'examen est terminé et ne sont plus réutilisés, même dans le cas d'un nouvel examen.

Le certificat est conforme aux dernières normes NIST et FIPS qui sont mises à jour occasionnellement (algorithme de chiffrement, algorithme de hachage et longueur de clé).

Protection des données en transit

La connexion tunnel est chiffrée à l'aide de TLS 1.2. Le client de tunnel obtient le certificat de serveur ad hoc à l'avance et l'utilise pour vérifier que le certificat serveur utilisé dans l'authentification TLS est le certificat attendu. Une fois que le client a authentifié le serveur, il envoie la clé du client au serveur, de sorte que le serveur puisse authentifier le client. Les données passées à travers ce tunnel sont composées des requêtes et réponses entre le scanner et l'application de test, et sont donc sensibles. Pour protéger les données, ces dernières sont cryptées en transit entre les extrémités du tunnel à l'aide de ce certificat et de ces clés à exécution unique.