Port Knocking: أفضل أمان يمكنك الحصول عليه على جهاز الكمبيوتر أو الخادم (النشر + التكوين)

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

في الوقت الحالي ، يتمتع أولئك الذين يديرون خادمًا بوصول SSH إلى هذا الخادم ، والبعض الآخر نقوم بتغيير منفذ SSH الافتراضي ولم يعد يستخدم المنفذ 22 والبعض الآخر تركه على هذا النحو (شيء غير موصى به) ، ولكن تم تمكين وصول SSH للخادم من خلال بعض المنافذ وهذه بالفعل "ثغرة أمنية".

مع منفذ يطرق يمكننا تحقيق ما يلي:

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

1. أنا telnet إلى المنفذ 7000 من الخادم
2. أفعل تلنت آخر لمنفذ 8000 من الخادم
3. أفعل تلنت آخر لمنفذ 9000 من الخادم
4. يكتشف الخادم أن شخصًا ما قد قام بإجراء التوليفة السرية (المس المنافذ 7000 و 8000 و 9000 بهذا الترتيب) وسيفتح المنفذ 9191 بحيث يتم طلب تسجيل الدخول بواسطة SSH (سيفتحه فقط لعنوان IP الذي تم إنشاء المجموعة منه مرض).
5. الآن لإغلاق SSH ، قمت فقط بالتلنت إلى المنفذ 3500
6. سأفعل تلنت آخر إلى المنفذ 4500
7. وأخيراً تلنت آخر إلى المنفذ 5500
8. سيؤدي إجراء هذه المجموعة السرية الأخرى التي اكتشفها الخادم إلى إغلاق المنفذ 9191 مرة أخرى.

بعبارة أخرى ، شرح ذلك بشكل أكثر بساطة ...

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

وهل لا يفهم؟ 🙂

كيفية تثبيت البرنامج الخفي لـ Port Knocking؟

أفعل ذلك مع الحزمة مزعج، مما سيتيح لنا طريقة بسيطة وسريعة للغاية للتنفيذ والتهيئة منفذ يطرق.

قم بتثبيت الحزمة: knockd

كيفية تكوين Port Knocking باستخدام knockd؟

بمجرد التثبيت ، نواصل تهيئته ، لذلك نقوم بتحرير الملف (كجذر) / الخ/knockd.conf:

nano /etc/knockd.conf

كما ترى في هذا الملف ، يوجد بالفعل تكوين افتراضي:

 إن شرح الإعدادات الافتراضية أمر بسيط حقًا.

- أول، UseSyslog يعني أنه لتسجيل النشاط (السجل) الذي سنستخدمه / فار / سجل / سيسلوغ.
- الثاني في القسم [المفتوح] من الواضح أنه المكان الذي ستنتقل إليه تعليمات فتح SSH ، أولاً لدينا تسلسل المنافذ (المجموعة السرية) التي تم تكوينها افتراضيًا (المنفذ 7000 ، المنفذ 8000 وأخيراً المنفذ 9000). من الواضح أنه يمكن تغيير المنافذ (في الحقيقة أوصي بذلك) كما أنه لا يجب بالضرورة أن تكون 3 ، يمكن أن تكون أكثر أو أقل ، وهذا يعتمد عليك.
- الثالث، seq_timeout = 5 يعني وقت انتظار توليفة المنافذ السرية. بشكل افتراضي ، يتم ضبطه على 5 ثوانٍ ، وهذا يعني أنه بمجرد أن نبدأ في تنفيذ طرق طرق المنفذ (أي عندما نقوم telnet إلى المنفذ 7000) يكون لدينا 5 ثوانٍ كحد أقصى لإنهاء التسلسل الصحيح ، إذا مرت 5 ثوانٍ ولم ننتهي من يطرق المنفذ ثم سيكون ببساطة كما لو كان التسلسل غير صالح.
- الرابع ، أمر لا يحتاج الكثير من الشرح. سيكون هذا ببساطة الأمر الذي سينفذه الخادم عندما يكتشف المجموعة المحددة أعلاه. الأمر الذي يتم تعيينه افتراضيًا ، ما يفعله هو فتح المنفذ 22 (قم بتغيير هذا المنفذ لمنفذ SSH الخاص بك) فقط إلى IP الذي قام بإنشاء المجموعة الصحيحة من المنافذ.
- الخامس ، tcpflags = syn باستخدام هذا السطر ، نحدد نوع الحزم التي سيتعرف عليها الخادم على أنها صالحة لمنفذ الدفع.

