Ricerca nel sito web

Come arrestare e disattivare i servizi indesiderati dal sistema Linux


Costruiamo un server in base al nostro piano e ai nostri requisiti, ma quali sono le funzioni previste durante la costruzione di un server per farlo funzionare in modo rapido ed efficiente. Sappiamo tutti che durante l'installazione di un sistema operativo Linux, alcuni pacchetti e applicazioni indesiderati vengono installati automaticamente all'insaputa dell'utente.

Quando costruiamo un server dobbiamo chiederci di cosa abbiamo effettivamente bisogno dalla scatola. Ho bisogno di un Server Web o di un Server FTP, di un Server NFS o di un Server DNS, di un Server >Server database o qualcos'altro.

Qui in questo articolo discuteremo di alcune di queste applicazioni e servizi indesiderati di cui potresti non aver bisogno ma che vengono installati per impostazione predefinita durante l'installazione del sistema operativo e iniziano inconsapevolmente a consumare le risorse del tuo sistema.

Vediamo innanzitutto che tipo di servizi sono in esecuzione sul sistema utilizzando i seguenti comandi.

[avishek@tecmint]# ps ax
Uscita del campione
  PID TTY      STAT   TIME COMMAND
    2 ?        S      0:00 [kthreadd]
    3 ?        S      0:00  \_ [migration/0]
    4 ?        S      0:09  \_ [ksoftirqd/0]
    5 ?        S      0:00  \_ [migration/0]
    6 ?        S      0:24  \_ [watchdog/0]
    7 ?        S      2:20  \_ [events/0]
    8 ?        S      0:00  \_ [cgroup]
    9 ?        S      0:00  \_ [khelper]
   10 ?        S      0:00  \_ [netns]
   11 ?        S      0:00  \_ [async/mgr]
   12 ?        S      0:00  \_ [pm]
   13 ?        S      0:16  \_ [sync_supers]
   14 ?        S      0:15  \_ [bdi-default]
   15 ?        S      0:00  \_ [kintegrityd/0]
   16 ?        S      0:49  \_ [kblockd/0]
   17 ?        S      0:00  \_ [kacpid]
   18 ?        S      0:00  \_ [kacpi_notify]
   19 ?        S      0:00  \_ [kacpi_hotplug]
   20 ?        S      0:00  \_ [ata_aux]
   21 ?        S     58:46  \_ [ata_sff/0]
   22 ?        S      0:00  \_ [ksuspend_usbd]
   23 ?        S      0:00  \_ [khubd]
   24 ?        S      0:00  \_ [kseriod]
   .....

Ora diamo una rapida occhiata ai processi che accettano la connessione (porte) utilizzando il comando netstat come mostrato di seguito.

[avishek@tecmint]# netstat -lp
Uscita del campione
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 *:31138                     *:*                         LISTEN      1485/rpc.statd      
tcp        0      0 *:mysql                     *:*                         LISTEN      1882/mysqld         
tcp        0      0 *:sunrpc                    *:*                         LISTEN      1276/rpcbind        
tcp        0      0 *:ndmp                      *:*                         LISTEN      2375/perl           
tcp        0      0 *:webcache                  *:*                         LISTEN      2312/monitorix-http 
tcp        0      0 *:ftp                       *:*                         LISTEN      2174/vsftpd         
tcp        0      0 *:ssh                       *:*                         LISTEN      1623/sshd           
tcp        0      0 localhost:ipp               *:*                         LISTEN      1511/cupsd          
tcp        0      0 localhost:smtp              *:*                         LISTEN      2189/sendmail       
tcp        0      0 *:cbt                       *:*                         LISTEN      2243/java           
tcp        0      0 *:websm                     *:*                         LISTEN      2243/java           
tcp        0      0 *:nrpe                      *:*                         LISTEN      1631/xinetd         
tcp        0      0 *:xmltec-xmlmail            *:*                         LISTEN      2243/java           
tcp        0      0 *:xmpp-client               *:*                         LISTEN      2243/java           
tcp        0      0 *:hpvirtgrp                 *:*                         LISTEN      2243/java           
tcp        0      0 *:5229                      *:*                         LISTEN      2243/java           
tcp        0      0 *:sunrpc                    *:*                         LISTEN      1276/rpcbind        
tcp        0      0 *:http                      *:*                         LISTEN      6439/httpd          
tcp        0      0 *:oracleas-https            *:*                         LISTEN      2243/java         
....

