Могу ли я безопасно удалить Ruby?

Я хочу удалить некритические пакеты, чтобы ограничить подверженность потенциальным уязвимостям безопасности.

Я никогда не использую Ruby.

Удаляет ли Ruby безопасность или нарушает работу других частей системы?

3 ответа

Решение

Если ваш менеджер пакетов установил 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

Итак, в моей системе я вижу, что это нужно марионетке. Поскольку мне действительно нужна кукла, я не буду удалять рубин.

Аналогично в системах на основе 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.

Само по себе удаление рубина не окажет большого влияния на безопасность. Если вы не используете его, как злоумышленник собирается что-то использовать в нем? Они должны иметь оболочку и иметь возможность вызывать интерпретатор ruby, и если у них есть оболочка, существует миллиард и один лучший способ использовать ее, чем запускать ruby ​​(для чего, чтобы получить оболочку, которая у них уже есть?).

Если у вас есть исполняемые файлы SUID с ruby ​​в качестве их интерпретатора, это может создать проблемы с безопасностью (в зависимости), или если ruby ​​находится в sudoers, и гипотетический злоумышленник может запустить его таким образом (не позволяйте никому sudo интерпретатора, если вы не удобно давать им права root; никогда не позволяйте сервисным аккаунтам интерпретаторов sudo), это было бы проблемой безопасности. Тем не менее, дыра в безопасности связана не с установкой ruby, а с неправильной настройкой вашей системы в целом.

Ваш подход неверен. Удалите ненужные сервисы, а не ненужные пакеты.

В системе на основе RHEL вы можете использовать пакет yum-utils

# rpm -q --whatrequires ruby

Также полезная команда

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

На основе системы Debian

# apt-cache showpkg ruby**
Другие вопросы по тегам