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

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

В этой статье мы расскажем, как выявить и отключить ненужные службы в дистрибутивах Linux на базе systemd, таких как Fedora, CentOS, Ubuntu, Debian и других.

Почему вас должны волновать ненужные службы?

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

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

  • Для чего мне нужен этот сервер?
  • Хочу ли я, чтобы на нем работал веб-сервер?
  • Нужны ли мне общие ресурсы FTP или Samba?
  • Использую ли я DNS или серверы баз данных?

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

Проверьте, какие службы запущены

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

Список всех запущенных служб

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

sudo systemctl list-units --type=service --state=running

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

Проверка открытых портов и определение прослушивающих служб

Чтобы узнать, какие службы активно прослушивают сетевые соединения на вашем сервере, используйте одну из следующих команд: ss или netstat.

sudo ss -tuln
OR
sudo netstat -tuln

Эти команды отображают все TCP и UDP порты, открытые в данный момент и ожидающие подключения. Например, если вы обнаружите, что порт 21 (используемый FTP) открыт, но на самом деле FTP вам не нужен, это явный признак того, что вам следует отключить эту службу, чтобы обеспечить Безопасность и экономию ресурсов вашего сервера.

Распространенные ненужные службы в системах systemd

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

Распространенные службы, которые могут быть вам не нужны

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

Служба Описание
avahi-daemon Работа в сети с нулевой конфигурацией (локальное обнаружение сервисов).
bluetooth.service Управляет Bluetooth – бесполезен на серверах.
iscsi.service, iscsid.socket, iscsiuio.socket Для сетевых хранилищ iSCSI.
lvm2-monitor.service, lvm2-lvmpolld.socket Для управления томами LVM.
mdmonitor.service, raid-check.timer Связано с программным RAID.
qemu-guest-agent.service Пригодится только в том случае, если вы работаете в виртуальной машине QEMU/KVM.
nfs-convert.service, nfs-client.target Для NFS (сетевых файловых систем).
cups.service Службы печати – скорее всего, бесполезны на сервере.
postfix.service Почтовый сервер – не нужен, если вы не отправляете почту.
sssd.service Подключение к доменам, например LDAP или AD.
hyperv-daemons Необходим только для виртуальных машин Hyper-V.
apport.service Инструмент отчетов об ошибках Ubuntus.
zeitgeist, telepathy Службы регистрации и обмена сообщениями для настольных компьютеров – не для серверов.

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

sudo systemctl disable avahi-daemon
sudo systemctl disable bluetooth
sudo systemctl disable iscsi
sudo systemctl disable iscsid.socket
sudo systemctl disable iscsiuio.socket
sudo systemctl disable lvm2-monitor
sudo systemctl disable lvm2-lvmpolld.socket
sudo systemctl disable mdmonitor
sudo systemctl disable raid-check.timer
sudo systemctl disable qemu-guest-agent
sudo systemctl disable nfs-convert
sudo systemctl disable nfs-client.target
sudo systemctl disable cups
sudo systemctl disable postfix
sudo systemctl disable sssd
sudo systemctl disable hyperv-daemons
sudo systemctl disable apport
sudo systemctl disable zeitgeist
sudo systemctl disable telepathy

Хотите остановить их немедленно? Просто замените disable на stop в каждой команде.

Как выявлять и просматривать службы

Не знаете, что работает в вашей системе или что запускается автоматически? Вот несколько простых команд, которые помогут вам разобраться в этом:

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

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

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

systemctl list-units --type=service

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

systemd-analyze blame

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

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

Если вы обнаружили что-то ненужное, вы можете остановить эту службу и предотвратить ее повторный запуск:

sudo systemctl stop       # Stops the service now
sudo systemctl disable    # Prevents it from starting at boot

Чтобы предотвратить запуск службы вручную или в качестве зависимости (замаскируйте ее)

sudo systemctl mask

Если вы когда-нибудь захотите вернуть его обратно:

sudo systemctl unmask

Заключение

Отключив ненужные службы на вашем Linux-сервере, вы освободите ресурсы, повысите безопасность и уменьшите потенциальные векторы атак. Современная systemd делает управление этими службами простым.

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

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

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

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

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