مقدمة إلى Squid: الإعداد خطوة بخطوة

شعار الحبار وتكس

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

للتثبيت الخاص بك، يمكنك الوصول إلى الموقع الرسمي للمشروع وحدد الحزم الثنائية لنظام التشغيل أو التوزيع الخاص بك. إذا كنت ترغب في تثبيته من حزمة التعليمات البرمجية المصدر عن طريق التجميع أيضًا لديك هذا الخيار. كرات القطران المتوفرة هي tar.gz و tar.bz2 و tar.xz. إذا كنت لا تعرف كيفية التثبيت ، فيمكنك الانتقال إلى المقالة التي نقوم بتحريرها في هذه المدونة حول كيفية تثبيت أي حزمة من لينكس. عين! إذا كان لديك ديبيان أو مشتق ورأيت أنه مثبت مع sudo "apt-get install squid" ، فقد تحصل على خطأ ، لأنه يجب عليك استبدال "Squid" بـ "squid3" حتى يتم تفعيله .. .

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

عادة ، بعد التثبيت ، يتم تضمين ملف التكوين الذي يمكن العثور عليه في /etc/squid3/squid.conf وهذا هو ما يجب علينا تحريره باستخدام محرر مثل nano أو gedit. في ذلك يمكننا إنشاء قواعد التصفية الخاصة بنا ، على الرغم من وجود خيارات cache_dir و cache_mem و http_port ، سنستخدم الأخير لقواعد الأمان الخاصة بنا. تفصيل آخر هو أن هذا الملف يحدد المنفذ الافتراضي الذي تستخدمه خدمة Squid ، والذي افتراضيًا هو 3128 (راجع السطر أو التوجيه "http_port 3128" وقم بإزالة # لتنشيطه). إذا أردت ، يمكنك تغييره إلى منفذ آخر مثل 8080 ... والشيء الآخر الضروري هو تكوين اسم المضيف ، ابحث عن التعليق "TAG: اسم المضيف المرئي" وسترى سطرًا "اسم المضيف المرئي" حيث يجب عليك وضعه اسم مضيفك.

لمعرفة اسم المضيف الخاص بك ، يمكنك كتابة في المحطة:

hostname

والاسم الذي يظهر تضيفه إلى السطر الذي لا ينبغي أن يسبقه # حتى لا يتم تجاهله كتعليق. أي أنه سيبدو كما يلي:

visual_hostname hostname_have_you_appeared

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

بالمناسبة ، عندما تزيل # لتنشيط قاعدة ، تأكد من عدم ترك مسافات في بداية السطر. على سبيل المثال:

طريقة خاطئة:

http_port 3128

طريقة صحيحة:

http_port 3128

ألم تسمع شيئًا؟ حسنا لا تقلق مع مثال سترى كل شيء أفضل بكثير. تخيل هذا:

acl حظر url_regex مثل facebook
http_access يرفض الحظر

ماذا تعني هذه القاعدة هو أن قائمة التحكم بالوصول التي تحمل الاسم "حظر" ستمنع الوصول إلى عنوان URL الذي يحتوي على "facebook" (لذلك إذا حاولنا الدخول إلى Facebook ، فسيتم تخطي خطأ في المتصفح). إذا كنت تستخدم كلمة "سماح" بدلاً من "رفض" ، فيمكنك السماح بالوصول بدلاً من حظره. يمكنك أيضًا استخدام! للاستبعاد ، على سبيل المثال ، افترض أنك تريد السماح بالوصول إلى list1 وليس list2:

http_access allow lista1 !lista2

مثال آخر يمكن أن يكون إنشاء ملف / etc / squid3 / ips مسموح به وفيه احفظ قائمة عناوين IP التي نريد السماح بالوصول إليها. على سبيل المثال ، افترض أن محتوى ips المسموح به هو:

192.168.30.1

190.169.3.250

192.168.1.26

ثم نقوم بإنشاء قائمة التحكم بالوصول للسماح بالوصول إلى عناوين IP هذه:

acl nuevaregla src "/etc/squid3/ipspermitidas"

مثال عملي جداتخيل أن الأطفال الذين تقل أعمارهم عن 18 عامًا يستخدمون جهاز الكمبيوتر الخاص بك وتريد تقييد الوصول إلى بعض مواقع محتوى البالغين. أول شيء هو إنشاء ملف يسمى / etc / squid3 / list بالمحتوى:

بالغ

الاباحية

جنس

بورينجا

والآن في  ملف squid.conf نضع القاعدة التالية:

acl denegados url_regex "/etc/squid3/lista"

http_access allow !denegados

كما ترى لقد استخدمنا السماح وهو من حيث المبدأ السماح ، ولكن إذا نظرتم أضفنا! لذلك ، فإن الإنكار سيكون معادلاً لوضع:

acl denegados url_regex "/etc/squid3/lista"

http_access deny denegados

يمكنك أيضًا إنشاء قوائم ، ليس فقط بأسماء المجال أو عناوين IP كما فعلنا ، يمكنك أيضًا وضع المجالات وعلى سبيل المثال تقييد الوصول إلى مجالات مثل .xxx ، .gov ، إلخ. لنلقِ نظرة على مثال يستند إلى القاعدة السابقة. نقوم بإنشاء ملف / etc / squid3 / domains يحتوي على:

. ايدو

وفاق

. المؤسسة

والآن قاعدتنا، لرفض الوصول إلى قائمة المواقع المحظورة التي نقوم بإنشائها ، مع السماح بالوصول إلى عناوين URL مع هذه المجالات:

acl denegados url_regex "/etc/squid3/lista" 
acl permitidos dstdomain "/etc/squid3/dominios"

http_access allow !denegados dominios

تمديد:

آسف ، عندما رأيت التعليقات أدركت ذلك لقد فقدت الشيء الرئيسي. لقد وضعت للتو أمثلة على كيفية استخدامه ونسيت أن أقول ذلك لبدء خادم Squid:

sudo service squid3 start

قبل أن تبدأ بـ "/etc/init.d/squid start" ، لكن الآن يجب عليك استخدام هذا السطر الآخر الذي وضعته لك. مثلما لم يعد ملف التكوين موجودًا في /etc/squid/squid.conf ، ولكن في /etc/squid3/squid.conf. حسنًا ، بمجرد إنشاء سياسات التصفية ، وبدء تشغيلها ، يجب علينا أيضًا تهيئة المتصفح ، على سبيل المثال ، إذا كنت تستخدم Mozilla Firefox أو مشتقات ، فيمكنك الانتقال إلى قائمة التكوين (كما تعلم ، الأشرطة الثلاثة) ، ثم إلى التفضيلات ، المتقدمة ، وفي علامة التبويب الشبكة ، انقر فوق التكوين في قسم الاتصال. هناك ، نختار تهيئة الخادم الوكيل يدويًا ونضع عنوان IP الخاص بنا والمنفذ الذي يستخدمه Squid ، في هذه الحالة 3128. حدد أيضًا "استخدام نفس الوكيل لكل شيء" واخرج من حفظ التغييرات.

من فضلك لا تنسى أن تترك تعليقاتكأو شكوك أو أي شيء تريده ... على الرغم من أنه برنامج تعليمي أعلى بكثير من Squid ، آمل أن يساعدك.


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: AB Internet Networks 2008 SL
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.

  1.   نيكولا قال

    شكرا لك! ، مفيد.

  2.   جيمي أولانو قال

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

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

    1.    إسحاق بي قال

      مرحبا، شكرا على التعليقات. نعم ، IPTABLES و Squid سميكة جدًا بحيث لا تجعل مقالًا يشرحها بعمق وعليك أن تقصر نفسك على وضع أمثلة يومية ...

      لكنك محق تمامًا ، لقد أضفته الآن لتكوين الوكيل ، لقد خططت له ونسيت. خطأي.

      تحياتي وشكرا !!

      1.    جيمي أولانو قال

        Uffff "جذع" آسف لعدم إدراك الشيء الرئيسي:
        ابدأ الخدمة: - (بدون ذلك "لا توجد عمتك" - اغفر لي الخطاب العامي - امتداد ناجح جدًا! 8-)

        {يتم إصلاحه عند كل تمهيد من خلال تعديل "/ sbin / init":
        http: // www. ubuntu-es.org/node/ 13012 # .Vsr_SUJVIWw}

        {هناك طريقة أخرى أسهل وهي استخدام "update-rc.d":
        https: // parbaedlo. wordpress.com/201 3/03/07 / setting-start-and-stop-of-services-linux-update-rc-d /}

        لقد أضفت مسافات إلى الروابط ، وقم بإزالتها وستنتقل ؛-)

        MUCHAS GRACIAS POR SU ATENCIN.

  3.   آلبير قال

    LINUX NEWS: هجوم على Linux Mint: أصاب المثبتات واختراق بيانات اعتماد المستخدم

    http://www.muylinux.com/2016/02/21/ataque-a-linux-mint

    1.    أزبي قال

      لقد قمت بنشره بالفعل ، لكن لا ترسل بريدًا عشوائيًا إلى صفحات أخرى هنا من فضلك

  4.   آلبير قال

    أخبار ANDROID: GM Bot ، حصان طروادة Android الذي اشتق منه Mazar

    http://www.redeszone.net/2016/02/21/gm-bot-el-troyano-para-android-del-que-deriva-mazar/

  5.   هرنان قال

    مرحبا جيمي ، كيف تفعل ذلك حتى لا يبحث الحبار عنك في تلك الصفحات؟ سيكون من الجيد أن تعلق على الخيار الشفاف ، الذي يتجنب ملل تكوين البروكسي لكل كمبيوتر

    1.    جيمي أولانو قال

      سؤال جيد ، لقد قمت بتثبيت CAPTCHA في برنامج مجاني على صفحات الويب لعملائي:
      (http: // www. ks7000. net. ve / 2015/04/03 / un-captcha-easy-and-simple-to-application /
      - ومع ذلك ، فهو ليس "بريدًا عشوائيًا" أو ترويجًا ذاتيًا ، إنه يتعلق بالقضية-)
      وأتخيل أنه عند استخدام Squid ، لا يتم إعادة تحميل هذه الصور لأنني وضعت نفس الاسم عليها - أ ، يمكنني أيضًا إنشاء أسماء عشوائية ، لم أفكر في ذلك ، حتى الآن - وبامتلاك نفس الاسم ، يعيد Squid ما لديها في "ذاكرة التخزين المؤقت".

      من الواضح أن الوظيفة الرئيسية لـ "الوكيل" هي توفير عرض النطاق الترددي مع الصور - أثقل صفحة ويب - [i] بافتراض أن هذه الصور ثابتة ، فهي لا تتغير بمرور الوقت ، وهذا صحيح في 99٪ من حالات [/ i].

      ولكن في اختبار CAPTCHA ، نظرًا لأنه "لا يوجد تشغيل" ، يجب علينا التخلص من التخزين السابق وإعادة صورة جديدة دائمًا.

      بالنسبة للبنوك ، أفهم أن أكبر البنوك في إسبانيا هي "كايكسا" لأننا سننشئ قاعدة على سبيل المثال:

      ACL caixa dstdomain .lacaixa.es

      حيث:
      acl -> الأمر لإنشاء قاعدة (أعد قراءة مقالة السيد إسحاق ، الفقرات أعلاه).

      كايكسا -> اسم القاعدة.

      dtsdomain -> خيار "النوع" للإشارة إلى مجال ، مهم النقطة في البداية ( http://ww ث. com / squid / squid24s1 / access_controls.php)

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

      آمل أن تكون المعرفة المقدمة هنا مفيدة لك، وذلك بفضل LinuxAdictos!

    2.    جيمي أولانو قال

      حسنًا ، للإجابة على سؤال الشفافية في Squid AGAIN ، أصر على أنه يجب أن تكون لديك معرفة بالمستوى المتوسط ​​ولأسباب تعليمية سألخص قدر الإمكان المقالة التالية (باللغة الإنجليزية) التي أعتبرها تتحدث جيدًا عن الموضوع:

      http: // ww w.deckle.co. uk / squid-users-guide /transparent-caching-proxy.html

      ملاحظات:
      -لقد أضفت مسافات إلى الروابط لتجنب الرد مني (ليس لدي أي علاقة بالفريق على الإطلاق). Linux Adictosولذلك لا يحق لي القيام بهذا الإجراء).
      - هذا عن الشفافية لم أكن أعرف! (أقول لم يعلموني).
      -مساعدة رفاق أساعد نفسي أيضًا ، هذا رائع من حيث الكمية! ؟

      حسنًا ، مع هذا ، دعنا نبدأ العمل:

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

      بموجب هذا المخطط ، يكون استخدام Squid اختياريًا: سيكون كل مستخدم لشبكة المنطقة المحلية الخاصة بنا مسؤولاً عن القيام بعمله ، ولكن يمكنك المراهنة على "الفضة بقوة ضد البيزيتا الورقية" على أن هناك بعض "البرامج النصية" التي يمكن تثبيتها عبر SSH إلى أجهزة كمبيوتر مختلفة تعمل بنظام GNU / Linux.

      الشرط المسبق: أن خادم Squid الخاص بنا يعمل كما يعلم السيد Isaac في هذا المنشور ، إذا قمنا بالفعل باختباره ووضعنا "عبء العمل" عليه ويعمل بشكل جيد ، فيمكننا المضي قدمًا.

      في إطار نظام الشفافية:

      أولاً. - يجب أن يكون Squid الخاص بنا هو المسار الافتراضي "gateway" في "eth0" أو "wlan0" - هل تتذكر مستوى المعرفة المتوسطة؟ - حسنًا ، لقد أنشأناها هناك (يتم إجراؤها افتراضيًا باستخدام DHCP لذلك يجب علينا أيضًا تكوين خادم لهذه الخدمة:
      http: // en.wikipe dia.org/wiki/ Dynamic_Host_Configuration_Protocol).

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

      ملاحظة: سيعتمد كمبيوتر Squid دائمًا على عنوان IP الخاص به من DHCP ولكن في نفس الوقت سيكون لديه بعض "التحكم" مع خادم DHCP المذكور. إذا كنت ترغب في العمل مع عناوين IP ثابتة ، فبإمكانك ذلك ، ولكن عند إضافة المزيد من أجهزة الكمبيوتر أو استبدال بعضها ، سيتعين عليك تكوينها مرة أخرى وهذه ليست الفكرة (اقرأ بسرور:
      ht tps: // فينو باربيتال. wordpress.com/2012/07/23/the-12-reasons-by-who-a-adder-of-systems-lazy-is-a-good-administrator/)
      ملاحظة أخرى (انظر النقطة الثانية): يجب أن تقوم أجهزة المودم (المودم) و / أو أجهزة التوجيه الخاصة بنا بإلغاء تنشيط وظيفة DHCP وأنها محكومة بخادم DCHP الخاص بنا (- التي أؤكد لك أن هناك إدخالًا آخر يخرج من هذا لتوضح لنا كيفية التثبيت الخدمة المذكورة-)

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

      ثالثًا. - في جنو / لينكس الذي يستضيف Squid ، يجب علينا إعادة توجيه المنافذ وتهيئة «جدار الحماية» (اقرأ المقال السابق IPTables
      http://www.linuxadictos.com/introduccion-a-iptables-configura-un-firewall-en-linux.html )

      iptables -t nat -A PREROUTING -p TCP –dport 80 -j إعادة التوجيه إلى المنفذ 3128

      و IPFW:

      / sbin / ipfw أضف 3 fwd 127.0.0.1,3128،80 tcp من أي إلى أي XNUMX

      وغني عن القول ، لا يمكننا تشغيل خادم Apache أو Ngix على هذا المنفذ 80 - المنفذ الافتراضي لصفحات الويب - يشير COMMON SENSE إلى عدم وضع المزيد من الحمل على جهاز الكمبيوتر الخاص بنا باستخدام Squid - اعتمادًا على مساحة القرص لـ «ذاكرة التخزين المؤقت» -.

      رابعًا: يجب علينا تكوين خادم Squid وإخباره أنه يعمل في هذا الوضع عن طريق تعديل "/etc/squid/squid.conf" باستخدام nano أو المحرر الذي تفضله أكثر:

      http_port 3128 شفاف

      يجب علينا أيضًا تمكين إعادة توجيه الحزمة في "/etc/sysctl.conf":

      net.ipv4.ip_forward = 1
      net.ipv6.conf.all.forwarding = 1

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

      أخيرًا ، أعد تشغيل خدمة Squid كما أوصى السيد Isaac أعلاه وأعد تشغيل خدمة الشبكة أيضًا:

      /etc/init.d/procps.sh إعادة التشغيل

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

  6.   جيمي أولانو قال

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

    ht tps: / / www. موقع YouTube. كوم / ساعة؟ v = st47K5t7s-Q

  7.   مدرس قال

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

  8.   برج الحمل قال

    أرغب في مساعدتي ، أريد أن أمنح امتيازًا لمستخدم لرؤية Facebook وأن الآخرين مع القيود التي تم تكوينها بالفعل وكيفية تمكين مستخدمي الإنترنت في أوقات معينة ، وأود أن تنصحني ، شكرًا لك

  9.   بلقيس قال

    آري ، ما شرحوه لي عن ذلك هو أن الآلة التي تريدها ليست مقيدة ، يجب أن تُترك ، ولكن حتى ذلك الحين لدي الشرح ، أنا أيضًا لا خبرة في هذا الموضوع

  10.   منتصر قال

    ليلة سعيدة ، عفواً ، ربما يكون سؤالي أساسيًا بعض الشيء ولكن مهلا ، لقد قمت بتثبيت الحبار وتهيئته على centos 5.4 ، ونبيذ مثبت و ultrasurf ، ما أنوي القيام به هو مشاركة الإنترنت من ultrasurf مع الحبار على جهاز يعمل بنظام Windows XP مع FreeProxy و ultrasurf ويمكنني مشاركته بدون مشكلة ولكني لا أعرف كيفية القيام بذلك في Linux

  11.   دانيال أندرادا قال

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

  12.   الأربعاء قال

    مفيد جدا وموضح جيدا. شكرا!

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

    شكرا لك مرة أخرى!! تحيات!