Когда вы создаете Сервер в соответствии с вашими планами и требованиями, вы хотите, чтобы он работал быстро и эффективно, верно? Но знаете ли вы, что современные 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 делает управление этими службами простым.
Помните, что бережливый сервер – это быстрый сервер. Возьмите под контроль то, что работает в вашей системе. Пусть ваш сервер будет сосредоточен на работе, для которой он был создан.




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