Когда вы настраиваете сервер под свои задачи, хочется, чтобы он работал быстро и чётко, без лишнего. Но вы могли не заметить: современные дистрибутивы Linux, особенно те, что используют systemd, по умолчанию запускают множество сервисов — даже если они вам не нужны. Эти службы могут потреблять ресурсы и даже нести риски для безопасности. В этом тексте разберем, как найти и отключить ненужные сервисы в популярных Linux-системах вроде Fedora, CentOS, Ubuntu и Debian.
При установке Linux система автоматически включает ряд служб. Это могут быть веб-серверы, FTP, службы печати или сетевые демоны — хотя вы сами их не просили. И если ваш сервер не использует их, они просто тратят ресурсы впустую и открывают дополнительные точки для атак.
Перед тем как что-то отключать, задайте себе несколько вопросов:
— Для чего мне вообще этот сервер?
— Нужен ли на нём веб-сервер?
— Я использую FTP или Samba?
— Есть ли на нём DNS или база данных?
Systemd сильно упростил управление сервисами. Вот как можно посмотреть активные службы.
sudo systemctl list-units --type=service --state=running
Внимательно посмотрите список. Если сервис никак не связан с задачами вашего сервера — скорее всего, его стоит отключить.
Чтобы понять, какие службы слушают входящие подключения, используйте одну из этих команд:
sudo ss -tuln
или
sudo netstat -tuln
Вы увидите список всех TCP и UDP портов, которые сейчас открыты. Например, если открыт порт 21 (это FTP), а вы FTP не используете — лучше отключить соответствующую службу.
— avahi-daemon: автообнаружение устройств в сети (не всегда нужно).
— bluetooth.service: управляет Bluetooth — не нужен на сервере.
— iscsi*: работа с iSCSI хранилищами.
— lvm2-*: управление LVM-томами.
— mdmonitor, raid-check: мониторинг RAID.
— qemu-guest-agent: актуален только внутри виртуалок QEMU/KVM.
— nfs-*: службы для сетевых файловых систем.
— cups.service: печать — на сервере вряд ли нужна.
— postfix.service: почтовый сервер — нужен не всем.
— sssd.service: интеграция с LDAP и доменами.
— hyperv-daemons: только для виртуалок в Hyper-V.
— apport.service: отправка ошибок в Ubuntu.
— 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, чтобы остановить немедленно:
sudo systemctl stop avahi-daemon
Если не уверены, что именно стартует автоматически, вот полезные команды:
→ Все службы, включённые на автозапуск:
systemctl list-unit-files --type=service --state=enabled
→ Службы, которые сейчас работают:
systemctl list-units --type=service
→ Анализ времени загрузки и самых «тяжёлых» служб:
systemd-analyze blame
Обратите внимание на службы, которые грузятся дольше всего. Если они вам не нужны — отключайте.
Если нашли что-то лишнее:
sudo systemctl stop service_name
sudo systemctl disable stop service_name
Чтобы полностью запретить запуск даже вручную:
sudo systemctl mask service_name
Если захотите вернуть обратно:
sudo systemctl unmask service_name
Отключая ненужные службы, вы освобождаете ресурсы, ускоряете систему и уменьшаете риски. Systemd позволяет делать это быстро и удобно.
Помните: чем меньше лишнего — тем быстрее и безопаснее работает сервер. Берите под контроль всё, что в нём запущено.