Nell'output sopra, noti che alcune delle applicazioni potrebbero non essere necessarie sul tuo server ma sono ancora in esecuzione come segue:

1. smbd e nmmbd

smbd e nmbd sono demoni di Samba Process. Hai davvero bisogno di esportare la condivisione smb su Windows o su un altro computer. Altrimenti! perché questi processi sono in esecuzione? Puoi terminare in sicurezza questi processi e disabilitarne l'avvio automatico al successivo avvio della macchina.

2.Telnet

Hai bisogno di comunicazione bidirezionale interattiva orientata al testo su Internet o rete locale? Altrimenti! uccidi questo processo e disattivalo dall'avvio all'avvio.

3. login

È necessario accedere a un altro host sulla rete. Altrimenti! Uccidi questo processo e impediscigli di avviarsi automaticamente all'avvio.

4. rexec

L'esecuzione del processo remoto, ovvero rexec, consente di eseguire comandi shell su un computer remoto. Se non è necessario eseguire il comando shell su una macchina remota, termina semplicemente il processo.

5.FTP

Hai bisogno di trasferire file da un host a un altro host su Internet? In caso contrario puoi tranquillamente interrompere il servizio.

6. montaggio automatico

È necessario montare automaticamente file system diversi per visualizzare il file system di rete? Altrimenti! Perché questo processo è in esecuzione? Perché consenti a questa applicazione di utilizzare le tue risorse? Uccidi il processo e impediscigli di avviarsi automaticamente.

7. nominato

Hai bisogno di eseguire NameServer (DNS)? In caso contrario, cosa diavolo ti costringe a eseguire questo processo e consentire di consumare le tue risorse. Uccidi prima il processo in esecuzione e poi disattivalo dall'esecuzione all'avvio.

8. lpd

lpd è il demone della stampante che rende possibile stampare su quel server. Se non hai bisogno di stampare dal server, è probabile che le risorse del tuo sistema vengano esaurite.

9. Inetd

Stai eseguendo servizi inetd? Se stai eseguendo un'applicazione autonoma come ssh che utilizza altre applicazioni autonome come Mysql, Apache, ecc., non hai bisogno di inetd. meglio uccidere il processo e disabilitarlo avviandolo automaticamente la prossima volta.

10. portamappa

Portmap che è una chiamata di procedura remota di Open Network Computing (ONC RPC) e utilizza il demone rpc.portmap e rpcbind. Se questi processi sono in esecuzione, significa che stai utilizzando il server NFS. Se il server NFS viene eseguito inosservato significa che le risorse del sistema vengono utilizzate inutilmente.

Come uccidere un processo in Linux

Per terminare un processo in esecuzione in Linux, utilizza il comando "Kill PID". Ma, prima di eseguire il comando Kill, dobbiamo conoscere il PID del processo. Ad esempio, qui voglio trovare un PID del processo "cupsd".

[avishek@tecmint]# ps ax | grep cupsd

1511 ?        Ss     0:00 cupsd -C /etc/cups/cupsd.conf

Pertanto, il PID del processo "cupsd" è "1511". Per eliminare quel PID, esegui il comando seguente.

[avishek@tecmint]# kill -9 1511

Per saperne di più sul comando kill con i relativi esempi, leggi l'articolo Una guida al comando kill per terminare un processo in Linux

Come disabilitare un servizio in Linux

Nelle distribuzioni basate su Red Hat come Fedora e CentOS, utilizza uno script chiamato "chkconfig" per abilitare e disabilitare i servizi in esecuzione in Linux .

Ad esempio, disabilitiamo il server web Apache all'avvio del sistema.

[avishek@tecmint]# chkconfig httpd off
[avishek@tecmint]# chkconfig httpd --del

Nelle distribuzioni basate su Debian come Ubuntu, Linux Mint e altre distribuzioni basate su Debian utilizzare uno script chiamato update-rc.d.

Ad esempio, per disabilitare il servizio Apache all'avvio del sistema eseguire il seguente comando. Qui l'opzione '-f' sta per forza obbligatoria.

[avishek@tecmint]# update-rc.d -f apache2 remove

Dopo aver apportato queste modifiche, la prossima volta il sistema si avvierà senza questi processi necessari alle Nazioni Unite che di fatto salveranno le nostre risorse di sistema e il server sarà più pratico, veloce, sicuro e protetto.

È tutto per ora. Ci vediamo di nuovo con un altro articolo interessante. Fino ad allora restate sintonizzati e connessi a Tecmint. Non dimenticare di fornirci il tuo prezioso feedback nella sezione commenti.