स्व-होस्ट किए गए SSO और एक्सेस कंट्रोल टूल्स

एक XDA लेखक ने हाल ही में चार चीजें बताईं जो उन्होंने Plex सर्वर को इंटरनेट पर उजागर करने से पहले सुरक्षित करने के लिए कीं: TLS लागू करना, पोर्ट 32400 को सीधे राउटर के माध्यम से विज्ञापित करना बंद करना, चीज़ को रिवर्स प्रॉक्सी के पीछे रखना और खाते के लिए दो-कारक को चालू करना। सब समझदारी भरा। सब अधूरा। रिवर्स प्रॉक्सी TLS को समाप्त करता है और होस्टनाम को रूट करता है, और फिर अनुरोध को एप्लिकेशन को सौंपता है, जिसे यह तय करने के लिए छोड़ दिया जाता है कि दूसरे पक्ष का व्यक्ति वहां होना चाहिए या नहीं। प्रत्येक सेवा अपने स्वयं के लॉगिन पेज, अपने स्वयं के पासवर्ड नियमों और यह देखने के लिए अपना विचार लेकर समाप्त होती है कि “लॉग आउट” का मतलब क्या है।

यही है जो स्व-होस्ट किए गए SSO के सर्वश्रेष्ठ ऐप्स भरते हैं। एक पहचान प्रदाता रिवर्स प्रॉक्सी के पीछे बैठता है, हर सेवा इसे संदर्भित करती है, MFA को सब कुछ के लिए एक बार लागू किया जाता है, और किसी की पहुंच को हटाना बारह प्रशासक पैनलों की यात्रा के बजाय एक एकल टॉगल है। हमने 8 विकल्पों को देखा जो सक्रिय रूप से विकसित किए जा रहे हैं और आज वास्तविक होम लैब्स में चल रहे हैं, उनके अपने डेटाबेस के साथ पूर्ण पहचान प्रदाताओं से लेकर एक एकल कंटेनर तक जो प्रति अनुरोध एक हाँ-या-नहीं प्रश्न का उत्तर देता है।

स्व-होस्ट किए गए SSO ऐप में क्या देखना है

त्वरित तुलना

ऐप इसके लिए सर्वश्रेष्ठ अपना उपयोगकर्ता स्टोर प्रोटोकॉल Forward auth लाइसेंस
Authentik वेब UI के साथ एक पूर्ण पहचान प्रदाता हाँ OIDC, SAML, LDAP, RADIUS हाँ, proxy outpost MIT core, paid enterprise tier
Authelia आपकी रिवर्स प्रॉक्सी के बगल में एक हल्का पोर्टल हाँ, फाइल या LDAP OIDC provider, forward auth हाँ, native Apache 2.0
Tinyauth कुछ ऐप्स के सामने जल्दी से कोई भी लॉगिन प्राप्त करें हाँ, OAuth और LDAP के अलावा OIDC, forward auth हाँ, native AGPL 3.0
LLDAP एक साझा निर्देशिका जो अन्य पढ़ सकते हैं हाँ, केवल LDAP LDAP नहीं GPL 3.0
oauth2-proxy एक मौजूदा IdP को एक ऐप के सामने बोल्ट करना नहीं OIDC और OAuth2 client हाँ, nginx auth_request के माध्यम से MIT
Zitadel ऑडिट ट्रेल और बहु-किरायेदार सेटअप हाँ OIDC, SAML, SCIM, LDAP Via OIDC AGPL 3.0
Keycloak सबसे व्यापक प्रोटोकॉल और संघ कवरेज हाँ OIDC, SAML Via oauth2-proxy Apache 2.0
Pomerium प्रति-अनुरोध नीति, लॉगिन प्रति नहीं नहीं OIDC client यह प्रॉक्सी है Apache 2.0

पहचान परत को लोग क्यों छोड़ते हैं

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

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

ऐप्स

1. Authentik: स्व-होस्ट किए गए SSO के लिए सर्वश्रेष्ठ समग्र

