pfSense هو نظام تشغيل مفتوح المصدر قوي لأجهزة التوجيه/جدران الحماية مبني على FreeBSD. من البداية، يأتي pfSense مع بعض الأدوات القوية التي تمكنك من بناء شبكة آمنة.
لكن pfSense يتيح لك أيضًا تثبيت حزم من مستودعه الرسمي، لإضافة المزيد من الوظائف إلى نظامك.
pfSense هو نظام تشغيل مفتوح المصدر قوي لأجهزة التوجيه/جدران الحماية مبني على FreeBSD. من البداية، يأتي pfSense مع بعض الأدوات القوية التي تمكنك من بناء شبكة آمنة.
لكن pfSense يتيح لك أيضًا تثبيت حزم من مستودعه الرسمي، لإضافة المزيد من الوظائف إلى نظامك.
إحدى هذه الحزم تسمى Squid. Squid هو بروكسي ويب للتخزين المؤقت يمكنه أيضًا أداء تصفية المحتوى. دعونا نوضح ذلك قليلاً ونقدم بعض السياق حول خوادم البروكسي واستخدامها.
دليل ذو صلة: كيفية إعداد تصفية IP وحجب DNS على pfSense باستخدام pfBlockerNG
ناقشت دور خوادم البروكسي في تخزين المحتوى وتصفيته، بالإضافة إلى كيفية تكوين Squid وSquidGuard على pfSense لحظر الإعلانات.
من خلال القيام بذلك، يمكن للمستخدمين تعزيز الأمان والخصوصية، وتقليل استهلاك النطاق الترددي، وزيادة سرعة تحميل الصفحات.
خادم البروكسي هو خادم وسيط يقع بين جهازك (الحاسوب المحمول، الجهاز اللوحي، الهاتف الذكي) ووجهتك النهائية على الإنترنت (أي موقع ويب).
تغادر حركة المرور من جهازك، تتصل بخادم البروكسي، ثم تنتقل إلى وجهتها النهائية من خادم البروكسي.
لماذا ترسل حركة المرور عبر خادم البروكسي؟ هناك عدة أسباب. واحدة منها هي لتخزين المحتوى مؤقتًا. هذا يعني أن خادم البروكسي سيحفظ بعض المحتوى محليًا بحيث عندما يطلب عميل المحتوى ذاته مرة أخرى، يتم تقديمه من الذاكرة المؤقتة بدلاً من الذهاب إلى الإنترنت لتنزيله مرة أخرى.
هذا يسرع تصفح الإنترنت لأن جلب المحتوى من الذاكرة المؤقتة المحلية للبروكسي أسرع بكثير من إعادة بدء التنزيل عبر الإنترنت.
الغرض الآخر هو تصفية المحتوى. تصفية المحتوى تعني حظر الاتصالات ببعض النطاقات أو عناوين IP. المؤسسات التي تحظر الوصول إلى فيسبوك، على سبيل المثال، تقوم بتصفية المحتوى.
استخدام آخر لتصفية المحتوى هو حظر الإعلانات. الإعلانات عبر الإنترنت مزعجة. فهي تنتهك خصوصيتك، تستهلك نطاق الترددي الخاص بك، وهي مصدر رئيسي للبرمجيات الضارة. هناك أسباب ممتازة للرغبة في التخلص منها. وهذا ما سنستخدم Squid من أجله في هذه المقالة.
سنريكم كيفية تكوين Squid وSquidGuard (SquidGuard هو مكون إضافي لـ Squid يمكّن التصفية القائمة على القوائم) على pfSense لحظر الإعلانات على جميع أجهزتك.
يفترض هذا الدليل أن لديك نظام pfSense يعمل ومكون بواجهات WAN وLAN تعمل وأن لديك وصول إلى واجهة المستخدم الرسومية.
أول شيء نحتاج إلى القيام به هو تثبيت خادم البروكسي Squid.
1. من القوائم العلوية، اختر النظام > مدير الحزم. ستُنقل إلى تبويب الحزم المثبتة في مدير الحزم.
2. اختر الحزم المتاحة. سيتم عرض قائمة الحزم المتاحة.
3. قم بالتمرير لأسفل حتى ترى squid وانقر على تثبيت. سيتم عرض نافذة مثبت الحزم.
4. انقر على تأكيد. ستبدأ عملية التثبيت.
5. بمجرد اكتمال التثبيت، يجب أن ترى كلمة نجاح في أسفل نافذة مثبت الحزم. الآن تم تثبيت Squid.
الآن بعد تثبيت Squid، سنقوم بتكوين خادم البروكسي الجديد لدينا.
1. من القوائم العلوية، اختر الخدمات > خادم بروكسي Squid. ستُنقل إلى تبويب العام في إعدادات Squid.
سنقوم بتكوين Squid قسمًا تلو الآخر. هدفنا هو إعداد حظر الإعلانات باستخدام Squid، لذا لن ندخل في كل قائمة فرعية. فقط القوائم التي نحتاجها لتحقيق هدفنا. يجب ترك أي إعدادات لم يتم ذكرها على قيمها الافتراضية.
قبل تكوين Squid، نحتاج أولاً إلى الذهاب إلى تبويب التخزين المحلي المؤقت وقبول إعدادات التخزين المحلي المؤقت الافتراضية بالنقر على حفظ في أسفل الصفحة.
إذا حاولت تكوين البروكسي دون قبول إعدادات التخزين المحلي المؤقت الافتراضية، سيُطلب منك القيام بذلك وستفقد الإعدادات التي قمت بتكوينها حتى الآن.
إذا أردت تعديل إعدادات التخزين المحلي المؤقت فيما بعد، يمكنك القيام بذلك من تبويب التخزين المحلي المؤقت في إعدادات Squid.
يمكن لخوادم البروكسي أن تعمل بإحدى طريقتين: شفافة أو صريحة. في الوضع الشفاف، لا يتطلب الأمر أي تكوين على العملاء لديك (الكمبيوتر، الجهاز اللوحي، الهاتف الذكي، إلخ) – سيتم توجيه حركة المرور الخاصة بهم بشكل شفاف عبر البروكسي.
ومع ذلك، فإن هذا الوضع يوجه فقط حركة المرور HTTP عبر المنفذ 80، وليس حركة HTTPS (ما لم تقم بتكوين تصفية SSL للرجل في المنتصف – المزيد عن ذلك أدناه). نظرًا لأن معظم حركة الإنترنت تستخدم HTTPS، فإن الوضع الشفاف له نطاق محدود لحظر الإعلانات ولكنه لا يزال مفيدًا للتخزين المؤقت.
يتطلب الوضع الصريح تكوين كل عميل لـ “طلب” الوصول إلى البروكسي. وفي هذا الوضع، يتم توجيه كل حركة الإنترنت TCP عبر البروكسي (HTTP وHTTPS). هذا ما نريده في هذا الدليل. لذلك لن نقوم بتمكين الوضع الشفاف في هذا الدليل، ولكن يمكنك تشغيل كلا الوضعين بدون مشاكل.
كما ذكرت أعلاه، من الممكن توجيه حركة HTTPS بشكل شفاف. ولكن للقيام بذلك، تحتاج فعليًا إلى كسر HTTPS.
يمكن لـ Squid استبدال شهادة SSL الصحيحة من الموقع الذي تحاول الوصول إليه بشهادته الخاصة، فك تشفير الاتصال، ثم إعادة تشفيره بشهادته. يتيح لك هذا تصفية اتصالات SSL ولكنه يكسر أيضًا التحقق من HTTPS الذي يُفترض أن يحدث في متصفحك.
لا أوصي بتصفية SSL للرجل في المنتصف إلا لأغراض محددة من قبل الأشخاص الذين يفهمون ما يقومون به. سنقوم بترك هذه الميزة معطلة أيضًا.
الإعدادات هنا اختيارية ولكنها ستحد من كمية المعلومات المعروضة في رؤوس Squid.
لمعرفة ما يمكننا حظره صراحةً باستخدام Squid، نحتاج إلى الذهاب إلى تبويب ACLs.
يمكننا أن نرى أن لدينا العديد من الصناديق لتحديد عناصر مختلفة ليقوم Squid بتصفيتها. دعونا ننظر إلى كل واحدة منها.
الشبكات الفرعية المسموحة
يمكنك إضافة شبكات فرعية إضافية لتمريرها عبر بروكسي Squid هنا. هذا مفيد للشبكات الفرعية التي ليست مرتبطة بواجهة في النظام، مثل IPSec. لا حاجة لإضافة أي شيء هنا في مثالنا.
عناوين IP غير مقيدة
العناوين IP المدرجة هنا لن يتم تصفية حركة المرور الخاصة بها بواسطة خادم البروكسي.
حظر عناوين المضيفين
العناوين IP المدرجة هنا لن يُسمح لها باستخدام خادم البروكسي حتى لو كانت الشبكة الفرعية الخاصة بها مسموحة.
القائمة البيضاء
النطاقات المدرجة في صندوق القائمة البيضاء ستكون متاحة لجميع المضيفين المصرح لهم باستخدام البروكسي. إدخالات القائمة البيضاء تتجاوز أي إدخالات في القائمة السوداء.
القائمة السوداء
النطاقات المدرجة في صندوق القائمة السوداء ستكون غير متاحة لجميع المضيفين المسموح لهم باستخدام خادم البروكسي.
حظر وكلاء المستخدمين
هذا الصندوق مفيد للغاية لحظر تطبيقات معينة من الوصول إلى الإنترنت. عندما يطلب تطبيق الخروج إلى الإنترنت، تتضمن رؤوسه حقلاً يُشار إليه باسم وكيل المستخدم. وكيل المستخدم يحدد التطبيق المستخدم. على سبيل المثال، وكيل المستخدم لـ Google Chrome هو Chrome.
تم استخدام وكلاء المستخدمين في الأصل لتحديد المتصفح الويب الذي يقوم بطلب ويب إلى الخادم حتى يعرف الخادم كيفية تقديم البيانات المطلوبة في ذلك المتصفح بالتحديد. لكن استخدامها الآن عام لأي تطبيق يقوم بطلبات عبر الإنترنت.
لحظر وكيل مستخدم في Squid، تحتاج إلى إضافة “^” قبله (بدون علامات التنصيص).
لذلك، إدراج ^Chrome في صندوق حظر وكيل المستخدم في Squid سيحظر Google Chrome من الوصول إلى الإنترنت.
إدراج ^Mozilla سيحظر Firefox من الوصول إلى الإنترنت. إدراج ^WhatsApp سيحظر WhatsApp من الوصول إلى الإنترنت.
وكلاء المستخدمين محددين للغاية وليسوا دائمًا بسيطين كالأمثلة أعلاه. تحتاج إلى معرفة وكيل المستخدم الدقيق الذي يستخدمه التطبيق لكي تتمكن من حظره هنا.
حظر أنواع MIME (الرد فقط)
MIME في أنواع MIME تعني Multipurpose Internet Mail Extensions، وهي تستخدم لتحديد أنواع الملفات داخل عناوين URL. أنواع MIME مهيكلة كالتالي:
النوع/النوع الفرعي
لذلك، إضافة audio/mpeg إلى صندوق حظر أنواع MIME ستحظر تحميل ملفات mp3. إضافة image/png إلى الصندوق ستحظر تحميل الصور png.
كما هو الحال مع وكلاء المستخدمين، أنواع MIME محددة جدًا. تحتاج إلى إدخال النوع والنوع الفرعي الدقيق ليعمل التصفية في Squid.
هيا بنا نختبر تثبيت Squid لدينا للتأكد من أن كل شيء يعمل بشكل صحيح قبل الانتقال إلى الخطوات التالية. سنقوم بإدخال نطاق في خانة القائمة السوداء لنرى إذا ما كان Squid سيحجبه كما هو متوقع.
1. من تبويب قوائم الوصول في إعدادات بروكسي سكويد، أدخل facebook.com في صندوق القائمة السوداء.
2. انقر على حفظ في أسفل الصفحة.
3. اذهب إلى تبويب عام في إعدادات بروكسي سكويد.
4. فعّل خيار تمكين بروكسي سكويد.
5. انقر على حفظ في أسفل الصفحة.
الآن تم تمكين خادم البروكسي لدينا وتهيئته لحجب facebook.com.
سنقوم بضبط متصفح الويب لدينا ليعمل من خلال البروكسي لنرى إذا كان يعمل بشكل صحيح. إذا كان كل شيء مضبوطًا بشكل صحيح، يجب ألا أتمكن من الوصول إلى facebook.com.
1. انقر على أيقونة الإعدادات في الجزء العلوي الأيمن من المتصفح واختر التفضيلات (تسمى خيارات في ويندوز). ستنتقل إلى صفحة الإعدادات العامة.
2. انزل في صفحة الإعدادات العامة إلى قسم إعدادات الشبكة، وانقر على زر الإعدادات.
3. اختر تكوين البروكسي يدويًا.
4. في صندوق بروكسي HTTP، ضع عنوان IP لجهاز pfSense الخاص بك. في حالتي، هو 192.168.1.1.
5. ضع رقم المنفذ في حقل 3128.
6. فعّل خيار استخدام هذا البروكسي أيضًا لـ FTP و HTTPS.
7. انقر على موافق في أسفل النافذة، وأغلق صفحة الإعدادات.
الآن، إذا حاولت الوصول إلى facebook.com (عبر HTTP أو HTTPS)، يعرض المتصفح لدي الصفحة التالية:
هذا بالضبط ما نريده.
لدينا الآن خادم بروكسي يعمل ومهيأ لحجب facebook.com. رائع. لكن، إذا أردنا حجب الإعلانات، سنحتاج إلى إضافة الآلاف تلو الآلاف من النطاقات إلى صندوق القائمة السوداء في سكويد. ليس هذا هو الأمثل بالضبط…
هنا يأتي دور SquidGuard. SquidGuard هو وحدة إضافية لسكويد يمكنها التعامل مع الفلترة القائمة على القوائم.
مع الفلترة القائمة على القوائم، تقوم بإدخال رابط إلى قائمة النطاقات المحظورة، ويتم حجب أي نطاقات تطابق النطاقات الموجودة على القائمة السوداء.
الآن بعد أن أصبح خادم بروكسي سكويد الأساسي لدينا قيد التشغيل، سنقدم على تثبيت وتهيئة SquidGuard.
1. من القوائم العلوية، اختر النظام > مدير الحزم. ستنتقل إلى تبويب الحزم المثبتة في مدير الحزم.
2. اختر الحزم المتاحة. ستظهر قائمة بالحزم المتاحة.
3. انزل لأسفل حتى ترى SquidGuard وانقر على تثبيت. ستظهر نافذة مثبت الحزم.
4. انقر على تأكيد. ستبدأ عملية التثبيت.
5. بمجرد اكتمال التثبيت، يجب أن ترى كلمة نجاح في أسفل نافذة مثبت الحزم. أصبح SquidGuard مثبتًا الآن.
تم تثبيت SquidGuard الآن. هيا بنا لضبط الفلترة القائمة على القوائم.
1. من القوائم العلوية، اختر الخدمات > فلتر بروكسي SquidGuard. ستنتقل إلى تبويب عام في إعدادات فلتر بروكسي SquidGuard.
كما كان الحال عند تهيئة سكويد نفسه، سنتناول ضبط Squid Guard قسمًا بقسم. ومرة أخرى، لن ندخل في كل القوائم الفرعية – فقط تلك التي نحتاج إلى تهيئتها لتحقيق هدفنا. يجب ترك أي إعدادات لم يتم ذكرها على قيمها الافتراضية.
1. اترك خيار تفعيل غير محدد الآن.
1. فعّل خيار تنظيف الإعلانات.
1. فعّل خيار القائمة السوداء.
2. أدخل الرابط التالي في حقل رابط القائمة السوداء: https://shallalist.de/Downloads/shallalist.tar.gz. هذا هو رابط القائمة السوداء الخاص بنا. سيقوم SquidGuard بتحميل هذه القائمة ويوفر لنا فئات مختلفة من النطاقات التي يمكننا اختيار السماح بها أو حجبها. هي متاحة مجانًا ويقدمها Shalla Secure Services. هناك قوائم أخرى يمكنك استخدامها، لكن الكثير منها مدفوع. لقد كنت أستخدم Shallalist لسنوات عديدة، وهي تعمل بشكل جيد للغاية ويتم تحديثها بشكل متكرر، لذلك أوصي باستخدامها.
3. انقر على حفظ في أسفل الصفحة.
1. اذهب إلى تبويب القائمة السوداء في إعدادات فلتر بروكسي SquidGuard. سيظهر رابط القائمة السوداء.
2. انقر على زر تحميل. يبدأ تحميل وتحليل القائمة السوداء.
3. بمجرد الانتهاء، يجب أن ترى عبارة اكتمل تحديث القائمة السوداء في أسفل نافذة سجل تحديث القائمة السوداء.
1. اذهب إلى تبويب قوائم الوصول الشائعة في إعدادات فلتر بروكسي SquidGuard.
2. انقر على رمز + بجانب قائمة قواعد الهدف. ستظهر قائمة قواعد الهدف.
3. أول مدخل في القائمة هو adv، والذي يعني الإعلانات. من القائمة المنسدلة على يمينه، اختر رفض.
4. تابع لحجب أي فئات أخرى من المحتوى التي ترغب في حجبها.
5. بمجرد أن ترفض جميع الفئات التي تريد حجبها، انتقل إلى أسفل القائمة، واختر السماح من القائمة المنسدلة بجانب الوصول الافتراضي.
6. انقر على حفظ في أسفل الصفحة.
7. عد إلى تبويب العام في إعدادات فلتر بروكسي SquidGuard، فعّل خيار تمكين، وانقر على حفظ في أسفل الصفحة.
8. بعد الحفظ، انقر على زر تطبيق.
لقد قمنا الآن بضبط سكويد مع فلترة القائمة السوداء. إذا استخدمت متصفحي الذي تم تكوينه بالفعل لاستخدام البروكسي للوصول إلى صفحة ويب معروفة بعرض الإعلانات، فيجب ألا تظهر هذه الإعلانات.
مع تفعيل سكويد:
مع تعطيل سكويد:
إنه يعمل. هذا رائع. ولكن الطريقة التي أعددت بها الأمور الآن، سيقوم سكويد فقط بالتدخل في حركة مرور متصفحي؛ وبالتالي، سأستفيد فقط من حجب الإعلانات في متصفح الويب الخاص بي.
سأريكم كيفية ضبط جهازكم بالكامل لإرسال كل حركة المرور الخاصة به عبر خادم البروكسي. هذا يمكنكم من الاستفادة من حجب الإعلانات في تطبيقاتكم وليس فقط في المتصفح. سأريكم كيفية القيام بذلك على أنظمة التشغيل macOS، وWindows، وLinux، وiOS، وAndroid.
هيا نقوم بإلغاء إعدادات البروكسي اليدوية التي قمنا بضبطها في فايرفوكس لاختبار الاتصال قبل أن نقوم بإعداد جهاز العميل لضبط بروكسي على مستوى النظام.
1. عُد إلى إعدادات الشبكة في فايرفوكس واختر استخدام إعدادات البروكسي الخاصة بالنظام. هذا يأمر المتصفح باستخدام إعدادات النظام كإعدادات بروكسي له. وهي الإعداد الافتراضي.
2. انقر على موافق وأغلق صفحة الإعدادات.
1. من تطبيق تفضيلات النظام، اختر الشبكة.
2. تأكد من تحديد اتصالك الحالي وانقر على متقدم في الجزء السفلي الأيمن.
3. اختر تبويب البروكسي.
4. فعّل كلاً من خياري بروكسي الويب (HTTP) و بروكسي الويب الآمن (HTTPS).
5. أدخل عنوان IP لجهاز pfSense الخاص بك ومنفذ البروكسي – 192.168.1.1 و 3128 في حالتي.
6. انقر على موافق ثم تطبيق.
1. افتح تطبيق الإعدادات (اختصار لوحة المفاتيح Win+I).
2. اذهب إلى الشبكة والإنترنت.
3. اختر تبويب البروكسي.
4. انزل إلى قسم إعداد البروكسي اليدوي.
5. فعّل خيار استخدام بروكسي.
6. أدخل عنوان IP لجهاز pfSense الخاص بك ومنفذ البروكسي – 192.168.1.1 و 3128 في حالتي.
7. انقر على حفظ.
1. من نافذة إعدادات الشبكة، اختر بروكسي الشبكة.
2. اختر يدوي من القائمة المنسدلة الطريقة.
3. أدخل عنوان IP لجهاز pfSense الخاص بك ومنفذ البروكسي – 192.168.1.1 و 3128 في حالتي – بجانب بروكسي HTTP و بروكسي HTTPS.
4. أغلق نافذة إعدادات الشبكة.
1. من الإعدادات > WiFi، انقر على رمز “i” بجانب اتصال الواي فاي الخاص بك.
2. انزل لأسفل واختر ضبط البروكسي.
3. اختر يدوي.
4. أدخل عنوان IP لجهاز pfSense الخاص بك ومنفذ البروكسي – 192.168.1.1 و 3128 في حالتي – بجانب الخادم و المنفذ.
5. أغلق تطبيق الإعدادات.
1. من تطبيق الإعدادات، اختر WiFi.
2. اضغط مطولاً على شبكة الواي فاي المتصل بها حالياً.
3. اختر تعديل الشبكة.
4. افتح الخيارات المتقدمة.
5. اختر يدوي من القائمة المنسدلة البروكسي.
6. أدخل عنوان IP لجهاز pfSense الخاص بك ومنفذ البروكسي – 192.168.1.1 و 3128 في حالتي – تحت اسم مضيف البروكسي و منفذ البروكسي.
7. انقر على حفظ.
يرجى ملاحظة أنه لكي يعمل البروكسي عبر بيانات الجوال في نظامي iOS أو Android، سيكون من الضروري تثبيت ملف تعريف إدارة الأجهزة المحمولة (MDM)، وهو ما يتجاوز نطاق هذا الدليل الحالي. ربما نغطي هذا في المستقبل.
لديك الآن خادم بروكسي يعمل مع فلترة القائمة السوداء يمكنك استخدامه لحجب الإعلانات على جميع أجهزتك. لقد عززت أمانك وخصوصيتك عبر إزالة الإعلانات المزعجة التي تسرق بياناتك.
كما أنك ستستهلك عرض نطاق ترددي أقل. وستتحمل صفحات الويب لديك بشكل أسرع، حيث لن تحتاج إلى تحميل وتقديم الإعلانات. ولكن أيضًا لأن سكويد يقوم بتخزين المحتوى مؤقتاً من أجلك. لذلك، المحتوى الذي تطلبه بشكل متكرر سيتم تحميله بشكل أسرع.
أمور جيدة. ابق آمناً.