Activer le bac à sable de script [Mis à jour dans Centre de sécurité 1.3]

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 2 minutes de lecture
  • Utilisez la propriété pour activer le glide.script.use.sandbox sandboxing des scripts.

    Empêchez les utilisateurs non autorisés ou non authentifiés d’exécuter des scripts privilégiés sur votre instance en activant la fonctionnalité de bac à sable de script. Le bac à sable de script est utilisé pour exécuter les scripts générés par le client, tels que les conditions de requête et les expressions GlideAjax, dans un environnement « bac à sable » qui a des droits restreints.

    Sans le bac à sable de script, les utilisateurs non autorisés/non authentifiés peuvent exécuter un script privilégié sur une instance. Cela peut avoir un impact sur la sécurité dans tous les domaines, y compris, mais sans s’y limiter, l’accès potentiellement malveillant à toutes les données de l’instance.

    Activez la fonctionnalité de bac à sable de script sur votre instance en définissant la propriété système glide.script.use.sandbox sur vrai.

    Il existe deux cas dans le Now Platform qui permettent au client d’envoyer des scripts au serveur pour évaluation :
    Filtres ou requêtes
    Il est légal d’envoyer un filtre au serveur tel que assigned_to=JavaScript :getMyGroups().
    API système
    L’appel d’API permet au client d’exécuter des scripts arbitraires sur le serveur et de recevoir une réponse.
    Si vous activez le bac à sable de script, le script évalué à l’un de ces deux points d’entrée s’exécute dans un bac à sable avec des droits réduits, avec les caractéristiques suivantes :
    • Seules les règles métier marquées comme pouvant être appelées par le client sont disponibles dans le bac à sable.
    • Seuls les includes de script marqués comme client pouvant être appelé sont disponibles dans le bac à sable.
    • Certains appels d’API (en grande partie, mais pas entièrement, limités à ceux traitant de l’accès direct à la base de données ne sont pas autorisés.)
    • Vous ne pouvez pas insérer, mettre à jour ou supprimer des données à partir du bac à sable. Par exemple, tous les appels à current.update() sont ignorés. Si vous exécutez sans activer le Now Platform sandboxing de script, aucune de ces restrictions ne s’applique.
    Avertissement :
    Il s’agit d’une propriété de la sphère de sécurité, ce qui signifie que la valeur ne peut pas être modifiée une fois qu’elle a été modifiée. Il n’est pas réversible.

    En savoir plus

    Attribut Description
    Nom de la propriété glide.script.use.sandbox
    Type de configuration Propriétés système (/sys_properties_list.do)
    Catégorie Validation, nettoyage et codage
    Objectif Applique la validation des requêtes JavaScript côté client qui sont lancées sur la plateforme
    Valeur recommandée VRAI
    Valeur par défaut VRAI
    Cote de risque de sécurité 10
    Impact fonctionnel Cette correction applique la validation des requêtes JavaScript côté client qui sont lancées par rapport au Now Platform. Il y a un impact potentiel si le client a des personnalisations qui incluent des requêtes JavaScript codées en dur pour effectuer des opérations CRUD.
    Risque de sécurité (Critique) Le fournit Now Platform une grande variété de fonctionnalités via des requêtes JavaScript. Cependant, sans autorisation et validation appropriées, il est possible qu’un attaquant effectue des opérations non autorisées contre la plateforme.
    Références Configuration de la propriété de bac à sable de script
    glide.script.use.sandbox appartient à la même famille de propriétés qui sécurisent et restreignent l’exécution de scripts provenant du client :

    Pour en savoir plus sur l’ajout ou la création d’une propriété système, reportez-vous à la section Add a system property.