标签: authentication

了解 FreeBSD 上使用 security/sssd 的 PAM 身份验证过程

我试图了解 FreeBSD 10.0 上的 PAM 配置出现了什么错误

该计算机配置了两种不同的身份验证领域,一种是默认的 Unix 身份验证,另一种是使用系统安全服务守护程序 (sssd)。

目前我正在使用此配置,/etc/pam.d/sshd因为我只想允许 sssd 从 ssh 登录。

auth            sufficient      pam_opie.so                  no_warn no_fake_prompts
auth            requisite       pam_opieaccess.so            no_warn allow_local
auth            sufficient      /usr/local/lib/pam_sss.so
#auth           sufficient      pam_krb5.so                  no_warn try_first_pass
#auth           sufficient      pam_ssh.so                   no_warn try_first_pass
auth            required        pam_unix.so                  no_warn use_first_pass

# account
account         required        pam_nologin.so
#account        required        pam_krb5.so
account         required        pam_login_access.so
account         required        /usr/local/lib/pam_sss.so    ignore_unknown_user
account         required        pam_unix.so

# session
#session        optional        pam_ssh.so                   want_agent
session         optional        /usr/local/lib/pam_sss.so
session         optional        /usr/local/lib/pam_mkhomedir.so      mode=0700
session         required        pam_permit.so

# …
Run Code Online (Sandbox Code Playgroud)

freebsd authentication pam sssd

6
推荐指数
1
解决办法
6236
查看次数

OpenSSH 两因素身份验证结合 Kerberos/公钥

我正在尝试为 OpenSSH 实施两因素身份验证。环境是 Centos 7(内核:3.10.0-229.1.2.el7.x86_64)和 OpenSSH_6.6.1p1,OpenSSL 1.0.1e-fips 2013 年 2 月 11 日。我们部署了 Active Directory (LDAP) + Kerberos。规格如下:

  • 必须仅向具有现有有效 Kerberos 票证的用户询问第二个因素
  • 必须要求没有现有有效 Kerberos 票证的用户提供他的密码和第二个因素
  • 本地用户(无 LDAP acc.)应该能够使用他们的本地密码进行身份验证
  • 在第一个因素之前不得提供第二个因素
  • 除了 Kerberos 之外,如果可用,也应接受公钥身份验证作为第一因素
  • 该功能应该能够仅限于一组用户 - 其他人只需输入密码即可

为了执行第二个因素的身份验证过程,有第 3 方可用的 PAM 模块,它对 Kerberos 一无所知。所以这就是我所做的:

将这些行放入 /etc/ssh/sshd_config:

# To enable PAM - this will make sshd use PAM with configuration /etc/pam.d/sshd
UsePam yes
ChallengeResponseAuthentication yes

# To enable Kerberos and public key authentication - it will let sshd use existing Kerberos tickets
GSSAPIAuthentication yes …
Run Code Online (Sandbox Code Playgroud)

ssh kerberos authentication pam

6
推荐指数
1
解决办法
3609
查看次数

什么是 DNS TXT 记录“mailru-verification”?

有时我会看到这个mailru-verificationDNS 记录。

我用谷歌搜索过- 和 Yandexed ;) -但我一无所获。

我怀疑这是一种俄罗斯 SPF 实现......

dig example.com TXT
Run Code Online (Sandbox Code Playgroud)

产出

; <<>> DiG 9.9.5-3ubuntu0.8-Ubuntu <<>> example.com TXT
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56090
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;example.com.    IN  TXT

;; ANSWER SECTION:
example.com. 14400 IN  TXT "v=spf1 include:xxxxxx.xx -all"
example.com. …
Run Code Online (Sandbox Code Playgroud)

domain-name-system email spam-filter authentication

6
推荐指数
1
解决办法
2666
查看次数

安全石墨安装

我想我在这里误解了一些东西。我已经使用 Docker (sitespeedio/graphite) 安装了 Graphite,并为 Web 面板设置了基本身份验证。我打开了端口 2003 的防火墙以从其他服务器获取数据点,并且运行良好。

但是没有身份验证/授权。甚至我用来发送一些测试的 python lib 也不允许设置密码、令牌或其他身份验证机制。

如何保护我的 Graphite 安装?

authentication graphite

6
推荐指数
1
解决办法
3728
查看次数

