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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
the-bastion — SSH एक्सेस के लिए प्रमाणीकरण, प्राधिकरण, अनुरेखणीयता और लेखापरीक्षणीयता। | Kitploit
उपकरण/GitHubGitHub/ovh/the-bastion
प्रमाणीकरण और प्राधिकरणकॉन्फ़िगरेशन ऑडिटिंगनेटवर्क सुरक्षापेनिट्रेशन टेस्टिंगउपयोगिताएँ और फ्रेमवर्कपहचान और एक्सेस प्रबंधन (IAM)रेड टीमिंग
GitHubovh/the-bastion

the-bastion

SSH एक्सेस के लिए प्रमाणीकरण, प्राधिकरण, अनुरेखणीयता और लेखापरीक्षणीयता।

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

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

सभी देखें →

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

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

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

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

बैस्टियन का लोगो

🔒 बैस्टियन

अवलोकन

बैस्टियन मशीनों का एक क्लस्टर है जो परिचालन टीमों (जैसे सिस्टम एडमिन, डेवलपर्स, डेटाबेस एडमिन, ...) द्वारा उपकरणों (सर्वर, वर्चुअल मशीन, क्लाउड इंस्टेंस, नेटवर्क उपकरण, ...) से सुरक्षित रूप से कनेक्ट करने के लिए अद्वितीय प्रवेश बिंदु के रूप में उपयोग किया जाता है, आमतौर पर ssh का उपयोग करके।

बैस्टियन आपके पूरे बुनियादी ढांचे के लिए प्रमाणीकरण, प्राधिकरण, ट्रेसेबिलिटी और ऑडिटेबिलिटी के तंत्र प्रदान करता है।

आपके उपयोगकर्ताओं और आपके बुनियादी ढांचे के बीच होने के कारण, बैस्टियन एक मध्यवर्ती अमूर्त परत जोड़ता है ताकि आपके बुनियादी ढांचे को आपकी परिचालन टीम के सदस्यों को व्यक्तिगत रूप से जानने की आवश्यकता न हो।

आपकी टीम के प्रत्येक सदस्य का बैस्टियन पर एक व्यक्तिगत खाता होता है, और वह एक या अधिक बैस्टियन समूहों का सदस्य हो सकता है जो उन्हें एक या अधिक बुनियादी ढांचे तक पहुंच प्रदान कर सकते हैं। बुनियादी ढांचे के उपकरणों को केवल उन बैस्टियन समूह(ों) को जानने और उन पर भरोसा करने की आवश्यकता है जिनका वे हिस्सा हो सकते हैं।

बैस्टियन का सूक्ष्म-स्तरीय RBAC किसी भी खाते को कुछ जिम्मेदारियाँ सौंपना संभव बनाता है, जो समूह-स्तर या बैस्टियन-व्यापी हो सकता है, जिसमें वे खाते शामिल हैं जो आपके ऑटोमेशन द्वारा उपयोग किए जा सकते हैं, जैसे कि खातों के जीवनचक्र का प्रबंधन (आपकी मानव संसाधन प्रबंधन प्रणाली, आपके LDAP या AD से जुड़ा हुआ), यह सुनिश्चित करना कि किसी समूह का ACL अद्यतित है (आपके CMDB से जुड़ा हुआ), आदि। SSH पर JSON API के माध्यम से स्वचालित प्रक्रियाओं को लागू करना आसान है।

ज्ञान संसाधन

कुछ अच्छे चित्र देखते हुए और अधिक जानना चाहते हैं? यहाँ ब्लॉग पोस्टों की एक श्रृंखला है जो बैस्टियन की मुख्य कार्यक्षमताओं और सिद्धांतों में गहराई से जाती है:

  • भाग 1 - उत्पत्ति
  • भाग 2 - प्रतिनिधित्व का चक्कर
  • भाग 3 - सुरक्षा मूल में
  • भाग 4 - एक नया युग

