Orion-Sicherheit

“Sicherheit durch Dunkelheit ist überhaupt nicht viel Sicherheit.”

Populäre Paraphierung amerikanischer Schlosser Alfred Charles Hobbs Im Jahr 1851, der leicht die Crystal Palace Schlösser während einer Londoner Ausstellung in diesem Jahr ausgewählt. Wir sind uns voll und ganz einig. Deshalb sind unsere Blueprints für unsere Oracle Cloud Infrastructure-(OCI-)Automatisierungs-Engine verfügbar unter GitHub.

Sicherheit der Orion-Infrastruktur

flowchart TB classDef borderless stroke-width:0px classDef darkBlue fill:#00008B, color:#fff classDef brightBlue fill:#6082B6, color:#fff classDef gray fill:#62524F, color:#fff classDef gray2 fill:#4F625B, color:#fff subgraph vcs[ ] A1[[Fort Lauderdale, FL]] B1[Air-Gapped Version Control Server] end class vcs,A1 gray subgraph vpn-us-east[ ] A2[[Reston, VA]] B2[OCI Edge Servers] end class vpn-us-east,A2 darkBlue subgraph vpn-us-west[ ] A3[[Phoenix, AZ]] B3[OCI Edge Servers] end class vpn-us-west,A3 darkBlue subgraph vpn-de-central[ ] A4[[Frankfurt, Germany]] B4[OCI Edge Servers] end class vpn-de-central,A4 darkBlue subgraph vpn-bz-west[ ] A5[[São Paolo, Brazil]] B5[OCI Edge Servers] end class vpn-bz-west,A5 darkBlue subgraph vpn-au-west[ ] A6[[Sydney, Australia]] B6[OCI Edge Servers] end class vpn-au-west,A6 darkBlue subgraph vpn-ap-west[ ] A7[[Hyderabad, India]] B7[OCI Edge Servers] end class vpn-ap-west,A7 darkBlue subgraph vpn-ap-east[ ] A8[[Seoul, South Korea]] B8[OCI Edge Servers] end class vpn-ap-east,A8 darkBlue class A1,A2,A3,A4,A5,A6,A7,A8 borderless vcs==vpn==>A2==ssh/vpn==>B2 vcs==vpn==>A3==ssh/vpn==>B3 vcs==vpn==>A4==ssh/vpn==>B4 vcs==vpn==>A5==ssh/vpn==>B5 vcs==vpn==>A6==ssh/vpn==>B6 vcs==vpn==>A7==ssh/vpn==>B7 vcs==vpn==>A8==ssh/vpn==>B8

 

FIPS 140-2-konform mit MFA-Dreifachverschlüsselung für Reverse-Port-forwarded-Services (HTTPS/SSH/IPsec). Gürtel, Hosenträger und Steigbügel!


 

Passwordless RBAC Modell, mit Pfeffer Uterus otp-sha1.

Keine festen Kennwörter auf Servern gespeichert. Diese begrenzt kopflose Automatisierung der sudo / RBAC-Nutzung, aus gutem Grund. Wir haben jedoch Werkzeug.

Sandbox-Ausführung für Builds und CGI-Skripte

