Articles of 安全

常见的PHP设置不安全?

我和一所大学的系统pipe理部门一起工作,偶然发现了一些可能很常见的事情,但对我来说却是相当震惊的。 所有public_html目录和web区域都存储在afs上,并具有对web服务器的读取权限。 由于用户可以在其public_html中使用php脚本,这意味着他们可以从php(和主要web文件!)中访问彼此的文件。 这不仅使得.htaccess的密码保护function完全无用,而且还允许用户阅读包含mysql数据库密码和类似敏感信息的php源文件。 或者如果他们发现其他人拥有Web服务器具有写访问权限的目录(例如,用于个人日志或保存提交的表单数据),则他们可以将文件存储在这些帐户中。 一个简单的例子: <? header("Content-type: text/plain"); print file_get_contents("/afs/example.com/home/smith/public_html/.htpasswd"); ?> 这是常见的问题吗? 你通常如何解决它? 更新: 感谢您的input。 不幸的是,似乎没有简单的答案。 在这样一个大的共享环境下,用户可能不应该有这么多的select。 我能想到的最好的方法是在所有“public_html”目录的主要configuration中设置“open_basedir”,运行suphp并且只允许清洁php(没有cgi脚本,用反引号等运行外部命令)。 改变这样的政策虽然会破坏很多东西,但很可能会让用户抓住他们的干预并追逐我们……我将与我的同事们讨论,如果我们决定如何更改设置,请在此更新。

DDoS攻击。 我们是无助的吗?

随着近期有关维基解密的DDoS事件,我不禁感到网上的所有网站都非常容易受到此类攻击。 Visa,MasterCard(仅举几例)因此closures。 所以我的问题是: DDoS是如此强大的攻击forms吗? 公司可以做些什么来处理这种情况? 编辑:我想我可能已经说出了我的问题“n00bishly”。 我知道什么是DDoS(来自维基百科和其他网站)。 我真正的问题是:为什么那些大公司不使用反DDOS技术? 不要告诉我,贝宝和万事达不怕服务下降或攻击。 我已经查看了一些这些解决scheme的成本,但是与Paypal或VISA一年多less钱相比,它们看起来并不昂贵。 真正的问题是为什么他们如此措手不及? (或者DDoS的规模比预期的要大得多?)

虚拟主机是否应该允许运行任何服务?

我最近为我正在运行的小公司设置了一个虚拟化服务器。 该服务器运行less量用于开发,testing等的虚拟机。 我的商业伙伴在远程位置工作,因此我还在虚拟主机上安装了一个vpn服务器,以便他能够安全地访问公司服务。 而且,再次在虚拟化主机上,我安装了bacula来执行数据的备份。 这样做是否明智/好做法,还是应该创build一个虚拟机来执行备份和VPN? 在主机上运行这些服务是不是一个好主意? 如果是,为什么?

HOWTO:在Hyper-V Server 2008上禁用复杂的密码策略?

如何禁用Microsoft Hyper-V Server 2008 R2上的密码复杂性要求? 请记住,login到服务器时,唯一的UI是: 替代文字http://i30.tinypic.com/30w6o8z.jpg 你不能运行gpedit.msc : C:\Users\Administrator>gpedit.msc 'gpedit.msc' is not recognized as an internal or external command, operable program or batch file. 因为Microsoft Hyper-V Server 2008 R2中没有安装.mscpipe理单元。 问题出现在您尝试向服务器添加帐户的情况下,因此您可以pipe理它,但不喜欢大多数密码: 替代文字http://i31.tinypic.com/28clj6b.jpg 而且,可以预见的是,打字 NET HELPMSG 2245 给你 The password does not meet the password policy requirements. Check the minimum p assword length, password complexity and […]

防止执行Windows可执行文件

有没有办法告诉Windows(XP及以上)不执行文件(* .exe文件),这是存在于某些文件夹以外的驱动器/文件夹,我提到? 简而言之,我希望仅执行“ 白名单 ”的可执行文件。 我认为这比要求用户不要从他们从家里带来的任何垃圾CD运行任何可执行文件要好。

帐户读AD,join机器到域,删除计算机帐户和移动计算机到OU

我想创build一个帐户,将执行以下操作: 将计算机join域(不限于10,与普通用户一样) 检查AD中的计算机帐户 从AD中删除计算机 在OU之间移动计算机 我不想让它做任何事情,所以不要一个域pipe理员帐户。 任何人都可以引导我在正确的方向权限? 不知道我是否应该使用控制向导委派? 干杯, 本

通常的web项目目录有什么完美的unix权限?

