标签: single-sign-on

缓解密码爆炸问题

当你的密码爆炸,让你的服务器冒出魔法烟雾,并设置lp0时,你难道不只是讨厌它吗?

严肃地说,一个人需要用户名和密码的地方数量正在急剧增加。看起来OpenID在不久的将来不会解决这个问题,而且单点登录在内部似乎更像是一个目标而不是现实,即使不考虑外面的大网。

我刚刚参加了一次会议,我被告知我们已经为访问几个外部站点付费,并且希望降低门槛并增加员工(和学生)使用这些资源的可能性。那些发言者认为,我们前 5% 到 10% 的用户可能会使用这些网站,但如果我们能够提供一种方法让人们登录这些网站(并为他们提供启动页面),那么使用率可能会增加显着(而且我们可以节省技术支持资金,但不必在人们忘记密码时提供帮助。)

你在你的组织中如何解决这个问题?有什么合理的方法吗?

password openid single-sign-on

5
推荐指数
1
解决办法
336
查看次数

使用 Apache 和 LDAP 进行单点登录

我有一台运行两个 Web 应用程序的服务器:Gerrit 和 Mantis BT。现在,这些应用程序连接到 LDAP 服务器以对用户进行身份验证,并且工作正常。但是用户必须为每个应用程序进行身份验证;我想允许用户仅进行一次身份验证(可能使用 Apache+LDAP)并重用凭据以在两个应用程序中自动登录用户。

我现在的网络架构:

我现在拥有的网络架构图

我想要的网络架构:

我要的网络架构图

我什至不知道要在 Google 上寻找什么,因为我通常不熟悉 HTTP 身份验证和服务器管理。任何解决方案或指向我想要的东西都将不胜感激。

配置:
Ubuntu 服务器 14.04 LTS
Apache2 2.4
Gerrit 2.10
Mantis BT 1.2.19

重要说明:
我想保留 Gerrit。
如果它可以轻松完成我想要的操作,我可以使用另一个错误跟踪器。

ubuntu authentication single-sign-on http-authentication apache-2.4

5
推荐指数
1
解决办法
4229
查看次数

Apache2、Kerberos:gss_accept_sec_context() 失败:请求了不受支持的机制

我想通过 mod_auth_kerb 在 Linux 上使用 Kerberos 和 Apache 2。

我将 .htaccess 添加到我的项目中,如下所示:

#SSLRequireSSL
AuthType Kerberos
AuthName "Kerberos Login"
KrbMethodNegotiate On
KrbMethodK5Passwd Off
KrbAuthRealms DOMAIN.COM
Krb5KeyTab /etc/httpd/httpd.keytab
KrbLocalUserMapping On
require valid-user
Run Code Online (Sandbox Code Playgroud)

当我尝试在 IE 或 Firefox 上测试单点登录时,我在 apache 日志中收到以下错误:

[Thu Jan 19 21:03:27 2012] [error] [client 10.65.0.1] gss_accept_sec_context() failed: An unsupported mechanism was requested (, Unknown error)
Run Code Online (Sandbox Code Playgroud)

我不知道它是什么以及我应该做什么才能让它发挥作用。

我的目标是让 REMOTE_USER 由 AD 用户名填充。但现在由于这个错误我无能为力......

kerberos single-sign-on mod-auth-kerb apache-2.2

4
推荐指数
1
解决办法
4万
查看次数

自签名证书 - Active Directory - 使其对所有用户都可信

我使用 Google Apps For Business + SingleSignOn,这意味着我的所有用户都通过内部界面而不是通过 gmail.com 登录。

这个 SingleSignOn 开源解决方案使用 SAML 协议(我认为这是正确的)让用户登录谷歌服务。它与 AD 集成,因此我的所有用户都使用 Windows 凭据登录电子邮件。

此 SSO 接口需要 SSL 证书才能与 Google Platform 交易信息,问题是它是自签名的,导致“证书无效”屏幕,让我的用户感到困惑。

问题:有什么方法可以使用 Active Directory 策略将证书作为“可信”推送给所有用户?我希望这个无效的证书屏幕消失,我不想只为几个用户购买证书。此 SSO 接口在 APACHE 上运行并位于防火墙之后,仅可在办公室或通过 VPN 使用。

active-directory single-sign-on ssl-certificate g-suite

4
推荐指数
1
解决办法
2835
查看次数

不是单点登录的单源身份验证的术语是什么?

我一直在使用术语“单一源”来表示使用单一身份验证源(例如单一 LDAP 服务)但不是单一登录的身份验证方案。即您必须多次登录,但您使用的是相同的凭据。

“单一来源”身份验证是否有常用的技术术语或首字母缩略词?我找不到一个。

ldap single-sign-on

3
推荐指数
1
解决办法
247
查看次数

Apache2 + mod_auth_kerb:密钥表中主体的密钥版本号不正确

