Skip to main content

Cyber AI România

Marți, 22 septembrie 2026

Cum identifici servicii active care nu ar trebui să ruleze pe un server Linux

Un server Linux instalat pentru un site, o bază de date sau o aplicație poate ajunge să ruleze servicii rămase din teste, pachete instalate temporar ori configurări abandonate. Fiecare serviciu suplimentar consumă resurse și poate adăuga porturi, conturi de sistem, fișiere de configurare și vulnerabilități care trebuie administrate.

Nu opri însă servicii doar fiindcă nu le recunoști. Unele componente sunt necesare pentru rețea, loguri, sincronizarea orei, acces SSH sau actualizări automate. Auditul corect înseamnă inventariere, identificarea rolului și abia apoi dezactivare controlată.

Stabilește ce ar trebui să ruleze pe server

Înainte de comenzi, scrie rolul serverului. Pentru un server web simplu, lista poate fi:

SSH pentru administrare
Nginx sau Apache
PHP-FPM
MariaDB/MySQL, dacă baza este locală
cron și systemd timers
servicii de logare și sincronizare a orei
agent de backup sau monitorizare

Dacă găsești Samba, CUPS, un server FTP, Redis, PostgreSQL, Docker sau un panou de test, trebuie să afli cine l-a instalat și dacă mai este folosit.

Listează serviciile care rulează acum

Pe distribuțiile cu systemd, rulează:

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

systemctl este instrumentul standard pentru inspectarea și controlarea serviciilor administrate de systemd. Comanda de mai sus arată serviciile încărcate și aflate efectiv în stare activă.

Pentru serviciile configurate să pornească automat:

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

„Enabled” nu înseamnă neapărat „rulează acum”. Înseamnă că unitatea este configurată să fie pornită prin dependențele systemd, de regulă la boot.

Salvează inventarul:

systemctl list-units --type=service --state=running \
  --no-pager > servicii-active.txt

Verifică porturile și procesele expuse

Un serviciu care ascultă pe rețea merită prioritate. Rulează:

sudo ss -lntup

Opțiunea -l afișează socket-urile care ascultă, -n păstrează porturile numerice, iar -p arată procesul asociat atunci când ai permisiunile necesare.

Exemple:

127.0.0.1:3306   mysqld
0.0.0.0:80       nginx
0.0.0.0:631      cupsd
0.0.0.0:21       vsftpd

O bază de date pe 127.0.0.1 este accesibilă local. Un serviciu pe 0.0.0.0 ascultă pe toate interfețele IPv4 și poate fi accesibil extern dacă firewall-ul permite traficul.

Pentru un port necunoscut:

sudo lsof -nP -iTCP:631 -sTCP:LISTEN

Astfel identifici procesul și PID-ul care dețin socketul.

Inspectează serviciul înainte să îl oprești

Pentru exemplul cups.service:

systemctl status cups.service
systemctl cat cups.service
systemctl show cups.service \
  -p FragmentPath \
  -p ExecStart \
  -p User

Aceste comenzi îți arată starea, ultimele mesaje, fișierul unității, executabilul lansat și utilizatorul sub care rulează. Unitățile .service descriu procesele controlate și supravegheate de systemd.

Verifică logurile:

sudo journalctl \
  -u cups.service \
  --since "7 days ago" \
  --no-pager

journalctl poate filtra evenimentele după unitatea systemd și intervalul de timp. Dacă nu există activitate utilă, acesta este un indiciu, nu încă dovada că serviciul poate fi eliminat.

Află ce pachet a instalat serviciul

Pe Ubuntu sau Debian, găsește mai întâi calea unității:

systemctl show cups.service -p FragmentPath

Apoi verifică pachetul proprietar:

dpkg-query -S /usr/lib/systemd/system/cups.service

dpkg-query interoghează baza locală a pachetelor și poate identifica pachetul care deține un anumit fișier.

Pe Fedora, Rocky sau AlmaLinux:

rpm -qf /usr/lib/systemd/system/cups.service

Nu elimina pachetul înainte să verifici dacă alte componente depind de el.

Verifică activarea prin socket sau timer

Un serviciu poate fi oprit, dar repornit automat de un socket, timer ori altă unitate:

systemctl list-sockets --all
systemctl list-timers --all
systemctl list-dependencies cups.service

De aceea, simpla comandă stop nu garantează că serviciul rămâne oprit.

Dezactivează controlat serviciul confirmat inutil

După ce ai confirmat că nu este necesar:

sudo systemctl stop cups.service
sudo systemctl disable cups.service

Verifică imediat:

systemctl is-active cups.service
systemctl is-enabled cups.service
sudo ss -lntup

Monitorizează serverul înainte să elimini pachetul. Dacă totul funcționează, pe Ubuntu/Debian poți continua cu:

sudo apt remove cups

Nu folosi direct mask decât când trebuie să împiedici complet pornirea manuală sau prin dependențe. Nu dezactiva servicii precum SSH, networking, systemd-journald, cron sau mecanismele de update fără să înțelegi consecințele.

Un audit bun se termină cu o listă simplă: serviciu, scop, port, pachet, proprietar și decizia luată. Astfel, fiecare proces activ pe server are un motiv clar și poate fi verificat ulterior.

Surse folosite

systemd — documentația oficială pentru systemctl și unitățile .service.

Linux manual pages — journalctl, ss, lsof și dpkg-query.

Red Hat Documentation — gestionarea și inventarierea serviciilor systemd.

Facebook
X
WhatsApp

Te-ar putea interesa si: