أوريون الأمن

قفل.

“الأمن من خلال الغموض ليس الكثير من الأمن على الإطلاق.”

إعادة صياغة شعبية للأقفال الأمريكية ألفرد تشارلز هوبز في عام 1851، اختار بسهولة أقفال كريستال بالاس خلال معرض لندن في ذلك العام. نتفق تمامًا، وهذا هو السبب في أن مخططاتنا لمحرك أتمتة Oracle Cloud Infrastructure (OCI) لدينا هي متاح على GitHub.

أمان البنية الأساسية لـ Orion

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-3 مع التشفير الثلاثي MFA للخدمات ذات الميناء العكسي (HTTPS/SSH/IPsec). الحزام والمعلقين والركاب!


 

RBAC نموذج، فلفل مع مقوس تحديات OTP/TOTP

يتطلب كل الوصول إلى حساب البنية الأساسية توفير بيانات اعتماد التصديق متعدد العوامل، بما في ذلك حسابات OCI. لا توجد أبواب خلفية لهذه السياسة، حسب التصميم.

يتطلب وصول جميع الموظفين إلى أجهزة الشركة YubiKey تكامل PKI مع المفاتيح الخاصة للتصريح ECDSA-SHA-2-NISTP-256 المخزنة في فتحات PKCS11 على Yubikey، أو تكامل البطاقة الذكية المباشر مع مفاتيح ED25519-sk.

لا توجد كلمات مرور ثابتة مخزنة على الأقراص. هذا يحد من أتمتة بدون رأس من استخدام sudo / RBAC، لسبب وجيه. ومع ذلك، لدينا الأدوات للقضاء على كعب الاستجابة لمطالبات من أنواع مختلفة.

تنفيذ وضع الحماية لعمليات الإنشاء واسكربتات CGI

نشرنا “لا شيء مشترك” إنشاء المناطق، مع تعيين القيمة الافتراضية على عدم توفر الشبكة. وهذا يعني أن الأشياء الوحيدة التي يمكن للعميل الوصول إليها أو تعديلها هي أصوله الخاصة، وليس تلك التي يمتلكها أي عميل آخر، أو أي مسارات نظام أخرى في المنطقة نفسها (بالإضافة إلى ذلك) /tmp). علاوة على ذلك، يمكن لعملاء الأعمال والمؤسسات فقط الوصول إلى الإنترنت أثناء عمليات الإنشاء الخاصة بهم، لأنهم يستخدمون مناطق سولاريس الفريدة الخاصة بهم والتي يمكن تصميمها خصيصًا وفقًا لمتطلبات الإنشاء الخاصة بهم.

Ditto لبرامج CGI النصية، والتي يتم تأمينها بالكامل من حيث الوصول للكتابة إلى أي شيء آخر غير /tmp.

التشفير الطرفي

جوانب الثقة الصفرية

الفرضية الأساسية بنية الثقة الصفرية هو تجنب تصميم أمن شبكتك حول فسيولوجيا التشويش: من الصعب على الخارج، ولكن لينة وفضفاضة بمجرد دخولك. لذلك نحن لا’t do that; كل منفذ شبكة ذات امتيازات ذات مغزى داخل مختلف نقاط التواجد (POP) LANs يتعرض فقط إلى الجهاز بدون المعادن’واجهة جهاز الاسترجاع s lo0، وهو ذو معنى فقط في سياق منفذ (عكسي) تم توجيه اتصال SSH إليه **.

نستخدم وكلاء TCP، وليس وكلاء HTTP، ولا توجد واجهات خلفية لـ MSA، لذلك المضيف الوحيد الذي يرى حركة مرور ويب TLS غير المشفرة هو المضيف الذي يفك تشفيرها. تنطبق نفس القواعد على حركة مرور الإصدار الفرعي — لا ترى سوى حركة مرور TLS المشفرة المباشرة والشاملة إلى نقطة انتهاء الخدمة بياناتك غير المشفرة على السلك.

حظا سعيدا مع طبقات MSA وطبقات التعرض للبيانات الخاصة مع البائعين الآخرين. عدو “هندسة غير وظيفية” هو تعقيد. من الأسهل بكثير تقديم وعود أمنية ذات مغزى عندما يكون منتجك عبارة عن متحد موحد بدلاً من حقل ألغام MSA ضخم، وهو عامل تمييز آخر بين أوريون ومجال منافسيها.