我已经配置了 apache2 和 mod_auth_kerb。我以这种方式设置了我的 .htaccess

# cat .htaccess
AuthType Kerberos
AuthName "Domain login"
KrbAuthRealms DOMAIN.COM
KrbMethodK5Passwd on
Krb5KeyTab /etc/httpd/httpd.keytab
require valid-user
Run Code Online (Sandbox Code Playgroud)

当我在 IE 中打开页面时,我在 apache 日志中收到以下错误:

gss_accept_sec_context() failed: Miscellaneous failure (, Key version number for principal in key table is incorrect)
Run Code Online (Sandbox Code Playgroud)

然后我可以通过基本身份验证设置密码和登录,这完全没问题。但是我无法通过票证进行身份验证。

# klist -k /etc/httpd/httpd.keytab
Keytab name: FILE:/etc/httpd/httpd.keytab
KVNO Principal
---- --------------------------------------------------------------------------
   6 host/portal.domain.com@DOMAIN.COM
   6 host/portal.domain.com@DOMAIN.COM
   6 host/portal.domain.com@DOMAIN.COM
   6 host/portal@DOMAIN.COM
   6 host/portal@DOMAIN.COM
   6 host/portal@DOMAIN.COM
   6 PORTAL$@DOMAIN.COM
   6 PORTAL$@DOMAIN.COM
   6 PORTAL$@DOMAIN.COM
   6 HTTP/portal.domain.com@DOMAIN.COM
   6 HTTP/portal.domain.com@DOMAIN.COM
   6 HTTP/portal.domain.com@DOMAIN.COM
   6 HTTP/portal@DOMAIN.COM
   6 …
Run Code Online (Sandbox Code Playgroud)

active-directory single-sign-on mod-auth-kerb apache-2.2

3
推荐指数
1
解决办法
7042
查看次数

在 win 服务器上创建 keytab 文件时出现问题

我正在尝试创建一个密钥表文件。我看到一条警告

  WARNING: pType and account type do not match. This might cause  problems.
Run Code Online (Sandbox Code Playgroud)

我使用的命令是

  ktpass -princ HTTP/bloodhound.domain.com@DOMAIN.COM -mapuser ldaplookup@domain.com -crypto rc4-hmac-nt -pass **** -ptype KRB5_NT_SRV_HST -out "C:\Documents and Settings\Administrator\bloodhound.kytab"
Run Code Online (Sandbox Code Playgroud)

我想在 apache 上使用它进行 SSO。我在 Windows Server 2003 r2 sp2 上创建这个

输出

Targeting domain controller: fezziwig.uk.domain.com
Using legacy password setting method
Successfully mapped HTTP/bloodhound.domain.com to ldaplookup.
WARNING: pType and account type do not match. This might cause  problems.
Key created.
Output keytab to C:\Documents and Settings\Administrator.UK-GGS-DOMAIN\bloodhound.keytab:
Keytab version: 0x502
keysize 82 HTTP/bloodhound.domain.com@DOMAIN.COM …
Run Code Online (Sandbox Code Playgroud)

windows-server-2008 kerberos single-sign-on apache-2.2 gssapi

3
推荐指数
1
解决办法
1万
查看次数

ADFS 被动请求 =“没有注册的协议处理程序”

我试图配置ADFSClaim Provider(我想identity provider在这种情况下是 AD )。

只是为了简单的测试,我在windows server 2016机器上尝试了以下内容:

1)设置AD和域= t1.testdom(它的工作原因我实际上能够用域登录)

2)设置DNS。为 adfs 添加了一个主机 (A) 作为fs.t1.testdom

3)自签名证书(https://technet.microsoft.com/library/hh848633):

powershell> New-SelfSignedCertificate -DnsName "*.t1.testdom"
Run Code Online (Sandbox Code Playgroud)

4)设置ADFS。

服务器名称设置为 fs.t1.testdom

服务>身份验证方法启用为 form authentication

5) 还通过 powershell 修复了 SPN,以确保所有需要的 SPN 都在那里并提供给正确的用户帐户,并且没有找到重复项

——

但是,当我尝试通过浏览器访问登录页面时https://fs.t1.testdom/adfs/ls出现错误。登录服务器管理器显示如下:

`There are no registered protocol handlers on path /adfs/ls to process the incoming request`
Run Code Online (Sandbox Code Playgroud)

那么有没有办法至少到达登录屏幕?所以我可以继续下一个错误。


这是我在/ls屏幕上看到的:

在此处输入图片说明

single-sign-on adfs windows-server-2016

3
推荐指数
1
解决办法
4万
查看次数

打开 LDAP 身份验证 - 如何在没有绑定的情况下验证 userPassword?

我在做什么...

尝试为我们组织的所有机器、博客、wiki、CRM、HRM、项目管理工具、SVN 等实现单点登录……

