优化新的Ubuntu服务器安装

在安装新的Ubuntu服务器(我个人使用8.04 LTS)之后,您如何根据内存消耗,磁盘使用情况和速度进行优化? 在开始构build服务器之前,您已经删除了哪些服务和预安装的软件包,以使您的系统尽可能精简和平均?

这将非常依赖于你想要使用的服务器,所以我们build议的任何具体内容可能与你无关。

我的一般build议是不要开始做一个比基本安装,然后删除包虽然。

我倾向于使用Debian Stable进行服务器安装,并且确保在初始设置中除了绝对要素之外没有其他任何东西 (包括在安装过程中被tasksel询问时取消select默认的“标准系统”选项),并添加包和从这一点需要的设置。 我认为Ubuntu服务器安装也是如此,因为Ubuntu在许多方面与Debian非常接近。

首先确定服务器将提供的服务(端口),然后禁用所有其他服务,可以使用大量工具来保护服务器,如bastille或tripwire。 根据您正在运行的服务,您必须查找已安装软件的特定调整。

我不打算在这里讨论优化它,但是因为你问了关于安装一个新的服务器,我会列出一些关于安全性的问题……但是要小心过度的

  1. 如果它面临着一个“敌对的”networking – configuration一个防火墙
  2. 如果它是一个networking服务器 – 安装和configuration一个代理(鱿鱼是一个很好的)
  3. 在更新时想一想:
    • 如果这是一个安全补丁 – 安装它
    • 如果它增加了一些function – 首先在“实验室”环境中进行testing
  4. configuration一个“tripwire”监视一些configuration文件的状态,并设置它发送一个电子邮件,一旦发生(电子邮件应发送到远程服务器上)
  5. 如果你觉得你需要它 – configuration一个IDS(如“snort”)
  6. 安装“sysv-rc-conf”并取消select你不需要的所有服务。
  7. 如果应该有networking上有更多的服务,检查“netstat -tupan”
  8. 如果您需要ssh访问权限,请设置“基于证书的访问”(公钥/私钥)或敲入端口。
  9. 保持日志…validation他们…经常备份…validation备份
  10. 使用体面的密码(不要使用相同的密码!) – 你可以用“apg”
  11. 尝试打破自己的服务器,然后加强它
  12. Google针对SELinux和AppArmor

首先:sudo apt-get install rcconf

sudo rcconf

…禁用所有不必要的服务。 并重新启动系统

请原谅我不好的英语…

这听起来像你担心安全。

如果是这种情况,最好采用一个md5sum ,也许是一个在系统受到破坏时使用的关键低级系统工具副本 (比如ls,ps,netstat等和md5sum)在您将系统连接到互联网之前,它们的原始状态。

然后设置一个进程来监视这些文件,并通知你,如果md5sums有变化。 大多数rootkit做的第一件事就是replace这些工具来隐藏你的系统。

有一个名为bastille的包可以用于服务器硬化

它向您询问有关如何使用服务器的一些问题,并收紧了一些默认的安全设置。

也许值得一瞧。

没做什么。 没有点调整,直到你知道你有问题。 大多数情况下,Linux将是开箱即用的。 如果您运行32位,您可能需要检查您的内核,确保它可以使用您已经安装的所有内存。

除此之外,您在性能方面做的唯一事情就是监视系统和应用程序。 那么如果你看到一个问题,你解决它。

不过,有些事情你会想提前解决。

例如,如果你突然决定你需要更多的IO,最好的方法是突袭10,那么你的SOL如果你没有想到第一个。

我对我运行的任何机器进行的基本调整是

  1. 将以下内容添加到/etc/grub.conf每个内核节中,然后重新引导

    电梯=截止dateselinux = 0

  2. 编辑/etc/fstab并将以下内容添加到所有本地分区,然后运行mount -o remount $PARTITION

    noatime的

  3. 除去slocate,mlocate(除非需要)

更新 :选项的解释

  1. elevator=deadline , 在这里阅读更多 。 selinux=0 ,我发现SELinux导致比解决问题更多的问题(不是通过环回来连接),所以select禁用它,并依靠传统的安全模式。

  2. noatime ,如果没有这个选项,每当文件或目录被触摸时,包括被find或者ls读取,inode的atime属性被更新。 在执行批量IO操作时,这种不必要的IO会显着减慢文件系统访问速度,并且可以安全地禁用。 在禁用此选项的情况下,只有在Linux上不能工作的应用程序是Mutt。 在这里阅读更多 。

  3. slocate和朋友周期性地构build文件的后台索引,这种周期性的处理可能会导致IO密集型应用程序(如数据库)处理时间的预期高峰。 除非您需要这些实用程序的function,否则我宁愿删除它们。