Authentik वह है जहां अधिकांश होम लैब्स समाप्त होते हैं, और अच्छे कारण के लिए: यह समस्या के दोनों हिस्सों को कवर करता है। ऐप्स जो OIDC या SAML बोलती हैं एक उचित पहचान प्रदाता प्राप्त करती हैं जिसमें एक खोज अंतिम बिंदु, समूह दावे और सहमति स्क्रीन होती हैं। ऐप्स जो कुछ भी नहीं बोलती हैं एक proxy outpost प्राप्त करती हैं, जिसे आपकी रिवर्स प्रॉक्सी forward auth के रूप में कॉल करती है और जो प्रमाणित उपयोगकर्ता नाम और ईमेल को हेडर के रूप में पास करती है। सब कुछ एक वेब UI के माध्यम से कॉन्फ़िगर किया जाता है, जिसमें फ्लो बिल्डर भी शामिल है, जो आपको यह तय करने देता है कि MFA कब मांगा जाता है और कब एक सेशन को पुन: उपयोग किया जा सकता है। पंजीकरण, पुनर्प्राप्ति और पासवर्ड रीसेट स्व-सेवा हैं, जो तब मायने रखता है जब आप के अलावा कोई व्यक्ति खाता चाहता है।

यह कहां अल्पविकसित है: यह हल्के विकल्पों में सबसे भारी है। डिफ़ॉल्ट तैनाती एक सर्वर कंटेनर, एक कार्यकर्ता कंटेनर, Postgres और Redis है, और परियोजना कुछ भी जोड़ने से पहले लगभग 2 CPU कोर और 2 GB RAM मांगती है। फ्लो सिस्टम शक्तिशाली है और तदनुसार गलत तरीके से कॉन्फ़िगर करना आसान है, और एक टूटा हुआ प्रमाणीकरण प्रवाह आपको व्यवस्थापक इंटरफेस से उतना ही प्रभावी रूप से लॉक करता है जितना यह सभी को लॉक करता है।

लागत: कोर MIT-लाइसेंस प्राप्त है और बिना उपयोगकर्ता सीमा के मुफ्त है। एक भुगतान किए गए एंटरप्राइज़ स्तर पर समर्थन और परिवारों के बजाय कंपनियों को लक्षित किए गए सुविधाएं जोड़ी गई हैं।

प्लेटफॉर्म्स: Linux पर Docker या Kubernetes, और Windows और macOS पर Docker Desktop।

डाउनलोड: goauthentik.io · GitHub

निचली पंक्ति: स्व-होस्ट किए गए SSO के लिए Authentik चलाएं यदि आप एक सिस्टम चाहते हैं जो आधुनिक ऐप्स और जो OIDC को कभी लागू नहीं करेंगे दोनों को संभालता है, और आपके पास बचाने के लिए RAM है।

2. Authelia: कॉन्फ़िगरेशन के साथ हल्का विकल्प जिसे आप संस्करण नियंत्रण कर सकते हैं

Authelia एक एकल Go बायनरी है जो आपकी रिवर्स प्रॉक्सी के बगल में बैठता है और प्रति अनुरोध एक प्रश्न का उत्तर देता है। उपयोगकर्ता एक YAML फाइल या LDAP निर्देशिका में रहते हैं जो Authelia स्वामित्व नहीं रखता है, पहुंच नियम समान YAML में रहते हैं, और संपूर्ण कॉन्फ़िगरेशन एक आर्टिफ़ैक्ट है जिसे आप एक निजी रिपोजिटरी में कमिट कर सकते हैं और एक मिनट में पुनः प्राप्त कर सकते हैं। यह TOTP, WebAuthn सुरक्षा कुंजियां, Duo push और passkeys का समर्थन करता है, और यह एक OIDC प्रदाता के रूप में OpenID प्रमाणित है, इसलिए ऐप्स जो OIDC बोलती हैं सीधे इससे बात कर सकती हैं बजाय हेडर के माध्यम से। Forward auth एकीकरण nginx, Traefik, Caddy, HAProxy और Envoy के लिए दस्तावेज़ित हैं।

