Articles of authentication

浏览器不要求客户端证书

我正在configurationApache使用客户端证书身份validation。 但是,当我浏览网站时,除非指定SSLCACertificateFile,否则它不要求我提供证书。 然后它会通过浏览器索取证书。 浏览器会popup一个框,要求我select一个证书(它只显示由SSLCACertificateFile指定的CA签名的证书)。 我正在使用自签名证书。 如果在SSLCACertificatePath中指定了“客户端”使用的证书,也没有关系。 任何有用的build议,为什么这样做? 除非指定SSLCACertificateFile,否则浏览器是否不要求证书正常? <VirtualHost _default_:443> DocumentRoot "C:/documents" ServerName server.ip:443 ServerAdmin [email protected] ErrorLog "C:/Apache2.2/logs/error.log" TransferLog "C:/Apache2.2/logs/access.log" SSLEngine on SSLCipherSuite HIGH:MEDIUM SSLCertificateFile C:/Apache2.2/certs/server.crt SSLCertificateKeyFile C:/Apache2.2/certs/server.key SSLCertificateChainFile C:/Apache2.2/certs/ca.crt SSLCACertificateFile C:/Apache2.2/certs/ca.crt SSLCACertificatePath C:/Apache2.2/allowed-crts SSLCARevocationPath C:/Apache2.2/revoked-certs SSLVerifyClient require SSLVerifyDepth 2 SSLOptions +ExportCertData +StdEnvVars <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory "C:/Apache2.2/cgi-bin"> SSLOptions +StdEnvVars </Directory> BrowserMatch ".*MSIE.*" […]

SSL证书,双向authentication和负载均衡

我们正在寻求为我们的应用程序用户的特权子集实现客户端证书的双向身份validation。 这个想法是,如果检测到一个证书,用户将被要求input一个额外的密码/密码,这将用于validation证书和用户。 普通用户将继续通过标准的login机制进行身份validation。 我们的生产环境(由一家知名公司托pipe)包括负载均衡的应用程序服务器,我不清楚这个设置将如何处理证书,我不确定是否有任何我应该知道的陷阱。 我很感激在这个问题上的一些想法,意见或现实世界的build议。

我怎样才能禁用我的网站的根Kerberos身份validation?

我有基于Kerberos的身份validation,我想只禁用它的根URL: http://mysite.com/ : http://mysite.com/ 。 而且我希望它可以继续在http://mysite.com/page1类的任何其他页面上正常工作。 我在.htaccess中有这样的事情: AuthType Kerberos AuthName "Domain login" KrbAuthRealms DOMAIN.COM KrbMethodK5Passwd on Krb5KeyTab /etc/httpd/httpd.keytab require valid-user 我只想closures根URL。 作为解决方法,可以在虚拟主机configuration中使用.htaccessclosures。 不幸的是我不知道该怎么做。 我的一部分vhost.conf: <Directory /home/user/www/current/public/> Options -MultiViews +FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> UPD。 我正在使用Apache / 2.2.3(Linux / SUSE) 我试图使用这样的.htaccess版本: SetEnvIf Request_URI ^/$ rootdir=1 Allow from env=rootdir Satisfy Any AuthType Kerberos […]

目录安全与Chrome浏览器失败

我有一个受保护的目录:(从vhost conf文件中提取) <Directory "/var/www/protectedDir"> allow from all Options -Indexes AuthName "secure data" AuthType Basic require user jack AuthBasicProvider file AuthUserFile /home/tracker/protectedDir.sec <Files "mx7.html"> AddType application/x-httpd-php .html </Files> </Directory> 在IE,Firefox,Safari和Opera中加载时,要求input用户名和密码,但是使用Chrome浏览器版本21.0.1180.60 m时 ,安全被绕过,用户被直接发送到受保护的内容。 我清除了Chrome上的caching和所有其他浏览数据项,并且没有任何密码pipe理扩展正在运行。 我很难过 不知道问题是否与我的服务器configuration有关,或只是我的Chrome安装有点奇怪。 有任何想法吗?

我如何设置一个身份validation系统,具有凭证的单个实例存储以及多个身份validation方法/接口?