Wir stellen “Shared-Nothing”-Zonen-Builds bereit, die standardmäßig auf keine Netzwerkverfügbarkeit gesetzt sind. Dies bedeutet, dass ein Kunden-Build nur auf seine eigenen Assets zugreifen oder diese ändern kann, nicht auf die anderen Kunden oder andere Systempfade in der Zone selbst (neben /tmp.

Ditto für CGI-Skripte, die in Bezug auf den Schreibzugriff auf alles andere als /tmp.

End-to-End-Verschlüsselung

Zero Trust Aspekte

Die Grundprämisse von Zero-Trust-Architektur Vermeiden Sie es, Ihre Netzwerksicherheit rund um die Physiologie von Clam zu entwerfen: hart auf der Außenseite, aber weich und locker, sobald Sie in sind. Das tun wir nicht; jeder sinnvolle privilegierte Netzwerkport innerhalb der verschiedenen Point of Presence (POP)-LANs ist nur der Loopback-Geräteschnittstelle des Bare-Metal-Rechners ausgesetzt lo0.

Diese Infra ist vollständig automatisiert, sobald eine Region online gebracht wird, aber das ist alles, was wir öffentlich über die Architektur teilen können (die Balance der hobbsischen Transparenz mit dem militärischen Mantra “lose Lippen versenken Schiffe” ist mehr Kunst als Wissenschaft). Ruhe bewahren — über das Brechen der Antispoofing lo0.

Selbst wenn der Master-OCI-Kontrollaccount kompromittiert ist, bleiben die Vertraulichkeit und Integrität aller Kundenassets unverletzlich. Alles, was ein Black-Hat tun kann, ist, sich mit der Kundenwebsite Verfügbarkeit zu beschäftigen. Insbesondere können sie nicht auf die Datensätze des Subversion-Dienstes zugreifen. Wir können die gesamte OCI-Infrastruktur in 48-72 Stunden von Grund auf neu erstellen, nachdem der OCI-Zugriff des fehlerhaften Apple beendet wurde.


Logging, Überwachung und Auditing

Wir ermutigen Unternehmenskunden, ein Splunk-Konto zu erstellen, und wir liefern Ihrem Konto nahezu Echtzeit-Weblogs von jedem globalen POP, den Sie benötigen. Fehlerprotokolle für Ihr serverseitiges CGI-Scripting werden Splunk ebenfalls zur Verfügung gestellt.

Wir überwachen die Serviceverfügbarkeit von allen unseren OCI-POPs weltweit und lösen HA (Availability-Domain) oder regionale Failover-Ereignisse aus, wenn ein Serverausfall länger als 30 Sekunden dauert.

ACL-Auditing kann durchgeführt werden, indem einfach der Subversion-HEAD einer Website mit dem Apache-Lizenz erstellt wird Orion SSG Skript und Prüfung des resultierenden Builds in www/acl.

Subversion Server-Side Commit Hooks sind auch an Ihre Aufsichtsprobleme anpassbar. Von einem einfachen Commit-Mailer bis hin zu einem sicheren Zugriff auf unseren svnpubsub-Daemon gibt es eine beliebige Anzahl von benutzerdefinierten Konfigurationen.


Anwendungssicherheit in Orion

digraph { "@path::acl" -> "authz-svn.conf" [label="svn"]; "@path::acl" -> "/**/.htaccess" [label="httpd"]; };

 

Das Sicherheitsmodell von Orion wird zentral von den Einstellungen verwaltet, die in @path::acl wie in Bibliothek/path.pm.

OpenIDC SSO-Sicherheit

Session-Cookies sind HttpOnly und sicher gekennzeichnet, so dass Javascript-Session-Stealing-Versuche effektiv durch den Orion Online Editor neutralisiert werden.

Bcrypt für Subversion-Passwörter

Einstellbare Anzahl von Runden (derzeit standardmäßig 5).

Gefälschter Datenschutz

Alle unsere Perl-Laufzeiten haben obligatorische Taint-Prüfungen, die mit dem Flag -T aktiviert sind; ein leistungsstarker, einzigartiger Perl-Schutz gegen Remote Shell Exploits.

Wiki-Probleme

Wiki-Sicherheit umfasst mehrere Faktoren:

  1. UI-/API-Sicherheit

  2. Middleware-/Backend-Sicherheit

  3. Schutz vor Vorlagendurchlauf

  4. Suchmaschinen-ACL-Kompatibilität

Wir befassen uns mit diesen Themen, da sie sich auf Orion unten beziehen.

Online-Editor

Der Online-Editor unterstützt eine JSON-UI, indem er einfach den Accept-Header des Benutzer-Agent so einstellt, dass er die Anwendung/Json.

Es ist keine administrative UI/API außerhalb des direkten Subversion-Zugriffs vorhanden.

Subversion-ACLs steuern den Lesezugriff auf serverseitige Arbeitskopie

Jede über die Benutzeroberfläche verfügbare Arbeitskopieressource wird mit Ihren Subversion-ACLs verglichen, bevor sie dem Benutzer präsentiert wird. Auf diese Weise stellen wir sicher, dass der Lesezugriff auf nicht autorisierte Ressourcen für die Assets unter Versionskontrolle (auch als alles bezeichnet) verhindert wird.

Commit-Zugriff wird direkt mit Subversion-ACLs gesteuert

Nichts kann ohne einen entsprechenden autorisierten Subversion-Commit über das Netzwerk aufgebaut und anschließend angezeigt werden. Das Hauptproblem besteht darin, die Informationen zu kontrollieren, die den zugesagten und erstellten Bearbeitungen eines Wiki-Seitenautors zur Verfügung stehen.

Wenn Sie die Vorverarbeitung von Vorlagen auf den Markdown-Quellseiten zulassen, müssen Sie wissen, wie Template-Argumente den Inhalt anderer Dateien im Baum als Variablen für die Quelle der bearbeiteten Seite verfügbar machen.

Oft kann die bearbeitete Seite, wenn sie dafür konfiguriert ist, ihre eigenen Abhängigkeitsdateien in den Kopfzeilen der Seite deklarieren, was zu denken ist, wenn Sie Feature-Sets gegen Sicherheitssteuerelemente in der Informationsarchitektur Ihres Wikis abwägen.

Während wir Ihnen Beratung und Unterstützung anbieten können, die Ihren Anforderungen entsprechen, liegt es wirklich an Ihnen, zu entscheiden, wie Sie die Waage für das Unternehmens-Wiki Ihrer Organisation ausgleichen können.

Siehe untenstehenden Abschnitt auf Abhängigkeits-/ACL-Einspritzkontrollen für weitere Details, und schauen Sie sich dieses Live-Beispiel an, wie einfach ACLs zentral konfiguriert werden können Bibliothek/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:
    "*":

Inhaltsautoren können Seiteneinschränkungen auf der Seite konfigurieren Kopfzeilen.

Title: Orion Security
Dependencies: *.md.en api/index.md.en
ACL: @staff=rw, *=r
Keywords: security,infosec,appsec,ipsec,devsecops,it,acl,svnauthz

Nebenbei bemerkt, können geschützte Ressourcen nicht von nicht autorisiertem Personal in eine Verzweigung kopiert werden, auch wenn keine zusätzlichen ACL-Steuerelemente bei der Erstellung und Änderung von Verzweigungen eingefügt werden. Mit anderen Worten, das System unterstützt Filialexperimente ohne zusätzliche Kontrollen Ihrerseits, um sicherzustellen, dass geschützte Assets während des gesamten natürlichen Lebenszyklus jeder Filiale geschützt bleiben.

System-ACLs erstellen?

Das Build-System ist allumfassend und allwissend, aber wir können sicherstellen, dass Ihre gebauten, geschützten Assets nur für die Teams sichtbar sind, die Sie in den Subversion-ACLs verwalten und kontrollieren.

Das Build-System zeigt die Liste der Dateinamen an, die es über die Browser-IDE bei einem Commit erstellt hat. Diese Liste basiert jedoch nur auf dem Lesezugriff eines Benutzers auf die Ressourcen, die von den Aktionen zum Hinzufügen, Aktualisieren oder Löschen von Inhalten im Commit abhängig sind.

Vorlagen-Traversionskontrollen

Siehe sanitize_relative_path.

sub sanitize_relative_path {
  for (@_) {
    s#^[\\/]+##g;
    s/^\w+://g; #Windows GRR
    s#([\\/])+#$1#g;
    s#/\./#/#g;
    1 while s#[\\/][^\\/]+[\\/]\.\.[\\/]#/#;
    s#^(?:\.\.?[\\/])+##;
  }
}

Dieser Code setzt die folgenden Regeln in diesem Abschnitt durch.

Tags einschließen und erweitern

Alle Zieldateien befinden sich in einem Unterordner des /Vorlagen/.

ssi-Tag

Alle Zieldateien befinden sich in einem Unterordner des /Inhalt/.

Wenn der Zielpfad nicht konfiguriert ist in @path::Muster mit einer übereinstimmenden Einstellung, die es ermöglicht, den betreffenden Zielpfad entweder zu archivieren oder zu kategorisieren, ssi.

Dies liegt daran, ssi.

Abhängigkeits-/ACL-Injektionskontrollen

Kontrolliert von Bibliothek/path.pm.

lib/{path,view}.pm Subversion-ACLs

Es ist ratsam, den Schreibzugriff auf diese Ressourcen zu kontrollieren, indem sie auf Personen beschränkt werden, die sowohl in der Codebasis kompetent sind als auch autorisiert sind, Sicherheitskontrollen für die gesamte Gruppe von Assets unter Versionskontrolle (auch als alles bezeichnet) durchzuführen.

Es ist auch eine gute Idee, die @svnadmin.

Dynamisch generierte Regeln über @

Das Build-System nimmt Ihre Bibliothek/path.pm.

Benutzerdefinierte Steuerelemente für die Verwendung von seed_file_deps() und seed_file_acl() in lib/path.pm

Über den Import dieser Symbole hinaus Bibliothek/path.pm, können Sie auch auswählen, wie und auf welche Dateien Sie sie anwenden möchten, während einer Codeblockausführung von walk_content_tree (). Schließlich ist es nicht nur eine Konfigurationsdatei, sondern eine Codebasis mit allen Turing-Komplettfunktionen von Perl.

Built Website und Subversion ACLs synchronisiert mit @

Automatischer Schutz für ephemere Zweige. Keine zusätzliche Konfiguration erforderlich.

Integrierte Steuerelemente für PCRE-Suchmaschinen

Dieselbe Situation wie die allgemeine Benutzeroberfläche: Sie prüft den Subversion-Server über die Benutzeroberfläche.

Auf der Live-Website wird die Suchmaschine genau dasselbe tun, wenn Sie Markdown-Suchen (Quellbaum) aktivieren. Andernfalls werden httpd-Unteranforderungen an Ihre Live-Site ausgeführt, um zu testen, ob der Benutzer für den Zugriff auf diese Live-Datei autorisiert ist (vorausgesetzt, Sie haben Ihre Suchmaschine mit einem Passwort geschützt, damit sie Benutzerdaten zur Arbeit hat).

Inhaltssicherheits-Policys

Google und/oder LinkedIn.

Daten müssen von unseren Servern bereitgestellt werden.

Inhalte müssen von unseren Servern bereitgestellt werden.

Javascript Code muss von unseren Servern bereitgestellt werden.

CSS muss von unseren Servern bereitgestellt werden.

Derzeit nur PDF.

Ursprungsübergreifende Ressourcenfreigabe

Drittanbieterabhängigkeiten

Bemerkenswert kurze und bewährte Abhängigkeiten, deren Hauptbestandteile auf der Orion-Technologie.

Software-Stückliste (SBOM) auf Anfrage verfügbar

Kontakt.


Index