यह कहां अल्पविकसित है: कोई व्यवस्थापक UI नहीं है। एक उपयोगकर्ता जोड़ने का मतलब एक फाइल संपादित करना और पुनः लोड करना है, जो एक घर के लिए ठीक है और कुछ भी बड़ा के लिए दर्दनाक है। पासवर्ड रीसेट को एक कार्यशील मेल कॉन्फ़िगरेशन की आवश्यकता है। OIDC क्लाइंट रजिस्ट्रेशन सिंटैक्स अयोग्य है, और एक रीडायरेक्ट URI में एक टाइपो एक त्रुटि संदेश पैदा करता है जो आपको नहीं बताता कि कौन सा अंत गलत है।

लागत: मुफ्त और Apache 2.0 लाइसेंस प्राप्त।

प्लेटफॉर्म्स: Linux पर Docker या एक स्थिर बायनरी, प्लस Windows और macOS पर Docker।

डाउनलोड: authelia.com · GitHub

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

3. Tinyauth: आज रात चीज़ों के सामने लॉगिन प्राप्त करने के लिए सर्वश्रेष्ठ

Tinyauth वह है जिसे आप तब उपयोग करते हैं जब Authelia बहुत अधिक समारोह जैसा लगता है। एक कंटेनर, एक कॉन्फ़िग, और आपकी रिवर्स प्रॉक्सी की ओर से कुछ भी सामने एक लॉगिन पेज। यह स्थानीय उपयोगकर्ताओं, LDAP और GitHub और Google जैसे प्रदाताओं से OAuth लॉगिन को संभालता है, TOTP का समर्थन करता है और प्रति-अनुप्रयोग पहुंच नियम लागू करता है। संस्करण 5.1.0 2026 के मध्य में Basic OP प्रोफाइल के लिए OpenID प्रमाणपत्र उठाया, इसलिए यह केवल forward-auth shim नहीं है: OIDC बोलने वाली ऐप्स इसे अपने प्रदाता के रूप में उपयोग कर सकती हैं। दस्तावेज़ित एकीकरण Traefik, nginx और Caddy को कवर करते हैं।

यह कहां अल्पविकसित है: यह युवा है, और परियोजना चेतावनी देती है कि रिलीज के बीच कॉन्फ़िगरेशन परिवर्तन अक्सर होते हैं, इसलिए अपग्रेड को रिलीज़ नोट्स पढ़ने की आवश्यकता होती है बजाय एक नई टैग को अंधे से खींचने के। कोई SAML नहीं, कोई RADIUS नहीं, और उन लोगों के लिए कोई स्व-सेवा पंजीकरण नहीं जो पहले से ही निर्देशिका में नहीं हैं। यदि आपका होम लैब विभिन्न समूहों के साथ कुछ सेवाओं से आगे बढ़ता है, तो आप इसे पार कर देंगे।

लागत: मुफ्त और AGPL 3.0 लाइसेंस प्राप्त।

प्लेटफॉर्म्स: Linux, Windows और macOS पर Docker।

डाउनलोड: tinyauth.app · GitHub

निचली पंक्ति: “इस के सामने कोई लॉगिन नहीं है” के लिए सबसे तेजी से ईमानदार उत्तर, और इतना छोटा कि यह बाद में कुछ बड़ा के बगल में चलाने के लिए लगभग कुछ नहीं खर्च करता है।

4. LLDAP: एक उपयोगकर्ता निर्देशिका के लिए सर्वश्रेष्ठ जो अन्य पढ़ सकते हैं

LLDAP एक SSO पोर्टल नहीं है। यह एक छोटा Rust सर्वर है जो अन्य सॉफ़्टवेयर को इसके खिलाफ प्रमाणीकृत करने के लिए पर्याप्त LDAP बोलता है, उपयोगकर्ताओं और समूहों को प्रबंधित करने के लिए एक वेब UI और उपयोगकर्ताओं को ईमेल के माध्यम से अपना पासवर्ड रीसेट करने के लिए एक विकल्प के साथ। यह संकीर्ण दायरा बिंदु है: Authelia, Authentik, Keycloak, Nextcloud, Jellyfin और स्व-होस्ट किए गए ऐप्स की एक लंबी सूची सभी इससे पढ़ सकती हैं, इसलिए आप एक जगह पाते हैं जहां खाते बनाए जाते हैं और एक जगह जहां उन्हें अक्षम किया जाता है। यह डिफ़ॉल्ट रूप से SQLite में डेटा संग्रहीत करता है, MySQL, MariaDB और PostgreSQL विकल्प के रूप में, और यदि आप कोड से उपयोगकर्ताओं को प्रबंधित करते हैं तो एक GraphQL API प्रकट करता है।

