标签: authentication

有没有更简单的方法为新用户添加公钥认证?

我正在使用 Ubuntu 12.04 在新的 Web LEMP 服务器上设置安全用户,这是一项艰巨而痛苦的过程。我最初打算设置诸如 vsftpd 或 proftpd 之类的东西,但许多人建议直接使用 SFTP,所以我会这样做。最终,我有一个主要用户(我使用它只是为了防止 root 登录)。我创建了这个新用户,生成了一个公钥对,将公钥上传到用户~/.ssh目录中authorized_key,更改了 SSH 端口号,删除了 root 登录并设置passwordauthentication为 NO,因此用户被迫使用他/她的密钥登录in. 足够简单(尽管在 PC 上工作似乎比我的 OSX/NIX 同行更令人头疼)。

我现在正在尝试创建新用户(为我的 Web 开发人员),这些用户将只拥有 SFTP 访问权限,并将他们的暴露限制在他们负责的 Web 目录中。每个目录具有以下格式:

/var/www/sitename.com/public/
Run Code Online (Sandbox Code Playgroud)

我的头痛现在开始了。创建新用户?简单。添加密码?真的不需要考虑我需要公钥/私钥(而且他们永远不会有 sudo 访问权限)但是可以。然而,我正在努力解决以下问题:

  • 我如何在服务器上实际存储这个新用户的公钥?如果我以 root 用户身份登录并简单地authorized_keys在他们的主目录中创建文件,它将拥有 root 所有者和组权限,并且他们无法登录到服务器。类似地,这些新用户不能自己登录和创建它,嗯,呃,因为他们不允许通过密码登录。

(注意:我也在努力设置 sftp 并将它们限制在各自的 Web 目录中,但我想我以后可以自己解决这个问题)。

有什么建议吗?

编辑

目前流程是这样的:

  • 从个人获取公钥
  • 执行以下命令:
#sudo mkdir -p /home/newuser/.ssh
#sudo nano /home/newuser/.ssh/authorized_key
#(将key复制到一行并保存)
#chown -R newuser:newuser /home/newuser
#chmod 700 /home/newuser/.ssh
#chmod 600 /home/newuser/.ssh/authorized_key

我想这并不是绝对可怕,但是如果我们有大量的开发人员(加上我将要花费我用 SFTP 部分和目录限制来设置他们的时间),这似乎是一个巨大的痛苦。

linux ubuntu authentication ssh-keys ubuntu-12.04

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

在 SSL 身份验证失败时重定向用户

我配置了一个启用 SSL 和 SSL 客户端身份验证的 VirtualHost,所有这些都在 apache2 2.2.8(ubuntu 服务器 8.04)上。

所有 SSL 证书(CA、服务器证书、客户端证书、CRL)都是使用 openssl 命令行生成的。

如果客户端证书无效(不存在、过期或吊销),我想将用户重定向到自定义错误页面。

这是我的虚拟主机的配置:

<VirtualHost *:443>
    ServerName myserv.example.com
    DocumentRoot /var/www/myserv/

    CustomLog /var/log/apache2/myserv.access.log combined
    ErrorLog /var/log/apache2/myserv.error.log
    LogLevel warn

    SSLEngine on
    SSLOptions +StdEnvVars +ExportCertData

    SSLCertificateFile "/etc/apache2/ssl/certs/servcrt.pem"
    SSLCertificateKeyFile "/etc/apache2/ssl/private/servkey.pem"

    SSLCACertificateFile "/etc/apache2/ssl/certs/ca.pem"

    SSLCARevocationPath "/etc/apache2/ssl/crl/"
    SSLCARevocationFile "/etc/apache2/ssl/crl/crl.pem"

    <Directory /var/www/myserv/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        Allow from all

        SSLVerifyClient optional
        SSLVerifyDepth 1

        RewriteEngine on
        RewriteCond %{SSL:SSL_CLIENT_VERIFY} !^SUCCESS$
        RewriteRule .* /error-page.html [L]
    </Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

使用该配置,如果用户没有任何 SSL 证书,他将被正确重定向到错误页面。但是如果他有一个被撤销或过期的证书,握手失败(正常)并且连接被关闭(在浏览器上返回一个 SSL 错误)。

如何告诉 apache2 …

