Sécurité d'Orion
.
- “La sécurité par l’obscurité n’est pas du tout une sécurité.”
- Sécurité de l’infrastructure Orion
- Sécurité applicative Orion
- La SSR publique est une odeur .
- Gestion des listes de contrôle d’accès
- OpenIDC Sécurité SSO
- Bcrypt pour les mots de passe Subversion
- Protection des données endommagées
- Problèmes wiki
- Stratégies de sécurité du contenu
- Partage de ressources d’origine croisée
- Dépendances tierces
- Index
“La sécurité par l’obscurité n’est pas du tout une sécurité.”
Paraphrase populaire de serrurier américain Alfred Charles Hobbs En 1851, il choisit facilement les serrures du Crystal Palace lors d’une exposition londonienne cette année-là. Nous sommes tout à fait d’accord. C’est pourquoi nos plans pour notre moteur d’automatisation Oracle Cloud Infrastructure (OCI) sont disponible sur GitHub.
Sécurité de l’infrastructure Orion
Fonctionnalité FIPS 140-2 avec triple chiffrement MFA pour les services de transfert vers port inverse (HTTPS/SSH/IPsec). Ceinture, bretelles et étriers !
Sans mot de passe RBAC modèle, poivré avec orthèse otp-sha1 défis sudo
Aucun mot de passe fixe stocké sur les serveurs. Cette limite l’automatisation sans tête de l’utilisation de sudo / RBAC, pour une bonne raison. Cependant, nous avons outils pour éliminer le travail consistant à répondre à des invites de divers types.
Exécution en bac à sable pour les builds et les scripts CGI
Nous déployons “partage-rien” builds de zone, avec une disponibilité réseau nulle par défaut. Cela signifie que les seules choses auxquelles un build client peut accéder ou modifier sont ses propres actifs, pas ceux d’un autre client, ou tout autre chemin système sur la zone elle-même (en plus de /tmp). En outre, seuls les clients professionnels et professionnels disposent d’un accès Internet pendant leurs builds, car ils utilisent leurs propres zones unique Solaris qui peuvent être adaptées exactement à leurs exigences de build.
Ditto pour les scripts CGI, qui sont entièrement verrouillés en termes d’accès en écriture à tout autre chose que /tmp.
Chiffrement de bout en bout
TLS 1.3 (+FS) AES(256) SHA(256) pour les connexions HTTPS FIPS 140-3
SSHv2 ED25519 Clés compatibles FIPS 140-3 / NIST pour l’hôte croisé
lorétro-transfert de portIPsec/IKEv2/PFS AES(256) pour le VPN interrégional
AES(256) pour le chiffrement ZFS
Aspects de confiance zéro
La prémisse de base de architecture sans confiance est d’éviter de concevoir votre sécurité réseau autour de la physiologie de la palourde : dur à l’extérieur, mais doux et lâche une fois que vous êtes dans. Donc nous ne’Tous les ports réseau privilégiés significatifs à l’intérieur des différents réseaux locaux de point de présence (POP) ne sont exposés qu’à la machine à métaux nus.’interface de périphérique loopback s lo0, et n’a de sens que dans le contexte d’une connexion SSH (inverse) transmise au port **.
Nous utilisons des proxies TCP, pas des proxies HTTP, et aucun back-end MSA, donc le seul hôte qui voit votre trafic Web TLS non chiffré est l’hôte qui le déchiffre. Les mêmes règles s’appliquent au trafic Subversion — seul le trafic crypté TLS direct et de bout en bout vers l’ adresse de service voit vos données non cryptées sur le réseau.
Bonne chance avec les couches MSA et couches d’exposition de données privées avec d’autres fournisseurs. L’ennemi de “ingénierie non fonctionnelle” est la complexité. Il est beaucoup plus facile de fournir des promesses de sécurité significatives lorsque votre produit est un monolithe fédéré au lieu d’un énorme champ de mines MSA, ce qui est un autre différenciateur contradictoire entre Orion et son domaine de concurrents.
Cette infra est entièrement automatisée une fois qu’une région est mise en ligne, mais que’Tout ce que nous pouvons partager publiquement sur l’architecture (équilibrer la transparence Hobbsian avec le mantra militaire) “bateaux d’évier de lèvres lâches” plus d’art que de science). Soyez assuré — au-delà de briser l’antispoofing lo0 protection au sein d’ Solaris 11’s (BSD) filtre de paquets lui-même, il n’y a pas de moyen significatif d’accéder à ces services, même pour les comptes clients.
Même si le compte de contrôle OCI maître est compromis, la confidentialité et l’ intégrité de tous les actifs client restent inchangées. Tout ce qu’un black-hat peut faire est de perturber la disponibilité du site Web du client. En particulier, ils ne peuvent pas accéder aux enregistrements de données du service Subversion. Nous pouvons reconstruire toute l’infrastructure OCI à partir de zéro en 48 à 72 heures une fois la mauvaise pomme’l’accès à OCI a été interrompu.
Journalisation, surveillance et audit
Nous encourageons les entreprises clientes à créer un compte Splunk, et nous livrerons des weblogs en temps quasi réel à votre compte à partir de tous les POP mondiaux dont vous avez besoin. Les journaux d’erreurs de vos scripts CGI côté serveur sont également mis à la disposition de Splunk.
Nous surveillons la disponibilité du service à partir de tous nos POP OCI à l’échelle mondiale et déclenchons des événements de basculement de haute disponibilité (domaine de disponibilité) ou régionaux si une panne de serveur dure plus de 30 secondes.
L’audit d’ACL peut être effectué simplement en créant un site Web’s Subversion HEAD utilisant l’Apache sous licence Orion SSG le script et l’examen du paramétrage résultant dans la www/.acl fichier dans votre répertoire de paiement, à tout moment. Normalement, le processus de construction prendra moins de 10 à 15 secondes sur le matériel moderne.
Les crochets de validation côté serveur Subversion sont également personnalisables en fonction de vos problèmes de supervision. D’un simple logiciel de messagerie de validation à un accès sécurisé à notre démon svnpubsub, il existe un certain nombre de configurations personnalisées disponibles.
Sécurité applicative Orion
La SSR publique est une odeur.
Gestion des listes de contrôle d’accès
Orion’s le modèle de sécurité est géré de manière centralisée par les paramètres contenus dans @path : :acl comme contraint dans lib/path.pm. Les fichiers de configuration du serveur de déconnexion sont générés dynamiquement à chaque modification créée.
OpenIDC Sécurité SSO
Les cookies de session sont marqués HttpOnly et Secure, de sorte que les tentatives de vol de session Javascript sont effectivement neutralisées par l’éditeur en ligne Orion.
Bcrypt pour les mots de passe Subversion
Nombre d’arrondi réglable (actuellement, la valeur par défaut est 5).
Protection des données endommagées
Toutes nos exécutions Perl ont des contrôles de tache obligatoires activés avec le drapeau -T ; une protection puissante et unique contre les exploits de shell à distance.
Problèmes wiki
La sécurité du wiki implique plusieurs facteurs :
Sécurité IU/API
Sécurité middleware/back-end
Protections de traversée de modèle
Compatibilité ACL du moteur de recherche
Nous explorons ces questions en relation avec Orion ci-dessous.
Editeur en ligne
L’éditeur en ligne prend en charge une interface utilisateur JSON en définissant simplement votre user-agent’s Acceptez l’en-tête pour préférer application/json Type MIME, les contrôles de sécurité sont donc les mêmes pour l’interface utilisateur et l’API.
Aucune interface utilisateur/API d’administration n’est disponible en dehors de l’accès Subversion direct.
Les ACL Subversion régissent l’accès en lecture aux copies de travail côté serveur
Chaque ressource de copie de travail disponible via l’interface utilisateur fait l’objet d’une vérification croisée par rapport à vos ACL Subversion avant de les présenter à l’utilisateur. De cette façon, nous veillons à ce que l’accès en lecture aux ressources non autorisées soit empêché pour les ressources sous contrôle de version (aka tout).
L’accès de validation est directement contrôlé par les ACL Subversion
Rien ne peut être construit et affiché par la suite sur le réseau sans une validation Subversion autorisée correspondante. Le principal problème ici est de contrôler quelles informations sont disponibles pour un auteur de page wiki.’éditions validées et créées.
Si vous autorisez le prétraitement de modèle dans les pages source de démarque, vous devez savoir comment les arguments de modèle rendent le contenu des autres fichiers de l’arborescence disponible en tant que variables pour la source de la page modifiée.
Souvent, si elle est configurée pour le faire, la page modifiée peut déclarer ses propres fichiers de dépendance dans les en-têtes de la page, ce qui est quelque chose à penser lorsque vous pesez les jeux de fonctionnalités contre les contrôles de sécurité dans votre Wiki’s Architecture d’information.
Alors que nous pouvons offrir des conseils et un soutien pour répondre à vos besoins, il’c’est à vous de décider comment équilibrer les échelles pour votre organisation’wiki d’entreprise.
Voir la section ci-dessous sur Contrôles d’injection de dépendance/ACL pour plus de détails, et consultez cet exemple en direct de la facilité d’ACL’s peut être configuré de manière centralisée dans lib/acl.yml:
- path: content
rules:
"@staff": rw
"@svnadmin": rw
"*": r
- path: content/orion
rules:
"@marketing": rw
"@staff": rw
"@svnadmin": rw
"*": r
- path: lib
rules:
"@svnadmin": rw
"@devops": rw
- path: lib/acl.yaml
rules:
"@svnadmin": rw
"@security": rw
- path: templates
rules:
"@svnadmin": rw
"@frontend": rw
- path: cgi-bin/search.pl
rules:
"*":
Les auteurs de contenu peuvent configurer les restrictions de page dans la page’s en-têtes:
Title: Orion Security
Dependencies: *.md.en api/index.md.en
ACL: @staff=rw, *=r
Keywords: security,infosec,appsec,ipsec,devsecops,it,acl,svnauthz
Par ailleurs, les ressources protégées ne peuvent pas être copiées dans une branche par du personnel non autorisé, même sans placer de contrôles ACL supplémentaires lors de la création et de la modification de la branche. En d’autres termes, le système prendra en charge l’expérimentation des succursales sans aucun contrôle supplémentaire de votre part pour garantir que les actifs protégés restent protégés dans chaque succursale.’cycle de vie naturel.
Créer des listes de contrôle d’accès système ?
Le système de construction est all-seeing et all-knowing, mais nous pouvons nous assurer que vos actifs construits et protégés ne sont visibles que par les équipes que vous gérez et contrôlez dans les ACL Subversion.
Le système de compilation affiche la liste des noms de fichier qu’il a créés via l’IDE du navigateur lors d’une validation, mais cette liste est uniquement basée sur un utilisateur’accès en lecture aux ressources dépendantes de l’utilisateur’ajouter, mettre à jour ou supprimer des actions de contenu dans la validation.
Contrôles de traversée de modèle
Voir sanitize_relative_path:
sub sanitize_relative_path {
for (@_) {
s#^[\\/]+##g;
s/^\w+://g; #Windows GRR
s#([\\/])+#$1#g;
s#/\./#/#g;
1 while s#[\\/][^\\/]+[\\/]\.\.[\\/]#/#;
s#^(?:\.\.?[\\/])+##;
}
}
Ce code applique les règles qui suivent ci-dessous dans cette section.
inclure et étendre les balises
Tous les fichiers cible se trouvent dans un sous-dossier de /modèles/ et doit être référencé en tant que chemins absolus ancrés dans ce dossier.
balise ssi
Tous les fichiers cible se trouvent dans un sous-dossier de /contenu/ et doit être référencé en tant que chemins absolus ancrés dans ce dossier.
Si le chemin cible n’est pas configuré dans @path : :modèles avec un paramètre de correspondance qui permet au chemin cible en question d’être archivé ou catégorisé, ssi l’opération échouera.
C’est parce que ssi le support est un prérequis pour ces ensembles de fonctionnalités, afin de préserver votre site’s taget permalinks.
Contrôles d’injection de dépendance/ACL
Contrôlé par lib/path.pm importations.
lib./{chemin,vue}.pm Liste de contrôle d’accès Subversion
Ce’s sage de contrôler l’accès en écriture à ces ressources, en les limitant aux personnes à la fois compétentes dans la base de code et autorisées à mettre en œuvre des contrôles de sécurité pour l’ensemble des actifs sous contrôle de version (aka tout).
C’est aussi une bonne idée d’inclure le @svnadmin groupe parmi ceux qui disposent d’un accès en lecture-écriture, mais’n’est pas strictement nécessaire même si vous avez besoin de nous pour réinitialiser manuellement vos ACL Subversion.
Règles générées dynamiquement via @chemin : :acl
Le système de paramétrage prend note de votre lib/path.pm les importations de seed_file_deps() et seed_file_acl(), ou des deux, et le report de ce choix dans son traitement interne des modifications de validation Subversion qui donnent lieu à une construction incrémentielle.
Contrôles personnalisés sur l’utilisation de seed_file_deps() et de seed_file_acl() dans lib/path.pm
Au-delà de l’importation de ces symboles lib/path.pm, vous pouvez également choisir comment et à quels fichiers vous souhaitez les appliquer lors de l’exécution d’un bloc de code walk_content_tree (). Après tout, il’s pas seulement un fichier de configuration, mais une base de code, avec toutes les fonctionnalités complètes de Turing Perl nous’Venez découvrir et apprécier !
Site Web construit et ACL Subversion’s synchronisé avec @path : :acl instantanément lors de la validation
Protection automatique pour les constructions de branches éphémères. Aucune configuration supplémentaire requise.
Contrôles intégrés du moteur de recherche PCRE
Même situation que l’interface utilisateur à usage général : elle effectue des vérifications croisées sur le serveur Subversion à partir de l’interface utilisateur.
Sur le site en direct, le moteur de recherche fera exactement la même chose lorsque vous activerez les recherches Markdown (arborescence source). Sinon, il exécutera des sous-demandes httpd sur votre site live pour vérifier si l’utilisateur est autorisé à accéder à ce fichier live (en supposant que vous ayez protégé votre moteur de recherche par mot de passe afin qu’il dispose de données utilisateur pour fonctionner).
Stratégies de sécurité du contenu
- Restrictions d’analyse
Google et/ou LinkedIn.
- Restrictions de données
Les données doivent être fournies à partir de nos serveurs.
- Restrictions de contenu
Le contenu doit être livré à partir de nos serveurs.
- Restrictions de code
Javascript Code doit être livré à partir de nos serveurs.
- Restrictions de style
CSS doit être livré à partir de nos serveurs.
- Restrictions de plug-in
Actuellement PDF’s uniquement.
Partage de ressources d’origine croisée
Tous les utilisateurs disposant d’un compte peuvent utiliser des interfaces utilisateur/API d’ailleurs à l’aide de leurs informations d’identification de connexion.
Les entreprises peuvent traiter Orion comme un CMS sans tête s’ils souhaitent créer leur propre interface utilisateur à partir de JSON Subversion Porcelaine ou Recherche JSON API.
Dépendances tierces
Dépendances remarquablement brèves et éprouvées, dont les principales composantes sont Technologie Orion page.
Nomenclature logicielle (SBOM) disponible sur demande
Nous contacter pour plus de détails.
Index
SunStar Orion de Systems — Plateforme Wiki d’entreprise pour créer, gérer et fournir pages Web statiques utilisant la technologie #Jamstack pour les fonctionnalités dynamiques…
Plans Orion — Remises annuelles à l’avance disponibles (jusqu’à 20 % de réduction sur les coûts de facturation mensuels)…
Caractéristiques d’Orion — Même moteur d’affichage de code javascript dans votre navigateur et dans le script de build markdown.js (basé sur node.js)…
API Orion — Cette page indexe les API Rechercher, Editeur en ligne, Bibliothèque de modèles Django et Créer un système…
Référence Orion — Ces icônes de crayon rose vif
en haut à droite le long de la chapelle vous donnera une démonstration en direct…Politique de confidentialité d’Orion — Il s’agit d’un système de consentement conforme au RGPD. Première visite à l’Orion ™ CMS/IDE, vous serez dirigé vers une page Google vous demandant d’autoriser…
Technologie Orion — Maintenant avec mod_perl v2.0.13 w/ ithreads et httpd v2.4.58 w/ event mpm….