Apache Web服务器安全和优化提示

Apache Web服务器安全和优化提示,apache,security,optimization,webserver,Apache,Security,Optimization,Webserver,我将要处理管理和运行我的第一个连接到Internet的Apache Web服务器的问题,我想知道是否有系统管理员和开发人员愿意分享他们关于运行Apache Web服务器的安全和优化技巧的一些知识 也许您可以分享您在安装ApacheWebServer(在Linux机器上)后立即做的五件(或十件)事情列表 非常感谢您的帮助。 确保Apache进程没有以root用户身份运行 请务必使用最新的稳定版本 如果盒子是 直接连接到互联网 确保你已经考虑了所有的问题 其他服务,比如ssh 仔细检查你的本地防火墙

我将要处理管理和运行我的第一个连接到Internet的Apache Web服务器的问题,我想知道是否有系统管理员和开发人员愿意分享他们关于运行Apache Web服务器的安全和优化技巧的一些知识

也许您可以分享您在安装ApacheWebServer(在Linux机器上)后立即做的五件(或十件)事情列表

非常感谢您的帮助。

  • 确保Apache进程没有以root用户身份运行
  • 请务必使用最新的稳定版本
  • 如果盒子是 直接连接到互联网 确保你已经考虑了所有的问题 其他服务,比如ssh
  • 仔细检查你的本地防火墙规则,收紧它。(见iptables)
  • 不要打开您不了解或不打算使用的选项
  • 考虑订阅Apache安全邮件列表,这样您就可以立即了解任何关键补丁

如果您正在运行标准LAMP(Linux、Apache、MySQL、PHP/PEARL/PYTHON)环境:将MySQL放在Apache以外的另一台机器上。如果只有几个并发进程(由于网络延迟),速度会稍慢一些,但如果有许多并发进程,速度会快得多。

请确保已将其配置为检测DOS(拒绝服务)攻击。

基本
  • 确保安装了最新的稳定版本。运行Apache的旧版本或不稳定版本可能会使您的系统暴露于安全缺陷或未经测试的解决方案中
  • 确保仅实际处理了预期的请求。您应该考虑谁必须访问Apache所公开的Web资源以及如何使用./LI>
  • 避免以root用户身份运行Apache。这是必须的
  • 处理日志。原木越来越大;考虑设置日志旋转或定期清理日志。
  • 使用监控系统监控Apache运行状况。我喜欢把穆宁和莫尼特结合在一起,这两样东西都很容易塞托和维护。纳吉奥斯和其他人值得一看
  • 如果Apache提供web应用程序(即PHP、Perl、Rails)请确保请求由正确的模块以正确的顺序处理
  • 写一封漂亮的404和500信息。你的访问者迟早会发现一个错误
  • 停止并重新启动Apache,这样您就可以确保shoutdown和start过程工作正常
  • 使用mod_security
  • 安全
  • 保护Apache免受DOS攻击
  • 只加载真正需要的模块
  • 监视日志以了解是否发生了奇怪的事情
  • 演出
  • 如果您是从源代码编译Apache,请确保使用MPM(多处理模块)
  • 只加载真正需要的模块
  • 检查MaxClients设置,以便您的服务器不会产生太多的子服务器,而不会开始交换
  • 使用mod_deflate模块,它提供deflate输出过滤器,允许在通过网络发送到客户端之前压缩服务器的输出
  • 网络服务器
  • 禁用您不需要的任何模块
  • 你需要的是
  • 为您的webroot设置一个
  • 保护同一服务器上的所有其他内容,并关闭任何未使用的内容
  • 使用或之类的工具对服务器运行测试
  • 我将把“在一个盒子上安装Apache之后”解释为“准备一个新的服务器安装以供生产使用”,因为这一切当然都将在开发服务器上完成,并提交给SCM或内置到自动安装中

    你所做的一切优化都必须基于实际测量。用您想要运行的实际应用程序尽可能真实地设置测试环境。需要考虑的几个方面是:

    • 不要将MaxClient设置得太高。您可能会占用大量RAM,尤其是在预工作服务器中嵌入了大型应用程序(例如mod_perl、PHP等)。使用太多内存会适得其反。对于客户来说,等待成功的服务比等待错误的服务要好
    • 仔细考虑一下你是否有手机。根据您的环境,它们可以加速也可以减慢。如果您选择打开它们,您应该根据实际用例考虑keepalive超时
    • 如果在生产中使用HTTPS,请启用HTTPS进行性能测试
    • 在不经常更改的对象上适当地设置“Last modified”和“Expires”头(以最大化客户端缓存)。在各种浏览器中测试客户端缓存
    • 确保您的应用程序正确使用HTTPS,而不是以导致浏览器生成安全警告的方式使用(这是您在测试期间需要使用HTTPS的另一个很好的原因)

    在安全部分,您可以给出三个好的提示。然而,你们有详细阐述这些主题的链接吗?我对第6点很好奇。你说的“正确的顺序”是什么意思?刚刚看到这条线上的年代。我正在失去它。