Как отключить и удалить ненужные службы в Linux

При установке RHEL 9 система поставляется с минимальным набором предустановленных пакетов и сервисов для обеспечения легкости и безопасности системы.

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

В этой статье мы расскажем, как отключить и удалить ненужные службы и пакеты в дистрибутивах на базе RHEL, таких как Rocky Linux, AlmaLinux и Fedora, обеспечивая безопасность и функциональность системы.

Если вы планируете использовать только что установленную систему RHEL для размещения, скажем, небольшого веб-сайта, работающего на Apache или Nginx, или для предоставления сетевых услуг, таких как DNS, DHCP, PXE boot, FTP сервер и т.д. или других услуг, которые не требуют запуска демонов Postifx MTA, CUPS и Avahi, то почему мы должны держать все эти ненужные демоны установленными или даже работающими на вашем сервере.

Основными внешними службами, которые действительно должны быть запущены на вашем сервере после минимальной установки, будут лишь демон SSH для удаленного входа в систему и, в некоторых случаях, служба NTP для точной синхронизации внутренних часов вашего сервера с внешними NTP-серверами.

Установка полезных системных утилит

После завершения установки войдите на сервер под учетной записью root или пользователем с привилегиями root и выполните обновление системы, чтобы убедиться, что на вашем сервере установлены все пакеты и исправления безопасности.

yum update -y
yum upgrade y

Следующим шагом будет установка некоторых полезных системных утилит, таких как net-tools (этот пакет предоставляет старую, но хорошую команду ifconfig), текстовый редактор nano wget для загрузки файлов и curl для передачи URL, lsof (для списка открытых файлов) и bash-completion, который автоматически завершает набранные команды.

yum install nano bash-completion net-tools wget curl lsof

Отключение и удаление нежелательных служб в Linux

Теперь вы можете приступить к отключению и удалению предустановленных нежелательных служб, но перед этим вам нужно получить список всех включенных и работающих служб в вашей системе.

Проверка включенных служб

Прежде чем отключать службы, необходимо проверить, какие службы включены в вашей системе.

systemctl list-unit-files --type=service --state=enabled

Запишите службы, которые вы хотите отключить.

Определение ненужных служб

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

Один из способов сделать это – изучить список включенных служб и найти их описания, чтобы определить, что они делают.

Например, следующая команда покажет список всех включенных служб вместе с их описанием:

systemctl list-unit-files --type=service --all --no-pager

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

Другой подход заключается в использовании такого инструмента, как systemd-analyze, для анализа времени загрузки системы и выявления служб, замедляющих процесс загрузки.

systemd-analyze
systemd-analyze blame

Приведенная выше команда отобразит список всех запущенных модулей (служб) systemd отсортированных по времени, которое им потребовалось для инициализации.

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

Отключение ненужных служб

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

sudo systemctl disable <service_name>
sudo systemctl stop <service_name>

Хотя выбор служб, которые необходимо отключить или удалить, зависит от конкретного случая использования, есть несколько общих служб, которые стоит отключить или удалить при минимальной установке RHEL.

Postfix

Postfix – это агент передачи почты (MTA), который используется для отправки и получения электронной почты в вашей системе. Если вы не используете свою систему для работы с электронной почтой, вы можете отключить и удалить эту службу.

sudo systemctl stop postfix
sudo systemctl disable postfix
sudo yum remove postfix

Avahi

Avahi – это сервис, который используется для создания сетей с нулевой конфигурацией, позволяя устройствам обнаруживать и взаимодействовать друг с другом в одной сети.

Если вам не нужна эта функциональность, вы можете отключить и удалить службу avahi.

sudo systemctl stop avahi-daemon.socket
sudo systemctl disable avahi-daemon.socket
sudo yum remove avahi-autoipd avahi-libs avahi-tools

cups

Служба cups используется для печати. Если вашей системе не нужны возможности печати, вы можете отключить и остановить ее:

sudo systemctl disable cups
sudo systemctl stop cups
suod yum remove cups

Удаление нежелательных служб

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

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

rpm -qa

Чтобы узнать, какой пакет предоставляет ту или иную услугу, используйте:

rpm -qf /usr/lib/systemd/system/<service_name>.service

Чтобы удалить пакет и связанные с ним файлы, используйте.

sudo yum remove <package_name>

Лучшие практики по отключению и удалению служб

При отключении и удалении служб необходимо следовать лучшим практикам, чтобы ваша система оставалась безопасной и функциональной.

Вот некоторые рекомендации, которым следует следовать:

  • Перед удалением службы отключите ее, чтобы она не работала в фоновом режиме, что можно сделать с помощью команды systemctl disable.
  • Остановите службу, чтобы предотвратить ее запуск в текущем сеансе, что можно сделать с помощью команды systemctl stop.
  • Удалите все пакеты, которые больше не нужны, чтобы освободить место на диске и уменьшить уязвимость системы безопасности, что можно сделать с помощью команды yum remove.
  • После отключения или удаления служб обновите демон systemd, чтобы убедиться, что изменения вступили в силу, что можно сделать с помощью команды systemctl daemon-reload.
  • После удаления служб проверьте, не запущены ли еще службы-призраки, что можно сделать с помощью команды systemctl list-units.

Заключение

Отключение и удаление ненужных служб и пакетов на RHEL – важный шаг в поддержании безопасности и производительности системы.

Следуя шагам, описанным в этой статье, вы можете гарантировать, что ваша система останется безопасной и функциональной. Не забывайте следовать лучшим практикам при отключении и удалении служб, а также будьте осторожны при удалении пакетов, чтобы избежать потенциальных уязвимостей безопасности.

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Вдохновлен www.tecmint.com

Похожие статьи

Комментарии (0)