Когда вы настраиваете сервер в соответствии со своим планом и требованиями, вы хотите, чтобы он работал быстро и эффективно, верно? Но знаете ли вы, что современные системы 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
или
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 |
Инструмент для создания отчетов об ошибках 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
в каждой команде.
Как идентифицировать и анализировать Услуги
Не знаете, что работает в вашей системе или что запускается автоматически? Вот несколько простых команд, которые помогут вам это выяснить:
Чтобы просмотреть список всех включенных служб и настроить их запуск при загрузке системы.
systemctl list-unit-files --type=service --state=enabled
Чтобы увидеть запущенные службы, которые активны прямо сейчас.
systemctl list-units --type=service
Чтобы проанализировать время загрузки и определить, какие службы замедляют загрузку:
systemd-analyze blame
Это покажет, сколько времени занимает каждая служба при загрузке. Обратите внимание на всё, что занимает несколько секунд, и решите, действительно ли вам это нужно.
Как остановить и отключить службу
Если вы нашли то, что вам не нужно, вы можете остановить процесс и предотвратить его повторное начало:
sudo systemctl stop # Останавливает службу сейчас sudo systemctl disable # Не позволяет ей запускаться при загрузке
Чтобы предотвратить запуск службы вручную или в качестве зависимости (скрыть её)
sudo systemctl mask
Если вы когда-нибудь захотите вернуть его:
sudo systemctl unmask
Выводы
Отключив ненужные службы на вашем Linux-сервере, вы освободите ресурсы, повысите безопасность и сократите количество потенциальных векторов атаки. Современная система systemd упрощает управление этими службами.
Помните, что lean-сервер — это быстрый сервер. Контролируйте то, что работает в вашей системе. Сосредоточьте свой сервер на той работе, для которой он был создан.