我可以安全地卸载 Ruby 吗?

我可以安全地卸载 Ruby 吗?

我希望删除非关键软件包以限制潜在的安全漏洞的暴露。

我从不使用 Ruby。

删除 Ruby 是否会增加安全性或破坏系统的其他部分?

答案1

如果您的包管理器首先安装了 Ruby,那么您的系统中就有需要它的东西。

最简单的方法什么需要测试删除包的尝试。例如:

# yum remove ruby
...
================================================================================
 Package         Arch      Version                Repository               Size
================================================================================
Removing:
 ruby            x86_64    1.8.7.352-12.el6_4     @updates                1.8 M
Removing for dependencies:
 facter          x86_64    1:1.7.3-1.el6          @puppetlabs-products    235 k
 hiera           noarch    1.2.1-1.el6            @puppetlabs-products     46 k
 puppet          noarch    3.3.0-1.el6            @puppetlabs-products    3.5 M
 ruby-irb        x86_64    1.8.7.352-12.el6_4     @updates                1.0 M
 ruby-rdoc       x86_64    1.8.7.352-12.el6_4     @updates                1.3 M
 ruby-rgen       noarch    0.6.5-1.el6            @puppetlabs-deps        315 k
 rubygem-json    x86_64    1.5.5-1.el6            @puppetlabs-deps        989 k
 rubygems        noarch    1.3.7-1.el6            @base                   711 k

Transaction Summary
================================================================================
Remove        9 Package(s)

Installed size: 9.9 M
Is this ok [y/N]: n
Exiting on user Command

因此在我的系统上,我看到 puppet 需要它。由于我确实需要 puppet,因此我不会删除 ruby​​。

在基于 Debian 的系统上同样如此:

# apt-get remove ruby
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libshadow-ruby1.8 irb1.8 libaugeas0 rdoc libruby ruby1.8 rdoc1.8
  libaugeas-ruby1.8 puppet-common libruby1.8 libopenssl-ruby1.8
  libreadline-ruby1.8 libreadline5 libopenssl-ruby augeas-lenses
  libxmlrpc-ruby
Use 'apt-get autoremove' to remove them.
The following packages will be REMOVED:
  facter puppet ruby
0 upgraded, 0 newly installed, 3 to remove and 48 not upgraded.
After this operation, 983kB disk space will be freed.
Do you want to continue [Y/n]? n
Abort.

答案2

删除 ruby​​ 本身不会对安全性产生太大影响。如果您不使用它,攻击者如何利用其中的某些东西?他们必须有一个 shell 并能够调用 ruby​​ 解释器,如果他们有一个 shell,那么他们有比运行 ruby​​ 更好的十亿种方法来使用它(为了什么,为了获得他们已经拥有的 shell?)。

如果您碰巧拥有任何以 ruby​​ 作为解释器的 SUID 可执行文件,这可能会给您带来安全问题(视情况而定),或者如果 ruby​​ 在 sudoers 中,并且假设的攻击者可以以这种方式运行它(除非您愿意授予他们 root 权限,否则不要让任何人 sudo 解释器;永远不要让服务帐户 sudo 解释器),这将是一个安全问题。但是,安全漏洞不是由安装 ruby​​ 造成的,而是由系统配置错误造成的。

你的做法是错误的。删除不必要的服务,而不是不必要的包。

答案3

在基于 RHEL 的系统上,你可以使用 yum-utils 包

# rpm -q --whatrequires ruby

同样有用的命令

# yum install yum-utils
# package-cleanup --leaves

在基于 Debian 的系统上

# apt-cache showpkg ruby**

相关内容