Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
puppet-ssh-hardening — यह पपेट मॉड्यूल सुरक्षित ssh-client और ssh-server कॉन्फ़िगरेशन प्रदान करता है। | Kitploit
उपकरण/GitHubGitHub/dev-sec/puppet-ssh-hardening
क्लाउड इन्फ्रास्ट्रक्चर सुरक्षाकॉन्फ़िगरेशन ऑडिटिंगनेटवर्क सुरक्षाDevSecOpsप्रमाणीकरण
GitHubdev-sec/puppet-ssh-hardening

puppet-ssh-hardening

यह पपेट मॉड्यूल सुरक्षित ssh-client और ssh-server कॉन्फ़िगरेशन प्रदान करता है।

रिपॉजिटरी देखें
6031342 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
वेबसाइट
साझा करें

Puppet SSH हार्डनिंग

Puppet Forge Build Status Gitter Chat

विवरण

यह Puppet मॉड्यूल सुरक्षित ssh-client और ssh-server कॉन्फ़िगरेशन प्रदान करता है।

आवश्यकताएँ

  • Puppet
  • Puppet मॉड्यूल: saz/ssh (>= 2.3.6), puppetlabs/stdlib (>= 4.2.0)

पैरामीटर

  • ipv6_enabled = false - यदि IPv6 आवश्यक है