अन्य संसाधन जो रुचिकर हो सकते हैं:

  • ऑनलाइन दस्तावेज़ीकरण
  • (फ्रेंच में वीडियो, अंग्रेजी में स्लाइड) वेरी टेक ट्रिप 2023 में बैस्टियन, बैस्टियन के साथ और बिना बुनियादी ढांचे के प्रबंधन का केस स्टडी
  • (फ्रेंच में वीडियो, अंग्रेजी में स्लाइड) OSSIR, 2021 में बैस्टियन, मुख्य सिद्धांतों को तुरंत समझाते हुए, फिर क्षेत्र कार्यक्षमता का विवरण देते हुए, और अंत में इस बात पर ध्यान केंद्रित करते हुए कि क्यों तकनीकी कार्यान्वयन विकल्प जो बनाए गए हैं, सुरक्षा बढ़ाते हैं (इसे साबित करने के लिए जानबूझकर कोड में सुरक्षा कमजोरी जोड़ना!)
  • (फ्रेंच में पॉडकास्ट) NoLimitSecu, 2021 में बैस्टियन, प्रश्नोत्तर के साथ साक्षात्कार

♻️ आपके वातावरण पर शून्य धारणाएँ

बैस्टियन को काम करने के लिए प्रवेश या निकास पक्ष पर किसी फैंसी चीज की आवश्यकता नहीं है।

इसके माध्यम से कनेक्ट करने के लिए केवल आपका पुराना ssh क्लाइंट आवश्यक है, और दूसरी ओर, कोई भी मानक sshd सर्वर काम करेगा। इसमें, उदाहरण के लिए, नेटवर्क उपकरण शामिल हैं जिन पर आप कोई कस्टम सॉफ्टवेयर स्थापित नहीं कर सकते।

प्राचीन उपकरण जो केवल निम्न-सुरक्षा क्रिप्टोग्राफी एल्गोरिदम या टेलनेट का समर्थन करते हैं, उन्हें फ़ायरवॉल करके और केवल बैस्टियन की अनुमति देकर इंटरनेट से छिपाया जा सकता है, जिससे बैस्टियन प्रवेश पक्ष पर केवल उच्च-सुरक्षा ग्रेड कनेक्शन की अनुमति देकर निम्न-सुरक्षा समझौते से बचा जा सकता है।

➰ विश्वसनीयता

  • केवल कुछ प्रसिद्ध लाइब्रेरी का उपयोग किया जाता है, कम तृतीय-पक्ष कोड का मतलब छोटा हमला सतह है
  • बैस्टियन को आत्मनिर्भर होने के लिए इंजीनियर किया गया है: प्रमाणीकरण या प्राधिकरण चरण के लिए न तो डेटाबेस, अन्य डेमॉन, अन्य मशीनों या तृतीय-पक्ष क्लाउड सेवाओं जैसी कोई निर्भरता नहीं है, सांख्यिकीय रूप से इसका मतलब कम डाउनटाइम है
  • उच्च उपलब्धता सेट की जा सकती है ताकि कई बैस्टियन इंस्टेंस कई इंस्टेंस का एक क्लस्टर बनाते हैं, जिसमें कोई भी इंस्टेंस हर समय उपयोग योग्य होता है (सक्रिय/सक्रिय योजना)

