问题标签 [mod-security]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1323 浏览

jakarta-ee - HTTP 输入过滤器,例如 WebSphere 的 mod_security?

WebSphere 是否提供像 mod_security 这样的 HTTP 输入过滤器/防火墙?

我知道让 Apache 成为 WebSphere 的 HTTP 服务器前端是可能的,但这种类型的配置超出了我的影响。我们只能使用 WebSphere 本身可以做的事情。

编辑-澄清一下,我不是在这里寻找安全性的身份验证、授权或不可否认方面。我想要一个基于规则的 HTTP 防火墙,比如在 WebSphere 上运行的 mod_security。

另外,我知道在 1.x 版本中,Java 中有 mod_security 的部分实现。我们目前有一个定制的内部解决方案,它与工作类似,但不那么随意配置。谢谢!

0 投票
2 回答
869 浏览

ruby-on-rails - Rails / Mongrel 可以接受带有文本字段的表单 POST,其值为 URL

在我的 Rails 应用程序中,我试图创建一个允许用户创建书签的表单。


编辑:为清楚起见,这里是上述模板生成的实际 html:

如您所见,这是一个完全正常的形式。


除非输入实际的 URL,否则它的效果很好,在这种情况下,服务器永远不会响应,并且我在 mongrel.log 文件中收到一条消息

可以看出,请求永远不会到达我的控制器代码。

从那以后,我发现提交字段值以字符串“http:/”开头的任何表单都会导致问题。在解决问题之前放置任何其他字符或空格。我也在其他 Rails 应用程序(在同一台服务器上)中尝试过,结果相同。

因此,可以通过在字符串的开头插入额外的空间并在服务器上剥离它来解决该问题。

但我宁愿只在可能的情况下修复服务器端。

我希望这只是服务器上的一个简单错误配置。

我在基于 CPanel 的共享主机安排上在 Rails 2.1.0 下运行。

0 投票
2 回答
5385 浏览

php - apache mod_security 说 - 拒绝访问错误

背景 -

