使用mod_proxy改进LAMP 安全

豆豆网   技术应用频道   2007年03月04日    社区交流

本文详细介绍使用mod_proxy改进LAMP 安全

  在本文中,Nick Maynard 描述了一种使用 Apache 的 mod_proxy 模块改进 LAMP 设置的安全性的方法。本文专门针对 Linux;但是,也可以将一些原理应用于其他操作系统。

  Apache Software Foundation 的 HTTP 服务器项目(通常称为 Apache)是当今互联网上占据优势的 Web 服务器,它占据了 60% 以上的市场份额。Apache 服务器是日渐流行的 LAMP 软件配置的一部分。LAMP 是一套免费软件程序,是在 Linux®、Apache、MySQL 和 PHP 等开放源码技术之上构建的 Web 平台。在本文中,您将学习一种使用 mod_proxy 模块和多个后端服务器来改进 LAMP 安全性的方法。我将讨论这种方法的优点和缺点,并提供一个配置示例。

  PHP 和 Apache:安全性难题

  LAMP 管理员面对的一个挑战是,提供完整 PHP 系统的所有特性,同时确保为系统的所有用户提供一个安全的环境。使用 PHP 的安全模式是实现这一目标的一种技术,但是它也过度地限制了用户,而且启用了这个设施之后,一些 PHP 应用程序就不能发挥作用。

  PHP 安全问题的根源在于大多数 Apache 服务器的配置方式。因为大多数 Apache 配置运行在特殊的 www-data 用户 ID 下,对 Web 站点进行主机托管的所有用户在默认情况下必须确保这个用户可以读取他们的文件。因此,系统上的所有其他用户都可能访问一个用户的所有 Web 可访问文件;所以系统上原本与您无关的安全漏洞会成为攻击您的 Web 站点的突破口。如果文件或目录必须设置为 www-data 用户可写的,那么这种情况会更加严重。

  通过使用 CGI 程序,比如用 Perl 和 Python 等流行语言编写的程序,可以在使用 suEXEC 机制时消除这个问题的部分影响。简单地说,suEXEC 使用一个特殊的中间程序以程序所有者的用户 ID 执行 CGI 程序。(更多细节请参见 参考资料 中文章的链接。)这是一种非常有效的机制,已经使用了许多年了。

来源:IBM DW中国    作者:Nick Maynard    责编:豆豆技术应用

正在加载评论...