:godmode: गैर-विस्तृत सुविधा सूची

  • व्यक्तिगत और समूह पहुंच योजनाएँ समूह भूमिकाओं के प्रतिनिधित्व के साथ ताकि सुरक्षा समझौतों के बिना टीमों की स्वायत्तता सुनिश्चित हो
  • प्रवेश और निकास कनेक्शन के बीच SSH प्रोटोकॉल ब्रेक
  • इंटरैक्टिव सत्र रिकॉर्डिंग (मानक ttyrec फ़ाइलों में)
  • गैर-इंटरैक्टिव सत्र रिकॉर्डिंग (ttyrec के माध्यम से stdout और stderr)
  • आसान SIEM खपत के लिए syslog के माध्यम से व्यापक लॉगिंग समर्थन
  • प्रमाणीकरण सुविधाओं में सार्वजनिक कुंजी प्रमाणीकरण के अतिरिक्त MFA/2FA (पासवर्ड, TOTP) के लिए समर्थन शामिल है
  • प्रवेश कनेक्शन पक्ष पर Yubico PIV कुंजी प्रमाणीकरण जाँच और प्रवर्तन का समर्थन करता है
  • प्रवेश कनेक्शन पक्ष पर mosh का समर्थन करता है
  • रिमोट सर्वर पर फ़ाइलें अपलोड और/या डाउनलोड करने के लिए scp, sftp और rsync पासथ्रू का समर्थन करता है
  • netconf SSH उपप्रणाली पासथ्रू का समर्थन करता है
  • क्षेत्रों का समर्थन करता है, संभवतः दो अलग-अलग कंपनियों के दो बैस्टियन के बीच विश्वास बनाने के लिए, प्रमाणीकरण और प्राधिकरण चरणों को विभाजित करते हुए स्थानीय नीतियों को लागू करता है
  • पुराने उपकरणों के लिए निकास पक्ष पर SSH पासवर्ड ऑटोलॉगिन का समर्थन करता है जो पबकी प्रमाणीकरण का समर्थन नहीं करते, जबकि प्रवेश पक्ष पर उचित पबकी प्रमाणीकरण को लागू करता है
  • SSH का समर्थन न करने वाले प्राचीन उपकरणों के लिए निकास पक्ष पर टेलनेट पासवर्ड ऑटोलॉगिन का समर्थन करता है, जबकि प्रवेश पक्ष पर उचित SSH पबकी प्रमाणीकरण को लागू करता है
  • प्रवेश और निकास पासवर्ड को अलग करने के लिए मैन-इन-द-मिडिल प्रमाणीकरण और प्राधिकरण हैंडलिंग के साथ HTTPS प्रॉक्सीिंग का समर्थन करता है (मुख्य रूप से नेटवर्क डिवाइस API के लिए उपयोगी)

🔧 बैस्टियन को स्थापित करना, अपग्रेड करना, उपयोग करना

कृपया ऑनलाइन दस्तावेज़ीकरण, या doc/ फ़ोल्डर में पाया जाने वाला संबंधित टेक्स्ट-आधारित संस्करण देखें।

🎥 त्वरित कनेक्शन और पुनर्प्ले उदाहरण

asciicast

⚡ TL;DR: इसे आज़माएँ: Docker का उपयोग करके डिस्पोजेबल सैंडबॉक्स

यह सेकंडों में बैस्टियन का परीक्षण करने का एक अच्छा तरीका है, लेकिन यदि आप उत्पादन में कंटेनरीकरण का उपयोग करने के बारे में गंभीर हैं तो FAQ पढ़ें।

सैंडबॉक्स छवि निम्नलिखित आर्किटेक्चर के लिए उपलब्ध है: linux/386, linux/amd64, linux/arm/v6, linux/arm/v7, linux/arm64, linux/ppc64le, linux/s390x।

चलिए Docker छवि चलाते हैं:

root@kitploit:~
docker run -d -p 22 --name bastiontest ovhcom/the-bastion:sandbox

अपनी सार्वजनिक SSH कुंजी हाथ में लें, फिर पहला प्रशासक खाता कॉन्फ़िगर करें:

root@kitploit:~
docker exec -it bastiontest /opt/bastion/bin/admin/setup-first-admin-account.sh poweruser auto

अब हम डिफ़ॉल्ट कॉन्फ़िगरेशन के साथ चालू हैं! चलिए एक सुविधाजनक बैस्टियन उपनाम सेट करते हैं, और info कमांड का परीक्षण करते हैं:

root@kitploit:~
PORT=$(docker port bastiontest | cut -d: -f2)
alias bastion="ssh [email protected] -tp $PORT -- "
bastion --osh info

यह आपको बैस्टियन एडमिन के रूप में अभिवादन करना चाहिए, जिसका अर्थ है कि आपके पास सभी कमांड तक पहुंच है। चलिए इंटरैक्टिव मोड में प्रवेश करते हैं:

root@kitploit:~
bastion -i

यह एक पंक्ति में कई --osh प्लगइन्स को कॉल करने के लिए उपयोगी है। अब हम सभी प्लगइन्स देखने के लिए मदद मांग सकते हैं:

root@kitploit:~
$> help

यदि आपके पास एक रिमोट मशीन है जिससे आप बैस्टियन के माध्यम से कनेक्ट करना चाहते हैं, तो अपनी एग्रेस कुंजी प्राप्त करें:

root@kitploit:~
$> selfListEgressKeys

इस सार्वजनिक कुंजी को उस खाते के .ssh/ फ़ोल्डर के तहत रिमोट मशीन के authorized_keys में कॉपी करें जिससे आप कनेक्ट करना चाहते हैं, फिर:

root@kitploit:~
$> selfAddPersonalAccess --host <remote_host> --user <remote_account_name> --port-any
$> ssh <remote_account_name>@<remote_host>

ध्यान दें कि आप इंटरैक्टिव मोड का उपयोग किए बिना सीधे कनेक्ट कर सकते हैं:

root@kitploit:~
bastion <remote_account_name>@<remote_machine_host_or_ip>

बस इतना ही! बेशक, इसमें बहुत कुछ है, दस्तावेज़ीकरण doc/ फ़ोल्डर और ऑनलाइन के तहत उपलब्ध है। बैस्टियन की सहायता (bastion --help) और प्रत्येक osh प्लगइन की सहायता (bastion --osh command --help) की जाँच अवश्य करें। साथ ही अपने bastion.conf फ़ाइल को अनुकूलित करना न भूलें, जो /etc/bastion/bastion.conf (Linux के लिए) में पाया जा सकता है।

🔀 स्थापना के लिए समर्थित OS

नीचे दिए गए Linux वितरण प्रत्येक रिलीज़ के साथ परीक्षण किए जाते हैं, लेकिन चूंकि यह एक सुरक्षा उत्पाद है, आपको अपने पसंदीदा OS के नवीनतम अद्यतित स्थिर संस्करण पर इसे चलाने की जोरदार सलाह दी जाती है:

  • Debian 13 (Trixie), 12 (Bookworm), 11 (Bullseye)
  • RockyLinux 10.x, 9.x, 8.x
  • Ubuntu LTS 26.04, 24.04, 22.04
  • OpenSUSE Leap 16.0

कोई भी अन्य तथाकथित "आधुनिक" Linux संस्करण प्रत्येक रिलीज़ के साथ परीक्षण नहीं किए जाते हैं, लेकिन बिना या मामूली समायोजन के काम करना चाहिए।

निम्नलिखित OS भी प्रत्येक रिलीज़ के साथ परीक्षण किए जाते हैं:

  • FreeBSD 15.1, 15.0, 14.4

FreeBSD में आंशिक MFA समर्थन है, इसके उपलब्ध pam प्लगइन्स के कम सेट के कारण। अतिरिक्त पासवर्ड या TOTP कारक में से किसी एक के लिए समर्थन कॉन्फ़िगर किया जा सकता है, लेकिन दोनों एक साथ नहीं।

🆗 कोड गुणवत्ता

  • कोड perltidy के तहत चलाया जाता है
  • कोड perlcritic के तहत भी चलाया जाता है
  • प्रत्येक रिलीज़ से पहले कार्यात्मक परीक्षण किए जाते हैं

🛂 सुरक्षा मूल में