我们在运行 CentOS 的专用服务器上安装并配置了 OpenLDAP。我使用 phpLdapAdmin 添加组织结构和有关各种用户、客户、资源的信息。

用户的示例条目...

DN 是 :: cn=Bill Gates, ou=users, dc=example, dc=com

用户 ID :: bill.gates

邮件 :: bill.gates@example.com

用户密码 :: as2%$%66789ds(一些 md5 神秘值)

我现在在哪里...

OpenLDdap 工作正常。绑定测试也成功运行。

我想做的事...

使用更高权限的用户绑定,然后通过输入的用户名或邮件搜索用户,与CN略有不同。重点是我想根据不属于 RDN 的属性对用户进行身份验证。

我被卡住的地方...

  1. 我无法使用 userid 进行绑定,因为它不是 DN 的一部分。这一般允许吗?
  2. 我可以使用不同的 LDAP 用户(例如高特权用户)进行绑定,并执行 ldap_search 以根据过滤器 userId 获取唯一记录,但随后用户输入密码的 md5 与 userPassword 字段不匹配。OpenDLdap 使用一些盐进行加密。我也不想去盐。有什么出路吗?

我的问题(最后)

  1. 我们可以对不属于 RDN 的属性执行 ldap_bind 吗?
  2. 我们可以向 OpenLDAP 服务器发送一个未加密的密码(我将使用 HTTPS 隧道来保证安全)并要求 OpenLDAP 加密并检查提交的用户密码吗?这通常是我们在所有网络应用程序中所做的,对吗?
  3. (题外话)用户 ID 可以包含 . (点)和空格。我们需要在“First Name(givenName)”和“Last Name(sn)”之间使用一些字符。哪个是安全字符?我的意思是世界上所有(或大多数)应用程序允许在用户名中使用哪个非 aplha 数字字符? …

openldap password ldap authentication single-sign-on

2
推荐指数
1
解决办法
2万
查看次数

不带 @DOMAIN 后缀的 REMOTE_USER 变量

我管理一个应用程序,该应用程序允许使用有效的 AD 用户进行单点登录,并且当前在 IIS 上运行。为了提高性能,我有一个任务将 web 层迁移到 Linux 上的 Apache/Php。

我在Win2012服务器上有一个AD,在CentOS上有一个Apache。我已经成功加入域(TEST.COM),并且可以使用Windows用户帐户登录centos。

我还配置了 Kerberos 和 Samba,并且 SSO 可以工作,但有一个问题。

来自 AD 的用户导入到应用程序中时不带域名前缀/后缀。因此,如果我的用户在 AD 中是 TEST\myUser,那么在应用程序中用户就是 myUser。

应用程序从 REMOTE_USER 变量中读取用户名,但用户名附加了 @DOMAIN 字符串,导致完整的用户名是 myUser@TEST.COM。应用程序自然会认为它不是有效用户,因为它希望它只是 myUSer。如果我在名为 myUser@TEST.COM 的应用程序中添加一个新用户,则 SSO 可以正常工作。

有没有办法丢弃 REMOTE_USER 变量中的 @DOMAIN 属性?您将如何执行以及需要配置哪些文件?

linux active-directory single-sign-on

2
推荐指数
1
解决办法
7157
查看次数

nginx反向代理后面的Keycloak空白页

在解压并启动 keycloak 以侦听 127.0.0.1 后,我将 nginx 配置为可通过 https 从公共可用域访问的反向代理。

这是nginx配置:

http
{
    server_tokens off;

    upstream keycloak { ip_hash; server 127.0.0.1:8080; }

    server
    {   
        server_name name.domain.tld;
        listen 443 ssl http2; # managed by Certbot
        ssl_certificate /path/to/cert; # managed by Certbot
        ssl_certificate_key /path/to/key; # managed by Certbot
        include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
        ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

        location /
        {   
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            add_header Access-Control-Allow-Origin *;
            proxy_pass http://keycloak;
        }
    }


    server …
Run Code Online (Sandbox Code Playgroud)

nginx reverse-proxy single-sign-on mixed-content

2
推荐指数
1
解决办法
8112
查看次数

如何使用多个用户登录名对 AD 进行身份验证 - UPN

如何为 AD 用户分配多个用户登录名,以便他/她可以无缝验证?

下面是一个例子:

  • 用户名1: FJohnson
  • 用户名2: domain\Fjohnson
  • 用户名3: FJohnson@domain.com

假设机器始终连接到域。

一个实际情况:当密码过期时,用户需要提供一个新密码,这会影响LYNC(Onsite)和Exchange(Onsite)等服务,我们的用户对使用哪个用户名感到困惑。

我发现这篇文章添加用户主体名称后缀 我按照说明添加domain.com为新后缀,但我无法使用用户名登录:FJohnson@domain.com。(当然Fjohnsondomain/FJohnson作品)

active-directory single-sign-on windows-authentication

-4
推荐指数
1
解决办法
6722
查看次数