यह कहां अल्पविकसित है: जानबूझकर पूर्ण LDAP सर्वर नहीं है। सामान्य LDAP ब्राउज़र अक्सर इसके खिलाफ विफल होते हैं, इसकी पासवर्ड हैशिंग योजना का मतलब है कि यह किसी अन्य सेवा के लिए हैश वितरित नहीं कर सकता और परियोजना Synology को असंगत नाम देती है। यह अपनी ओर से कोई अधिकृतकरण नहीं करता है, इसलिए कुछ और भी पहुंच नियम लागू करना होगा।

लागत: मुफ्त और GPL 3.0 लाइसेंस प्राप्त।

प्लेटफॉर्म्स: Linux पर Docker या एक बायनरी, और Windows और macOS पर Docker।

डाउनलोड: GitHub

निचली पंक्ति: Authelia या Tinyauth के साथ जोड़ी जाएं जब आप एक साझा निर्देशिका चाहते हैं लेकिन एक वास्तविक LDAP तैनाती नहीं करना चाहते हैं, और पूरी तरह से छोड़ दें यदि आपका पहचान प्रदाता पहले से ही आपके उपयोगकर्ताओं का मालिक है।

5. oauth2-proxy: एक IdP को जो आप पहले से चला रहे हैं एक ऐप के सामने रखने के लिए सर्वश्रेष्ठ

oauth2-proxy अपनी ओर से कोई खाता नहीं रखता है। यह एक क्लाइंट है जो आगंतुकों को एक OIDC या OAuth2 प्रदाता को भेजता है जो आपके पास पहले से है, परिणाम की जांच करता है, और फिर अनुरोध को आपकी एप्लिकेशन के लिए proxy करता है या nginx के auth_request में एक हाँ या नहीं के साथ जवाब देता है। यह Google, Microsoft Entra ID, GitHub और अन्य के लिए समर्पित एकीकरण के साथ-साथ सामान्य OIDC का समर्थन करता है, और प्रदाता-विशिष्ट कार्यान्वयन समूह की सदस्यता खींच सकते हैं और इसे हेडर के रूप में आगे भेज सकते हैं। यह एक CNCF सैंडबॉक्स परियोजना है और यह शांति से वर्षों से यह काम कर रहा है।

यह कहां अल्पविकसित है: यह बिल्कुल एक समस्या हल करता है और उम्मीद करता है कि आपने अन्य को हल कर दिया है। कोई उपयोगकर्ता प्रबंधन नहीं, कोई स्वयं का MFA नहीं, और ईमेल, डोमेन और समूहों के अनुमति सूचियों से परे कोई नीति इंजन नहीं। एक एप्लिकेशन के माध्यम से समूह दावे प्राप्त करने का मतलब आपके प्रदाता की दावे के नाम को मैन्युअल रूप से मिलान करना है, और विफलता मोड कोई अनुमति के साथ एक सफल लॉगिन है।

लागत: मुफ्त और MIT लाइसेंस प्राप्त।

प्लेटफॉर्म्स: Linux, macOS और Windows पर Docker या एक बायनरी।

डाउनलोड: oauth2-proxy docs · GitHub

निचली पंक्ति: सही विकल्प जब आप पहले से ही Authentik, Keycloak या Zitadel चला रहे हैं और एक जिद्दी ऐप को इसका सम्मान करने की आवश्यकता है।

6. Zitadel: जब आप हर पहचान घटना का ऑडिट ट्रेल चाहते हैं तो सर्वश्रेष्ठ

