cjs*_*cjs 8 security package-management ubuntu
计算机安全的基本原则之一是永远不要运行不需要的任何东西。
pgrep
今天,当我注意到我的 Ubuntu 9.04(桌面)机器正在运行一个 git 服务器守护进程时,我正在ping 一个进程。快速发誓后,我发现该git-daemon-run
软件包已(可能是无意中)安装,删除它可以摆脱该过程(并确保以后不会重新启动)。
但在其他情况下,我希望安装服务器包,但不希望服务器守护程序运行。例如,我lighttpd
用于内部测试(它由某些应用程序的特定测试脚本启动,并且在这些配置中仅在 localhost 上侦听),但我不希望它使用某些随机配置文件侦听外部连接。(如果我想运行一个监听外部连接的程序,我会自己配置并运行它。)
我真的不喜欢在暴露在 Internet 的机器上运行我不需要的各种随机服务器,因为谁知道它们打开了哪些安全漏洞。而且我不喜欢与防火墙打交道,因为这是另一个可能导致安全漏洞的错误和错误配置的潜在来源。除非管理员特别要求,否则将 Unix 机器配置为不启动任何服务器并不难;NetBSD(我认为也是 OpenBSD)默认是这样的。
我如何配置我的 Ubuntu 系统从不启动任何类型的服务器守护程序,除非我特别告诉它我想要它启动?
(在我的书中,要求安装软件包并不是要求启动服务器。如果它应该是,这是一个糟糕的用户界面,因为许多软件包安装甚至没有启动服务器,所以它使很容易无意中启动服务器而没有意识到您已经这样做了。)
编辑:为了清楚起见,问题不在于我希望能够停止现有服务器。问题是我不希望在没有明确请求的情况下启动新服务器。这意味着我应该能够执行任何 sysadmin 任务,例如安装软件包,并且确信没有服务器已启动。大多数答复没有解决这一点。
Jin*_*ich 12
安装sysv-rc-conf并简单地关闭您不想运行的服务。
sudo apt-get install sysv-rc-conf
描述:sysv-rc-conf 提供了一个易于使用的管理界面?ing“/etc/rc{runlevel}.d/”符号链接。
小智 8
作为一个有类似的问题,我感觉很强烈,这是不是 合理的守护程序假定用户希望它每默认启动:有许多非常有效的使用情况下,这是情况并非如此。(更不用说并不总是清楚哪些安装实际上包含守护程序。)守护程序可以默认关闭,可以明确查询用户,或者可以有一个中央设置。其他任何东西都是微软的推理,完全不值得 Linux。
此外,我发现上述对原发帖者的一些评论是粗鲁的、光顾的、缺乏建设性的。例如,建议他要么接受默认行为,要么改变分布,这真的很了不起。首先,没有一个发行版是完美的,并且跳到一个带有相关额外工作的新发行版不太可能是解决这一问题的现实解决方案。其次,熟练的 Linux/Unix 用户习惯于每一种行为都是可变的:一个问题可能需要两个小时的时间去挖掘,但随后它就会被修复。当默认值不合适时,这样的用户很自然地会假设存在变通方法并尝试找出它是什么。第三,在开源和自由软件礼节中,If you don't like it, then patch the source code!'' is an
acceptable response; however,
...,那就远足吧!'' 不是。
小智 5
打包系统的期望是,当您安装服务器包时,您希望运行该服务器。这是一个合理的期望。
我如何配置我的 Ubuntu 系统从不启动任何类型的服务器,除非我 专门告诉它我想要一个服务器启动?
罗伊已经为您解答了这个问题。当您安装新的服务器包时,您停止该服务器,然后使用类似 sysv-rc-conf 的工具来防止该服务器在下次重新启动或运行级别更改时启动。是的,您必须自己做一些工作,这是合理的,因为您对系统的配置与大多数使用 Ubuntu 的人不同。
例如,我使用lighttpd进行内部测试(它由特定的测试脚本启动 对于某些应用程序,并且仅在本地主机上侦听)但我通常不想要它 侦听外部连接。
您应该花一些时间来学习如何配置 lighttpd,以便将其永久配置为仅侦听 localhost。然后,当您启动服务器时,您就知道它已经按照您的喜好进行了配置。
小智 5
我发现以下内容对在 chroot 环境中安装 Ubuntu 很有帮助,例如解压新的 xen 来宾。实际上归功于 xen-tools 脚本来教我这个:
echo '#!/bin/sh' > /usr/sbin/policy-rc.d
echo 'exit 101' >> /usr/sbin/policy-rc.d
chmod 755 /usr/sbin/policy-rc.d
有了这个脚本,apt 将不会在安装后启动服务。但是,这只是您问题的一半,因为符号链接仍然存在,服务将在下次启动后启动。我不知道如何自动停止:(
使用“runlevel”命令查看您所处的运行级别,并删除 /etc/rc <
runlevel>.d/ 中的所有符号链接。您可能希望运行一些守护进程,但大多数可能会被删除。
您可以使用 /etc/init.d 中的脚本中的符号链接将它们添加回来。
我认为有一个命令可以执行相同的操作,并为所有运行级别添加所有符号链接,但我只是手动执行此操作。
归档时间: |
|
查看次数: |
7173 次 |
最近记录: |