Articles of httpd

Apache – 如何限制Content-Type标题长度以避免CVE-2014-0050?

周四Tomcat邮件列表( “[SECURITY] CVE-2014-0050 Apache Commons FileUpload和Apache Tomcat DoS” )宣布Tomcat的DoS问题。 当我上传文件时(如果在Web应用程序中使用Servlet 3.0+上传function),攻击者似乎能够通过发送超长的content-type标头来导致无限循环,就我所了解的信息而言乍一看。 如果有人在Apache httpd服务器(使用AJP和mod_jk)后面运行他们的Tomcat服务器,那么可以采取什么措施来实现build议“将Content-Type头限制为小于4091字节” ? 当然,只要修补程序版本可用(通过下载页面或Linux发行版特定软件包存储库),就应该更新。 没有问题。 但目前可用的Tomcat 7.0.50版本似乎仍然受到影响。 但是,在固定版本发布之前,作为一种快速防御措施,可以做些什么呢? (不必… 卸载当前的Tomcat软件包(从软件包仓库安装), 从源代码(SVN)手动构build版本, 手动部署(不带apt-get或aptitude ), 稍后再次卸载所有手动构build的东西,以便从软件包存储库中获得舒适的可更新版本) 有没有类似于这个主题的临时解决方法: http : //wiki.apache.org/httpd/CVE-2011-3192 ? 那么,可以使用mod_headers , mod_setenvif或mod_rewrite来处理这个问题。 是否有类似的Apache httpd技巧来保持畸形的分段上传请求远离下游Tomcat服务器?

可能修改标题中的主机

每当有人访问intern.old-company-name.example.com我希望它被redirect到https://intern.new-company-name.example.com 。 一种方法是做到这一点 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*) https://intern.new-company-name.example.com$1 # RewriteRule ^(.*) https://%{HTTP_HOST}$1 </IfModule> 但我不喜欢我硬编码外部子域intern到httpd.conf 。 题 是否可以在%{HTTP_HOST}上执行正则expression式,以便在redirect到https之前将old-company-namereplace为new-company-name ? 或者也许类似的东西? 更新 # apachectl -S VirtualHost configuration: 10.10.10.10:443 is a NameVirtualHost default server aybcom (/etc/httpd/conf.d/ssl.conf:85) port 443 namevhost aybcom (/etc/httpd/conf.d/ssl.conf:85) Syntax OK

Pagespeed GZIP Facebook喜欢button

我在httpd上使用mod-deflate来压缩资源。 Pagespeed抱怨说,一个外部资源(Facebook的button)没有被压缩: Compressing https://fbstatic-a.akamaihd.net/rsrc.php/v2/yU/r/lvRlebSUWb1.js could save 126.0KiB (69% reduction). 有针对这个的解决方法吗?

颠覆阿帕奇 – 结帐失败:405方法不允许