Zitadel एक Go पहचान मंच है जो ईवेंट सोर्सिंग पर निर्मित है, जिसका मतलब है कि एक उपयोगकर्ता, एक भूमिका या एक सेशन के लिए हर परिवर्तन एक अपरिवर्तनीय ईवेंट के रूप में संग्रहीत है एक अपडेट की गई पंक्ति के बजाय। एक होम लैब के लिए जो तब तक अति-इंजीनियरिंग की तरह लगता है जब तक आपको पहली बार यह जवाब देने की आवश्यकता न हो कि कोई खाता कब बनाया गया था और किसने। यह OIDC, SAML 2.0, OAuth 2.0, SCIM 2.0 और LDAP को कवर करता है, ऐप, ईमेल और SMS के माध्यम से OTP का समर्थन करता है, प्लस U2F और FIDO2 passkeys, और बहु-किरायेदार बिल्कुल शुरुआत से यदि आप एक से अधिक घरेलू या साइड बिजनेस के लिए सेवाएं प्रदान करते हैं।

यह कहां अल्पविकसित है: इसे PostgreSQL 14 या बाद में की आवश्यकता है, और सेटअप मानता है कि आप संगठन और परियोजना मॉडल को समझते हैं इससे पहले कि आप अपनी पहली एप्लिकेशन बनाएं। API-पहली डिजाइन उत्कृष्ट है यदि आप अपने बुनियादी ढांचे को स्क्रिप्ट करते हैं और भारी आवश्यक से अधिक है यदि आप सिर्फ एक लॉगिन पेज चाहते हैं। स्व-होस्टिंग AGPL 3.0 है, जो यदि आप इसके शीर्ष पर कुछ वाणिज्यिक बनाने की योजना बनाते हैं तो पढ़ने लायक है।

लागत: स्व-होस्ट करने के लिए मुफ्त। होस्ट की गई सेवा अलग से बिल की जाती है।

प्लेटफॉर्म्स: Linux पर Docker या Kubernetes, प्लस Linux और macOS के लिए बायनरीज़।

डाउनलोड: zitadel.com · GitHub

निचली पंक्ति: Authentik के बजाय Zitadel चुनें जब अनुपालन-शैली लॉगिंग या बहु-किरायेदारी एक वास्तविक आवश्यकता है एक अच्छे विचार के बजाय।

7. Keycloak: सबसे व्यापक प्रोटोकॉल और संघ कवरेज के लिए सर्वश्रेष्ठ

Keycloak एंटरप्राइज विकल्प है, अब एक CNCF परियोजना जिसके पीछे एक दशक से अधिक का उत्पादन उपयोग है। यदि कोई सॉफ़्टवेयर बिल्कुल SSO का समर्थन करता है, तो यह लगभग निश्चित रूप से Keycloak एकीकरण को दस्तावेज़ित करता है। यह मौजूदा LDAP और Active Directory के खिलाफ फेडरेट करता है, बाहरी प्रदाताओं को ब्रोकर करता है, अपनी स्वयं की नीति इंजन के साथ फाइन-ग्रेन्ड प्राधिकार करता है, और SAML कोनों को संभालता है जो हल्के उपकरण छोड़ देते हैं। start-dev के साथ Docker में शुरुआत करना वास्तव में तेज़ है, जो मूल्यांकन के लिए एक एम्बेडेड डेटाबेस के खिलाफ चलता है।

यह कहां अल्पविकसित है: start-dev उत्पादन कॉन्फ़िगरेशन नहीं है, और किसी एक पर चले जाने का मतलब एक बाहरी डेटाबेस, एक होस्टनाम कॉन्फ़िगरेशन जो लगभग हर किसी को पहली बार ठोकर खाता है, और एक Java रनटाइम जिसकी मेमोरी का उपयोग शुरू होता है जहां Authelia समाप्त होता है। इसका अपना forward-auth मोड नहीं है, इसलिए ऐप्स जो OIDC या SAML नहीं बोलते हैं उन्हें उनके सामने oauth2-proxy की आवश्यकता है। व्यवस्थापक कंसोल एक शब्दावली मानता है (realms, clients, mappers) जो कोई होम लैब गाइड नहीं होगा।

लागत: मुफ्त और Apache 2.0 लाइसेंस प्राप्त।

प्लेटफॉर्म्स: Linux, Windows और macOS पर Docker या Java वितरण।

डाउनलोड: keycloak.org · GitHub