当需要 MFA 时,Cognito 用户如何在首次登录时初始化 TOTP?

我正在设置 Amazon Cognito 进行身份验证以使用 Kibana 实例。我只允许管理员创建用户,我只允许 Cognito 用户池身份提供者。创建用户池时,我将多重身份验证设置为“必需”并仅启用“基于时间的一次性密码”选项。我将 Amazon Cognito 域用于登录页面。

当我从 AWS 控制台创建 Cognito 用户时,我通过电子邮件发送邀请。转到 Kibana URL 时,服务器会按预期重定向到 Cognito 登录页面。使用邮件中的临时密码登录后,用户需要更改密码,然后再次尝试登录。

问题是需要MFA,但是用户没有机会设置TOTP应用。我希望 TOTP 设置遵循所需的密码更改。相反,Cognito 会拒绝未启用 MFA 的登录:

您必须设置多重身份验证 (MFA) 才能登录。请设置 MFA,然后重试。

缺少 MFA 的 Cognito 登录错误消息

在 AWS 控制台中管理用户显示启用SMS MFA的选项。但是,我没有使用短信。

用户管理界面

该TOTP软件令牌MFA文件规定:

当您的用户选择 TOTP 软件令牌 MFA 时,调用AssociateSoftwareToken以返回为用户帐户生成的唯一共享密钥代码。此 API 方法的请求需要访问令牌或会话字符串,但不能同时使用两者。为方便起见,您可以将密钥作为快速响应 (QR) 代码分发。

但这听起来像是在用户“选择”TOTP 之后我需要以某种方式进行 API 调用。我没有编写可以进行 API 调用的自己的应用程序——此身份验证仅用于访问 Amazon Elasticsearch Service 提供的 Kibana 实例。

用户如何初始化TOTP以便他们可以根据需要使用它完成登录?

authentication amazon-web-services

6
推荐指数
0
解决办法
4530
查看次数

为什么 system:nodes、system:masters 等没有列在“kubectl get Roles -A”或“kubectl get clusterroles”下?

我真的很难遵循AWS文档“启用IAM用户和角色对集群的访问”。

当我跑步时kubectl edit -n kube-system configmap/aws-auth,我看到这个:

  mapRoles: |
    - groups:
      - system:bootstrappers
      - system:nodes
Run Code Online (Sandbox Code Playgroud)

文档告诉我运行kubectl get roles -A并kubectl get clusterroles查看我的角色和集群角色。然后kubectl describe role role-name -n kube-system和kubectl describe clusterrole cluster-role-name。

我想将我的 AWS IAM 用户设置为adminor cluster-admin,但当我使用此配置时它不起作用:

  mapUsers: |
    - userarn: arn:aws:iam::**********:user/nathan
      username: nathan
      groups:
      - cluster-admin
Run Code Online (Sandbox Code Playgroud)

我发现当我使用时我可以让它工作system:masters。但后来我查看了所有角色、集群角色、角色绑定和集群角色绑定,我看不到任何以下使用的“系统”角色configmap/aws-auth:

  • system:bootstrappers
  • system:nodes
  • system:masters

不过,我可以看到以下一些内容:

  • clusterrolebindings - system:node(单数)
  • 集群角色 -system:node-bootstrapper

我真的迷路了!我在这里误解了什么?什么是 中的“组” configmap/aws-auth,它与这些角色/集群角色有何关系?如果我想使用cluster-admin,我是否需要在它前面加上一些前缀,或者在某处添加“绑定”? …

authentication amazon-web-services kubernetes

6
推荐指数
1
解决办法
1768
查看次数

MOSS 2007 无法使用 ActiveDirectoryMembershipProvider 配置表单身份验证

我真的很难让我的 Sharepoint 站点使用表单身份验证。我曾尝试使用 ActiveDirectoryMembershipProvder 和 LDAP 等效项,但它们似乎绝对无法在任何“peoplefinder”类型的区域中从 ActiveDirectory 中找到任何用户。

在管理部分的 Web.config 中,我有这个:

<membership defaultProvider="ADMembershipProvider">
<providers>
 <add   name="ADMembershipProvider"
        type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0,  Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
        connectionStringName="ADConnectionString" /> 
</providers>
  </membership>
Run Code Online (Sandbox Code Playgroud)

然后过了一会儿:

