قاتل VPN. الوصول عن بعد الصحيح لخوادم المعركة

الرأي المعبر عنه في هذا المقال هو الرأي الشخصي للمؤلف. وأكد أنه لا يجوز أن يتطابق مع رأي صاحب العمل ورؤسائه وقسم الأمن.

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

شخص جيد VPN لن ينصح


سأبدأ ببيان قوي: جميع الشبكات الافتراضية الخاصة هي قمامة .

يمكن تكوين VPN ، مثل التقنيات الرقمية الأخرى ، بحيث إذا تم اختراقه ، فلن ينتهي العالم. ومع ذلك ، لا أحد يفعل ذلك ... ولكن من الناحية النظرية يمكنهم!

في 99.95٪ من الحالات ، يتم تكوين VPN على:

  1. إنشاء جسر شبكة بين الجهاز (كمبيوتر محمول أو خادم آخر)
  2. ... وشبكة أكبر من الخوادم (على سبيل المثال ، في السحابة أو في المحل )
  3. ... والإنترنت ، محمي بطبقة إضافية من التشفير



هذه ليست فكرة جيدة. تخيل ما إذا كان الفيروس قد استقر على الكمبيوتر المحمول وكنت تتصل عبر VPN بشبكة من خوادم المعارك؟ تا دام! لدى الفيروس الآن وصول LAN إلى إنتاجك. ماذا يوجد على العادم؟ الحزن. الكثير من الحزن.

حسنًا ، لنفترض أن حالة الفيروس بعيدة المنال. ولكن ماذا عن حقيقة أن المخترق يمكنه اختراق VPN نفسه ، على سبيل المثال ، باستخدام ثغرة داخل الجهاز أو البرنامج الذي تعمل عليه VPN؟ لذا ، بعد أن شق طريقك مباشرة إلى الشبكة المستهدفة؟ هذه مسألة خطيرة ، وبعيدة عن التنظير. يمكنك قراءة المزيد في المقالة حول كيفية استخدام Heartbleed لالتقاط VPN باستخدام ناقل الهجوم ، والذي حذرت منه مباشرة في مدونتي .

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

هل من الصعب العثور على أجهزة VPN هذه؟ قبل كتابة هذا المقال ، لم أحاول أبدًا ، لذلك لم أكن متأكدًا. حوالي نصف ساعة في Shodan.io ويرجى - بعض النتائج الرئيسية من الناتج:

  • طومسون رويترز شركة 41 مليار دولار يعمل فيها 26000 موظف ، نصفهم يأتي من الخدمات المالية.
  • SAP Concur هي خدمة لإدارة السفر ، وكسرها سيعطي مجموعة من البيانات الشخصية وبيانات الدفع بجميع أنواعها.
  • التأمين التدريجي - البيانات الشخصية والمعلومات الطبية الشخصية ، إلى جانب بعض بيانات الدفع.
  • Chevron Phillips Chemical - الاسم يتحدث عن نفسه.

حسنًا ، ربما هذا ليس جيدًا جدًا. إذا كان من السهل العثور على هذه الأشياء ، فلا يبدو أن هذا هو الحل المثالي لوضعها على الإنترنت. هل لدينا خيار آخر؟

الثقة صفر


Zero Trust [حرفيا: "صفر الثقة"] - في جوهره ، هذا يعني أنك تفوض كل اتصال ، ولا تفترض أن بعضها موثوق به لأنه موجود بالفعل داخل شبكتك. إذا كنت ترغب في فهم هذا المصطلح بشكل أفضل وإعادة التفكير في نهجك في العمل ، فقم بقراءة هذه المقالة على Network World (آسف لعلاقات عامة ذاتية وقحة أخرى).

اشترينا حل الوصول إلى خادم Okta المتقدم (OASA) لتقديم ترخيص Zero-Trust على خوادم المعارك.
OASA رائع لثلاثة أسباب:

1. هذا مجرد غلاف حول تكوين OpenSSH على المنشطات


تحت الغطاء ، فإن منصة OASA هي نشر مُدار جيدًا لـ OpenSSH (نفس الأمر ssh في وحدة التحكم الخاصة بك). و OpenSSH هو حل إدارة عن بعد تم اختباره بشكل جيد وآمن للغاية. بالمناسبة ، منذ عام 2003 ، لم يكن لدى OpenSSH ثغرة واحدة يمكن أن تؤدي إلى وصول بعيد غير مصرح به في التكوين القياسي.
نقاط الدخول في هذا المخطط هي حالات أمازون لينكس 2 EC2 العادية ، وبالتالي فإن منطقة الهجوم صغيرة للغاية. تذكر: إن إحدى المشاكل الرئيسية في استخدام VPN هي تكوينات البرامج / أنظمة التشغيل الخاصة التي تمنع التصحيحات التلقائية. إن القدرة على تحديث نقاط دخول شبكتنا إلى جانب بقية البنية التحتية هي فوز كبير.

2. لا توجد جسور الشبكة


كما ذكرت أعلاه ، تم تكوين معظم الشبكات الافتراضية الخاصة لإنشاء جسر شبكة بين جهاز شبكة ، مثل جهاز كمبيوتر محمول ، وشبكة من الخوادم على الإنترنت. واحدة من أكثر النقاط المؤلمة في VPN هي أنها تعترض كل حركة مرور الشبكة الخاصة بك. يمكنك بالطبع إعادة التهيئة وفقًا لسلوك مختلف ، ولكن عملاءنا وبروتوكولات الأمان NIST 800-53 SC-7 (7) تتطلب ذلك عادةً.

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