ssl authentication apache-2.2

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

如何通过 pam_tally2 为特定用户设置密码锁定例外?

我需要为特定用户设置一个例外,以便他的失败登录不计入pam_tally2,而且,这不是 root 帐户(magic_root那时我会使用)。

可行吗?

linux authentication pam

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

User can't connect to samba share on windows (others can)

I have setup Samba in a Debian machine so that existing users in the linux server can connect to their homes and different shares using Windows.

user1, user2 and user3 can connect without problems, but user4 can't access any of the shares. user4 can log in perfectly using SSH.

Samba outputs the following upon failed connection attempts (using user4 credentials):

[2013/09/25 13:12:03.174008,  1] smbd/service.c:678(make_connection_snum)
  create_connection_server_info failed: NT_STATUS_ACCESS_DENIED
Run Code Online (Sandbox Code Playgroud)

Samba outputs the following upon successful connection attempts (using user3 credentials at …

windows-7 authentication samba

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

Apache (Debian Wheezy) 上的 ModSecurity,身份验证日志记录

我是 ModSecurity 的新手,它在服务器上运行良好,但我想控制它记录事物的方式。例如,当我正在对我的网站进行故障排除以将 php 编码问题列入白名单或更正 php 编码问题以便modsec_audit.log在一切正常时我可以进行清理时,我遇到了以下问题。

每当我请求URL,它是密码保护,要么通过basic或htdigest认证的ModSecurity记录本中modsec_audit.log,如下所示:

htdigest 身份验证:

--838e7b1b-A--
[17/Nov/2013:19:13:51 +0200] Uoj5T8CoAWQAABfMVE0AAAAA xxx.xxx.xxx.xxx XXXXX xxx.xxx.xxx.xxx XXXXX
--838e7b1b-B--
GET / HTTP/1.1
Host: XXX.XXX.com:XXXX
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:25.0) Gecko/20100101 Firefox/25.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
DNT: 1
Connection: keep-alive

--838e7b1b-F--
HTTP/1.1 401 Authorization Required
WWW-Authenticate: Digest realm="Members Only", nonce="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", algorithm=MD5, qop="auth"
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 290
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=iso-8859-1

--838e7b1b-H--
Stopwatch: …
Run Code Online (Sandbox Code Playgroud)

debian authentication mod-security apache-2.2

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

阻止域计算机注销导致身份验证丢失

我有一台域计算机,在唤醒时不需要密码。我知道这是一种奇怪的情况,但我们希望用户永远不必登录计算机,除非他专门注销或重新启动计算机。

这本身有效,但是当用户第二天返回计算机并仍然登录时,计算机似乎已经失去了与服务器的身份验证,并且在尝试打开共享驱动器和文件夹时,用户被要求输入用户名和密码。除了输入我们不希望他必须做的凭据之外,唯一可以修复的就是重新启动。

会话是否在服务器上过期或什么的,我们如何解决这个问题?

networking security windows active-directory authentication

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

覆盖先前声明的 Puppet 资源中的参数

我正在尝试重建 nwaller 的sssd puppet 模块,使其完全基于 LDAP 并且更简洁一些。在其中,我们为表单的每个身份验证域定义了一个资源

define sssd::domain ( 
  $domain = $name,
  $domain_description = '',
  $domain_type,
  $ldap_uri = 'ldap://example.com',
  $ldap_search_base = 'dc=example,dc=com',
  $simple_allow_groups,
....
)
Run Code Online (Sandbox Code Playgroud)

然后将此定义作为 a 传递,concat::fragment它填写用于构建最终sssd.conf.

如果我在每个节点中定义 LDAP 服务器,这一切都很好,如下所示:

节点.pp