true
  • 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-server को सुनना चाहिए और ssh-client को कनेक्ट होना चाहिए
  • listen_to = [ "0.0.0.0" ] - एक या अधिक IP पते, जिन पर ssh-server को सुनना चाहिए। डिफ़ॉल्ट खाली है, लेकिन सुरक्षा कारणों से कॉन्फ़िगर किया जाना चाहिए!
  • remote_hosts - एक या अधिक होस्ट, जिनसे ssh-client कनेक्ट हो सकता है। डिफ़ॉल्ट खाली है, लेकिन सुरक्षा कारणों से कॉन्फ़िगर किया जाना चाहिए!
  • allow_tcp_forwarding = false - TCP फ़ॉरवर्डिंग की अनुमति देने के लिए true पर सेट करें
  • allow_agent_forwarding = false - एजेंट फ़ॉरवर्डिंग की अनुमति देने के लिए true पर सेट करें
  • use_pam = false - PAM प्रमाणीकरण अक्षम करने के लिए
  • client_options = {} - मॉड्यूल की सेटिंग्स को ओवरराइड करने के लिए हैश में मान सेट करें
  • server_options = {} - मॉड्यूल की सेटिंग्स को ओवरराइड करने के लिए हैश में मान सेट करें
  • उपयोग

    इस मॉड्यूल को जोड़ने के बाद, आप क्लास का उपयोग कर सकते हैं:

    root@kitploit:~
    class { 'ssh_hardening': }
    

    यह ssh-server और ssh-client स्थापित करेगा। आप वैकल्पिक रूप से केवल एक को चुन सकते हैं:

    root@kitploit:~
    class { 'ssh_hardening::server': }
    class { 'ssh_hardening::client': }
    

    आपको मुख्य विशेषताएँ कॉन्फ़िगर करनी चाहिए:

    root@kitploit:~
    class { 'ssh_hardening::server':
      "listen_to" : ["10.2.3.4"]
    }
    

    listen_to के लिए डिफ़ॉल्ट मान 0.0.0.0 है। मान बदलने की अत्यधिक अनुशंसा की जाती है।

    डिफ़ॉल्ट विकल्पों को ओवरराइट करना

    डिफ़ॉल्ट विकल्पों को client_options और server_options पैरामीटर के माध्यम से पारित विकल्पों के साथ मर्ज किया जाएगा। यदि कोई विकल्प डिफ़ॉल्ट और विकल्प पैरामीटर दोनों के रूप में सेट है, तो बाद वाला जीतेगा।

    निम्नलिखित उदाहरण X11Forwarding को सक्षम करेगा, जो डिफ़ॉल्ट रूप से अक्षम है:

    root@kitploit:~
    class { 'ssh_hardening':
      server_options => {
        'X11Forwarding' => 'yes',
      },
    }
    

    स्थानीय परीक्षण

    स्थानीय परीक्षण के लिए आप vagrant और Virtualbox या VMWare का उपयोग करके परीक्षण स्थानीय रूप से चला सकते हैं। आपको अपने सिस्टम पर Virtualbox और Vagrant स्थापित करना होगा। अपने सिस्टम के लिए उपयुक्त vagrant पैकेज के लिए Vagrant Downloads देखें। हमारे सभी परीक्षणों के लिए हम test-kitchen का उपयोग करते हैं। यदि आप test-kitchen से परिचित नहीं हैं, तो कृपया उनकी मार्गदर्शिका देखें।

    आगे test-kitchen स्थापित करें:

    root@kitploit:~
    # निर्भरताएँ स्थापित करें
    gem install bundler
    bundle install
    
    # परीक्षण प्राप्त करें
    bundle exec thor kitchen:fetch-remote-tests
    
    # लिंट जाँच करें
    bundle exec rake lint
    
    # स्पेक जाँच करें
    bundle exec rake spec
    
    # एक मशीन पर तेज़ परीक्षण
    bundle exec kitchen test default-ubuntu-1204
    
    # Debian-आधारित मशीनों पर परीक्षण
    bundle exec kitchen test
    
    # विकास के लिए
    bundle exec kitchen create default-ubuntu-1204
    bundle exec kitchen converge default-ubuntu-1204
    

    अधिक जानकारी के लिए test-kitchen देखें

    FAQ / समस्याएँ

    मैं अपने खाते में लॉगिन नहीं कर सकता। मैंने क्लाइंट कुंजी पंजीकृत की है, लेकिन फिर भी यह मुझे अंदर नहीं जाने देता।

    यदि आपने सभी सामान्य मुद्दों (फ़ायरवॉल, नेटवर्क, कुंजी गायब, गलत कुंजी, खाता अक्षम आदि) को समाप्त कर दिया है, तो संभव है कि आपका खाता लॉक हो गया है। इसका पता लगाने का सबसे तेज़ तरीका अपने उपयोगकर्ता के लिए पासवर्ड हैश देखना है:

    root@kitploit:~
    sudo grep myuser /etc/shadow
    

    यदि हैश में ! शामिल है, तो आपका खाता लॉक है:

    root@kitploit:~
    myuser:!:16280:7:60:7:::
    

    इसे हल करने का उचित तरीका खाता अनलॉक करना है (passwd -u myuser)। यदि उपयोगकर्ता के पास पासवर्ड नहीं है, तो आप इसे इसके माध्यम से अनलॉक कर सकते हैं:

    root@kitploit:~
    usermod -p "*" myuser
    

    वैकल्पिक रूप से, यदि आप PAM का उपयोग करने का इरादा रखते हैं, तो आपने इसे use_pam = true के माध्यम से सक्षम किया है। PAM लॉक किए गए उपयोगकर्ताओं को कुंजियों के साथ अंदर आने की अनुमति देगा।

    मेरा एप्लिकेशन SSH के माध्यम से कनेक्ट क्यों नहीं हो पा रहा है?

    पहले हमेशा लॉग फ़ाइलों को देखें और यदि संभव हो तो कनेक्ट करते समय क्लाइंट और सर्वर के बीच होने वाली बातचीत को देखें।

    हमने कुछ एप्लिकेशनों (python और ruby पर आधारित) में समस्याएँ देखी हैं जो पुराने क्रिप्टो सेट के उपयोग के कारण होती हैं। यह इस हार्डनिंग मॉड्यूल से टकराता है, जिसने सिफर, संदेश प्रमाणीकरण कोड (MACs) और कुंजी विनिमय (KEX) एल्गोरिदम की सूची को अधिक सुरक्षित चयन तक कम कर दिया है।

    यदि आप पाते हैं कि यह पर्याप्त नहीं है, तो सिफर के लिए cbc_required, MACs के लिए weak_hmac, और KEX के लिए 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 License, Version 2.0 (the "License") के तहत लाइसेंस प्राप्त; आप इस फ़ाइल का उपयोग केवल लाइसेंस के अनुपालन में कर सकते हैं। आप लाइसेंस की एक प्रति यहाँ प्राप्त कर सकते हैं

    root@kitploit:~
    http://www.apache.org/licenses/LICENSE-2.0
    

    जब तक लागू कानून द्वारा आवश्यक न हो या लिखित रूप में सहमत न हो, लाइसेंस के तहत वितरित सॉफ़्टवेयर "जैसा है" (AS IS) आधार पर वितरित किया जाता है, बिना किसी प्रकार की वारंटी या शर्तों के, चाहे व्यक्त या निहित। लाइसेंस के तहत विशिष्ट भाषा नियंत्रित करने वाली अनुमतियाँ और सीमाएँ देखें।

    टूल डाउनलोड करें