背景:我有一系列基于Linux的服务器(比如几十个),这些服务器位于不同的位置。 一些服务器是独立的卫星,而另一些服务器则在同一个数据中心中。 一些是物理硬件服务器,另一些是虚拟专用服务器。 服务器提供电子邮件,Web应用程序托pipe,数据库以及某些自定义应用程序的服务器端部分。 服务器本身已经有pipe理硬件的工具,操作系统级的pipe理(pipe理员账号,虚拟服务器pipe理等)也被照顾到了。 问题:到目前为止,在应用程序级别对不同服务的身份validation使用了许多解决scheme。 有时,这意味着帐户密码必须存储在多个位置。 一个更好的解决scheme是拥有一个集中pipe理的单一源authentication系统,允许每个服务从一个帐户的单一实例authentication一个用户,并允许在单个数据项上进行操作,而不是确定哪个位置需要在创build,更改和删除帐户时进行更新。 凭证数据可以被复制以提供冗余。 (请注意,此处的目标与单一login不同:您必须分别对每个应用程序进行身份validation,但您的凭据存储在一个位置。请参阅此问题 。 以前的几个问题都提到了LDAP,并且还谈到了Kerberos。 这个问题询问了LDAP的安全性,并要求比较LDAP和Kerberos。 Kerberos很好,但是在这种情况下不需要单点loginfunction,所以设置Kerberos可能会过度,导致不必要的pipe理负担。 这个问题扩大了范围,包括networking设备,重点是在操作系统级别比应用程序级别。 在我的情况下,它只是需要的应用程序级authentication。 这也意味着需要支持的各种authentication协议有较大的变化。 PAM是不够的。 这个问题要求替代LDAP,但答案指向LDAP,无论如何,有充分的理由。 NIS是另一个提出的解决scheme,但在这种情况下,它确实不适合,因为它只是解决了密码(和其他)信息的分发,而不是存储,pipe理和身份validation方法。 最后, 这个问题似乎很相似,但重点是真正的VPNvalidation。 (这里也有一个类似的问题,但不够精确,不适合ServerFault。) LDAP是我目前使用的validation来源之一。 但是,并非所有应用程序都可以使用LDAP。 有些需要一个基于HTTP的接口,而另外一些需要使用SQL接口。 例如,需要运行OpenID提供程序,并且我需要为用户运行的一些自定义软件只能configuration为通过ODBC进行身份validation。 另一个build议是FreeIPA http://freeipa.org/ ,但它也有额外的Kerberos负担,看起来更像是OS级别的解决scheme。 它已经发展了一段时间了,但我并不完全相信它已经够成熟了,它也可能有太多的不可思议的特征,但是还没有提供我真正需要的特征。 我想分离validation数据(用户名和密码)与validation服务的存储 。 我将使用一个定义明确的安全位置来存储数据,以及使用存储位置使用各种协议/接口提供身份validation的多个身份validation服务。 至less需要一个LDAP和一个SQL接口,一个OpenID提供者也在列表上。 我认为LDAP是存储的好select,但是我也愿意接受其他的select。 最好是免费/开源软件。 问题:我应该select哪种软件来存储身份validation凭证,以及如何提供不同的接口来对这些凭证进行身份validation? 你有什么build议?

访问使用本地主机的网站和IP地址之间的区别

我开发了一个ASP.NET网站,并部署到我的IIS服务器。 现在看到我的IIS安装正常,我在地址栏中键入本地主机,并在单独的窗口中获得IIS及其文档的欢迎屏幕。 现在我给我的网站的URL http://localhost/mysites/site2/Default.aspx我访问我的网站。 也给我的IP地址,而不是像本地主机: http://192.168.1.46/mysites/site2/Default.aspx : http://192.168.1.46/mysites/site2/Default.aspx也可以。 出于好奇,我想看看当我在地址栏中给出我的IP地址时会发生什么。 它问我一个用户名和密码说: The server 192.168.1.46:80 requires a user name and password 。 我不知道它问的是什么用户名和密码,而且就我的知识而言,我认为localhost在内部指向我自己的IP地址。 但有什么区别,还有我需要什么用户名和密码? 更新:在铬和IE只是给本地主机显示欢迎屏幕,但在Mozilla上,本地主机也要求input用户名和密码。

多个域(站点)之间的Windows身份validation失败

我刚刚推出了一个新的Intranet公司 – 该公司有6个英国站点,每个站点都有一个称为(例如)london.local,derby.local,thatlotupnorth.local等的本地域,每个站点都有自己的AD服务器。 (这些站点通过Virgin连接到MPLS,但对于这个问题应该是透明的) Intranet服务器(Server 2008 R2,IIS 7.5)位于,可以说london.local,并使用Windows身份validation为了validation和访问Intranet服务器上的站点。 这工作正常,但一个网站。 进一步的调查显示,一个用户谁是这个网站的成员,可以说derby.local,不能login到他们的帐户从另一个域内,例如我在derby.local域上设立一个帐户,并试图从伦敦login.local,我得到错误“目前没有login服务器可用于服务login”,表明AD服务器不可访问,但我可以ping它。 我相当确定内部networkingWindows身份validation的原因是因为服务器无法访问其他站点上的AD服务器。 nslookup报告一个域名为“不存在”,所有其他AD服务器回复其详细信息。 但是我能够ping derby.local。 任何关于从何处开始排疑解难的赞赏!

在Tomcat中使用Apache HTTP用户?

我需要用户在Apache HTTP中对一些静态资源进行身份validation(使用mod_auth_openid) ,我也有一个Tomcat应用程序在运行,我如何接受HTTP用户作为Tomcat用户,这样用户不需要login两次? 澄清 :我不想在Tomcat方面重新检查凭据,但基本上相信已被Apache HTTP识别的用户是正确的(无论身份validation发生的方式 – 哪个是主要观点:移交用户名/密码是* *没有*选项,因为可能没有密码,实际上最有可能不会)。 我想要这个与Tomcat身份validation系统一起工作,但是一些指针如何与本地身份validation一起工作不会造成任何损害。

LameUser尝试 – apache2的Web服务器身份validation – IP范围访问没有通过提示其他人

我有关于apache2 web服务器和安全性(也许愚蠢)的问题 – 我试图实现这一点:用户连接从192.168.1.24不会被提示input密码,并允许其他人要求input用户名和密码,如果正确,然后连接。 我正在尝试为整个目录/ var / www做这个 不pipe我把代码放到.htaccess文件还是在httpd.conf中,它都不适用于我。 命令否认,允许 全部否认 AuthName“PassRequest” AuthType基本 AuthUserFile /var/.htpasswd 要求有效的用户 允许从192.168.1.24 满足任何 如果我尝试连接到网页,我允许从允许的IP或任何其他,如果我删除满意的任何行然后我提示input密码,如果我也删除密码,并尝试从不同的IP连接我不是拒绝…有一些模块需要被激活或为什么IP指令被跳过? 它需要放在每个文件夹或/var/www/.htaccess就够了? 我可以把它放在httpd.conf而不是? 我花了最后4个小时试图谷歌为什么这样的行为,任何帮助将高度赞赏:-)) 编辑1.11.2012:添加允许覆盖,应用到目录并移动到httpd.conf,没有成功,检查加载模块,问题仍然存在 我添加了AllowOverride指令(虽然目前在/ var / www中没有.htaccess),并将所有内容都放在httpd.conf中的根目录下。 这是我目前在httpd.conf中的 <Directory /> AllowOverride None Order deny,allow Deny from All Allow from 195.137.181.24 Options Indexes AuthType Basic AuthName "You are accessing outside of our network, Enter password!" AuthUserFile […]

Apache:在服务器状态的AUTH之前redirect到https

我想强制https和服务器状态输出(mod_status)的基本身份validation。 如果我启用身份validation,用户请求http://site/server-status Apache首先要求通过,然后redirect到httpS,然后再次要求通过。 这个问题类似于Apache – 在AUTH之前redirect到https, 在.htpasswd之前强制https与apache,但是我无法得到它的工作,因为我们讲的不是通用文件夹,而是位置结构。 我的configuration(简称)如下: <Location /server-status> SSLRequireSSL <IfModule mod_rewrite.c> RewriteEngine on RewriteBase /server-status RewriteCond %{HTTPS} off RewriteCond %{SERVER_PORT} 80 RewriteRule ^ – [E=nossl] RewriteRule (.*) https://site/server-status} [R=301,L] </IfModule> SetHandler server-status Order deny,allow Deny from all Allow from localhost ip6-localhost Allow from 1.2.3.0/24 Allow from env=nossl AuthUserFile /etc/httpd/status-htpasswd AuthName "Password protected" AuthType […]