在写成的Web应用程序中,下列八进制格式的完美最小权限是什么? 用户上传静态文件(images / swf / js文件)的目录将会驻留 admin上传静态文件(images / swf / js文件)的目录将驻留在该目录中 应用程序所使用的库的目录 可执行/可浏览的服务器端脚本将驻留的目录 已经存在的文件(txt或xml)的目录将被服务器端的代码编辑 这是我的build议和理由 555,每个人都可以读写,没有人可以执行 544,老板一个人都可以写,其他人只能读,没人能执行 000,没有人需要读取,写入和执行,只会被Web服务器使用? 661,所有者可以读,写,其他人只能执行 600,业主可以阅读,写(可能不需要),没有人可以做任何事情 现在我对两件事感兴趣: 在第一个列表中我错过了基于Web的应用程序中常用的东西吗? 第二个列表中有什么不同意的,你有什么select,为什么更好?

SSH日志loggingfunction是否相当于logging私钥/公钥validation的function?

在这里工作中,我们在UNIX上有一个用于pipe理特定应用程序的非root共享login帐户。 政策是不允许直接login共享帐户; 您必须自己login并使用“su”命令切换到共享帐户。 这是为了logging/安全目的。 我已经开始使用SSH代理的公钥/私钥进行身份validation,允许我每天input一次密码,让代理转发在一天的其余时间内消除密码提示。 这真的很好。 但是,一些系统被locking,所以我真的不得不使用“su”命令来访问共享帐户。 精氨酸! 一直回到input密码! 是否有足够的信息与SSH公钥/私钥身份validation一起logging,以便我可以有合理的机会请求更改策略以允许使用公钥/私钥进行远程login到共享帐户? 我有一个pipe理员在/ var / log / secure中查找,它只是说从一个特定的IP地址接受一个用户帐户的公钥。 它没有说谁是公钥,或谁的私钥做了authentication。

你为什么要用EAP-TTLS而不是PEAP?

据我了解,EAP-TTLS和PEAP在无线networking中实施时具有相同的安全等级。 两者仅通过证书提供服务器端身份validation。 EAP-TTLS的缺点可能是Microsoft Windows的非本机支持,因此每个用户都必须安装其他软件。 EAP-TTLS的好处是可以支持安全性较低的authentication机制(PAP,CHAP,MS-CHAP),但为什么你需要它们在现代和安全的无线系统中呢? 你有什么意见? 我为什么要实现EAP-TTLS而不是PEAP? 假设我拥有大多数Windows用户,中等Linux用户以及最lessiOS,OSX用户。

提示,优雅地接pipe(UNIX)生产服务器

经过数月的疏忽,电子邮件火焰和pipe理层的争斗,我们目前的系统pipe理员被解雇,并将“服务器证书”交给我。 这样的证书包含一个root密码,而不是别的:没有程序,没有文档,没有提示,什么都没有。 我的问题是:假设他在后面留下了诡计,我怎样才能以尽可能less的停机时间优雅地接pipe服务器呢? 以下是详细信息: 一个生产服务器位于地下室的服务器场中; Ubuntu的服务器9.x大概,与grsec补丁(传言我上次听到我问pipe理员) 一个内部服务器,包含所有的内部文件,文件存储库,维基等。再次,几年前的Ubuntu服务器。 假设这两个服务器都是打补丁并且是最新的,所以我宁愿不要试图破解我的方法,除非有一个很好的理由(即可以向高层pipe理人员解释)。 生产服务器有几个托pipe的站点(标准的apache-php-mysql),一个LDAP服务器,一个ZIMBRA电子邮件套件/服务器,并且据我所知可以运行一些vmware工作站。 不知道那里发生了什么事。 可能有一个是LDAP大师,但这是一个疯狂的猜测。 内部服务器有一个内部wiki / cms,一个LDAP从属服务器,用于从生产服务器复制凭证,还有几个vmware工作站以及正在运行的备份。 我可以去服务器场的pipe理员,指向服务器,告诉他们' sudoclosures那台服务器',以单用户模式login,并有我的方式。 内部服务器也一样。 不过,这意味着停机时间,高层pipe理人员感到不安,老系统pipe理员向我发射说:“看? 你不能做我的工作“和其他麻烦,最重要的是,我将不得不失去几个星期的无薪期。 另一方面,我可以以root身份login,并通过服务器来尝试理解发生的事情。 所有的风险都会引发留下的惊喜。 我正在寻找中间的解决scheme:尽量让所有事情保持原样,同时了解正在发生的事情,以及最重要的是避免触发任何留下的诱饵陷阱 。 你有什么build议? 到目前为止,我曾想过用内部服务器“实践”,断开networking,用活动光盘重新启动,将根文件系统转储到USB驱动器,并将其加载到断开连接的孤立虚拟机上,以了解以前的系统pipe理方式思考(a-la'知道你的敌人')。 可以用生产服务器拉同样的壮举,但是完整的转储会让人注意到。 也许我只能以root身份login,检查crontab,检查.profile中是否有启动的命令,转储最后的日志,以及想到的任何内容。 这就是我来这里的原因。 任何暗示,不pipe多小,都将不胜感激。 时间也是一个问题:可能会在几个小时或几个星期内触发事件。 感觉像那些糟糕的好莱坞电影之一,不是吗?