Articles of 安全

mod_security 960015阻止Google和其他好的机器人

mod_security规则960015不断捕捉谷歌和其他好的机器人。 我在vhost中有以下几个方面来防止被抓到的好机器人: SecRule REQUEST_HEADERS:User-Agent "Mail.ru" log,allow SecRule HTTP_USER_AGENT "Mail.RU_Bot" log,allow Google和Yandex也一样。 它工作99%的时间,但是在其他时间有一些真正的bizare原因失败,这里是Mail.ru bot的日志示例: 全成: 217.69.134.79 – – [07/Mar/2014:10:17:13 +0400] "GET / HTTP/1.1" 200 189934 "-" "Mozilla/5.0 (compatible; Linux x86_64; Mail.RU_Bot/Fast/2.0; +http://go.mail.ru/help/robots)" [Fri Mar 07 10:17:13 2014] [error] [client 217.69.134.79] ModSecurity: Access allowed (phase 2). Pattern match "Mail" at REQUEST_HEADERS:User-Agent. [file "/etc/apache2/sites-enabled/xxx"] [line "28"] [hostname "xxx"] […]

802.1x证书,EAP-TLS,RADIUS和Windows机器

在Windows计算机上使用基于802.1x证书的身份validation时,是否应为每台计算机使用不同的证书? 在networking中运行RADIUS服务器,机器使用EAP-TLS与networking交换机通信。 如果我应该如何为数百台电脑分发这些证书? 这是否总是需要人工干预? 我在想,没有证书的PC不能连接到networking,所以这样的任务不能使用GPO轻松编写脚本。 我可以想象这是添加新计算机或颁发新证书时出现的问题。

如何在自动部署期间处理密码?

作为负责任的pipe理员,我们知道这些常见的弱点 CWE-260:configuration文件中的密码http://cwe.mitre.org/data/definitions/260.html CWE-522:证书得不到充分保护http://cwe.mitre.org/data/definitions/522.html CWE-257:以可恢复格式存储密码http://cwe.mitre.org/data/definitions/557.html 但是,我们如何在实践中处理这个问题呢? 当然,通过SSH等密码authentication技术和sudo等工具,可以摆脱重要位置存储的login凭证,这在Linux服务器的自动部署过程中确实有帮助。 但是,一旦离开操作系统并安装应用程序,就很有可能遇到安全存储密码的问题。 例如,如果安装数据库服务器,则很可能需要将明文密码保存到Web应用程序的configuration文件中。 然后,您应该保护configuration文件,以便只有pipe理员才能查看凭据,并且应该限制数据库用户的访问权限,以限制可能的安全影响。 但是,如何处理主要的pipe理数据库帐户? 至less你的dbas应该知道它(所以你需要明文的地方),作为操作系统pipe理员,你不应该知道凭据。 或者部署由devops完成,他们不应该知道生产服务器上的任何凭据。 可能的解决scheme 经过长时间的思考,我提出了三种可能的解决scheme,但都有自己的弱点: 在部署期间生成随机凭据,并以一次写入的方式将其存储在数据库中。 而dbas有另一个用户可能只读取数据库凭证。 但是,如何处理例如webapps的configuration文件中的明文密码? 根用户可以阅读它们。 此外,密码数据库的根用户可能会读取所有密码凭据。 在部署过程中接受明文密码和默认凭证,并添加一个可更改任何和所有密码的附言。 甚至在授权人员必须在脚本的运行时input凭证的情况下也可以进行交互。 用可信赖的第三方的密钥不对称地encryption密码。 当密码被请求时, 必须在之后改变。 你怎么看? 你看到这里有什么最佳实践吗?

NFS客户机密钥表:多台机器

应该如何设置每个客户端机器的客户端密钥表文件来访问networking服务? 我的工作示例是NFSv4,它要求每个客户机在客户机(以及NFS服务器主机)上本地有一个Kerberos密钥表。 所有需要访问NFS主机的客户端机器之间共享同一个密钥(通常用于NFS目的)可能会产生什么坏处? 如果从#1的结果来看,我们确实需要在每个客户端的不同密钥表中使用一个单独的密钥,那么为每个客户端自动创build密钥表的方式是一种有效的(更重要的)安全方法几千台机器? 我不想在每个盒子上生成和导出密钥!

ipmitool的难题

我们一直在尝试迁移到我们的服务器上更好的密码pipe理系统。 问题是,所有这些日子里,我们正在使用专有的algorithm来创build一个哈希(一个可解密的哈希)。 为了与Linux的进步保持一致,我们决定将其改为单向散列,以提高安全性。 但是ipmitool做客户端HMAC SHA1匹配,而不是让服务器做哈希匹配。 有没有实现那里不会杀死所有的逻辑和ipmitool的方式来pipe理用户身份validation(通过从服务器请求SHA1哈希)? 反正我们可以使用ipmitool而不使用可解密的哈希?

