Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
puppet-ssh-hardening — وحدة puppet هذه توفر إعدادات آمنة لـ ssh-client و ssh-server. | Kitploit
أدوات/GitHubGitHub/dev-sec/puppet-ssh-hardening
أمن البنية التحتية السحابيةتدقيق التكوينأمن الشبكاتDevSecOpsالمصادقة
GitHubdev-sec/puppet-ssh-hardening

puppet-ssh-hardening

وحدة puppet هذه توفر إعدادات آمنة لـ ssh-client و ssh-server.

عرض المستودع
603148منذ 2 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
الموقع الإلكتروني
مشاركة

تحصين SSH عبر Puppet

Puppet Forge Build Status Gitter Chat

الوصف

توفر وحدة Puppet هذه إعدادات آمنة لكل من عميل وخادم SSH.

المتطلبات

  • Puppet
  • وحدات Puppet: saz/ssh (>= 2.3.6), puppetlabs/stdlib (>= 4.2.0)

المعاملات

  • ipv6_enabled = false - true إذا كان IPv6 مطلوبًا
  • cbc_required = false - true إذا كانت خوارزمية CBC مطلوبة للتشفير. عادةً ما يكون هذا ضروريًا فقط إذا كانت آليات M2M قديمة تحتاج إلى التواصل عبر SSH ولا تدعم أيًا من خوارزميات التشفير الآمنة المكوّنة. CBC بديل ضعيف. يجب تجنب أي شيء أضعف من ذلك، وبالتالي فهو غير متاح.
  • weak_hmac = false - true إذا كانت آليات HMAC الأضعف مطلوبة. عادةً ما يكون هذا ضروريًا فقط إذا كانت آليات M2M قديمة تحتاج إلى التواصل عبر SSH ولا تدعم أيًا من آليات HMAC الآمنة المكوّنة.
  • weak_kex = false - true إذا كانت آليات تبادل المفاتيح (KEX) الأضعف مطلوبة. عادةً ما يكون هذا ضروريًا فقط إذا كانت آليات M2M قديمة تحتاج إلى التواصل عبر SSH ولا تدعم أيًا من آليات KEX الآمنة المكوّنة.
  • allow_root_with_key = false - false لتعطيل تسجيل دخول الجذر تمامًا. اضبطه على true للسماح للجذر بتسجيل الدخول عبر آلية تعتمد على المفاتيح.
  • ports = [ 22 ] - المنافذ التي يجب أن يستمع إليها خادم SSH ويتصل بها عميل SSH
  • listen_to = [ "0.0.0.0" ] - عنوان IP واحد أو أكثر يجب أن يستمع إليها خادم SSH. القيمة الافتراضية فارغة، ولكن يجب تكوينها لأسباب أمنية!
  • remote_hosts - مضيف واحد أو أكثر يمكن لعميل SSH الاتصال بها. القيمة الافتراضية فارغة، ولكن يجب تكوينها لأسباب أمنية!
  • allow_tcp_forwarding = false - اضبطه على true للسماح بإعادة توجيه TCP
  • allow_agent_forwarding = false - اضبطه على true للسماح بإعادة توجيه الوكيل
  • use_pam = false لتعطيل مصادقة PAM
  • client_options = {} - عيّن قيمًا في التجزئة لتجاوز إعدادات الوحدة
  • server_options = {} - عيّن قيمًا في التجزئة لتجاوز إعدادات الوحدة

الاستخدام

بعد إضافة هذه الوحدة، يمكنك استخدام الفئة:

class { 'ssh_hardening': }

سيؤدي هذا إلى تثبيت خادم SSH وعميل SSH. يمكنك بدلاً من ذلك اختيار واحد فقط عبر:

class { 'ssh_hardening::server': }
class { 'ssh_hardening::client': }

يجب عليك تكوين السمات الأساسية:

class { 'ssh_hardening::server':
  "listen_to" : ["10.2.3.4"]
}

القيمة الافتراضية لـ listen_to هي 0.0.0.0. يُنصح بشدة بتغيير القيمة.

تجاوز الخيارات الافتراضية

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

المثال التالي سيفعّل X11Forwarding، وهو معطل افتراضيًا:

class { 'ssh_hardening':
  server_options => {
    'X11Forwarding' => 'yes',
  },
}

الاختبار المحلي

للاختبار المحلي، يمكنك استخدام Vagrant و Virtualbox أو VMWare لتشغيل الاختبارات محليًا. ستحتاج إلى تثبيت Virtualbox و Vagrant على نظامك. راجع Vagrant Downloads للحصول على حزمة Vagrant المناسبة لنظامك. لجميع اختباراتنا نستخدم test-kitchen. إذا لم تكن معتادًا على test-kitchen، فيرجى إلقاء نظرة على دليلهم.

بعد ذلك قم بتثبيت test-kitchen:

# Install dependencies
gem install bundler
bundle install

# Fetch tests
bundle exec thor kitchen:fetch-remote-tests

# Do lint checks
bundle exec rake lint

# Do spec checks
bundle exec rake spec

# fast test on one machine
bundle exec kitchen test default-ubuntu-1204

# test on Debian-based machines
bundle exec kitchen test

# for development
bundle exec kitchen create default-ubuntu-1204
bundle exec kitchen converge default-ubuntu-1204

لمزيد من المعلومات، راجع test-kitchen

الأسئلة الشائعة / المزالق

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

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

sudo grep myuser /etc/shadow

إذا كانت التجزئة تتضمن !، فإن حسابك مقفل:

myuser:!:16280:7:60:7:::

الطريقة الصحيحة لحل ذلك هي فتح قفل الحساب (passwd -u myuser). إذا لم يكن لدى المستخدم كلمة مرور، يمكنك فتح قفله عبر:

usermod -p "*" myuser

بدلاً من ذلك، إذا كنت تنوي استخدام PAM، فقد قمت بتمكينه عبر use_pam = true. سيسمح PAM للمستخدمين المقفلين بالدخول باستخدام المفاتيح.

لماذا لا يتصل تطبيقي عبر SSH بعد الآن؟

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

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

إذا وجدت أن هذا غير كافٍ، فلا تتردد في تفعيل cbc_required للتشفير، و weak_hmac لرموز MAC، و weak_kex لتبادل المفاتيح.

المساهمون + الشكر

  • Dominik Richter arlimus
  • Edmund Haselwanter ehaselwanter
  • Christoph Hartmann chris-rock
  • Patrick Meier atomic111
  • Matthew Haughton 3flex
  • Bernhard Schmidt bernhardschmidt
  • Kurt Huwig kurthuwig
  • Artem Sidorenko artem-sidorenko
  • Guillaume Destuynder gdestuynder
  • Bernhard Weisshuhn bkw
  • stribika

الترخيص والمؤلف

  • المؤلف:: Dominik Richter [email protected]
  • المؤلف:: Deutsche Telekom AG

مرخص بموجب رخصة Apache، الإصدار 2.0 (the "License")؛ لا يجوز لك استخدام هذا الملف إلا بالامتثال للترخيص. يمكنك الحصول على نسخة من الترخيص على

http://www.apache.org/licenses/LICENSE-2.0

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

تنزيل الأداة