هذه البنية التحتية مؤتمتة بالكامل بمجرد إحضار منطقة عبر الإنترنت، ولكن ذلك’كل ما يمكننا مشاركته علناً حول العمارة (موازنة الشفافية الهوبسية مع الشعار العسكري) “سفن غرق الشفاه” الفن أكثر من العلم). مطمئن — ما وراء كسر antispoofing lo0 الحماية داخل سولاريس 11’تقوم حزمة (BSD) بتصفية نفسها، ولا توجد وسيلة ذات مغزى للوصول إلى هذه الخدمات، حتى بالنسبة لحسابات العملاء.

حتى إذا تم اختراق حساب تحكم OCI الرئيسي، فإن السرية والسلامة لجميع أصول العملاء لا تزال تنتهك. كل ما يمكن القيام به هو إحداث فوضى مع موقع العميل التوافر. على وجه الخصوص، لا يمكنهم الوصول إلى سجلات بيانات خدمة الإصدار الفرعي. يمكننا إعادة بناء البنية التحتية الكاملة لـ OCI من البداية في غضون 48 إلى 72 ساعة بمجرد تفاحة سيئة’تم إنهاء وصول OCI.


التسجيل والمراقبة والتدقيق

نحن نشجع عملاء Enterprise على إنشاء حساب Splunk، وسنقوم بتسليم مدونات الويب في الوقت الفعلي تقريبًا إلى حسابك من كل POP عالمي تحتاجه. كما يتم توفير سجلات الأخطاء لسكريبت CGI من جانب الخادم لـ Splunk.

نراقب توافر الخدمة من جميع نقاط POP في OCI على مستوى العالم، ونشغل HA (نطاق التوفر)، أو أحداث تجاوز الفشل الإقليمية إذا استمر انقطاع الخادم لأكثر من 30 ثانية.

يمكن إجراء تدقيق ACL ببساطة عن طريق إنشاء موقع ويب’s رأس التخريب باستخدام أباتشي المرخصة أوريون SSG كتابة السيناريو وفحص البناء الناتج إلى www/.acl ملف في دليل الخروج الخاص بك، في أي وقت تريد. عادة ما تستغرق عملية الإنشاء أقل من 10-15 ثانية على الأجهزة الحديثة.

كما يمكن تخصيص خطافات التثبيت من جانب الخادم وفقًا لمخاوفك المتعلقة بالإشراف. من مرسل بريد التثبيت البسيط إلى الوصول الآمن إلى محرك svnpubsub الخاص بنا، هناك أي عدد من التكوينات المخصصة المتاحة.


تأمين تطبيق Orion

SSR العام هو رائحة.

إدارة قائمة التحكم بالوصول

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

 

أوريون’تتم إدارة نموذج الأمان مركزيًا بواسطة الإعدادات الواردة في @path::acl كما يحجم في lib/path.pm. يتم إنشاء ملفات تكوين خادم Offshoot ديناميكيًا في كل تغيير تم إنشاؤه.

إذا كنت تفهم نموذج أمان نظام ملفات POSIX، فستكون على حق في المنزل مع Orion’ss mod_dav_svn نموذج التفويض وخادم ويب Apache HTTPd’s .htaccess الضوابط التي يتم إنشاؤها تلقائيا من موقع الويب الخاص بك’ss lib/acl.yml تكوين YAML.

OpenIDC تأمين تسجيل الدخول الموحد

جميع ملفات تعريف الارتباط الخاصة بجلسة عمل OpenID هي HttpOnly وتم وضع علامة آمن عليها، لذلك يتم تحييد محاولات سرقة جلسة عمل جافا سكريبت بشكل فعال من قبل محرر Orion Online.

كل تخزين بيانات اعتماد ملفات تعريف الارتباط مشفر أيضًا AES-256 تحت شفرة هاش HMAC SHA-1.

تشفير كلمات مرور الإصدار الفرعي

عدد التقريبات القابل للتعديل (يتم افتراضه حاليًا على 5).

حماية البيانات الملوثة

تحتوي جميع أوقات تشغيل Perl لدينا على فحوصات عيب إلزامية ممكّنة بعلامة -T ؛ حارس بيرل قوي وفريد ضد استغلالات Remote Shell.

قضايا ويكي

يتضمن أمن ويكي عدة عوامل:

  1. تأمين واجهة المستخدم/واجهة برمجة التطبيقات

  2. أمان البرامج الوسيطة/الواجهة الخلفية

  3. حماية اجتياز القالب

  4. توافق قائمة التحكم بالوصول لمحرك البحث

نحن نتعمق في هذه القضايا فيما يتعلق بـ Orion أدناه.

محرر مباشر

