标签: authentication

使用 AD 对 Linux 进行身份验证的当前最佳实践 (2013)

据我所知,有 3 种(常见)方法可以使用 Active Directory 作为 Linux 主机的身份验证和授权:

  1. LDAP
  2. Kerberos
  3. 桑巴/Winbind

关于哪种方法是最佳实践,是否有(当前)共识?

我从来没有完全清楚每种方法的优缺点,但每个文档/教程都以不同的方式说明,并且没有多少是过时的或解释为什么他们使用特定方法。

linux active-directory authentication best-practices

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

为 Unix 组配置 samba 服务器

我正在尝试为 Linux (RHEL 6)“wheel”组中的用户设置一个具有访问权限的 samba 服务器。我将 smb.conf 建立在示例的基础上,这里通过[accounting]示例。在我的smb.conf我有

[tmp]
    comment = temporary files
    path = /var/share
    valid users = @wheel
    read only = No
    create mask = 0664
    directory mask = 02777
    max connections = 0
Run Code Online (Sandbox Code Playgroud)

(休息输出的$ testparm /etc/samba/smb.conf这里)。和

groups `whoami`
Run Code Online (Sandbox Code Playgroud)

返回user01 : wheel

当我作为 Linux 用户 ( user01)从另一台机器 (Mac OS) 使用以下命令时:

$ smbclient -L NETBIOSNAME/tmp
Run Code Online (Sandbox Code Playgroud)

它要求输入密码,我在没有密码的情况下按回车键,然后得到:

Enter user01's password:
Anonymous login successful
Domain=[DOMAIN] OS=[Unix] Server=[Samba 3.6.9-151.el6_4.1] …
Run Code Online (Sandbox Code Playgroud)

active-directory redhat authentication samba

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

为失败的 root ssh 禁止 OSSEC 电子邮件

我在 Ubuntu 12.10 服务器上将 OSSEC 作为 HIDS 运行,它经常(每天 3-4 次)向我发送这样的通知:(注意 IP 地址的最后一个八位字节已更改为“xxx”以保护有罪)

OSSEC HIDS Notification.
2013 Nov 21 15:10:43

Received From: localhost->/var/log/auth.log
Rule: 2502 fired (level 10) -> "User missed the password more than one time"
Portion of the log(s):

Nov 21 15:10:41 localhost sshd[3594]: PAM 5 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=61.147.74.xxx user=root

--END OF NOTIFICATION
Run Code Online (Sandbox Code Playgroud)

我是服务器上唯一的(合法)用户,并且我已经PermitRootLogin no在我的/etc/ssh/sshd_config. 因此,每次有人无法以 root 身份登录时向我发送警报是毫无意义的。

我发现 OSSEC 规则 2502 的定义/var/ossec/rules/syslog_rules.xml如下:

  <rule id="2502" level="10">
    <match>more …
Run Code Online (Sandbox Code Playgroud)

ubuntu authentication ossec ubuntu-12.10

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

Cisco VPN AuthType 解释

我一直无法找到有关出现在许多 Cisco VPN 配置中的 AuthType 属性的资源。在我能找到的每个示例中,它都设置为AuthType=1,但我不知道还有哪些其他可能的值,也不知道1实际指的是什么。有人可以解释这一点,或向我指出与此相关的资源吗?

vpn authentication

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

服务器上每个用户的多个 SSH 密钥

假设我运行一个接受 SSH 连接的服务器,作为一个聪明人,我使用 SSH 密钥而不是密码来连接它。有一个用户,webmaster,可以访问和控制与网站相关的目录和程序。每当我连接到服务器时,我都以webmaster.

这很好用,直到有一天我聘请了第三方公司在网站上工作了一周,为了让事情顺利进行,我希望他们在webmaster工作时登录。当一周结束并且工作完成后,我想用他们的密钥撤销对服务器的访问。

我将如何执行此操作,在服务器上为同一用户设置多个密​​钥,可以独立编辑或删除这些密钥?

ssh authentication ssh-keys

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

pam_ldap 和 ldaps 无法联系 ldap 服务器

我正在尝试允许在 CentOS 主机系统上通过 LDAP 进行身份验证。但是我总是从 pam_ldap收到无法联系 LDAP 服务器的错误。

LDAP 服务器是可 ping 的,并且身份验证可以与 ldap:// 完美配合,但不能与 ldaps:// 配合使用。在 debian 操作系统上,它也可以与 ldaps:// 完美配合,但在 CentOS 上则不行。

我也遇到了$ ldapsearch无法联系错误...但我修复了它,在 /etc/openldap/ldap.conf 中设置了TLS_REQCERT 允许。但是为 /etc/pam_ldap.conf 设置这个没有帮助。

我做的步骤:

  • $ yum 安装 pam_ldap nss-pam-ldapd openldap-clients
  • $ authconfig-tui并激活 LDAP 进行身份验证
  • 修改/etc/pam_ldap
  • 修改/etc/nslcd.conf
  • 修改/etc/openldap/ldap.conf
  • 创建/etc/ldap/ldap.conf(在某处阅读它是后备配置文件路径)
  • 创建/etc/ldap.conf(内容与/etc/ldap/ldap.conf相同)
  • 重启服务 nscd 和 nslcd

