كيفية بدء تشغيل قواعد iptables تلقائيًا في systemd (ArchLinux)

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

منذ بعض الوقت أريتك كيف تبدأ قواعد iptables تلقائيًا على توزيعات مثل دبيانأو Ubuntu أو غيرها التي تحتوي على الملف /etc/rc.local ، ولكن في ArchLinux حيث يستخدم systemd هذا الملف غير موجود.

لذا ، الطريقة التي وجدت بها لتهيئة iptables الخاصة بي كما أرغب هي إنشاء برنامج نصي bash يقوم بتكوين iptables ، ثم تعديل ملف /usr/lib/systemd/system/iptables.service ... لكن ، دعنا نذهب أجزاء 🙂

1. لا بد لنا إنشاء برنامج نصي باش تحتوي على قواعد iptables الخاصة بنا ، شيء من هذا القبيل: مثال على نص Bash + iptables

2. بعد إنشاء البرنامج النصي وكتابة قواعدنا فيه ومنحه أذونات التنفيذ ، ننتقل إلى تحرير خدمة iptables system:

يجب تنفيذ الأمر التالي بأذونات إدارية ، إما باستخدام sudo مثلي أو مباشرة مع المستخدم الجذر

sudo nano /usr/lib/systemd/system/iptables.service

سنصادف شيئًا كهذا:

[الوحدة] الوصف = إطار عمل تصفية الحزمة [الخدمة] النوع = oneShot ExecStart = / usr / bin / iptables-استعادة /etc/iptables/iptables.rules ExecReload = / usr / bin / iptables-استعادة /etc/iptables/iptables.rules ExecStop = / usr / lib / systemd / scripts / iptables-flush RemainAfterExit = نعم [تثبيت] WantedBy = multi-user.target

3. بافتراض أن البرنامج النصي الذي أنشأناه سابقًا موجود في /home/myuser/script-iptables.sh ، فسنترك ملف iptables.service الذي فتحناه على النحو التالي:

[الوحدة] الوصف = إطار عمل تصفية الحزمة [الخدمة] النوع = oneShot ExecStart = / home / myuser / script-iptables.sh ExecReload = / home / myuser / script-iptables.sh ExecStop = / usr / lib / systemd / scripts / iptables -flush RemainAfterExit = نعم [تثبيت] WantedBy = multi-user.target

4. ثم نحتاج إلى التأكد من أن iptables يبدأ تلقائيًا:

sudo systemctl enable iptables

5. نبدأها:

sudo systemctl start iptables

6. ويمكننا التحقق من القواعد:

sudo iptables -nL

هذه فقط أبسط طريقة وجدتها لـ (1) امتلاك برنامج bash الخاص بي الذي يقوم بتهيئة iptables لي ، وكذلك (2) أن تبدأ القواعد تلقائيًا وأخيراً (3) أن النص نفسه كان شيئًا مستقلاً ، أي أنه إذا أريد استخدامه غدًا في دبيان الذي أقوم بتثبيته (على سبيل المثال) لن أضطر إلى إعادة التهيئة كثيرًا.

على أي حال ، أتمنى أن تجدها مفيدة 🙂

تحياتي


اترك تعليقك

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

*

*

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

  1.   إليوتيمي 3000 قال

    مثير للإعجاب….

  2.   شاول قال

    لن يكون تحرير ملف iptables.rules أسهل ، إذا كان لديك بالفعل وصول إلى الجذر باستخدام sudo ، فسيكون من المفيد تعديله ، أليس كذلك؟

  3.   com.xphnx قال

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

    1- نطلق الخدمة (إذا لم نقم بذلك بعد):
    # systemctl enable iptables.service
    # systemctl start iptables.service

    2- نرى القواعد التي نطبقها (نفترض أن كل شيء مفتوح إذا لم نلمس شيئًا) sudo iptables -nvL

    3- نغير القواعد التي نريدها ، ونطلق سكربت التكوين:
    # sh /home/miusuario/script-iptables.sh

    4- لنرى كيف تغيرت القواعد النشطة:
    # iptables -nvL

    5- نحفظ تكوين iptables الجديد لعمليات إعادة التشغيل المستقبلية:
    # iptables-save > /etc/iptables/iptables.rules

    5b- إذا قمنا بتحرير ملف /etc/iptables/iptables.rules يدويًا لتغيير القواعد ، يجب علينا إعادة تحميل التكوين:
    # systemctl reload iptables

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

  4.   صائد قال

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

    1.    إيلاف قال

      هو نفسه المستخدم بواسطة humanOS ، Firefoxmanía .. ربما يكون شيئًا مع ذاكرة التخزين المؤقت.

      1.    صائد قال

        حسنًا ، لم أعد أعلق على هذين بعد الآن.

  5.   mj قال

    التحيات،
    هذا موضوع مفيد للغاية.
    بلا شك لأولئك المهتمين بأمان المعلومات المخزنة على جهاز الكمبيوتر الخاص بنا ؛ "Iptables" هي إحدى الأدوات التي يجب تعلمها لاستخدامها ؛ على الرغم من أهميتها الخاصة ، من الصعب تعلمها.
    لقد وجدت هذا الفيديو حول موضوعه وآمل أن تسمحوا لي بمشاركة عنوان بريدك الإلكتروني "http://www.youtube.com/watch؟v=Z6a-K_8FT_Y" ؛ كانت دهشتي أنه شيء مختلف عما هو عليه هنا. لكن على أي حال ، أفترض أنه سيكون بسبب تنوع التوزيعات التي يمتلكها GNU / Linux (ARCH ، DEBIAN ، SUSE ، إلخ) ، سيتعين علينا التعلم على أي حال.