node "node1.systems.private" {
  include "puppet::client"
  class {
    'sssd':
      domains => [ 'LDAP' ],
      make_home_dir => true;
  }
  sssd::domain { 'LDAP':
    domain_type            => 'ldap',
    ldap_uri               => 'ldaps://ldap.site.com:636',
    ldap_search_base       => 'DC=site,DC=com',
    ldap_user_search_base  => 'OU=People,DC=site,DC=com',
    ldap_group_search_base => 'OU=Groups,DC=site,DC=com',
    ldap_default_bind_dn   => 'CN=bindaccount,OU=Service Accounts,OU=People,DC=site,DC=com', …
Run Code Online (Sandbox Code Playgroud)

authentication puppet sssd

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

我对选择性身份验证的双向信任似乎与单向信任相反

我不确定为什么我是唯一遇到这个问题的人,我认为这是 Server 2012 和 RDS 协议的一个更大的问题......对于 2008 机器,您可以使用单向信任来使用 TSGateway 跨域进行身份验证服务,但在 2012 年,它在运行单向信任时会中断。我正在尝试实施一种双向信任,它就像对所有事物的一种单一信任,但对诸如 TSGateway 和 RDS 服务之类的事物进行 kerberos 身份验证...


一点背景故事,我目前有两个域(A 和 B),采用一种方式,外部信任。(A 上的传出信任,B 中的用户可以访问 A 中的设备)

目前,我可以登录域 A 中的计算机,并使用 GUI 添加域 B 中的用户。(我也可以从 CLI 执行此操作,但这与此处无关)

当我构建我的测试域时,我可以重新创建这种行为。如果我使用双向信任创建测试域,则此行为不会改变,尽管它确实允许我在我不想要的相反方向 (duh) 进行身份验证。

当我出于某种原因将域 B 更改为“选择性身份验证”时,用户和计算机 GUI 将停止按预期工作。

  • 对于域 B 计算机,我仍然可以像平常一样浏览 GUI,甚至可以添加域 A 用户,但由于选择性身份验证设置,他们不允许登录。
  • 对于域 A 计算机,浏览 GUI 不允许选择用户或组,并且高级搜索会出现错误:“以下错误阻止了任何项目的显示:未指定的错误”
  • 对于域 A 计算机,如果我知道域 B 的用户名,我可以使用“net localgroup”命令添加帐户,一切正常,但 GUI 损坏,这不太可能是一个可用的解决方案我们的大多数用户...

我的问题(很抱歉花了这么长时间才弄明白)为什么选择性身份验证会改变信任的行为,使其行为与单向信任不同,我是否遗漏了一些简单的事情?

当我从 GUI 收到“未指定”错误时,我在域 B 的 DC 上收到错误:

已请求 Kerberos 服务票证。

账户信息: 账户名称:bob@DOMAINA 账户域:DOMAINA 登录 GUID:{00000000-0000-0000-0000-000000000000}

服务信息: 服务名称:ldap/DC.DOMAINB/DOMAINB 服务 …

active-directory authentication windows-server-2012-r2

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

某些用户的 IIS 8.5 Windows 身份验证失败

我在 Windows 2012、IIS 8.5 下安装了一个需要 Windows 身份验证的应用程序。当某些用户使用该应用程序时,他们会在质询/响应后收到 401 错误。其他人可以毫无问题地使用该网站。用户都碰巧在同一个 AD 组中,但这可能是巧合。

这是处理的请求和响应(该网站是我们内部的,http://lcf - 这是 A 记录,而不是 CNAME):

要求: 在此处输入图片说明

回复: 在此处输入图片说明

在安全日志中,这是典型的显示内容:

An account failed to log on.

Subject:
    Security ID:        NULL SID
    Account Name:       -
    Account Domain:     -
    Logon ID:       0x0

Logon Type:         3

Account For Which Logon Failed:
    Security ID:        NULL SID
    Account Name:       test1
    Account Domain:     CORP

Failure Information:
    Failure Reason:     Account locked out.
    Status:         0xC0000234
    Sub Status:     0x0

Process Information:
    Caller Process ID:  0x0
    Caller Process Name: …
Run Code Online (Sandbox Code Playgroud)

authentication windows-authentication windows-server-2012 iis-8.5

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

检查 Active Directory 的主要身份验证协议(NTLM 或 Kerberos?)

如何从客户端计算机(在全局组中)(也是本地管理员)检查域控制器是否正在使用 NTLM 或 Kerberos 验证我对域的登录请求?

我知道默认情况下启用 Kerberos,但域管理员始终可以强制客户端使用其他协议进行身份验证。所以我只想确定他们使用的是哪种协议。有什么方法可以做检查吗?

任何帮助,将不胜感激

active-directory kerberos authentication ntlm

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