我的网站代码托管在 linux 服务器上。我的网站允许雇主进行新的注册(http://www.gymandspajobs.com/Employer/Employer.php)。填写的表格由文件夹“ /javascript ”中的 JavaScript 验证,如果发现信息正常,则通过 JavaScript HTTP 请求对象和保存在文件夹“ /somefolder ”中的 PHP 文件“ somefile.php ”提交数据在根目录下进行数据库插入。

问题 -

当一个新用户尝试使用 Firefox 注册时(我在 WinXP SP2、Firefox - v3.5.2 中进行了测试),我曾经得到的 HTTP 响应(我在我的 JavaScript 文件中点击)是“你没有访问权限/此服务器上的 somefolder/somefile.php。 " .

令人惊讶的是,相同的功能在 IE7 和 Chrome 中运行得非常好。

问题的最新更新 -

我联系了我的网络托管人员,在收到他们的回复后,我的问题似乎已经解决。

我们已为您的域禁用 mod_security 来修复它。我们已在您的域的 httpdocs 目录下的 .htaccess 文件中输入以下行。我们还验证并成功提交了雇主注册,没有任何问题。~~~~~ SecFilterEngine 关闭 ~~~~~

虽然问题已经解决,但我认为制作“ SecFilterEngine off”可能不是解决这个问题的最佳方法,因为它会损害安全性。因此,我问托管人员是否有办法让 mod_security 保持打开状态,同时让我的功能正常工作......这是他们的回复......

问:我的代码有什么办法可以在保持 mod_security 开启的情况下工作吗?

答。有可能的。但这并不容易。您必须修改文件中的代码,使 URI 不应具有模式“ !(^application/x-www-form-urlencoded$|^multipart/form-data;)”,因为我们在 apache 错误日志中找到了此条目 -

mod_security 动作:403

mod_security-message:使用代码 403 拒绝访问。模式匹配“ !(^application/x-www-form-urlencoded$|^multipart/form-data;)”在 HEADER(“Content-Type”)

我通过 JavaScript 使用 HTTP 对象和 POST 方法作为 -

请指导我,我需要在上面的代码行中进行哪些更改,以便 mod_security 可以保持打开,但我的注册表单可以工作?

谢谢并恭祝安康,

-Rupak Kharvandikar-

0 投票
2 回答
654 浏览

internet-explorer - IE 发送 OPTIONS 请求文件下载

在我的网站上,我有一个非常基本的设置:一个只指向一个文件的“a href”标签。没有什么花哨:

没有花哨的javascript,什么都没有。一些使用低于 8 的旧 IE 版本的用户在下载类似这样的不同文件时遇到了参差不齐的问题。我能够追溯到它的是 IE 会发送一个文件的 OPTIONS 请求(即使这样也不是一直)。由于我没有运行 Webdav 服务器,因此我将 mod_security 设置为默认值以拒绝那些非正常标头,因此它返回 500 响应。

IE8、Firefox 和 Chrome 不执行 OPTIONS 请求,因此永远不会出现问题。

我是否需要在我的一端设置一些不同的东西来让 IE 停止发送一个 OPTIONS 请求而只是一个标准的 GET 请求?

跑步:

  • CentOS 5.3
  • 阿帕奇 2.2.8
  • mod_security 2.5.0
0 投票
5 回答
4494 浏览

php - 在 Wordpress 中,主题文件夹中的 .php 文件不运行,但返回 404 错误

我在 VPS 环境中,所以我有 root 访问权限,顺便说一句。

所以看看这些问题: http ://www.sonikastudios.com/wp-content/themes/sonikas/scripts/timthumb.php?src=/wp-content/uploads/tedleescreenshot1.jpg&w=100&h=100&zc=1&q =100

这将返回 404 错误。

但是,当我将 timthumb.php 移动到站点的根目录时,它可以工作。

我验证了文件/文件夹权限,这不是问题。此外,我用于验证码的另一个 PHP 生成图像也在做同样的事情......

所以基本上它归结为没有从文件夹中运行的 .php 文件。但是,否则这不是问题,因为我在其他站点上的 /admin/ 下的 PHP 脚本可以正常工作。

那么……是什么原因造成的?我阅读的大多数论坛文章都倾向于 mod_security 问题,但我什至不知道从哪里开始,因为我不是 apache 专家。

0 投票
2 回答
18874 浏览

facebook - 指向我网站的 Facebook 链接解析为 403 禁止

嗨,我遇到了一个超级奇怪的问题。
每当我在 Facebook 上发布指向我网站的链接时,它们都会显示为禁止访问。
该网站本身运行良好,在其他网站上链接时我没有看到这一点。
这可能是服务器配置错误吗?关于在哪里看的任何想法?

这里有一些信息:
我有一个运行 WHM 11.25.0 的专用服务器
我在这里使用 cPanel 11.25.0 托管了 2 个站点

错误消息:

禁止的

您无权访问此服务器上的 /blog/deepwater-horizo​​n-11/。

此外,在尝试使用 ErrorDocument 处理请求时遇到 404 Not Found 错误。


Apache/2.2.14 (Unix) mod_ssl/2.2.14 OpenSSL/0.9.8i DAV/2 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 服务器位于 www.offshoreinjuries.com 端口 80

更新:
如果有帮助,这是一个示例链接。(注意链接页面直接工作正常)
http://www.facebook.com/l.php?u=http%3A%2F%2Fwww.offshoreinjuries.com%2Fblog%2Fdeepwater-horizo​​n -11%2F&h=834ea

更新和答案:
找到了问题并在下面添加了完整的答案。

0 投票
1 回答
1393 浏览

php - 如何编写对 mod_security 友好的 PHP 代码?

我在 WordPress 中创建了一个主题,该主题符合 HostGator 上的 mod_security 规则并给出了403 error.

我联系了那里的人(在 HostGator),他们为我修好了。但我不希望我的主题像这样工作。

我只是想知道是否有任何指南/博客文章/教程告诉您编写对 mod_security 友好的 PHP 代码?

我尝试了谷歌,但没有发现任何有用的东西。

0 投票
2 回答
1476 浏览

python - ModSecurity:输出过滤器:无法读取存储桶(rc 104):对等方重置连接

我正在向使用 django 和活塞上传文件的休息服务发出 POST 请求,但是当我发出请求时,我得到了这个(奇怪的?)错误:

这是什么意思?我该如何调试它?

0 投票
4 回答
13406 浏览

php - 检测 Mod_Security 是否与 PHP 一起安装?

是否有任何简单的方法来检测是否仅使用 PHP 安装和启用了 mod_security?理想情况下,无需执行任何 exec() 终端类型命令。

有些人建议使用 apache_get_modules() 但这个特定的网络主机不允许它显示。其他用户在这里也提到了这一点:http: //www.devcomments.com/apache_get_modules-solution-to130703.htm

0 投票
1 回答
1305 浏览

security - CSR 规则 _23 上的 mod_sec 触发器

我正在使用具有最新核心规则的 mod_security。

每当我使用查询字符串时,它都会在我的所有页面上触发..即。

www.mypage.com/index.php?querystring=1

我收到警告说它超过了允许的最大争论数,但是基本配置将 max_numb_args 定义为 = 255,当然它不会超过。

任何想法为什么?

基本配置:

SecRuleEngine On
SecAuditEngine RelevantOnly
SecAuditLog /var/log/apache2/modsec_audit.log
SecDebugLog /var/log/apache2/modsec_debug_log
SecDebugLogLevel 3
SecDefaultAction "phase:2,pass,log,status:500"
SecRule REMOTE_ADDR "^127.0.0.1$" nolog ,allow
SecRequestBodyAccess On
SecResponseBodyAccess On
SecResponseBodyMimeType (null) text/html text/plain text/xml
SecResponseBodyLimit 2621440
SecServerSignature Apache
SecUploadDir /tmp
SecUploadKeepFiles Off
SecAuditLogParts ABIFHZ
SecArgumentSeparator "&"
SecCookieFormat 0
SecRequestBodyInMemoryLimit
/tmpData
SecTmpDir /tmp
SecAuditLogStorageDir /var/log/apache2/audit
SecResponseBodyLimitAction ProcessPartial
SecAction "phase:1,t:none,nolog,pass,setvar:tx.max_num_args=255"

触发规则:

和日志输出:

--ad5dc005-C-- queryString=2 --ad5dc005-F-- HTTP/1.1 200 OK
X-Powered-By: PHP/5.3
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no- store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: SESSION=ak19oq36gpi94rco2qbi6j2k20; 路径 =/
变化:接受编码
内容编码:gzip
内容长度:1272
保持活动:超时 = 15,最大 = 99
连接:保持活动
内容类型:文本/html;字符集=utf-8

--ad5dc005-H--
消息:操作员 GT 在 ARGS 匹配 0。[file "/etc/apache2/conf/modsecurity_crs/base_rules/modsecurity_crs_23_request_limits.conf"] [line "30"] [id "960335"] [rev "2.0.7"] [msg "Maximum number of arguments in request" ] [严重性“警告”]
消息:操作员 GE 在 TX:anomaly_score 匹配 0。[file "/etc/apache2/conf/modsecurity_crs/base_rules/modsecurity_crs_49_inbound_blocking.conf"] [line "18"] [msg "Inbound Anomaly Score Exceeded (Total Score: 5, SQLi=, XSS=): 参数的最大数量请求已达到”]
消息:警告。运营商 GE 在 TX:inbound_anomaly_score 匹配 0。[file "/etc/apache2/conf/modsecurity_crs/base_rules/modsecurity_crs_60_correlation.conf"] [line "35"] [msg "Inbound Anomaly Score Exceeded (Total Inbound Score: 5, SQLi=, XSS=): 最大参数数达到请求”]
Apache-Handler:application/x-httpd-php
秒表:1279667800315092 76979 (1546* 7522 72931)
生产者:ModSeurity for Apache/2.5.11 ( http://www.modsecurity.org/ );核心规则集/2.0.7。服务器:阿帕奇