يدعم المحرر عبر الإنترنت واجهة مستخدم JSON ببساطة عن طريق تعيين وكيل المستخدم الخاص بك’s اقبل رأسك لتفضيل تطبيق/json نوع MIME، بحيث تكون عناصر التحكم في الأمان متماثلة لكل من واجهة المستخدم وواجهة برمجة التطبيقات.

لا توجد واجهة مستخدم إدارية/واجهة برمجة تطبيقات خارج الوصول المباشر للإصدار الفرعي.

تتحكم قوائم ACL للإصدار الفرعي في الوصول إلى قراءة نسخة العمل من جانب الخادم

يتم فحص كل مورد نسخة عمل متوفر من خلال واجهة المستخدم بشكل متقاطع مقابل قوائم ACL الخاصة بالإصدار الفرعي قبل تقديمها إلى المستخدم. وبهذه الطريقة نضمن منع الوصول للقراءة إلى الموارد غير المصرح بها للأصول الخاضعة لمراقبة الإصدار (المعروفة باسم كل شيء).

يتم التحكم في الوصول إلى التثبيت مباشرةً باستخدام قوائم التحكم بالوصول للإصدار الفرعي

لا يمكن إنشاء أي شيء وعرضه لاحقًا عبر الشبكة بدون تثبيت الإصدار الفرعي المعتمد المقابل. المشكلة الرئيسية هنا هي التحكم في المعلومات المتاحة لمؤلف صفحة wiki’عمليات التحرير المثبتة والمبنية.

إذا سمحت بالمعالجة المسبقة للقالب في صفحات مصدر تخفيض السعر، يجب أن تكون على دراية بكيفية إتاحة وسائط القالب لمحتويات الملفات الأخرى في الشجرة كمتغيرات لمصدر الصفحة التي تم تحريرها.

في كثير من الأحيان، إذا تم تكوينها للقيام بذلك، يمكن للصفحة المحررة أن تعلن ملفات التبعية الخاصة بها في رؤوس الصفحة، وهو شيء يجب التفكير فيه أثناء وزن مجموعات الميزات مقابل عناصر التحكم في الأمان في ويكي الخاص بك.’s هندسة المعلومات.

بينما يمكننا تقديم التوجيه والدعم لتلبية احتياجاتك،’الأمر متروك لك حقًا لتحديد كيفية موازنة المقاييس لمؤسستك’شركة wiki.

انظر القسم أدناه على عناصر التحكم في حقن التبعية/ACL لمزيد من التفاصيل، وتسجيل الخروج من هذا المثال المباشر لمدى سهولة ACL’يمكن تكوين s مركزيًا في 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:
    "@svnadmin": rw
    "*":

يمكن لمؤلفي المحتوى تكوين قيود الصفحة في الصفحة’ss ترويسات:

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

كملاحظة جانبية، لا يمكن نسخ الموارد المحمية إلى فرع من قبل موظفين غير مصرح لهم، حتى دون وضع أي ضوابط إضافية لقائمة التحكم بالوصول على إنشاء الفرع وتعديله. وبعبارة أخرى، سيدعم النظام تجربة الفرع دون أي ضوابط إضافية من جانبك لضمان حماية الأصول المحمية في جميع أنحاء كل فرع.’دورة الحياة الطبيعية.

هل تريد إنشاء قوائم التحكم بالوصول للنظام؟

نظام البناء هو رؤية شاملة ومعرفة، ولكن يمكننا ضمان أن أصولك المبنية والمحمية مرئية فقط للفرق التي تديرها وتتحكم في قوائم ACL للإصدار الفرعي.

سيكشف نظام الإنشاء عن قائمة أسماء الملفات التي تم إنشاؤها من خلال IDE المتصفح عند التثبيت، ولكن هذه القائمة تعتمد فقط على مستخدم’وصول القراءة إلى الموارد التي تعتمد على المستخدم’إضافة أو تحديث أو حذف إجراءات المحتوى في الالتزام.

عناصر التحكم في اجتياز النموذج

راجع sanitize_relative_path:

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

تفرض هذه التعليمة البرمجية القواعد التالية في هذا القسم.

تضمين العلامات وتمديدها

كل الملفات الهدف موجودة في مجلد فرعي من /القوالب/ المجلد، ويجب الإشارة إليه كمسارات مطلقة متجذرة في هذا المجلد.

علامة Ssi

كل الملفات الهدف موجودة في مجلد فرعي من /المحتوى/ المجلد، ويجب الإشارة إليه كمسارات مطلقة متجذرة في هذا المجلد.

