اخر تحديث في مايو 27, 2023 بواسطة حمدي بانجار
اعتراض حركة مرور HTTPS باستخدام خدمة Squid Proxy في سيرفر pfSense
مقدمة موجزة عن Squid :-
أصبح Squid واحدة من الحزم الأكثر شعبية لجدران الحماية pfSense وليس من الصعب معرفة السبب.
يمكن لخوادم بروكسي Squid تحسين أداء الشبكة من خلال الاحتفاظ بذاكرة التخزين المؤقت المحلية لصفحات الويب والصور والملفات الأخرى التي يتم الوصول إليها بشكل شائع.
بالإضافة إلى ذلك يمكن لـ Squid مراقبة حركة الترافيك والاحتفاظ بسجل خاص بصفحات الويب التي يشاهدها المستخدمون على شبكتك.
من أجل الاستفادة الكاملة من فوائد Squid أوصي أخذ الوقت المناسب لتمكين HTTPS .
يفترض هذا الدرس أن لديك بالفعل جدار حماية pfSense قيد العمل حاليا . إذا لم يكن لديك واحدًا بعد ، فيمكنك بسهولة تثبيت pfSense على جهاز كمبيوتر قديم من المحتمل أن يكون لديك بالفعل.
لماذا يجب عليك تمكين HTTPS للاعتراض في Squid :-
بشكل افتراضي لا تستطيع خوادم بروكسي Squid مراقبة حركة مرور HTTPS المشفرة. ينشئ Squid ببساطة اتصال TCP بالخادم الوجهة ويستجيب للعميل باستجابة HTTP 200 للإشارة إلى أن الاتصال قد تم إنشاؤه.
وبمجرد إنشاء هذا النفق المشفر ، يقوم Squid بتمرير الحزم بين العميل والخادم ، ولكن لم يعد له أي رؤية لحركة الترافيك نظرًا لأنه محمي بواسطة تشفير SSL.
على مدار السنوات القليلة الماضية ، بدأت العديد من مواقع الويب الشائعة بما في ذلك Google و Youtube و Reddit و Facebook بتمكين التشفير HTTPS بشكل افتراضي.
هذا يعني أنه بدون تكوين HTTPS للاعتراض تمتلك بروكسيات Squid إمكانيات محدودة في التصفية والمراقبة والتسجيل.
لحسن الحظ يدعم Squid في تصفية SSL المتوسطة والتي ستسمح لك بمراقبة حركة الترافيك بشكل أكثر فعالية عبر proxy server.
يمكن فحص حركة مرور HTTPS المشفرة باستخدام ميزة اعتراض SSL في Squid.
الخطوة 1: تثبيت حزمة Squid3 :-
للبدء ، قم بتثبيت حزمة Squid3 باستخدام مدير حزمة pfSense (System \ Packages).
بعد تحديد موقع Squid3 من قائمة الحزم ، انقر فوق زر زائد + الموجود على الجانب الأيمن من الحزمة لبدء تثبيت الحزمة.
سيقوم مدير الحزم بتنزيل وتثبيت Squid3 PBI تلقائيًا.
اعتراض حركة مرور HTTPS باستخدام خدمة Squid Proxy في سيرفر pfSense
الخطوة 2: تكوين إعدادات Squid العامة :-
بعد تثبيت حزمة Squid ، يجب تكوين الإعدادات العامة. يمكن العثور على صفحة الإعدادات في Services \ Squid Proxy Server.
قم بتكوين الخيارات التالية:
- تمكين Squid Proxy – فحصها
- الحفاظ على الإعدادات / البيانات – فحصها
- Proxy Interface(s) – اختر LAN و Loopback
يمكن ترك باقي الإعدادات في منطقة الإعدادات العامة على الإعدادات الافتراضية.
الخطوة 3: تكوين إعدادات Transparent Proxy :-
فقط تحت الإعدادات العامة ستجد إعدادات Transparent Proxy. في معظم الحالات ، قد ترغب في تمكين وضع Transparent Proxy.
عند تمكين هذا الوضع ، سيقوم جدار الحماية بإعادة توجيه جميع حركة مرور الويب الواردة تلقائيًا إلى Squid proxy server..
مع تمكين الوضع Transparent ، ليس من الضروري تكوين متصفح الويب الخاص بالعملاء لاستخدام الـ proxy. في معظم الحالات ، لن يلاحظ العميل حتى مرور زياراته عبر proxy .
لتمكين transparent proxy قم بتكوين الإعدادات التالية:
- Transparent HTTP Proxy – تم الفحص
- Transparent Proxy Interface(s) – LAN
يمكن ترك باقي الإعدادات في هذا القسم على إعداداتها الافتراضية ما لم ترغب في تكوين عناوين محددة لتجاوز الـ proxy .
قم بالتمرير لأسفل إلى أي أسفل الصفحة وانقر فوق حفظ لتطبيق الإعدادات.
إذا قررت عدم تمكين وضع Transparent ، فستحتاج إلى تهيئة إعدادات متصفح الويب لكل عميل ترغب في استخدامه على وجه التحديد للـ proxy server .
في هذه المرحلة قمت بتكوين بروكسي Squid أساسي يعمل في وضع transparent . قبل المضي قدمًا ، أوصي باختبار وظائف تصفح الويب من جهاز كمبيوتر عميل للتأكد من أن كل شيء يعمل بالشكل الطبيعي.
قم باستكشاف وحل أية مشكلات في وظيفة proxy server الأساسية قبل المتابعة لتمكين اعتراض SSL.
الخطوة 4: تكوين Certificate شهادة مصدقة :-
يجب تكوين Certificate في pfSense قبل أن يتم تمكين اعتراض HTTPS في Squid. سيتم استخدام Certificate (CA) لإنشاء شهادات عميل SSL جديدة على السرعة من أجل تشفير حركة مرور الويب وفك تشفيرها تلقائيًا :-
- قم بالوصول إلى مدير الشهادات في قائمة System \ Cert Manager.
- انقر فوق زر الإضافة لإنشاء شهادة جديدة.
قم بتكوين الإعدادات التالية لمرجع الشهادة الجديدة :-
- الاسم الوصفي ( Descriptive Name ) – اختر اسمًا لمرجع CA الخاص بك. ضع في اعتبارك أن هذا سيتم عرضه على شهادة العميل مرئية للعملاء.
- الطريقة ( Method ) – حدد “Create an Internal Certificate Authority” من القائمة المنسدلة.
- طول المفتاح ( Key length ) – أوصي 2048 لأقصى قدر من التوافق ولكن يمكنك استخدام 4096 بت لأقصى درجات الأمان.
- Digest Algorithm – استخدم SHA256 أو أعلى. مثل الإعداد السابق ، تحتاج إلى موازنة الأمان مع توافق الجهاز.
- Lifetime – تعيين هذا إلى 3650 يومًا (10 سنوات)
- الاسم المميز ( Distinguished name ) – املأ جميع الحقول في القسم (البلد ، الولاية ، إلخ). ستكون هذه كلها مرئية في الشهادات التي يراها العملاء.
- انقر فوق الزر “حفظ” لإنهاء إنشاء الشهادة المصدقة.
الخطوة 5: تصدير شهادة CA :-
بعد إنشاء certificate الجديدة ، يجب تصدير شهادة CA. يجب تثبيت هذه الشهادة على أي جهاز عميل سيستخدم proxy server .
من صفحة CA manager انقر على زر تصدير CA cert لتنزيل الشهادة. سيؤدي هذا إلى تنزيل نسخة من شهادة CA certificate بتنسيق ملف .crt.
الخطوة 6: تثبيت CA Cert على أجهزة كمبيوتر العميل :-
لمنع متصفحات الويب على أجهزة الكمبيوتر العميلة من عرض أخطاء الشهادات ، يجب تثبيت شهادة CA certificate من PfSense CA على جميع أجهزة الكمبيوتر العميلة التي ستستخدم الـ proxy server .
يؤدي تخطي هذه الخطوة إلى تلقي عملاء لأخطاء أمان المتصفح وقد يتسبب في حدوث مشكلات مختلفة في اتصال HTTPS.
يجب وضع الشهادة في مخزن المراجع المصدقة لشهادات الجذر الموثوق بها ( Trusted Root Certificate Authorities store ) لمنع أخطاء المستعرض.
إذا كان لديك عدد قليل من أجهزة الكمبيوتر على الشبكة ، فمن المحتمل أن يكون من الأسهل استيراد الشهادة يدويًا على كل جهاز كمبيوتر.
بالنسبة للشبكات الكبيرة ، يجب عليك التفكير في إعداد خدمات شهادات Microsoft Active Directory. يمكن لسلطات الشهادات المدمجة الإعلانية تلقائيًا إخراج شهادة الجذر إلى المضيفات الأعضاء في النطاق.
استيراد الشهادة على Windows 7 :-
لاستيراد الشهادة إلى كمبيوتر يعمل بنظام التشغيل Windows 7 ، انقر نقرًا مزدوجًا فوق ملف .crt لفتح مربع حوار الشهادة.
- انقر فوق زر تثبيت الشهادة install certificate لبدء معالج الاستيراد.
- انقر فوق next في الصفحة الأولى من معالج استيراد الشهادة.
- حدد الخيار وضع كافة الشهادات في المخزن التالي.
- انقر فوق الزر “browse ” وحدد “Trusted Root Certification Authorities”.
- انقر فوق next، ثم انقر فوق finish في صفحة تأكيد الاستيراد.
- عند المطالبة ، انقر فوق نعم لتأكيد تحذير الأمان.
سترى رسالة تشير إلى اكتمال استيراد الشهادة بنجاح.
استيراد الشهادة على نظام التشغيل Mac OS X :-
اتبع الخطوات أدناه لاستيراد الشهادة يدويًا على نظام التشغيل Mac OS X :-
- افتح تطبيق Keychain Access – استخدم بحث Spotlight للعثور على هذا التطبيق بسهولة.
- انقر فوق رمز القفل لفتح سلسلة المفاتيح للتغييرات.
- افتح القائمة ملف وحدد “Import Items“.
- حدد شهادة CA المصدرة من pfSense. (عند هذه النقطة سترى الشهادة في keychain برسالة “This root certificate is not trusted”)
- انقر نقراً مزدوجاً فوق الشهادة وقم بتوسيع قسم الثقة في مربع الحوار. في المربع المنسدل الأول المسمى “When using this certificate” ، حدد دائمًا الثقة.
- أغلق مربعات الحوار واخرج من تطبيق الوصول إلى keychain.
الخطوة 7: تمكين SSL في Middle Filtering :-
بعد تحميل الشهادة إلى أجهزة الكمبيوتر العميلة تكون مستعدًا لتمكين تصفية SSL في Squid. قم بالوصول إلى صفحة إعدادات Squid (Services \ Squid Proxy Server) وقم بتكوين الإعدادات أدناه :
- HTTPS / SSL Interception – تم الفحص
- SSL Intercept Interface (واجهات) – اختر LAN (الشبكة المحلية)
- CA – حدد certificate الذي تم إنشاؤها في الخطوة 4
انقر فوق حفظ في أسفل الصفحة لتطبيق الإعدادات.
الخطوة 8: اختبار SSL Intercept :-
أفضل ممارسة بعد تمكين SSL للاعتراض هو التأكد من أنها تعمل كما هو مطلوب. اتبع هذه الخطوات للتحقق من أن اتصالات HTTPS يتم فك تشفيرها بواسطة الـ proxy :
- قم بزيارة موقع يستخدم HTTPS مثل حضرموت التقنية من جهاز كمبيوتر عميل .
- عرض معلومات الشهادة المقدمة من متصفح الويب. في Chrome ، يمكن القيام بذلك عن طريق النقر فوق رمز القفل على شريط العناوين.
- تأكد من تطابق معلومات مُصدر الشهادة مع المعلومات التي أدخلتها عند إنشاء certificate في الخطوة 4.
المشاكل المعروفة في Squid 3.4 :-
يحتوي مدير حزمة pfSense على Squid الإصدار 3.4 الذي يحتوي على مشكلة معروفة حيث يقوم بإنشاء شهادات SHA1 بدلاً من SHA256 بشكل غير صحيح.
نظرًا لأن SHA1 عبارة عن خوارزمية ضعيفة ، ستعرض العديد من المتصفحات أخطاء عند مواجهتها شهادات موقعة باستخدام هذه الخوارزمية.
لإصلاح هذا أوصي بالترقية يدويا إلى Squid الإصدار 3.5.3 التي ليس لديها هذه المشكلة.
الترقية إلى Squid 3.5.3 :-
تختلف تعليمات الترقية قليلاً اعتمادًا على ما إذا كنت تستخدم الإصدار 32 بت أو 64 بت من pfSense.
لتحديد الإصدار الذي قمت بفتحه pfSense dashboard وتحقق من قسم إصدار عنصر واجهة لوحة المعلومات. إذا كنت ترى AMD64 ثم اتبع تعليمات 64 بت. إذا رأيت i386 ، استخدم إرشادات 32 بت.
يمكن تشغيل الأوامر من خلال محطة SSH أو terminal على الويب (Diagnostics \ Command Prompt)
تعليمات 64 بت (AMD64) :-
- قم بتنزيل PBI عن طريق تشغيل الأمر: fetch https://files.pfsense.org/packages/10/All/squid-3.5.3-amd64.pbi
- تثبيت الحزمة عن طريق تشغيل: pbi_add – no-checksig -f squid-3.5.3-amd64.pbi
- قم بتشغيل الأوامر أدناه لإنشاء بنية الدليل الصحيحة :
cd /usr/pbi/squid-amd64/
rm -rf /usr/pbi/squid-amd64/etc
ln -s /usr/pbi/squid-amd64/local/etc .
ln -s /usr/pbi/squid-amd64/local/lib .
ln -s /usr/pbi/squid-amd64/local/libexec .
ln -s /usr/pbi/squid-amd64/local/share .
ln -s /usr/pbi/squid-amd64/bin sbin
إعادة تشغيل pfSense بعد تشغيل الأوامر المذكورة أعلاه (Diagnostics \ Reboot).
32 بت (i386) تعليمات :-
- قم بتنزيل PBI عن طريق تشغيل الأمر: fetch https://files.pfsense.org/packages/10/All/squid-3.5.3-i386.pbi
- تثبيت الحزمة عن طريق تشغيل: pbi_add – no-checksig -f squid-3.5.3-i386.pbi
- قم بتشغيل الأوامر أدناه لإنشاء بنية الدليل الصحيحة :
cd /usr/pbi/squid-i386/
rm -rf /usr/pbi/squid-i386/etc
ln -s /usr/pbi/squid-i386/local/etc .
ln -s /usr/pbi/squid-i386/local/lib .
ln -s /usr/pbi/squid-i386/local/libexec .
ln -s /usr/pbi/squid-i386/local/share .
ln -s /usr/pbi/squid-i386/bin sbin
إعادة تشغيل pfSense بعد تشغيل الأوامر المذكورة أعلاه (Diagnostics \ Reboot).
التحقق من تثبيت Squid 3.5.3 :-
بعد إعادة تشغيل pfSense أبدء جلسة SSH جديدة (أو استخدام web terminal) للتحقق من تثبيت الحزمة المحدثة بشكل صحيح.
عند تشغيل الأمر أدناه سترى الإصدار 3.5.3 المدرجة في الإخراج.
/usr/local/sbin/squid -v
الختامية :
تهانينا ، إذا أكملت جميع الخطوات المذكورة أعلاه ، فقد نجحت في تكوين Squid لاعتراض حركة مرور HTTPS المشفرة. يجب أن تلاحظ على الفور طلبات HTTPS يتم تسجيلها في سجلات الوصول إلى Squid.
للاستفادة الكاملة من سجلات الوصول الجديدة التي يتم جمعها ، أوصي بتثبيت محلل سجل Squid مثل Lightsquid.
أنتهى … اعتراض حركة مرور HTTPS باستخدام خدمة Squid Proxy في سيرفر pfSense
اعتراض حركة مرور HTTPS باستخدام خدمة Squid Proxy في سيرفر pfSense
الى هنا نكون وصلنا الى نهاية موضوعنا اليوم اعتراض حركة مرور HTTPS باستخدام خدمة Squid Proxy في سيرفر pfSense
والذي نتمنى ان ينال رضاكم واعجابكم
والى اللقاء في موضوع جديد شيق ورائع وحتى ذلك الحين لاتنسو الاهتمام بصحتكم وحفظكم الله …
اذا اعجبك الموضوع لاتبخل علينا بمشاركتة على مواقع التواصل الاجتماعي ليستفيذ منه الغير,كما نتمنى اشتراككم في قناة الموقع على اليوتيوب بالضغط هنا وكذلك الاشتراك في مجموعة الفيس بوك بالضغط هنا والتيليقرام بالضغط هنا وكذلك التسجيل بالموقع لتتمكنو من تحميل بعض الملفات الخاصة بالأعضاء كما يمكنكم رفع ملفاتكم مجانا على مركز ملفات حضرموت التقنية بالضغط هنا ولاتترددو في وضع أي استفسارات للرد عليكم .
دمتم بكل ود والسلام عليكم ورحمة الله وبركاتة … حضرموت التقنية