ثم هناك قسم لإغلاق SSH ، حيث أن التكوين الافتراضي ليس أكثر من نفس تسلسل المنافذ أعلاه ولكن بترتيب معاكس.

هنا تكوين مع بعض التعديلات:

 كيف تبدأ برنامج knockd daemon؟

لبدء ذلك ، يجب علينا أولاً تعديل الملف (كجذر) / etc / default / knockd:

nano /etc/default/knockd

هناك نغير السطر رقم 12 الذي يقول: «START_KNOCKD = 0»وتغيير ذلك من 0 إلى 1 ، سيكون لدينا:«START_KNOCKD = 1«

بمجرد الانتهاء من ذلك ، نبدأ الآن ببساطة:

service knockd start

وفويلا ، تم تكوينه وعمله.

ميناء يطرق مع knockd وتشغيل!

كما ترون في التكوين السابق ، إذا تم إجراء ضرب منفذ على المنفذ 1000 ، ثم إلى 2000 وأخيراً إلى 3000 ، فسيتم فتح المنفذ 2222 (SSH الخاص بي) ، حسنًا هنا كمبيوتر آخر ينفذ المنفذ:

بمجرد الضغط على [Enter] في Knock رقم 1 ، في رقم 2 وأخيراً في رقم 3 ، سيتم فتح المنفذ ، وهنا السجل:

كما ترى ، عند طرق المنفذ 1000 ، تم تسجيل المرحلة 1 ، ثم 2000 ستكون المرحلة 2 وأخيراً 3 مع 3000 ، عند القيام بذلك ، يتم تنفيذ الأمر الذي أعلنته في .conf وهذا كل شيء .

ثم لإغلاق المنفذ سيكون فقط طرق 9000 ، 8000 وأخيراً 7000 ، ها هو السجل:

وهنا ينتهي شرح الاستخدام 😀

كما ترى ، يعد Port Knocking مثيرًا للاهتمام ومفيدًا حقًا ، لأنه على الرغم من أننا لا نريد ببساطة فتح منفذ بعد مجموعة معينة من المنافذ ، إلا أن الأمر أو الأمر الذي سينفذه الخادم قد يختلف ، أي ... بدلاً من فتح منفذ يمكننا ذلك أعلن إنهاء عملية ، إيقاف خدمة مثل apache أو mysql ، إلخ ... الحد هو خيالك.

يعمل Port Knocking فقط عندما يكون لديك خادم فعلي أو عندما يكون الخادم الظاهري هو تقنية KVM. إذا كان VPS (الخادم الافتراضي) الخاص بك هو OpenVZ ثم Port Knocking لا أعتقد أنه يعمل من أجلك لأنه لا يمكنك التعامل مع iptables مباشرة

حسنًا وحتى الآن المقال ... لست خبيرًا إلى حد بعيد في هذا الأمر ولكني أردت أن أشارككم في هذه العملية الشيقة للغاية.

تحياتي 😀


اترك تعليقك

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

*

