Iptables وتصفية حركة المرور من المنشقين الفقراء والكسالى

تؤثر أهمية حظر الزيارات إلى الموارد المحظورة على أي مسؤول قد يتم اتهامه رسميًا بعدم الامتثال للقانون أو أوامر السلطات المختصة.

Iptables وتصفية حركة المرور من المنشقين الفقراء والكسالى

لماذا نعيد اختراع العجلة بينما هناك برامج وتوزيعات متخصصة لمهامنا، على سبيل المثال: Zeroshell، pfSense، ClearOS.

وكان للإدارة سؤال آخر: هل المنتج المستخدم حاصل على شهادة السلامة من دولتنا؟

كانت لدينا خبرة في العمل مع التوزيعات التالية:

  • Zeroshell - حتى أن المطورين تبرعوا بترخيص لمدة عامين، ولكن اتضح أن مجموعة التوزيع التي كنا مهتمين بها، أدت بشكل غير منطقي وظيفة حاسمة بالنسبة لنا؛
  • pfSense - الاحترام والشرف، وفي نفس الوقت ممل، والتعود على سطر أوامر جدار الحماية FreeBSD وليس مناسبًا لنا بدرجة كافية (أعتقد أنها مسألة عادة، ولكن تبين أنها طريقة خاطئة)؛
  • ClearOS - تبين أن أجهزتنا كانت بطيئة جدًا، ولم نتمكن من إجراء اختبارات جادة، فلماذا هذه الواجهات الثقيلة؟
  • إيديكو سيليكتا. منتج Ideco عبارة عن محادثة منفصلة، ​​\uXNUMXb\uXNUMXbمنتج مثير للاهتمام، ولكن لأسباب سياسية ليس بالنسبة لنا، وأريد أيضًا أن "أعضهم" بشأن الترخيص لنفس نظام التشغيل Linux وRoundcube وما إلى ذلك. من أين حصلوا على فكرة أنه عن طريق قطع الواجهة بايثون ومن خلال أخذ حقوق المستخدم المتميز، يمكنهم بيع منتج نهائي يتكون من وحدات مطورة ومعدلة من مجتمع الإنترنت الموزعة تحت GPL وما إلى ذلك.

أفهم أن التعجبات السلبية الآن سوف تتدفق في اتجاهي مع مطالبات بإثبات مشاعري الشخصية بالتفصيل، لكني أريد أن أقول إن عقدة الشبكة هذه هي أيضًا موازن حركة المرور لـ 4 قنوات خارجية إلى الإنترنت، ولكل قناة خصائصها الخاصة . كان حجر الزاوية الآخر هو الحاجة إلى أن تعمل إحدى واجهات الشبكة العديدة في مساحات عناوين مختلفة، وأنا استعداد أعترف أنه يمكن استخدام شبكات VLAN في كل مكان حيث يكون ذلك ضروريًا وليس ضروريًا غير جاهز. هناك أجهزة قيد الاستخدام مثل TP-Link TL-R480T+ - فهي لا تتصرف بشكل مثالي مع الفروق الدقيقة الخاصة بها بشكل عام. كان من الممكن تكوين هذا الجزء على Linux بفضل موقع Ubuntu الرسمي موازنة IP: دمج عدة قنوات إنترنت في قناة واحدة. علاوة على ذلك، يمكن لكل قناة أن "تسقط" في أي لحظة، وقد ترتفع أيضًا. إذا كنت مهتمًا بالبرنامج النصي الذي يعمل حاليًا (وهذا يستحق منشورًا منفصلاً)، فاكتب في التعليقات.

لا يدعي الحل قيد النظر أنه فريد من نوعه، ولكن أود أن أطرح السؤال التالي: "لماذا يجب على المؤسسة أن تتكيف مع منتجات الطرف الثالث المشبوهة ذات متطلبات الأجهزة الخطيرة عندما يكون من الممكن النظر في خيار بديل؟"

إذا كانت هناك قائمة بـ Roskomnadzor في الاتحاد الروسي، يوجد في أوكرانيا ملحق لقرار مجلس الأمن القومي (على سبيل المثال. هنا)، فإن القادة المحليين لا ينامون أيضًا. على سبيل المثال، حصلنا على قائمة بالمواقع المحظورة التي، في رأي الإدارة، تضعف الإنتاجية في مكان العمل.

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

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

المزود 1
- لا تهتم وتفرض خوادم DNS الخاصة بها وخادم وكيل شفاف. حسنًا؟.. ولكن لدينا إمكانية الوصول إلى المكان الذي نحتاج إليه (إذا كنا بحاجة إليه :))

المزود 2
- يعتقد أن أفضل مزود لديه يجب أن يفكر في هذا الأمر، حتى أن الدعم الفني للمزود الأعلى اعترف بسبب عدم تمكني من فتح الموقع الذي أحتاجه، وهو ما لم يكن محظورًا. أعتقد أن الصورة ستنال إعجابك :)