إذا لم يتم تكوين المسار الهدف في @path::النماذج مع إعداد مطابق يسمح لأرشفة المسار الهدف المعني أو تصنيفه، تسي ستفشل العملية.

وذلك لأن تسي الدعم هو شرط مسبق لمجموعات الميزات هذه، للحفاظ على موقعك’s taget permalinks.

عناصر التحكم في حقن التبعية/ACL

خاضع للتحكم بواسطة lib/path.pm الواردات.

مكتبة{مسار، عرض}.pm قوائم التحكم في الوصول للإصدار الفرعي

إنها’من الحكمة التحكم في الوصول الكتابي إلى هذه الموارد، من خلال قصرها على الأشخاص المختصين في قاعدة التعليمات البرمجية والمصرح لهم بتنفيذ ضوابط الأمان لمجموعة كاملة من الأصول الخاضعة لمراقبة الإصدار (المعروفة باسم *كل شيء *).

من الجيد أيضًا تضمين @svnadmin المجموعة بين أولئك الذين لديهم وصول للقراءة والكتابة، لكنها’ليس من الضروري للغاية حتى لو كنت بحاجة إلينا لإعادة تعيين قوائم ACL الخاصة بالإصدار الفرعي يدويًا.

قواعد تم إنشاؤها ديناميكيًا عبر @مسار::acl

نظام البناء يأخذ علما الخاص بك lib/path.pm تستورد إما (أو كليهما) من seed_file_deps() وseed_file_acl()، وتحمل هذا الخيار إلى الأمام في معالجته الداخلية للإصدار الفرعي، وتلتزم بالتغييرات التي تؤدي إلى بناء تزايدي.

تتبع ترحيل المحتوى الخاضع للتحكم

عند عرض تاريخ التحكم الكامل في الإصدار للمستخدمين، يجب توخي الحذر للحفاظ على عناصر التحكم في الاعتماد في الموقع الأصلي للمواد الخاضعة للتحكم.

خلاف ذلك، يمكن أن تتعرض المادة عن غير قصد لباحث تاريخي بدون الأذونات المطلوبة.

أوريون CMS’يتعامل منطق تتبع النقل/الحذف مع هذا بسلاسة.

عناصر التحكم المخصصة في استخدام seed_file_deps() وseed_file_acl() في lib/path.pm

ما وراء استيراد هذه الرموز إلى lib/path.pm، هناك أيضًا خيار في كيفية تنفيذ كتلة التعليمات البرمجية walk_content_tree () والملفات التي ترغب في تطبيقها عليها. بعد كل شيء، فإنه’ليس فقط ملف تكوين، ولكن قاعدة تعليمات برمجية، مع جميع ميزات Turing الكاملة بيرل نحن’تعال لتعرف وتقدر!

يتم مزامنة ملفات .htaccss للموقع المبني وملفات اعتماد الإصدار الفرعي مع @المسار::acl على الفور عند الالتزام

حماية ACL التلقائية لعمليات إنشاء الفروع المؤقتة. لا يلزم تكوين إضافي.

التحكم المدمج في محرك بحث PCRE

نفس موقف واجهة المستخدم للأغراض العامة: يتم إجراء فحوصات متقاطعة مقابل خادم Subversion من واجهة المستخدم.

في الموقع المباشر، سيعمل محرك البحث بنفس الطريقة عند تمكين عمليات البحث عن تخفيض السعر (شجرة المصدر). خلاف ذلك، سيتم تشغيل طلبات httpd الفرعية إلى موقعك المباشر لاختبار ما إذا كان المستخدم مصرحًا له بالوصول إلى هذا الملف المباشر (على افتراض أن لديك محرك بحث محمي بكلمة مرور بحيث يكون لديه بيانات مستخدم للعمل معه).

سياسات تأمين المحتوى

جوجل و/أو LinkedIn.

يجب تسليم البيانات من خوادمنا.

يجب تسليم المحتوى من خوادمنا.

يجب تسليم رمز جافا سكريبت من خوادمنا.

يجب تسليم CSS من خوادمنا.

PDF الحالي’s فقط.

مشاركة الموارد عبر الأصول

تبعيات الطرف الثالث

تبعيات قصيرة ومختبرة زمنيًا بشكل ملحوظ ؛ يتم تغطية مكوناتها الرئيسية على تقنية أوريون الصفحة.

قائمة مواد البرامج (SBOM) المتاحة عند الطلب

اتصل بنا لمزيد من التفاصيل.


الفهرس