निचली पंक्ति: सेटअप लागत के लायक यदि आपको SAML संघ की आवश्यकता है या आप काम पर एक ही स्टैक के लिए अभ्यास कर रहे हैं, और Traefik के पीछे छः कंटेनर के लिए औचित्य साबित करना मुश्किल है।

8. Pomerium: प्रति अनुरोध नीति के लिए सर्वश्रेष्ठ, प्रति लॉगिन नहीं

Pomerium सामान्य व्यवस्था को उल्टा कर देता है। एक पहचान प्रदाता के बजाय जो एक सेशन देता है और एक proxy जो इस पर विश्वास करता है, Pomerium proxy है, और यह एक एकल अनुरोध पर एक नीति का मूल्यांकन करता है अपस्ट्रीम OIDC प्रदाता से पहचान का उपयोग करके प्लस अनुरोध के बारे में संदर्भ। नीतियां कॉन्फ़िगरेशन के रूप में लिखी गई हैं एक साथ क्लिक किए जाने के बजाय, इसलिए पहुंच नियम आपके बुनियादी ढांचे के बाकी हिस्सों के समान भंडार में रहते हैं। यह clientless है, जिसका मतलब है कि किसी को आंतरिक सेवा तक पहुंचने के लिए VPN ऐप स्थापित नहीं करना है, और यह Apache 2.0 लाइसेंस प्राप्त है एक अलग से बेचे गए प्रबंधित नियंत्रण विमान के साथ संगठनों के लिए जो एक GUI चाहते हैं।

यह कहां अल्पविकसित है: इसके पास कोई उपयोगकर्ता नहीं है, इसलिए आपको अभी भी Authentik, Keycloak, Zitadel या एक होस्ट किए गए प्रदाता की आवश्यकता है। विशिष्ट तैनाती स्थायी भंडारण के साथ एक से अधिक कंटेनर है। और क्योंकि यह आपके रिवर्स प्रॉक्सी को बदल देता है बजाय इसके बगल में बैठे, Pomerium को अपनाने का मतलब राउटिंग और सर्टिफिकेट को फिर से करना है जो पहले से काम कर रहे हैं, जो एक होम लैब के लिए बहुत हस्तक्षेप है जो सिर्फ एक लॉगिन पेज चाहता है।

लागत: स्व-होस्ट के लिए मुफ्त और खुला स्रोत। होस्ट किया गया नियंत्रण विमान एक भुगतान किया गया उत्पाद है।

प्लेटफॉर्म्स: Linux पर Docker या Kubernetes, प्लस Linux और macOS के लिए बायनरीज़।

डाउनलोड: pomerium.com · GitHub

निचली पंक्ति: चुनें जब पहुंच निर्णयों को “यह व्यक्ति एक घंटा पहले लॉग इन हुआ” से अधिक की आवश्यकता हो, और कुछ भी छोटा के लिए अति-इंजीनियर करें।

घर्षण जो कोई भी सेटअप गाइड में उल्लेख नहीं करता है

आपकी ऐप्स में से आधी OIDC नहीं बोलती है। Forward auth फॉलबैक है: रिवर्स प्रॉक्सी पहचान प्रदाता से पूछता है, और सफलता पर हेडर जैसे Remote-User और Remote-Email को ऐप पर भेजता है। यह केवल काम करता है यदि एप्लिकेशन को इन हेडर पर विश्वास करने के लिए कॉन्फ़िगर किया जा सकता है, और यह केवल सुरक्षित है यदि एप्लिकेशन proxy को छोड़कर पहुंचने योग्य नहीं है। कंटेनर को एक होस्ट पोर्ट के बजाय एक आंतरिक Docker नेटवर्क से बांधें, क्योंकि एक एप्लिकेशन जो पहचान हेडर पर विश्वास करता है जो कोई भी उपलब्ध है पर विश्वास करेगा।

