在CentOs 5.8networking/数据库服务器上禁用哪些服务?

我刚刚把我的CentOS 5.8 64 [final]服务器设置为一个networking服务器。

规格:2x E5620 Intel CPU,DDR3 RAM,硬件Adaptec RAID 10,4x SAS驱动器。

我已经安装了自己:

Nginx PHP-FPM MySQL [ourdelta.org version] Sphinx Vsftpd Fail2ban Citadel [ddos flood protection] Munin NTP Htop Iptraf 

这些都是我主动用来运行我的网站的东西。

现在我的问题:

我发现这篇文章: http : //www.vr.org/kb/1002/Optimize-and-disable-default-CentOS-services.html

其中谈到了可以禁用的整个服务列表。

这是他们build议的清单:

 chkconfig anacron off chkconfig apmd off chkconfig atd off chkconfig autofs off chkconfig cpuspeed off chkconfig cups off chkconfig cups-config-daemon off chkconfig gpm off chkconfig isdn off chkconfig netfs off chkconfig nfslock off chkconfig openibd off chkconfig pcmcia off chkconfig portmap off chkconfig rawdevices off chkconfig readahead_early off chkconfig rpcgssd off chkconfig rpcidmapd off chkconfig smartd off chkconfig xfs off chkconfig ip6tables off chkconfig avahi-daemon off chkconfig firstboot off chkconfig yum-updatesd off chkconfig sendmail off chkconfig mcstrans off chkconfig pcscd off chkconfig bluetooth off chkconfig hidd off 

现在我使用sendmailsmartd ,所以我会保持。

但是其他大部分stream程我都不认识。 有什么我应该小心禁用?

小心使用其他人的“列表”,因为你可能会禁用你实际需要的东西。

我在列表中看到的一些明显的问题是:

  • anacron可以确保在系统恢复运行时由于停机而错过cron任务。
  • smartd监视磁盘的健康状况,可以设置为在磁盘出现故障时向您发送电子邮件(但由于您有硬件RAID,应使用供应商提供的工具)。
  • ip6tables是IPv6防火墙…真的吗? 有人build议closures防火墙 ?!? 这确实把他们的信誉打到了地狱。
  • yum-updatesd提供自动更新。 如果你不想要这个,把它关掉,尽pipe它在某些情况下很有用。

我也必须同意@ aairey的build议做一个最小的安装。 在CentOS 5中,这需要使用kickstart文件; CentOS 6有一个特殊的最小安装光盘。

虽然禁用/卸载某些软件是强化系统的绝对有效方法,但在许多情况下,这种做法过于矫枉过正 – 尤其是像您自己一样,不确定要禁用哪些服务。

更好的方法是使用与限制性防火墙相结合的最小安装。 由于这将是一个Web服务器,规则集应该很容易定义。

要执行最低限度的安装,请通过CentOS安装程序,当您进入列出angular色的屏幕时,取消选中所有的angular色。 然后,select“立即自定义”。

您会看到一个屏幕左侧有各种类别,右侧是包组。 浏览每个类别并取消选中所有包组。 在“ 基本”类别中,单击“ 可选软件包”button。 我通常不检查一切,除了:

  • anacron允许作业调度,并确保计划的作业运行,即使由于宕机而错过。
  • sudo允许您使用非特权帐户的提升特权执行命令。 在我看来,这个工具对任何Linux系统都是至关重要的。

安装完成并重新启动后,您可以安装Web服务器和其他必要的软件包(httpd,PHP,MySQL等)。 Yum会自动为您parsing依赖关系,只应安装所选服务所需的那些包。

完成后,编辑你的iptables规则,只允许必要的服务:SSH,HTTP,HTTPS,SMTP出站等。有很多教程可以解释如何做到这一点。 这个问题及其接受的答案是一个很好的起点。

不要堵塞SSH! 如果您没有对服务器的控制台访问权限,请注意不要在任何时候阻止SSH,否则您将无法访问系统。 修改防火墙规则时,我总是打开一个新的SSH会话,而不closures现有的(正在运行的)会话,以validation是否仍可以连接。 一旦你退出了build立的会议,如果SSH被阻止,那么你没有桨的小溪。

你开始的最小安装? 如果没有,我会build议从那里开始,因为像anacron甚至没有安装开始。