在Apache的访问日志奇怪的条目

我在apache access_log中遇到了一个奇怪的问题 117.86.199.18 – – [27/Jul/2014:10:42:10 +0200] "GET http://hotel.qunar.com/render/hoteldiv.jsp?&__jscallback=XQScript_4 HTTP/1.1" 302 256 它看起来有人/某事正在尝试使用我的服务器作为代理。 问题:这是危险的吗? 有一种方法禁止使用我的Web服务器作为代理?

来自IP的高数量连接

在我们的公司networking上,我们正在检测工作站,打开太多的IP地址75.126.196.159(端口3478)的连接,导致Cisco ASA防火墙5550检测到“SYN攻击”并达到其连接限制,导致严重的stream量降低合法stream量。 我们的Symantec Endpoint Protection(SEP)v12.1具有每个工作站上的最新定义,因此不会检测到任何exception行为。 作为一种缓解机制,我添加了一个本地的SEP(防火墙)规则来阻止入站/出站到IP地址的所有stream量,原因是75.126.196.159 任何其他的build议,以减轻和解决这个问题?

内容安全策略是否与Joomla的pipe理页面不兼容?

我想为在Apache 2.4上运行的Joomla网站设置一个内容安全策略头。 在h5bp中使用这个configuration并设置Header set Content-Security-Policy "script-src 'self'; object-src 'self'" src'self Header set Content-Security-Policy "script-src 'self'; object-src 'self'" src'self Header set Content-Security-Policy "script-src 'self'; object-src 'self'"为我提供了一个空白页面,用于loginwww.example.com/administrator/的Joomlalogin页面。 我怎样才能使用这个政策,并仍然login? 检查控制台,错误消息是: 内容安全策略:该页面的设置阻止了自我加载资源(“script-src http://www.example.com ”)。 pipe理员页面完全由example.com提供,没有第三方内容。 除了策略设置的login页面上的空白页面之外,该网站完美地工作。 检查/pipe理员页面的源代码,它看起来是完全普通的,除了JS没有运行。 完整页面源的副本在这里 。 因为我将example.com列入了“script-src'self'; object-src'self'”我希望这个页面可以呈现,但我明显错过了一些东西。 我现在重新testing了一个新的VPS和没有定制的Joomla干净安装。 设置内容安全策略并重新启动Apache会立即重现问题 – 浏览器中出现伴随控制台错误的完全空白pipe理页面,抱怨阻止资源加载的策略。 改变"script-src 'self' src'self "script-src 'IP:AD:DR:ESS' src'example.com "script-src 'example.com'或"script-src 'IP:AD:DR:ESS' src'IP "script-src 'IP:AD:DR:ESS'不会帮助,所有的脚本都会被封锁。 任何想法如何得到这个工作或进一步排除故障?

如何检测服务器主板上的Bios Rootkit?

最近我读到了在CanSecWest会议上由Corey Kallenberg和Xeno Kovah发表的演讲,该演讲描述了如何将服务器主板的固件重新编程为包含恶意软件。 这让我真的很担心 ! 我现在正在寻找一种方法来确保某些给定的硬件在这方面没有被磨练。 我怎样才能做到这一点?

限制pipe理员用户的postqueue访问权限

我在Gentoo上运行postfix作为邮件服务器守护进程。 在调查某些队列堆积的过程中,我发现/usr/sbin/postqueue可以被系统上的所有用户执行,它可以为所有用户愉快地输出当前邮件队列(带-q )。 它看起来像是或多或less的devise: postdrop和postqueue是set-gid与组postdrop二进制文件。 -rwx–s–x 1 root postdrop 15K Apr 10 23:49 postdrop -rwx–s–x 1 root postdrop 15K Apr 10 23:49 postqueue 他们也可以执行other , postfix似乎需要( postfix check输出): postfix/postfix-script: warning: not set-gid or not owner+group+world executable: /usr/sbin/postqueue 我可能错过了一些内部工作,但据我所见,普通用户不应该有权访问队列,特别是因为在这个configuration中,所有的地址和域都是虚拟的(通过数据库)。 如果用户定期轮询postqueue ,他可以组装一个<from>,<to>地址对的列表( postcat被限制,用户不能访问邮件的内容)。 exim有一个名为queue_list_requires_admin的configuration选项,但是我找不到像postfix这样的东西。 是否有可能限制队列访问与后缀?