सबसे रूढ़िवादी, सावधानीपूर्ण और पागल कोडिंग प्रक्रिया के बावजूद, कोड में बग्स होते हैं, इसलिए इसे आँख बंद करके भरोसा नहीं करना चाहिए। इसलिए बैस्टियन अपने स्वयं के कोड पर भरोसा नहीं करता। यह अतिरिक्त सुरक्षा प्राप्त करने के लिए ऑपरेटिंग सिस्टम के सुरक्षा प्राइमिटिव का लाभ उठाता है, जैसा कि नीचे देखा गया है।

  • प्रसिद्ध और विश्वसनीय UNIX विवेकाधीन एक्सेस कंट्रोल (DAC) का उपयोग करता है:

    • बैस्टियन उपयोगकर्ता वास्तविक सिस्टम उपयोगकर्ताओं से मैप किए जाते हैं
    • बैस्टियन समूह वास्तविक सिस्टम समूहों से मैप किए जाते हैं
    • सभी कोड किसी भी कार्रवाई की अनुमति देने से पहले लगातार अधिकारों की जाँच करता है
    • UNIX DAC का उपयोग सुरक्षा बेल्ट के रूप में किया जाता है ताकि कोड को अनुमति देने के लिए धोखा देने पर भी कार्रवाई को सफल होने से रोका जा सके
  • बैस्टियन की मुख्य स्क्रिप्ट को बैस्टियन उपयोगकर्ता के सिस्टम शेल के रूप में घोषित किया गया है:

    • किसी भी उपयोगकर्ता के पास सिस्टम पर वास्तविक (bash-like) शेल एक्सेस नहीं है
    • सभी कोड अविशेषाधिकार प्राप्त उपयोगकर्ता के सिस्टम खाता अधिकारों के तहत चलाया जाता है
    • भले ही कोई उपयोगकर्ता वास्तविक शेल में भाग निकले, वे उन मशीनों से कनेक्ट नहीं कर पाएंगे जिन तक उनकी पहुंच नहीं है, क्योंकि उनके पास SSH कुंजियों के लिए फ़ाइल-सिस्टम स्तर की पढ़ने की पहुंच नहीं है
  • कोड मॉड्यूलर है

    • मुख्य कोड मुख्य रूप से अधिकारों की जाँच करता है, कार्रवाइयों को लॉग करता है, और अन्य मशीनों तक ssh पहुंच सक्षम करता है
    • सभी साइड कमांड, जिन्हें प्लगइन्स कहा जाता है, मुख्य कोड से अलग मॉड्यूल में हैं
    • मॉड्यूल या तो खुले या प्रतिबंधित हो सकते हैं
      • केवल उन खातों को जिन्हें विशेष रूप से आवश्यकता-आधारित आधार पर अनुदान दिया गया है, वे किसी विशिष्ट प्रतिबंधित प्लगइन को चला सकते हैं
      • इसकी जाँच कोड द्वारा की जाती है, और UNIX DAC द्वारा भी लागू की जाती है (प्लगइन केवल प्लगइन के लिए विशिष्ट सिस्टम समूह द्वारा पढ़ने योग्य और निष्पादन योग्य है)
  • विस्तारित सिस्टम विशेषाधिकारों की आवश्यकता वाले सभी कोड को मुख्य कोड से अलग किया जाता है, हेल्पर्स नामक मॉड्यूल में

    • हेल्पर्स विशेष रूप से sudo के तहत चलाए जाते हैं
    • sudoers कॉन्फ़िगरेशन कमांड के लिए विशिष्ट एक सिस्टम समूह से जुड़ा होता है, जो आवश्यकता-आधारित आधार पर खातों को प्रदान किया जाता है
    • हेल्पर्स केवल कमांड के लिए विशिष्ट सिस्टम समूह द्वारा पढ़ने योग्य और निष्पादन योग्य होते हैं