*

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

  1.   ارونامو جاز قال

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

    تحياتي وشكر ^ _ ^

    1.    KZKG ^ جارا قال

      شكرا لك على التعليق.
      نعم ... إنه مع المقالات على DNS of Fico ، لا أريد أن أترك وراء LOL !!!

      لا شيء على محمل الجد. قبل عدة أشهر ، سمعت شيئًا عن Port Knocking ولفت انتباهي على الفور ، لكن بما أنني اعتقدت أنه سيكون معقدًا للغاية في تلك اللحظة ، لم أقرر الدخول ، بالأمس فقط قمت بمراجعة بعض الحزم من الريبو التي اكتشفتها وقررت أن أجربها ، وهنا البرنامج التعليمي.

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

      تحياتي

    2.    ماريو قال

      مرحبًا ، أعلم أن هذه المقالة كانت موجودة منذ بعض الوقت ولكني أرسل استفساري لمعرفة ما إذا كان يمكن لشخص ما حلها من أجلي.
      الحقيقة هي أنني قمت بتنفيذ منفذ يطرق على التوت لمحاولة تحسين الأمان عند الاتصال به من خارج الشبكة المحلية. لكي يعمل هذا ، كان علي أن أفتح مجموعة من المنافذ على جهاز التوجيه 7000-9990 الذي يوجه إلى الجهاز. هل من الآمن فتح تلك المنافذ على جهاز التوجيه أو على العكس من ذلك ، عند محاولة الحصول على مزيد من الأمان ، هل أفعل العكس؟

      التحية والشكر.

  2.   أبدا قال

    رائع ، لقد كنت مسؤول نظام منذ سنوات ولم أكن أعرفه.
    سؤال واحد .. كيف تفعل "الضربات"؟
    هل تقوم بالتلنت ضد تلك المنافذ؟ ماذا يجيب عليك telnet؟ أم أن هناك بعض أوامر الموجة "طرق"؟
    رائع رائع هو المقال. مذهل. شكرا جزيلا

    1.    KZKG ^ جارا قال

      لقد أجريت الاختبار باستخدام telnet وعمل كل شيء معجزات ... ولكن الغريب أنه يوجد أمر "knock" ، قم بإجراء طرق الرجل حتى تتمكن من رؤية 😉

      لا تستجيب telnet لي حقًا على الإطلاق ، فإن iptables مع سياسة DROP تجعلها لا تستجيب على الإطلاق وتبقى telnet هناك تنتظر بعض الاستجابة (التي لن تصل أبدًا) ، لكن عفريت knockd سيتعرف على الضربة حتى لو لم يجيبها أحد 😀

      شكرًا جزيلاً على تعليقك ، إنه لمن دواعي سروري أن أعرف أن مقالاتي لا تزال مثل ^ _ ^

  3.   st0rmt4il قال

    تمت الإضافة إلى المفضلة! : د!

    بفضل!

    1.    KZKG ^ جارا قال

      شكرا 😀

  4.   صائد قال

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

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

  5.   كتيب قال

    مرحبًا ، المقالة رائعة.

    شيء واحد: هل يعمل على الاتصال من خارج الشبكة المحلية؟

    أقول هذا لأن لدي جهاز التوجيه مع المنافذ مغلقة مطروحًا منها المنفذ الذي يتوافق مع ssh الذي تمت إعادة توجيهه إلى الخادم.

    أتخيل أنه لكي يعمل من خارج الشبكة المحلية ، سيكون من الضروري فتح منافذ جهاز التوجيه المقابلة لـ Port Knocking وجعلها تعيد توجيهها إلى الخادم أيضًا.

    ط ط ط ...

    لا أعرف إلى أي مدى يكون القيام بذلك آمنًا.

    ما رايك

    1.    KZKG ^ جارا قال

      لست متأكدًا حقًا ، لم أقم بإجراء الاختبار ولكن أعتقد نعم ، يجب عليك فتح المنافذ على جهاز التوجيه وإلا فلن تتمكن من ضرب الخادم.

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

      1.    كتيب قال

        في الواقع ، يجب فتح المنافذ وإعادة توجيهها إلى الكمبيوتر الذي نتصل به.

        شفقة.

  6.   ربّا 08 قال

    عظيم شكرا جزيلا لك! لقد بدأت للتو في دراسة مهنة الشبكات وهذه الدروس رائعة بالنسبة لي! شكرا لأخذ الوقت لمشاركة المعرفة

    1.    KZKG ^ جارا قال

      لقد تعلمت الكثير على مر السنين مع مجتمع Linux العالمي ... لبضع سنوات كنت أرغب في المساهمة أيضًا ، ولهذا السبب بالتحديد أكتب 😀

  7.   يانوس 981 قال

    شكراً جزيلاً لك ، أنت لا تعرف كيف يساعدني ذلك ، أنا على وشك إعداد خادم وهذا أمر رائع بالنسبة لي.

    تحياتي

    1.    KZKG ^ جارا قال

      هذا ما نحن من أجله ، للمساعدة 😉

  8.   جان فينتورا قال

    مقال ممتاز! لم يكن لدي أي علم بهذا الأمر وهو يساعدني كثيرًا (أنا أستخدم RackSpace الذي يستخدم KVM ، لذا فهو يناسبني مثل القفازات!). تمت الإضافة إلى المفضلة.

    1.    KZKG ^ جارا قال

      شكرا للتعليق 🙂

  9.   الجابي قال

    كما هو الحال دائما DesdeLinux يقدم لنا منشورات ممتازة تحتوي على برامج تعليمية مفيدة حقًا لوضعها موضع التنفيذ، شكرًا للمشاركة!! 🙂

    1.    KZKG ^ جارا قال

      شكرا لتعليقك 🙂
      نعم ، نحاول دائمًا إرضاء هذا التعطش للمعرفة الذي يمتلكه قرائنا

  10.   تمبليك قال

    مثير للاهتمام ، لم أكن أعرف الخيار.
    اذهب مباشرة لتسمين مكتبة فرم بلدي.
    بفضل!

    1.    KZKG ^ جارا قال

      يسعدني
      تحياتي

  11.   فريدريك. A. Valdés Toujague قال

    تحيات KZKG ^ Gaara !!! أنت تقلص. مقال هائل لتأمين الخوادم. لا توجد فكرة @٪ * & ^ عن وجود مثل هذا الشيء. سأحاول ذلك. شكرا

  12.   قلادة بيضاء قال

    هذا عظيم…. ^ - ^

  13.   LearnLinux قال

    مرحبًا ، هل يمكنك شرح كيفية تثبيته في CentOS 5.x؟

    لقد قمت بتنزيل rpm:
    http://pkgs.repoforge.org/knock/knock-0.5-3.el5.rf.x86_64.rpm

    المثبتة:
    rpm -i knock-0.5-3.el5.rf.x86_64.rpm

    قم بتكوين ملف التكوين بـ 15 ثانية من الوقت والمنفذ الذي أستخدمه للاتصال بواسطة ssh بـ vps الخاص بي

    يبدأ الشيطان:
    / usr / sbin / knockd &

    أنا telnet ولا شيء لا يغلق المنفذ ، افتراضيًا المنفذ مفتوح ، لكنه لا يغلق.

    أفعل شيئا خاطئا؟

  14.   مرحبا قال

    يمكن التعرف على طلبات Mmmm ، telnet إلى هذه المنافذ من قبل مسؤول شبكتنا المحلية ، أو بواسطة مزود الخدمة لدينا ، أليس كذلك؟ سيؤدي ذلك إلى حظر الأشخاص الخارجيين ولكن ليسهم ، لذلك إذا أرادوا تنشيط المنفذ الخاص بنا ، فيمكنهم القيام بذلك لأنه انظر الطلبات التي نقدمها ، لنفترض أنها تحمي ولكن ليس 100٪

    1.    روبرتو قال

      يمكن أن يكون الأمر كذلك ، لكنني لا أعتقد أنهم سيتخيلون أن بعض التلنت ينفذ إجراءً X. ما لم يروا أن نفس أنماط telnet متبعة.

  15.   بابلو أندريس دياز أرامبورو قال

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

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

    تحياتي