更多信息:

  • 来自 LDAP-Server 的 CA-Cert 对每个人都是可读的。
  • iptables 被禁用

同样令人困惑的是/var/log/secure 中的 IP 。它说 …

ldap centos authentication pam

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

PAM 高级选项究竟是如何工作的?

我一直在阅读我可以在 PAM 上找到的所有内容(例如http://wpollock.com/AUnix2/PAM-Help.htm),但是我仍然对高级选项应该如何精确工作感到困惑。例如,每个参考资料都是这样说的:

Each of the four control-flag keywords (required, requisite, sufficient, and
optional) have an equivalent expression in terms of the [...] syntax:

required
    [success=ok new_authtok_reqd=ok ignore=ignore default=bad]
Run Code Online (Sandbox Code Playgroud)

我的理解是模块可以返回多种令牌,并且与每个令牌关联的操作在配置文件中进行了描述。基于这种理解,什么是

new_authtok_reqd=ok
Run Code Online (Sandbox Code Playgroud)

所需的控制标志有关吗?的意义/目的是什么

ignore=ignore ?
Run Code Online (Sandbox Code Playgroud)

仅此而已:

success=ok
Run Code Online (Sandbox Code Playgroud)

是我认为符合要求的行为,但确实如此

default=bad
Run Code Online (Sandbox Code Playgroud)

意味着如果模块返回任何其他操作令牌,模块将失败?是行动=值令牌成功= OK的否决默认=坏,反之亦然?哪个优先?从我读过的任何内容中都不清楚。

更一般地说,假设我有类似的东西

[success=done default=die]
Run Code Online (Sandbox Code Playgroud)

如果模块返回成功和另一个令牌会发生什么?

最后,我也找不到这个问题的答案:每个值都ok, done, bad, die, ignore, reset, N可以与任何操作相关联吗?甚至是什么意思说

[default=done] ?
Run Code Online (Sandbox Code Playgroud)

linux authentication pam

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

使用带有指向 IIS 服务器的 A 记录的 URL 浏览运行 IIS 的服务器上的网站时,IIS 中的 Windows 身份验证不起作用

我有一个在 IIS 上运行的网站,该网站使用 Windows 身份验证。

在网站级别,在“身份验证”下,我只Windows Authentication启用了(NTLM 仅作为提供者)。

在虚拟目录级别,在“身份验证”下,我启用了ASP.NET ImpersonationWindows Authentication(NTLM 仅作为提供者)。(ASP.NET Authentication在此处禁用不会改变任何内容)

  • 运行IIS的服务器IP地址为: 172.0.0.10
  • 运行IIS的服务器的计算机名是: myiisserver
  • 运行 IIS 的服务器上的 FQDN 是: myiisserver.mydomain.com
  • 存在指向 172.0.0.10 的 DNS“A 记录”: myapp.mydomain.com

在网站绑定上,我有:

Type  |  IP Address      |  Port  |  Host Name
--------------------------------------------------------------
http  |  All Unassigned  |  80    |  localhost
http  |  All Unassigned  |  80    |  myiisserver
http  |  All Unassigned  |  80    |  myiisserver.mydomain.com
http  |  All Unassigned  |  80    |  myapp.mydomain.com …
Run Code Online (Sandbox Code Playgroud)

iis authentication iis-7.5 windows-authentication

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

如何在 Subversion 中使用 Linux 用户名和密码?

我想设置 Subversion 存储库,以便可以使用与 ssh 登录相同的用户名和密码来访问存储库。我设法进行了登录工作,因此需要正确的用户名,但它接受任何密码。我怎样才能让它也需要有效的密码?

我正在运行带有“标准模块”、Apache2、Subversion 和 libapache2-mod-authnz-external 的 Ubuntu 服务器 8.04.2。此外,我发现名为pwauth 的实用程序可以帮助进行身份验证。

以下是配置中的相关部分:

/etc/apache/apache2.conf

AddExternalAuth pwauth /usr/local/bin/pwauth
SetExternalAuthMethod pwauth pipe
AddExternalGroup unixgroup /usr/local/bin/unixgroup
SetExternalGroupMethod unixgroup environment
Run Code Online (Sandbox Code Playgroud)

/etc/apache/mods-available/dav_svn.conf:

AuthType Basic
AuthBasicProvider external
AuthExternal pwauth
GroupExternal unixgroup
AuthName "Subversion repository"
Require group users
Require user myaccount
Run Code Online (Sandbox Code Playgroud)

/etc/pam.d/pwauth:

auth    required        pam_succeed_if.so user=www-data
account required        pam_localuser.so
Run Code Online (Sandbox Code Playgroud)

pwauth 的 config.h:

#define PAM                     /* Linux PAM or OpenPAM*/
#define UNIX_LASTLOG            /**/
#define HAVE_LASTLOG_H          /**/
#define NOLOGIN_FILE "/etc/nologin"     /**/
#define MIN_NOLOGIN_UID 1               /**/
#define …
Run Code Online (Sandbox Code Playgroud)

ubuntu svn authentication pam

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

打开 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万
查看次数