🔍 ऑडिटेबिलिटी

  • बैस्टियन प्रशासकों को इसका प्रबंधन करने के लिए स्वयं से कनेक्ट करने के लिए बैस्टियन के तर्क का उपयोग करना चाहिए (या बेहतर, ऐसा करने के लिए दूसरे बैस्टियन का उपयोग करें), यह सभी मामलों में ऑडिटेबिलिटी सुनिश्चित करता है
  • प्रत्येक पहुंच और कार्रवाई (अनुमत या अस्वीकृत) को इसके साथ लॉग किया जाता है:
    • syslog, जिसे एक रिमोट syslog सर्वर पर भी भेजा जाना चाहिए ताकि बैस्टियन प्रशासक भी अपने ट्रैक को छेड़ न सकें, और/या
    • आसान खोज के लिए स्थानीय sqlite3 डेटाबेस
  • प्रत्येक सत्र ttyrec के साथ रिकॉर्ड किया जाता है, इन रिकॉर्ड को एन्क्रिप्ट करने और रिमोट एस्क्रो फ़ाइलर पर पुश करने के लिए हेल्पर स्क्रिप्ट प्रदान की जाती हैं
  • इस कोड का उपयोग कई PCI-DSS, ISO 27001, SOC1 और SOC2 प्रमाणित वातावरणों में उत्पादन में किया जाता है

🔗 संबंधित

निर्भरताएँ

  • ovh-ttyrec - ttyrec का एक उन्नत लेकिन संगत संस्करण, एक टर्मिनल (tty) रिकॉर्डर

वैकल्पिक उपकरण

  • yubico-piv-checker - PIV कुंजियों और प्रमाणपत्रों की वैधता की जाँच करने के लिए एक स्व-निहित go बाइनरी। वैकल्पिक, बैस्टियन PIV-जागरूक कार्यक्षमताओं को सक्षम करने के लिए
  • puppet-thebastion (GitHub) - बैस्टियन मशीनों के कॉन्फ़िगरेशन को स्वचालित और बनाए रखने के लिए एक Puppet मॉड्यूल
  • the-bastion-ansible-wrapper - बैस्टियन के माध्यम से Ansible प्लेबुक चलाने को संभव बनाने के लिए एक रैपर
  • debian-cis - CIS अनुशंसाओं के अनुसार Debian होस्ट्स के हार्डनिंग को लागू और निगरानी करने के लिए एक स्क्रिप्ट

सामुदायिक उपकरण

समुदाय द्वारा बनाए रखे गए संबंधित उपकरणों की एक गैर-विस्तृत सूची:

  • chef-cookbook - the-bastion को स्थापित करने और इसका डिफ़ॉल्ट कॉन्फ़िगरेशन सेट करने के लिए एक chef cookbook
  • ansible role - the-bastion को स्थापित और कॉन्फ़िगर करने के लिए एक ansible role

📝 लाइसेंस

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

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

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

टूल डाउनलोड करें
  • हेल्पर्स पथ और उनके कुछ अपरिवर्तनीय पैरामीटर sudoers कॉन्फ़िगरेशन में हार्डकोडेड हैं
  • Perl का टेंटेड मोड (-T) sudo के तहत चलने वाले सभी कोड के लिए उपयोग किया जाता है, जो तुरंत निष्पादन रोककर किसी भी उपयोगकर्ता-इनपुट को तर्क में हस्तक्षेप करने से रोकता है
  • sudo के तहत चलने वाला कोड अपने कॉलर पर भरोसा नहीं करता है और प्रत्येक इनपुट की पुनर्जाँच करता है
  • अविशेषाधिकार प्राप्त और विशेषाधिकार प्राप्त कोड के बीच संचार JSON का उपयोग करके किया जाता है
  • प्रवेश और निकास पक्ष के बीच एक प्रोटोकॉल ब्रेक संचालित होता है, जो अधिकांश प्रोटोकॉल-आधारित कमजोरियों को अप्रभावी बनाता है