是否有可能在Apache(或者例如Nginx / HAProxy / etc)中使用PHP文件进行身份validation? 我想要的是以下几点: 用户访问一个门户(index.php)。 Apache会查看index.php是否提供了HTTP状态代码200 OK或401 Unauthorized(PHP文件检查用户是否login并发送自定义标题)。 当200 OK时,用户可以进入门户。 如果index.php提供了401个HTTP状态码,用户需要login。 一切都需要在index.php文件中发生,并需要在Apache层工作。 我所做的PHP文件中的身份validation过程正是我所需要的,但是现在我想以某种方式将它与Apache连接起来。 希望我的解释清楚。 我想这是因为以下原因:我已经build立了一个门户来访问一些应用程序(Owncloud,Munin,Wiki,Shell in a Box)。 这个门户是一个代理服务器,当你访问例如www.example.com/owncloud时,代理服务器/容器。 目前我有一个htpasswd解决scheme,但我想要一个自定义的身份validation页面(以控制身份validation过程)。
我有freeradius 2.2.6。 只有在第一次连接的客户端发送访问请求和计费请求。 后来的连接只发送计费请求! 这个问题只发生在sone智能手机(所有其他设备工作),但客户端连接。 rad_recv: Accounting-Request packet from host 192.168.100.110 port 56137, id=246, length=165 Acct-Session-Id = "386D43F9-0000002C" Acct-Status-Type = Start Acct-Authentic = RADIUS User-Name = "test" NAS-IP-Address = 192.168.100.110 Vendor-29671-Attr-1 = 0x53797345646974 NAS-Port = 0 Called-Station-Id = "00-18-0A-7A-91-3C:Netweek" Calling-Station-Id = "78-4B-87-67-A9-1C" Framed-IP-Address = 192.168.1.33 NAS-Port-Type = Wireless-802.11 Connect-Info = "CONNECT 0Mbps 802.11b" # Executing […]
我有一个Rails应用程序,并希望在特定位置的基本Nginx的基本authentication,现在我这样做 location / { passenger_enabled on; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-FORWARDED_PROTO https; proxy_redirect off; } location /somelocation { auth_basic "Restricted"; #For Basic Auth auth_basic_user_file /usr/local/etc/nginx/.htpasswd; #For Basic Auth passenger_enabled on; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-FORWARDED_PROTO https; proxy_redirect off; } 有没有更好的方法来做到这一点?
我有一个Web应用程序,我想要使用Apache身份validation保护。 我发现它使用sha1 +盐来存储密码。 由于auth_mysql_module已被弃用,我尝试使用authn_dbd_module 。 目前我正在运行debian wheezy。 这里是networking应用程序如何创build密码哈希值: <?php sha1($pw.$salt); ?> 尝试使用PHP: sha1('password'.'salt') c88e9c67041a74e0357befdff93f87dde0904214 我可以使用mysql重现哈希: SELECT SHA1(CONCAT(@pw, @salt)); 尝试使用mysql: mysql> SELECT SHA1(CONCAT('password', 'salt')); +——————————————+ | SHA1(CONCAT('password', 'salt')) | +——————————————+ | c88e9c67041a74e0357befdff93f87dde0904214 | +——————————————+ 我的apache site.conf : DBDriver mysql DBDParams "host=localhost user=<db_user> pass=<db_pass> dbname=<db_name>" <Directory /var/www/htdocs/> Options -Indexes Order allow,deny Allow from all AuthName "Please enter […]
我的老板让我想出了一个方法来实现RDP访问服务器的双因素authentication。 所以,当我的任何一个pipe理员通过RDP远程login服务器时,他们必须通过某种forms的双因素身份validation。 我们希望第二个因素是存储在pipe理员本地证书存储区中的用户证书(不需要FOB或电话应用程序)。 看起来好像我可以使用现有的NPS服务器完成这项工作,并将RDP网关服务器添加到组合中。 我们以前使用RSA,但根据以往的经验,我宁愿不去那里,如果Windows可以天真地做到这一点,那就是我喜欢去的方式。 任何指南或指导将不胜感激。 更新:所以我在几个方面攻击了这个: 我已经build立并configuration了一个RD网关服务器。 我开始只是RD网关和RD Web工作,然后我join了RSA Web客户端。 这种configuration的工作原理和满足我们的需求只有几个缺点:a)我们必须抛弃我们的RD工具(我使用并且喜欢远程桌面pipe理器),因为我们必须通过RD Web来连接到服务器b)RDWeb没有“绕过本地地址”的选项。 我一直在与EMC RSA进行沟通,这至less是一个令人沮丧的行为。 此方法的configuration是RDP客户端通过RD网关连接到服务器,并让RD网关对RSA服务器执行半径调用以进行身份validation。 这个设置看起来非常接近,除了当我尝试validationRSAdebugging日志报告时,我几乎可以看到终点线。 Request has invalid syntax (eg invalid, missing or duplicate attributes), Rejecting 。 我现在正在等待第二个RSA技术人员回到我的意思是什么和/或什么参数没有通过NPS到RSA。 我也一直在考虑尝试使用用户证书作为身份validation的第二个因素。 我的老板认为,当试图将RDPjoin服务器时,除了用户名和密码之外,存储在本地机器的证书存储中的用户证书将满足他的双因素要求,但是没有安装智能卡读卡器,我无法弄清楚如何将用户证书传递给RD网关。 我已经开始寻求桌面虚拟智能卡(试图通过笔记本电脑使用Windows 8虚拟智能卡function),但是我的脑海里又有一个声音说“必须有一个更好的方法” 。 根据我迄今为止的经验,我一直在尝试放弃RSA,转而使用另一种产品,如Azure现场多因素身份validation选项, DuoSecurity或Wikid,但基于在RSA上投资,我的老板是不愿意改变。 有没有人有任何使用用户证书authentication到RDP的经验?
我们正在部署需要用户名/密码login的Web应用程序。 我们还在pipe理支持Web应用程序的基础架构。 我已经研究过,并且无法find与最佳实践相关的任何资源,以确定这些帐户是否应该成为单独的身份validation域的一部分。 我正在寻找任何有关与客户端服务(Web应用程序)和基础架构pipe理具有相同身份validation域相关风险的文档。 我担心的风险是客户端服务身份validation遭到黑客攻击,攻击者可能获得基础架构pipe理员的凭据。 从那里攻击者可以控制整个基础设施,而不仅仅是客户端服务(Web应用程序)。 如果我们有两个不同的身份validation域(没有共享帐户信息),那么这个风险就大大降低了。 是否有任何最佳实践文档说明这一点? 编辑信息不一定是特定于MS AD或LDAP,更一般的关于帐户types/目的的分离。
在CA Web注册网站的“提交证书请求或更新请求”页面( https://<servername>/certsrv/certrqxt.asp )下,“证书模板:”部分下面有一个https://<servername>/certsrv/certrqxt.asp ,证书模板types。 我有一个我想要颁发证书的自定义模板; 我怎么能得到特定的模板名称被添加到这个列表,或者是由微软预先定义和不可改变?
我运行Ubuntu 12.04和OpenLDAP 2.4.28-1.1ubuntu4.5。 我有用户在LDAP中填充userPassword属性是{SHA1}散列。 用户可以通过SSHlogin并通过Web应用程序进行身份validation。 现在,我想添加Radiusauthentication(从一个OTP服务器)到LDAP服务器作为一个额外的机制。 这样,用户可以通过Radius的“一次性密码”进行身份validation,但所有的POSIX属性都会从LDAP中被拉下来。 这可能吗? 什么机制叫?
我有一个运行在使用Windows身份validation的IIS上的网站。 在网站级别上,在“身份validation”下,我只有Windows Authentication (仅作为提供程序的NTLM)启用。 在虚拟目录级别上,在“身份validation”下,我启用了ASP.NET Impersonation和Windows Authentication (NTLM仅作为提供程序)。 (在这里禁用ASP.NET Authentication不会改变任何东西) 运行IIS的服务器的IP地址是: 172.0.0.10 运行IIS的服务器的计算机名称是: myiisserver 运行IIS的服务器上的FQDN是: myiisserver.mydomain.com 存在指向172.0.0.10:myapp.mydomain.com的DNS“Alogging” 在网站绑定,我有: 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 […]
我正在开发第三方Java应用程序,我需要使用Active Directory对其用户进行身份validation。 此应用程序托pipe在RHEL 6.5上,并使用LDAP通过Windows Active Directory进行身份validation。 AD服务器已经build立,并且与早期版本的应用程序(已configuration为启用集成)工作正常。 对于较新的版本,供应商已经规划了一些步骤来修改/configuration应用程序文件以连接到AD服务器,并期望帮助我们进行身份validation。 应用程序的组件之一是CAS,它当前被configuration为使用数据库作为其身份validation处理程序。 当我们input凭据 – 用户名:abcd,密码:samplepswd,我们能够成功login。 由于业务需求是使用LDAP使用Active Directory进行身份validation,因此我们必须修改CAS属性文件。 根据产品供应商的说明,我们更改了以下属性以使用ldap – authenticationHandler.type=ldap ldapSSLConfig.enabled=false ldapContextSource.url=ldap://sample.ADserver.example.net:389 ldapContextSource.userDn=abcd ldapContextSource.password=samplepswd ldapAuthenticationHandler.filter=uid=%u ldapAuthenticationHandler.searchBase=OU=DEF,OU=PQR,OU=XYZ,DC=ADserver,DC=example,DC=net 我们还需要对casAuthConfig xml文件进行以下属性的更改(因为不支持匿名search):1. anonymousReadOnly,value设置为false 2. java.naming.security.authentication,value设置为simple 有规定也可以使用SSL上的ldap,但目前我们没有使用。 但是,如果我们使用SSL,则必须对以下属性进行其他更改: ldapSSLConfig.enabled=true ldapSSLConfig.trustStorePath=/home/dir1/subdir1/subdir2/keystorename.keystore ldapSSLConfig.trustStoreType=jceks 这些是在我们(客户端)完成的唯一configuration更改; 实际上只做了一些改变。 服务器(AD服务器)上除了另一个用户以外没有添加/修改任何内容,但是这对现有设置没有影响。 重新启动cas以反映更改后,我们会遇到错误的凭据错误,虽然input的值是正确的: 2015-09-16 12:12:30,558 INFO [com.emeter.cas.authentication.support.DelegatingAuthenticationHandler] – Authenticating credential using handler com.emeter.cas.adaptors.ldappwd.BindLdapAuthenticationHandler 2015-09-16 12:12:30,558 DEBUG [com.emeter.cas.authentication.support.DelegatingAuthenticationHandler] – credentials.getUsername() = abcd […]