<connectionStrings>
    <add name="ADConnectionString" connectionString="LDAP://dc.ourcompany.com/dc=ourcompany,dc=com,ou=Ourcompany,ou=UK,ou=Townville,ou=Users" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)

连接字符串的内容完全来自 ADExplorer,但是否正确,我真的不知道,AD 不是我的专长。

我试过在 <provider> 标签中指定用户而不是,这两个似乎都没有引起问题。

当我尝试将用户添加到我正在配置此身份验证的站点时,我无法让它从域中找到任何人。我尝试了以下表达方式:

  • ADMembershipProvider:用户名
  • ADMembershipProvider:username@ourcompany.com
  • ADMembershipProvider:OURCOMPANY\用户名
  • 用户名@ourcompany.com
  • 我们的公司\用户名
  • 用户名

这些似乎都没有产生任何影响。

真正令人沮丧的是,Sharepoint 的日志(设置为 Verbose 和我的上帝,他们的意思是)和系统事件日志似乎都没有给出任何问题的迹象,他们只是不做任何事情。

这里是否有明显的问题,如果没有,是否有一种简单的方法可以将事情分解一下,以找出它在过程中失败的地方?

sharepoint active-directory authentication

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

nginx &amp; HTTP-Authentication 下的服务静态文件

我在服务器上以测试模式部署了一个应用程序。对它的访问仅限于通过 HTTP 身份验证的选定用户组。这很好用。问题是,如果我通过不同的“位置”指令提供静态文件,nginx 会为这些文件提供“未授权”。我尝试关闭 auth_basic,但没有骰子。

这是 vhost conf:

# Virtual Host 

upstream appname {
  server 127.0.0.1:4000;
  server 127.0.0.1:4001;
  server 127.0.0.1:4002;
}

server { 
  listen 80;
  server_name appname.domain.com;

  # write app specific log
  # make sure you create this file in your log directory before running behind nginx
  access_log  /home/apps/appname/shared/log/nginx.log  main;

 # let nginx serve static files directly
  # images
  location ^~/images {
    auth_basic off;
    root /home/apps/appname/current/public/images;

  }

  location ^~/covers {
    auth_basic off;
    root /home/apps/covers;

  }

 # # javascript
 location ^~/javascripts …
Run Code Online (Sandbox Code Playgroud)

configuration nginx authentication http-basic-authentication

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

SQL Server - 作为另一个域用户连接

我们使用 Windows 身份验证连接到我们的内部 SQL Server 实例(2005 和 2008 的混合)。

当我打开 SQL Server Management Studio 并连接到服务器时,它显然使用我当前的域凭据连接了我。

是否可以以某种方式覆盖它并以替代域用户身份登录?

目的是检查用户是否已正确设置并可以访问我希望他们访问的数据库。

我知道我可以以他们的身份登录到 Windows 会话,然后这样做,但这似乎有点乏味。

authentication sql-server

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

sudo 的简单多级身份验证

我有一个启用了基于密码的 SSH 的 FreeBSD 服务器。我想启用sudo,但我不希望潜在的攻击者成为远离 root 访问权限的密码。我目前的解决方案是使用公钥以 root 身份登录(root 的远程密码身份验证被禁用),我的普通用户不在轮子上,sudo也没有安装。

过去,我使用一次性密码进行 sudo 访问(我可以公开密钥进入系统,但是 sudo 需要一个 OTP,并且有 30 分钟的超时时间让我真正完成工作,而无需重新验证所有时间)。然而,这相当麻烦,至少对于 OPIE/S/Key。使用硬件令牌可能没问题,但目前我没有。

我一直在寻找可以让我通过代理转发使用 SSH 公钥对 sudo 进行身份验证的东西。 pam_sshFreeBSD 中包含的似乎没有这样做——它只是通过查看用户是否可以解密服务器上的私钥来进行身份验证。我找到了pam_ssh_agent_auth,但我在其他地方很少找到对它的引用。它现在是 0.9,但我有点犹豫是否信任根到程序的网关,我找不到很多人实际使用的证据。

所以,我的问题基本上是2:

  1. 是pam_ssh_agent_auth用在野外可靠吗?
  2. 是否有另一个很好的解决方案来启用 sudo 同时仍然有超过登录密码的障碍?我曾想过使用 sudo 访问权限和无密码身份验证的第二个帐户,但这似乎也有些麻烦。

freebsd ssh authentication sudo private-key

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