जब पहचान प्रदाता नीचे है, सब कुछ नीचे है। Postgres एक डिस्क भरता है, एक कंटेनर अपडेट विफल हो जाता है, एक प्रमाणपत्र समाप्त हो जाता है, और अचानक कुछ नहीं लॉग इन करता है। ब्रेक-ग्लास पथ तय करें इससे पहले कि आपको इसकी आवश्यकता हो: आपके बुनियादी ढांचे के लिए कम से कम एक मार्ग रखें जो पहचान प्रदाता को पार नहीं करता है, जैसे जाल VPN पर SSH या स्थानीय नेटवर्क पर कंसोल पहुंच, और जानिए आप किस सेवा को अस्थायी रूप से forward auth से छोड़ देंगे बाकी को पुनः प्राप्त करने के लिए। इसे कहीं लिखें जो उस लॉगिन के पीछे नहीं है जो आपने अभी खो दिया है।

बैकअप को पहचान भंडार को कवर करना चाहिए, केवल कॉन्फ़िगरेशन नहीं। Authelia के लिए राज्य एक YAML फाइल प्लस TOTP और WebAuthn पंजीकरण का एक छोटा डेटाबेस है। Authentik, Zitadel या Keycloak के लिए यह एक Postgres डेटाबेस प्लस एक गुप्त कुंजी है, और मेल खाते गुप्त के बिना डेटाबेस को पुनः प्राप्त करना आपको एक सेवा देता है जो शुरू होती है और फिर हर सेशन को अस्वीकार करती है। एक शेड्यूल पर डेटाबेस डंप करें, गुप्त कुंजी को अलग से स्टोर करें और एक बार बहाली का परीक्षण करें एक बाहरी दौरान अंतराल की खोज करने के बजाय।

एक मीडिया सर्वर के सामने SSO मूल एप्लिकेशन को तोड़ता है। यह Plex परिदृश्य में विशिष्ट trap है। एक टीवी ऐप या मोबाइल क्लाइंट ब्राउज़र-आधारित लॉगिन प्रवाह को पूरा नहीं कर सकता है, इसलिए पूरे होस्टनाम पर forward auth रखना उन क्लाइंटों को कनेक्ट करने से बिल्कुल रोकता है। सामान्य कार्यक्षेत्र SSO से API पथ को छोड़ना है, जो शांति से आपको मीडिया सर्वर के अपने प्रमाणीकरण में वापस लाता है बिल्कुल ट्रैफिक के लिए जो आपकी लाइब्रेरी है। स्वच्छ उत्तर मेश VPN पर मूल-क्लाइंट ट्रैफिक रखना और केवल वेब इंटरफेस पर SSO लागू करना है, या एक पहचान प्रदाता का उपयोग करना है जो मीडिया सर्वर सीधे समर्थन करता है बजाय इसे बाहर से लपेटने के।

कभी पहचान प्रदाता को सबसे कमजोर लिंक न बनाएं। इसका व्यवस्थापक इंटरफेस केवल आपके आंतरिक नेटवर्क से या VPN पर पहुंचने योग्य होना चाहिए, MFA सभी खातों के लिए अनिवार्य होना चाहिए जो नीति को बदल सकते हैं, और प्रमाणपत्र सत्यापन सर्वत्र रहता है। एक गलत तरीके से कॉन्फ़िगर की गई पहचान प्रदाता कोई नहीं है क्योंकि यह इसे वितरित करने के बजाय पहुंच को केंद्रित करता है।

सही एक कैसे चुनें

अधिकांश लोगों के लिए जो पहली बार एक होम सर्वर को इंटरनेट पर खोल रहे हैं, ईमानदार उत्तर Authentik है यदि हार्डवेयर इसे ले जा सकता है, और Authelia यदि यह नहीं कर सकता। दोनों आपको एक लॉगिन, लागू MFA और पहुंच को रद्द करने के लिए एक स्थान देते हैं, जो पूरा बिंदु है।

FAQ

होम लैब के लिए सर्वश्रेष्ठ स्व-होस्ट किया गया SSO समाधान क्या है?

Authentik स्थितियों की सबसे व्यापक श्रेणी को कवर करता है, क्योंकि यह OIDC या SAML बोलने वाली ऐप्स के लिए एक पूर्ण पहचान प्रदाता के रूप में काम करता है और ऐप्स के लिए एक forward-auth गेटवे के रूप में जो न तो बोलते हैं। Authelia सीमित हार्डवेयर पर या जब आप संपूर्ण कॉन्फ़िगरेशन एक संस्करण-नियंत्रित फाइल में चाहते हैं तो एक बेहतर फिट है। दोनों मुफ्त हैं और दोनों उनके पीछे हर सेवा पर MFA लागू करते हैं।

