При установке RHEL система поставляется с минимальным набором предустановленных пакетов и служб, чтобы обеспечить легкость и безопасность системы.
Однако со временем, по мере установки новых пакетов и служб, система может стать раздутой и уязвимой для угроз безопасности.
В этой статье мы расскажем, как отключить и удалить ненужные службы и пакеты в дистрибутивах на базе RHEL, таких как Rocky Linux, AlmaLinux и Fedora, гарантируя, что ваша система останется безопасной и функциональной.
Если вы планируете использовать только что установленную систему RHEL для размещения, скажем, небольшого веб-сайта, работающего на Apache или Nginx, или для предоставления сетевых услуг, таких как DNS, DHCP, PXE-загрузка, FTP-сервер и т.д., или других услуг, которые не требуют запуска демонов Postifx MTA, CUPS и Avahi, то зачем нам держать все эти ненужные демоны установленными или даже запущенными на вашем сервере.
Основными внешними службами, которые действительно должны быть запущены на вашем сервере после минимальной установки, будут лишь демон SSH для удаленного входа в систему и, в некоторых случаях, служба NTP для точной синхронизации внутренних часов вашего сервера с внешними NTP-серверами.
Установка полезных системных утилит
После завершения установки войдите на сервер под учетной записью root или пользователя с привилегиями root и выполните обновление системы, чтобы убедиться, что в системе присутствуют все пакеты и исправления безопасности.
Следующим шагом будет установка некоторых полезных системных утилит, таких как net-tools (этот пакет предоставляет старую, но хорошую команду ifconfig), текстовый редактор nano, wget для загрузки файлов и curl для передачи URL, lsof (для списка открытых файлов) и bash-completion, который автоматически завершает набранные команды.
Отключение и удаление нежелательных служб в Linux
Теперь вы можете приступить к отключению и удалению предустановленных нежелательных служб, но перед этим вам нужно получить список всех включенных и работающих служб в вашей системе.
Проверка включенных служб
Перед отключением служб необходимо проверить, какие службы включены в вашей системе.
Для SystemD:
Для SysVinit:
Для OpenRC:
Отметьте службы, которые вы хотите отключить.
Определение ненужных служб
Прежде чем отключать и удалять ненужные службы, необходимо определить, какие службы необходимы, а какие можно смело отключать.
Один из способов сделать это – просмотреть список включенных служб и найти их описания, чтобы определить, что они делают.
Например, следующая команда покажет список всех включенных служб вместе с их описанием в дистрибутивах на базе systemd:
Для SysVinit:
Для OpenRC:
Затем вы можете изучить описание каждой службы, чтобы определить, необходима ли она для вашей системы.
Другой подход заключается в использовании такого инструмента, как systemd-analyze, для анализа времени загрузки системы и выявления служб, замедляющих процесс загрузки.
Приведенная выше команда отобразит список всех запущенных модулей (служб) systemd, отсортированных по времени, которое потребовалось для их инициализации.
Приведенная выше команда отобразит список всех запущенных модулей (служб) systemd, отсортированных по времени, которое потребовалось для их инициализации.
Отключение ненужных служб
Выявив некритичную службу, которая может замедлять загрузку, вы можете отключить и остановить ее с помощью следующих команд.
Для SystemD:
Для SysVinit:
Для OpenRC:
Хотя то, какие службы вам нужно отключить или удалить, зависит от конкретного случая использования, есть несколько общих служб, которые стоит отключить или удалить при минимальной установке RHEL.
Postfix
Postfix – это агент передачи почты (MTA), который используется для отправки и получения электронной почты в вашей системе.
Если вы не используете свою систему для работы с электронной почтой, вы можете отключить и удалить эту службу.
Avahi
Avahi – это сервис, который используется для создания сетей с нулевой конфигурацией, позволяя устройствам обнаруживать и взаимодействовать друг с другом в одной сети.
🖧 Как отключить Avahi-Daemon на Linux
Cups
Служба cups используется для печати.
Если вашей системе не нужны возможности печати, вы можете отключить и остановить ее:
Удаление ненужных пакетов
Помимо удаления ненужных служб, вы также можете удалить все пакеты, которые больше не нужны.
Неиспользуемые пакеты могут занимать место на диске и потенциально создавать уязвимости в системе безопасности.
Сначала составьте список установленных пакетов, чтобы определить, какие из них связаны с нежелательными службами:
[simtemr] $ rpm -qa [/simterm]
Чтобы узнать, какой пакет предоставляет ту или иную услугу, используйте:
Чтобы удалить пакет и связанные с ним файлы, воспользуйтесь командой.
Лучшие практики отключения и удаления служб
При отключении и удалении служб необходимо следовать лучшим практикам, чтобы ваша система оставалась безопасной и функциональной.
Вот некоторые рекомендации, которым следует следовать:
- Перед удалением службы отключите ее, чтобы она не работала в фоновом режиме, что можно сделать с помощью команды systemctl disable.
- Остановите службу, чтобы предотвратить ее запуск в текущем сеансе, для этого можно использовать команду systemctl stop.
- Удалите все пакеты, которые больше не нужны, чтобы освободить место на диске и уменьшить уязвимости в системе безопасности, для этого можно воспользоваться командой yum remove.
- После отключения или удаления служб обновите демон systemd, чтобы убедиться, что изменения вступили в силу, что можно сделать с помощью команды systemctl daemon-reload.
- После удаления служб проверьте, не запущены ли еще службы-призраки, для этого можно использовать команду systemctl list-units.
Заключение
Отключение и удаление нежелательных служб и пакетов в RHEL – важный шаг в поддержании безопасности и производительности системы.
Выполнив шаги, описанные в этой статье, вы сможете обеспечить безопасность и работоспособность своей системы.
Не забывайте следовать лучшим практикам при отключении и удалении служб, а также будьте осторожны при удалении пакетов, чтобы избежать потенциальных уязвимостей безопасности.
см. также:
- 🐧 Безопасность Linux: как удалить устаревшие сетевые службы
- 🐧 Как быстро сделать файлы пустыми, не удаляя их в Linux и Unix
- 🔐 Настройка общесистемных криптографических политик на RHEL/CentOS/Rocky Linux
- 🐉 Управление системой Kali Linux