在 Windows 上使用带有 mod_auth_sspi 和 mod_headers 的 Apache 2.2。我正在尝试将当前经过身份验证的用户传递到 X-Remote-User 标头中的代理目标。
我希望这很简单,但是我已经与 Apache 争论了一个小时,在文档或谷歌中找不到秘诀。
我的配置如下。它使用 Active Directory 正确验证用户,然后将请求代理到位于后面的服务器。但是,不会添加 X-Remote-User 标头。似乎 REMOTE_USER 环境变量不存在。AUTH_USER 也不行。
我知道经过身份验证的用户名在某处可用,但我如何获得它?
ProxyRequests off
ProxyPass /clsoap/ http://127.0.0.1:12001/clsoap/
<Location /clsoap/>
ProxyPassReverse /clsoap/
AuthName "ADTest"
AuthType SSPI
SSPIAuth On
SSPIAuthoritative On
SSPIDomain primary.example.com
SSPIUsernameCase lower
SSPIOfferBasic Off
Require valid-user
RequestHeader set X-Remote-User "%{REMOTE_USER}e" env=REMOTE_USER
RequestHeader set X-Auth-User "%{AUTH_USER}e" env=AUTH_USER
</Location>
Run Code Online (Sandbox Code Playgroud) Nagios 也非常适合监控服务器。他们的网络界面也不错。但是,我并不热衷于使用标准的 HTTP 身份验证。
有没有办法使用另一种身份验证方法?(我的意思不是说通过 .htaccess 文件中的 IP 地址限制访问)基于表单的登录会很棒,但也许没有这样的事情。我希望你们找到了我没有找到的东西。
IT 最近用 64 位 Windows 重新设置了我的笔记本电脑。他为我安装了 Sql Server 开发版并设置了用户名和密码。我登录并尝试将 Sql Server 更改为 Windows 身份验证,重新启动 sql server,现在它不会让我使用我的域帐户登录。
我已尝试将自己添加到本地系统上的 SQLServerSQLAgentUser 和 SQLServerMSSQLUser 组,但 Sql Server 仍然一直说我的域帐户未授权。我的帐户是本地系统管理员。
如何让 Sql Server 让我登录?
有关 Active 和 Open 目录互操作性的绝大多数问题都涉及让 Mac 客户端查看 AD 并对其进行身份验证。
我们想要做的是让 Windows 7 工作站完全针对 Open Directory 进行身份验证。我们尝试将其设置为 NT4 类型的 PDC,但效果不佳。
我们尝试使用 pGina 和 LDAP 后端,它允许身份验证,但不支持授权,因此,如果我们挂载 NFS 共享,用户有权做任何他们该死的事情。不适合安全(实际上完全不可接受)。
我们尝试使用 Samba 服务器(比 Open Directory Server 更新的版本)作为中间件,以便它知道 OD 服务器上的 LDAP 服务器,但使用 Samba 4 而不是 v3。那也没有用。我们可以登录,但不能挂载,如果登录,我们就拥有与 pGina 相同的权限。如果我们在 Windows 中右键单击已安装的驱动器,并查看 NFS UID,它将返回 -2,而不是正确的(映射的)UID。
所以我的最终计划是在 Windows 2008R2 虚拟机中使用 Active Directory。我想要实现的是让 Active Directory 同步它来自 OpenDirectory 的用户数据(只读就可以)。这样,我们就能够将 Windows 7 客户端连接到一个“虚拟域”,该域实际上只是从 OD 的 LDAP 中获取信息。
我找到的所有信息都是关于如何走另一条路的。
有谁知道我们如何做到这一点?
active-directory ldap authentication opendirectory authorization
我正在尝试Virtualhost在 apache 中设置部分 a以要求客户端身份验证。该VirtualHost问题也作为实际的Web服务器的反向代理。这是我所做的:
ca.crt、ca.csr和ca.key。VirtualHost如下所示:...
ProxyPass / http://xxx.xxx.xxx.xxx:80/
ProxyPassReverse / http://xxx.xxx.xxx.xxx:80/
ProxyPassReverseCookiePath / /
SSLEngine On
SSLCertificateFile "/private/etc/apache2/server.crt"
SSLCertificateKeyFile "/private/etc/apache2/server.key"
SSLCertificateChainFile "/private/etc/apache2/ca_bundle.crt"
SSLCACertificateFile "/private/etc/apache2/self_ca.crt"
SSLVerifyClient none
SSLOptions StrictRequire
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
<Location /clientauth>
# These options force the client to authenticate with a client certificate.
SSLVerifyClient require
SSLVerifyDepth 1
</Location>
Run Code Online (Sandbox Code Playgroud)
但我无法浏览到/clientauth …
certificate authentication ssl-certificate certificate-authority apache-2.2
以下是我在本地计算机上执行的步骤:
ssh-keygen -t rsa
cat ~/.ssh/id_rsa | ssh root@remotehost.com -p 1234 "cat > ~/.ssh/authorized_keys"
Run Code Online (Sandbox Code Playgroud)
当我做一个ssh root@remotehost.com -p 1234它仍然要求输入密码时:o
root@remotehost.com's password:
Run Code Online (Sandbox Code Playgroud)
为什么会这样?我已经将它添加到授权密钥中,但它仍然要求输入密码。sshd_config:
Port 1234
Protocol 2
SyslogFacility AUTHPRIV
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication yes
ChallengeResponseAuthentication no
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
UsePAM no
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS
Subsystem sftp /usr/libexec/openssh/sftp-server
Run Code Online (Sandbox Code Playgroud)
这是结果-vvv:
$ ssh root@remotehost.com -p 1234 -vvv
OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb …Run Code Online (Sandbox Code Playgroud) 这个问题实际上与这个问题相同,但区别在于认证服务器是 Ubuntu 上的 freeRADIUS,接入点是 DD-WRT。
此外,我想知道禁用 TTLS 是否有任何风险(据我所知,身份验证过程中需要证书的部分)或者这是否是一种选择。
我现在明白 TLS 和 TTLS 之间存在差异。我想使用 TTLS,因为它不需要客户端配置。我已将答案分配给下面的帖子,因为它有助于实现这一点,并且我编辑了标题以更好地反映他的结论。
我有一个要修改的生产站点(从法语翻译成英语)。修改后的部分将放置在domain.com/enURL 位置,我想在修改期间只使用基本的 HTTP 身份验证来保护这部分。
我希望拥有相同的行为,就好像我en在我的 Web 根文件夹中有一个目录一样,.htaccess在这个目录中有一个文件来实现基本身份验证。不幸的是,我不能这样做,因为该站点在 Wordpress 上运行并使用重写规则,所以我无法在en不绕过 Wordpress 的情况下创建目录。
我应该.htaccess在根目录中放入哪些指令才能仅为该/en位置启用基本身份验证?我尝试使用该<Location /en></Location>块,但它会产生 500 错误,所以我认为该块仅在 apache 配置文件中受支持。
我想为我的 Web 应用程序购买专用服务器。但我担心我的应用程序代码的安全性以及谁可以访问我的服务器甚至专用服务器。由于托管服务提供商为我提供了预安装的操作系统,我担心托管服务提供商的访问到我的服务器,即使我更改了密码。
在任何情况下,是否有机会通过托管服务提供商访问我的服务器?
配置 OpenVPN 服务器,我可以使用openvpn-plugin-auth-pam插件启用基于证书的身份验证或用户名/密码身份验证,但不能同时启用。
我启用用户名/密码身份验证如下:
plugin /usr/lib/openvpn/openvpn-plugin-auth-pam.so login
client-cert-not-required
username-as-common-name
Run Code Online (Sandbox Code Playgroud)
但是,一旦我添加了以下几行,我为证书身份验证配置的客户端就会停止使用日志中的以下消息:
TLS Error: Auth Username/Password was not provided by peer
TLS Error: TLS handshake failed
Run Code Online (Sandbox Code Playgroud)
有什么方法可以不要求使用证书身份验证的客户端的用户名/密码?
authentication ×10
apache-2.2 ×3
.htaccess ×1
certificate ×1
http-headers ×1
ldap ×1
linux ×1
login ×1
nagios ×1
openvpn ×1
radius ×1
security ×1
sql-server ×1
ssh ×1
ssh-keys ×1
wifi ×1
wpa2 ×1