क्या मुझे SSO की आवश्यकता है यदि मेरी रिवर्स प्रॉक्सी पहले से ही TLS और पासवर्ड है?

वे विभिन्न समस्याओं को हल करते हैं। TLS पारगमन में ट्रैफिक की सुरक्षा करता है और मूल प्राधिकार एक एकल होस्टनाम को एक साझा गुप्त से सुरक्षित करता है जो प्रति व्यक्ति वापस लिया जा सकता है या MFA द्वारा समर्थित हो सकता है। SSO हर व्यक्ति को अपनी पहचान देता है, एक दूसरा कारक सब कुछ के लिए एक बार लागू करता है, और आपको एक स्थान में पहुंच हटाने देता है। रिवर्स प्रॉक्सी वह जगह है जहां SSO लागू होता है, इसके लिए नहीं।

क्या मैं Plex या Jellyfin के सामने SSO लगा सकता हूं?

आंशिक रूप से। वेब इंटरफेस forward auth के पीछे अच्छी तरह से काम करता है। फोन, टीवी और स्ट्रीमिंग बॉक्स पर मूल ऐप्स ब्राउज़र-आधारित लॉगिन को पूरा नहीं कर सकते हैं, इसलिए वे टूट जाते हैं जब तक आप API पथ को छोड़ नहीं देते, जो सबसे महत्वपूर्ण ट्रैफिक की सुरक्षा को कमजोर करता है। मेश VPN पर मूल क्लाइंट को रखें और SSO के साथ वेब इंटरफेस की सुरक्षा करें, या एक पहचान प्रदाता का उपयोग करें जो मीडिया सर्वर सीधे एकीकृत करता है।

यदि मेरा पहचान प्रदाता ऑफलाइन है तो क्या होता है?

इसके पीछे हर सेवा लॉगिन स्वीकार करना बंद कर देती है, और मौजूदा सेशन उनके सामान्य शेड्यूल पर समाप्त होते हैं। इसकी योजना बनाएं: अपने बुनियादी ढांचे के लिए कम से कम एक मार्ग रखें जो पहचान प्रदाता पर निर्भर न हो, एक सेवा पर forward auth को अक्षम करने का एक दस्तावेज़ तरीका रखें, और पुनर्प्राप्ति कोड और डेटाबेस बैकअप को कहीं रखें लॉगिन के बिना पहुंचने योग्य।

क्या Keycloak एक होम सर्वर के लिए overkill है?

आमतौर पर हां। Keycloak की ताकत SAML संघ, बाहरी प्रदाताओं को ब्रोकरिंग और संगठनात्मक पैमाने पर फाइन-ग्रेन्ड प्राधिकार हैं, और इसकी लागत एक Java रनटाइम, एक बाहरी डेटाबेस और एक शब्दावली है जिसे आपको पहले सीखना होगा। रिवर्स प्रॉक्सी के पीछे एक दर्जन कंटेनर के लिए, Authentik या Authelia बहुत कम सेटअप के साथ एक ही व्यावहारिक परिणाम देते हैं।

क्या ये उपकरण मेरे पासवर्ड को स्टोर करते हैं, और मैं उन्हें कैसे बैकअप करूं?

Authentik, Authelia, Zitadel, Keycloak, LLDAP और Tinyauth सभी कुछ रूप में क्रेडेंशियल स्टोर करते हैं। oauth2-proxy और Pomerium कुछ नहीं स्टोर करते हैं और अपस्ट्रीम को सौंपते हैं। जो लोग करते हैं उनके लिए, डेटाबेस या कॉन्फ़िगरेशन फाइल को उदाहरण गुप्त कुंजी के साथ बैकअप करें, क्योंकि मेल खाते गुप्त के बिना पुनः प्राप्ति हर सेशन और पंजीकृत दूसरे कारक को अमान्य करती है।