لحسن الحظ، هناك طريقة أفضل. في نموذج OASA ، يتم إنشاء اتصال فردي بينك وبين الخادم. على سبيل المثال ، استجابة للطلب "أريد الانتقال إلى مثيل EC2 i-028d62efa6f0b36b5" ، يتصل نظامك بنقطة إدخال الشبكة ، ثم بالخادم الهدف. تحمي OASA أيضًا هذه الاتصالات من خلال إصدار شهادات العميل لمدة عشر دقائق بعد التحقق الأول من بياناتك من خلال SSO ، ثم التحقق من أنك على الجهاز الموثوق به (والمؤكد).

هناك القليل من الحرية للتجول في الشبكة. يمكن للمسؤول إدخال نقطة دخول شبكة وإعادة توجيه المنافذ إلى وجهة أخرى ، ولكن هذه الميزة معطلة بشكل افتراضي ويجب طلبها بشكل صريح عند إنشاء اتصال. وأفضل جزء هو أنه لا أحد يطلب مني أن أحمل كل حركة المرور عبر Virtual Private Cloud ، لأن هذا لا يسمى "VPN".

3. وصول مخصص للشبكة وعنوان IP عشوائي


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

ظهرت إحدى آليات الدفاع المفضلة لدي عن طريق الصدفة. عندما بدأنا في تكوين نقاط الدخول لأول مرة ، تم تكوين كل منها لعنوان IP ثابت من AWS. بسرعة كبيرة ، وجدنا أن عناوين IP هذه لم تكن مرتبطة أحيانًا بحالات EC2 في الوقت المناسب ، مما قد يؤدي إلى تكوين OASA غير صحيح. بعد أن عشت بهجة عشرات الإصلاحات المختلفة في الإنتاج ، لم أستطع تحملها وحذف ببساطة القصة الكاملة حول عناوين IP الثابتة - وقد نجحت.



تحتاج OASA فقط إلى عنوان IP يواجه الإنترنت ؛ لا يجب أن يكون معروفًا مسبقًا. عندما يكون العميل جاهزًا لإنشاء اتصال ، يتم طلب GUID فريد ، يتم تحديد IP منه بمساعدة:

  • المستخدم: أريد تسجيل الدخول للاتصال بـ vpc-99f2acff
  • تطبيق عميل OASA: لقد قمت بتعريف vpc-99f2acff كخادم معروف مع GUID 25af5d4f-e657-4583-b0bd-beb1ca4f0c1f
  • خادم OASA: يمكن الوصول إلى K 25af5d4f-e657-4583-b0bd-beb1ca4f0c1f على 3.22.198.24 ، فيما يلي الشهادات
  • تطبيق عميل OASA: تثبيت الشهادات ، الاتصال 3.22.198.24 عبر SSH ...

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

يطرق منفذ المؤسسة


يطرق المنفذ [حرفيا: يطرق على المنافذ] هو شيء ، من حيث المبدأ ، لا يستخدمه أحد في العالم الحقيقي ، ولكن من الممتع جدًا تكوينه. وباختصار ، فإن قرع المنفذ هو عبارة عن سلسلة من "المطبات" إلى العديد من منافذ الشبكة المغلقة ، وإذا تكرر التسلسل بشكل صحيح ، يفتح المنفذ "الحقيقي" على عنوان IP الخاص بك. أنيقة ، لكنها غير عملية في المشاريع الكبيرة الحقيقية.
ألهمتني الفكرة وفكرت في كيفية تحسين الفكرة. لذلك ولد الحل الذي أسميه Enterprise Port Knocking .

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

الخدمة بسيطة للغاية ويتم نشرها كوظيفة AWS Lambda ، مع إمكانية الوصول إليها من خلال بوابة AWS API (متعة العمارة بدون خادم!) للاستخدام السهل والموثوق. تعمل الآلية على النحو التالي:

  1. تم مصادقة المستخدم بنجاح من خلال SSO.
  2. يتجاوز التطبيق حسابات AWS التي تم تكوينها بحثًا عن مجموعة أمان مميزة بشكل خاص (مفهوم AWS لقواعد جدار الحماية)
  3. يقوم التطبيق بتحديث مجموعة الأمان ، مما يسمح بالوصول إلى عنوان IP لمقدم الطلب. وتخزن قاعدة في مجموعة الأمان أيضًا الطابع الزمني للإضافة.
  4. تقوم مهمة cron بمسح قائمة عناوين IP المسموح بها في كل فترة زمنية محددة.

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

ومن السهل!


لم أتطرق بعد إلى مدى سهولة عمل هذه الآليات. أعلم أن هناك العديد من المكونات ، ولكن معًا ينشئون إذنًا بسيطًا للغاية:

  1. تسجيل الدخول عبر SSO.
  2. انقر فوق إطلاق Enterprise Port Knocking في بوابة SSO.
  3. في الوحدة الطرفية ، باستخدام الأمر SSH ، حدد الوجهة كمعرف لمثيل EC2 الهدف. نظام OASA ذكي بما يكفي لمعرفة نقطة الدخول التي يجب استخدامها وكل شيء آخر يحدث تلقائيًا!



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

حسنًا ، باستثناء المتسللين بالطبع.


All Articles