我们有一个Web应用程序(Apache / PHP),目前使用用户名/密码authentication,目前可以从任何地方访问。 它启用了服务器端SSL。 我们的客户端程序是我们修改和更名的FireFox版本。 这个修改后的Firefox客户端仅用于连接到我们的Web应用程序服务器。 用户必须使用此客户端程序连接到Web服务。 除了用户身份validation之外,我们还希望在服务器级别阻止任何不使用我们的客户端程序*的人访问。 因此,如果用户使用普通浏览器inputURI,他们将被彻底拒绝。 要做到这一点,客户端程序需要向服务器标识自己,以便服务器知道我们的客户端程序正在使用,而不是Web浏览器或机器人。 *真正的目标是在能够尝试login之前确保他们是我们公司的授权员工,将这个“就业certificate”embedded到客户端程序中似乎是最简单的方法,因为应用程序是只有给需要使用它的人 到目前为止,我已经对如何实现这一点有了一些想法。 1.)在客户端进行login(login由chrome / XUL接口处理)时,将tolkenembedded到发送的客户端应用程序中。 这不会在服务器级别阻塞,只是在应用程序级别。 密钥可以像密码一样容易地被窃取,但是不会像蛮力那样容易地被猜出,因为它可能是任何长度或复杂性。 在所有请求中,在客户端浏览器标题中添加一个特殊的tolken参数。 这更像是安全通过默默无闻,但肯定会减慢攻击者试图暴力强制密码,如果login总是失败(即使使用正确的密码),当魔术string从请求中丢失.. 2.)将客户端SSL证书embedded到客户端程序中。 这看起来可能是一个很好的解决scheme,但是cleint端的SSL文档几乎不存在。 我们不希望为每个用户签署一个证书,也不希望用户必须创build一个证书,或者根本不用担心安全对话。 私钥必须embedded到浏览器中,并且将成为所有客户端程序共享的一个密钥,并在我们的自定义浏览器中分发。 3.)检查用户代理string。 我认为Apache可以基于此来限制。 但这似乎是一个弱项措施。 除了其他措施,我可能会这样做。 我希望更好的想法如何做到这一点?
我正在尝试设置一些WebSSO机制,允许我的客户对内部Active Directory进行身份validation,然后添加包含凭证信息的安全(https)头。 版本1确定:validation并添加标题 第一个版本“非常”简单。 我正在使用Apache和mod_auth_kerb来validation,然后添加标题。 以下configuration是现有的一个kinsnippet。 <VirtualHost *:80> ServerName external-sso.corp.fr RewriteEngine On </VirtualHost> <location /app2> # Authentication AuthType Kerberos AuthName "Active Directory Authentication" KrbMethodNegotiate On KrbMethodK5Passwd On KrbLocalUserMapping On KrbAuthRealms CORP.REALM.FR Krb5KeyTab /etc/krb5/http-myserver.corp.realm.fr.keytab Require valid-user # Identification AuthLDAPURL "ldaps://corp.realm.fr:636/DC=realm,DC=corp,DC=fr?sAMAccountName?sub?(objectClass=*)" AuthLDAPBindDN "CN=App2,OU=cloud,OU=prod,OU=Authentication,DC=realm,DC=corp,DC=fr" AuthLDAPBindPassword "*******" AuthLDAPGroupAttributeIsDN on Require valid-user # Adding Information into headers RewriteCond %{REMOTE_USER} (.+) […]
我一直在我的apache 2.2.22(Ubuntu)日志文件中看到这一点,不知道为什么发生或如何解决它 [debug] ssl_engine_kernel.c(1884): OpenSSL: Write: SSL negotiation finished successfully [info] [client 10.0.0.5] Connection closed to child 3 with standard shutdown (server example.com:443) [info] [client 10.0.0.5] (70007)The timeout specified has expired: SSL input filter read failed. 我已经看到了这个: Apache Proxy TimeOut 我已经尝试了a2dismod reqtimeout_module和这些选项以及: SetEnv proxy-sendchunks SetEnv force-proxy-request-1.0 1 SetEnv proxy-nokeepalive 1 ProxyPass / https://example.com/ connectiontimeout=300 timeout=300 […]
我遇到了一篇题为“ 高效301redirect ”的文章。 例如,如果您尝试将您的网站从wwwredirect到非www域,则文章build议,与此.htaccess / httpd.conf规则相比: <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^www.domainname\.com$ [NC] RewriteRule ^(.*)$ http://domainname.com/$1 [R=301,L] </IfModule> 这将是一个更有效的301redirect(虽然只是略有): <IfModule mod_alias.c> Redirect permanent / http://domainname.com/ </IfModule> 问题:后者的规则是否真的有效(甚至是微小的)?
我在Windows Web Server 2008 R2(64位)上安装了Apache 2.4.2,OpenSSL / 1.0.1c, 在12小时的较重负载之后,SSL请求停止工作/被回答。 但是,如果您通过http而不是https请求相同的页面,它工作正常。 重新启动Apache服务器修复了这一点。 再过几个小时的stream量,https请求再次停止工作。 我检查了日志,没有什么值得注意的,mod_ssl条目只是… 该网站只能由Delphi 2007(CodeGear用户代理)开发的客户端调用。 Delphi客户端使用THTTPRIO向SOAP发送HTTPS请求。 有任何想法吗? httpd.conf文件 AcceptFilter http none # AcceptFilter https none # (try to uncomment, but ssl stop work) EnableMMAP off EnableSendfile off 的httpd-ssl.conf中 Listen 443 SSLPassPhraseDialog builtin SSLSessionCache "shmcb:logs/ssl.scache(512000)" SSLSessionCacheTimeout 600 的httpd-vhosts.conf <VirtualHost 192.168.1.76:443> DocumentRoot "C:/xampp/htdocs/mysite/" ServerName secure.mysite.com:443 SSLEngine on […]
我的网站已经放慢了最后几天…一些图像不显示…我得到了 408 Request Time-out: Server timeout waiting for the HTTP request from the client 几次之前从未发生过的事情。 我做了一些性能检查,基本上是在SSH的顶级命令 这是结果 http://up.akstube.com/images/vdtebe9sr10si1eyycd.jpg 因为你可以看到内存使用率是非常高的…或者我认为是。 我已经重新启动服务器…它下降了,但之后,它再次上升….(这是约一个小时后重新启动) http://up.akstube.com/images/49xjeylxy0st7vwn4ojl.png 半小时后=> top – 16:14:22 up 1:56, 2 users, load average: 0.62, 0.90, 1.15 Tasks: 303 total, 1 running, 302 sleeping, 0 stopped, 0 zombie Cpu(s): 8.0%us, 0.2%sy, 0.0%ni, 91.4%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st Mem: […]
我被要求提供一种加载传入电子邮件的方式,操纵文本的某些部分,然后将其转发到Web服务器供客户端阅读。 基本上,拦截邮件,把它通过另一个进程,一旦这个过程完成 – 这很重要 – 扔在networking服务器,就像在我的进程截获之前发生的一样。 除了实际的电子邮件文件外,我还需要从MySQL数据库中读取有关该帐户的信息。 邮件服务器是Postfix / Dovecot,Web服务器是Apache – 在CentOs上运行。 他们可能在同一台服务器上运行或不在。 我不想做服务器的工作,扫描病毒或做任何authentication – 所有这一切应该已经发生。 我已经研究过一些caching的想法,甚至使用NginX作为IMAP代理,但我想这就像试图用霰弹枪杀死苍蝇。 更糟糕的是,我实际上并不是一个Web人,所以我不知道所有的Apache错综复杂。 有没有人有任何想法,以什么时间截取这封电子邮件之前,以无缝的方式到达浏览器? 任何帮助将非常感激。 非常感谢
我的文件全部由apache拥有:apache。 所有目录有770个权限,文件有660个权限。 我原来的虚拟主机似乎很好,但第二个是在所有path上得到403错误。 这是我在/etc/httpd/conf/httpd.conf中的当前configuration <Directory "/var/www/site1"> Options Indexes FollowSymLinks AllowOverride All <IfModule mod_access.c> Order allow,deny Allow from all </IfModule> </Directory> <Directory "/var/www/site2"> Options Indexes FollowSymLinks AllowOverride All <IfModule mod_access.c> Order allow,deny Allow from all </IfModule> </Directory> <VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/site1/ ServerName site1.domain.com ErrorLog /var/log/httpd/site1.error.log CustomLog /var/log/httpd/site1.access.log common </VirtualHost> <VirtualHost *:80> ServerAdmin [email protected] DocumentRoot […]
我在Centos上运行, 麻烦的是,当我重新启动我的服务器,我需要启动我的Apache和清漆服务 我用这个来启动它们 service httpd restart && service varnish restart 但是,我想他们两人开始,当我重新启动服务器 我读了我可以使用这个 chkconfig httpd on 但是,这只是为了Apache可以做到这一点 chkconfig varnish on 最后,当我通常开始httpd的时候,我被要求提供SSL的api密钥,我能够在启动时将这个信息合并到varnish和httpd中。 或者我注定每次运行此命令我重新启动
在Windows Server 2008 R2上,我的ITpipe理员使用Windows证书pipe理工具安装了证书。 该证书用于* .thedomain.com。 为了安全起见,他把它设置为不可出口:我不能肯定能把我的手放在证书上。 这种configuration将允许我在Microsoft产品中使用证书,但不能使用证书。 问:有没有办法configurationApache 2使用这个证书“windows方式”?