Iptables وتصفية حركة المرور من المنشقين الفقراء والكسالى

كما اتضح، فإنهم يترجمون أسماء المواقع المحظورة إلى عناوين IP ويحظرون عنوان IP نفسه (لا ينزعجون من حقيقة أن عنوان IP هذا يمكن أن يستضيف 20 موقعًا).

المزود 3
— يسمح لحركة المرور بالذهاب إلى هناك، لكنه لا يسمح لها بالعودة على طول الطريق.

المزود 4
- يحظر جميع عمليات التلاعب بالحزم في الاتجاه المحدد.

ماذا تفعل مع VPN (فيما يتعلق بمتصفح Opera) والمكونات الإضافية للمتصفح؟ من خلال اللعب بعقدة Mikrotik في البداية، حصلنا على وصفة كثيفة الاستخدام للموارد لـ L7، والتي اضطررنا للتخلي عنها لاحقًا (قد يكون هناك المزيد من الأسماء المحظورة، يصبح الأمر محزنًا عندما، بالإضافة إلى مسؤولياتها المباشرة عن الطرق، على 3 عشرات التعبيرات يصل حمل المعالج PPC460GT إلى 100٪).

Iptables وتصفية حركة المرور من المنشقين الفقراء والكسالى.

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

ip route add blackhole 1.2.3.4

سيكون من المفيد جدًا الحصول على قائمة عناوين IP من قائمة المواقع المحظورة، ولكن للأسباب المذكورة أعلاه، انتقلنا إلى الاعتبارات المتعلقة بـ Iptables. كان هناك بالفعل موازن مباشر على إصدار CentOS Linux 7.5.1804.

يجب أن يكون الإنترنت الخاص بالمستخدم سريعًا، ويجب ألا ينتظر المتصفح نصف دقيقة، ليخلص إلى أن هذه الصفحة غير متوفرة. وبعد بحث طويل وصلنا إلى هذا النموذج:
الملف 1-> /script/denied_hostقائمة الأسماء المحظورة:

test.test
blablabla.bubu
torrent
porno

الملف 2-> /script/denied_rangeقائمة مساحات العناوين والعناوين المحظورة:

192.168.111.0/24
241.242.0.0/16

ملف البرنامج النصي 3-> ipt.shالقيام بهذه المهمة مع ipables:

# считываем полезную информацию из перечней файлов
HOSTS=`cat /script/denied_host | grep -v '^#'`
RANGE=`cat /script/denied_range | grep -v '^#'`
echo "Stopping firewall and allowing everyone..."
# сбрасываем все настройки iptables, разрешая то что не запрещено
sudo iptables -F
sudo iptables -X
sudo iptables -t nat -F
sudo iptables -t nat -X
sudo iptables -t mangle -F
sudo iptables -t mangle -X
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
#решаем обновить информацию о маршрутах (особенность нашей архитектуры)
sudo sh rout.sh
# циклически обрабатывая каждую строку файла применяем правило блокировки строки
for i in $HOSTS; do
sudo iptables -I FORWARD -m string --string $i --algo bm --from 1 --to 600 -p tcp -j REJECT --reject-with tcp-reset;
sudo iptables -I FORWARD -m string --string $i --algo bm --from 1 --to 600 -p udp -j DROP;
done
# циклически обрабатывая каждую строку файла применяем правило блокировки адреса
for i in $RANGE; do
sudo iptables -I FORWARD -p UDP -d $i -j DROP;
sudo iptables -I FORWARD -p TCP  -d $i -j REJECT --reject-with tcp-reset;
done

يرجع استخدام Sudo إلى حقيقة أن لدينا اختراقًا صغيرًا للإدارة عبر واجهة WEB، ولكن كما أظهرت الخبرة في استخدام مثل هذا النموذج لأكثر من عام، فإن WEB ليس ضروريًا جدًا. بعد التنفيذ كانت هناك رغبة في إضافة قائمة المواقع إلى قاعدة البيانات وما إلى ذلك. عدد المضيفين المحظورين أكثر من 250 + عشرات مساحات العناوين. هناك بالفعل مشكلة عند الانتقال إلى موقع ما عبر اتصال https، مثل مسؤول النظام، ولدي شكاوى بشأن المتصفحات :)، ولكن هذه حالات خاصة، فمعظم مسببات عدم الوصول إلى المورد لا تزال في جانبنا ، نجحنا أيضًا في حظر Opera VPN والمكونات الإضافية مثل friGate والقياس عن بعد من Microsoft.

Iptables وتصفية حركة المرور من المنشقين الفقراء والكسالى

المصدر: www.habr.com

إضافة تعليق