我尝试在apache服务器上设置颠覆。 我遵循这个指南:[ http://wiki.centos.org/HowTos/Subversion] [1 ] 如果我尝试与龟龟SVN一个项目结帐后,我得到以下错误: Unexpected HTTP status 405 'Method Not Allowed' on '/repos 如果我尝试在Linux服务器上使用svn客户端,我得到以下错误: svn: Server sent unexpected return value (405 Method Not Allowed) in response to OPTIONS request for 'https://server.ch/repos' 我在Apache服务器上的当前configuration如下所示: LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so <VirtualHost *:443> … <Directory "/var/www/svn/"> Order allow,deny Allow from all AllowOverride all AuthType Basic AuthName […]

Apache服务器:IP地址路由到域而不是DocumentRoot

我的服务器只有一个网站。 我的愿望是打开不同的目录时,IP地址被用作网页浏览器的URL。 但是,即使将DocumentRoot设置为不同的目录,IP地址也会打开我的domain.com。 如果我删除该domain.com的.conf文件,则IP地址按预期打开DocumentRoot。 这是我的configuration: conf.d / domain.com.conf文件 <VirtualHost *:80> DocumentRoot /var/www/html/domaincom ServerName domain.com ServerAlias www.domain.com <Directory "/var/www/html/domaincom"> AllowOverride All </Directory> </VirtualHost> conf / httpd.conf文件 ServerTokens OS ServerRoot "/etc/httpd" PidFile run/httpd.pid Timeout 60 KeepAlive Off MaxKeepAliveRequests 100 KeepAliveTimeout 15 <IfModule prefork.c> StartServers 8 MinSpareServers 5 MaxSpareServers 20 ServerLimit 256 MaxClients 256 MaxRequestsPerChild 4000 </IfModule> <IfModule […]

加固Web服务器密码:select哪个密码列表,或者如何在Mozilla和Hynek之间进行映射

到目前为止,我只知道Hynek Schlawack在博客上强化web服务器密码,其中有一个相对较短的密码列表。 但是最近我发现了如何解决Apache(httpd)中的logjam漏洞,它指向Mozilla安全:服务器端TLS中更长的中间列表。 名单是完全不同的,所以我想知道如何在两者之间进行映射。 我把两者都分开,所以每行都有一个密码,使得发现差异更容易: https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/ ECDH+AESGCM DH+AESGCM ECDH+AES256 DH+AES256 ECDH+AES128 DH+AES ECDH+3DES DH+3DES RSA+AESGCM https://wiki.mozilla.org/Security/Server_Side_TLS#Recommended_configurations ECDHE-RSA-AES128-GCM-SHA256 ECDHE-ECDSA-AES128-GCM-SHA256 ECDHE-RSA-AES256-GCM-SHA384 ECDHE-ECDSA-AES256-GCM-SHA384 DHE-RSA-AES128-GCM-SHA256 DHE-DSS-AES128-GCM-SHA256 kEDH+AESGCM ECDHE-RSA-AES128-SHA256 ECDHE-ECDSA-AES128-SHA256 ECDHE-RSA-AES128-SHA ECDHE-ECDSA-AES128-SHA ECDHE-RSA-AES256-SHA384 ECDHE-ECDSA-AES256-SHA384 ECDHE-RSA-AES256-SHA ECDHE-ECDSA-AES256-SHA DHE-RSA-AES128-SHA256 DHE-RSA-AES128-SHA DHE-DSS-AES128-SHA256 DHE-RSA-AES256-SHA256 DHE-DSS-AES256-SHA DHE-RSA-AES256-SHA AES128-GCM-SHA256 AES256-GCM-SHA384 AES128-SHA256 AES256-SHA256 AES128-SHA AES256-SHA AES CAMELLIA DES-CBC3-SHA !aNULL !eNULL !EXPORT !DES !RC4 !MD5 !PSK !aECDH !EDH-DSS-DES-CBC3-SHA […]

httpd – 增加并发请求的数量

我有在Centos7运行的httpd server 。 Apache的详细信息 – Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips PHP/5.4.16 我试图加载testing一个Web应用程序,开始打100个用户,一路攀升到2500。 当我运行testing&在Centos上运行这个&运行ps -ef | grep apache | grep -v gep | wc -l ps -ef | grep apache | grep -v gep | wc -l ps -ef | grep apache | grep -v gep | wc -l我看到的apache进程的数量是257.它不超出这个数字,因此,我在负载testing中看到超时。 我没有configuration更改将线程数限制为257.因此,我想这是一个默认configuration设置的地方? 为了增加要处理的并发请求的数量,我添加了以前不存在的下面的configuration 这里是关于线程创build的configuration <IfModule mpm_worker_module> ServerLimit 50 StartServers 2 […]

Apache:实际版本发布date与服务器构builddate?

在我的Linux,我有httpd (Apache2),我很好奇它的版本发布date。 所以我做了: #httpd -v Server version: Apache/2.2.15 (Unix) Server built: Dec 15 2015 15:50:14 但是,当我谷歌有关“Apache 2.2.15发布date”,根据Apache官方版本公告归档,它是从06 Mar 2010 ,这是非常老的。 参考: 那么请让我明白哪个date是我的Apache实际更新的? 谢谢你们所有的! 🙂

Apache HTTPD:具有代理和目录别名的虚拟主机的URLparsing

以下是我的环境: REST api (django),在端口http://server:8107/api上通过WSGI(mod_wsgi)运行 API网站的静态文件 (我有一些pipe理页面),在一个目录中,说/opt/wsgi/staticfiles/subdomain 运行在pm2 / nodejs上的Web应用程序 (expressjs)在http://server:3002/ 我需要将所有这些在端口80上的虚拟主机下进行分组,如下所示: http://subdomain.server/api :其余的API http://subdomain.server/api/static :API网站所需的静态文件 http://subdomain.server/ :web应用程序 以下是configuration的相关部分: <VirtualHost *:80> ServerName subdomain.server ServerAlias subdomain.server.local Alias /api/static/ /opt/wsgi/staticfiles/subdomain/ <Directory /opt/wsgi/staticfiles/subdomain/ > Order Allow,Deny Allow from All Options -Indexes IndexOptions Charset=UTF-8 </Directory> ProxyPass /api http://127.0.0.1:8107/api ProxyPassReverse /api http://127.0.0.1:8107/api ProxyPass / http://127.0.0.1:3002/ ProxyPassReverse / http://127.0.0.1:3002/ </VirtualHost> 现在,当我尝试访问一个静态资源(比如说/api/static/js/jquery.js )时,我发现URL并不是由Alias指令首先parsing,而是传递给WSGI应用程序( […]

Apache mod_proxy:基于http头redirect?

我想知道是否可以根据http请求标头值将httpstream量定向到特定的后端服务器。 以“引用者”的http头值为例。 我有2个服务器实例。 一个用于UAT(testing)和一个用于预生产使用。 我想在这两个服务器实例前面有一个Apache反向代理。 而当一个http请求来到时,基于'referer'http头(uat或pre-prod)的值,我希望我的反向代理将请求指向正确的后端服务器实例。 这可能吗? 谢谢