Vyhledávání na webu

Jak zastavit a zakázat nežádoucí služby ze systému Linux


Stavíme server podle našeho plánu a požadavků, ale jaké jsou zamýšlené funkce při stavbě serveru, aby fungoval rychle a efektivně. Všichni víme, že při instalaci operačního systému Linux se některé nechtěné balíčky a aplikace nainstalují automaticky bez vědomí uživatele.

Při stavbě serveru si musíme položit otázku, co vlastně od krabice potřebujeme. Potřebuji Webový server nebo FTP server, Server NFS nebo Server DNS, Databázový server nebo něco jiného.

Zde v tomto článku budeme diskutovat o některých z těchto nežádoucích aplikací a služeb, které možná nepotřebujete, ale jsou standardně nainstalovány během instalace OS a nevědomky začnou požírat vaše systémové prostředky.

Pomocí následujících příkazů nejprve zjistíme, jaké služby v systému běží.

[avishek@tecmint]# ps ax
Ukázkový výstup
  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]
   .....

Nyní se pojďme rychle podívat na procesy přijímající připojení (porty) pomocí příkazu netstat, jak je uvedeno níže.

[avishek@tecmint]# netstat -lp
Ukázkový výstup
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         
....

Ve výše uvedeném výstupu si všimnete, že některé z aplikací, které možná nepotřebujete na svém serveru, ale stále běží následovně:

1. smbd a nmbd

smbd a nmbd jsou démony Samba Process. Opravdu potřebujete exportovat smb share na Windows nebo na jiném počítači. Pokud ne! proč tyto procesy běží? Tyto procesy můžete bezpečně ukončit a zakázat jejich automatické spouštění při příštím spuštění počítače.

2. Telnet

Potřebujete obousměrnou interaktivní textově orientovanou komunikaci přes internet nebo lokální síť? Pokud ne! deaktivujte tento proces a vypněte jej při startu.

3. rlogin

Potřebujete se přihlásit k jinému hostiteli přes síť? Pokud ne! Zabijte tento proces a zakažte mu automatické spouštění při bootování.

4. rexec

Remote Process Execution aka rexec vám umožňuje spouštět příkazy shellu na vzdáleném počítači. Pokud nepotřebujete spouštět příkaz shellu na vzdáleném počítači, jednoduše proces ukončete.

5. FTP

Potřebujete přenést soubory z jednoho hostitele na druhého přes internet? Pokud ne, můžete službu bezpečně zastavit.

6. automatická montáž

Potřebujete automaticky připojit různé systémy souborů, abyste vyvolali síťový systém souborů? Pokud ne! Proč tento proces běží? Proč necháváte tuto aplikaci používat váš zdroj? Zabijte proces a deaktivujte jeho automatické spouštění.

7. jmenoval

Potřebujete spustit NameServer (DNS)? Pokud ne, co vás proboha nutí spustit tento proces a dovolit sníst vaše zdroje. Nejprve zabijte běžící proces a poté jej vypněte, aby jej spouštěl při bootování.

8. lpd

lpd je démon tiskárny, který umožňuje tisknout na tento server. Pokud nepotřebujete tisknout ze serveru, je pravděpodobné, že vaše systémové prostředky jsou spotřebovány.

9. Inetd

Provozujete nějaké služby inetd? Pokud používáte samostatnou aplikaci, jako je ssh, která používá jinou samostatnou aplikaci, jako je Mysql, Apache atd., nepotřebujete inetd. raději proces zabijte a zakažte, aby se příště spustil automaticky.

10. portmap

Portmap, což je volání vzdálené procedury Open Network Computing (ONC RPC) a používá démony rpc.portmap a rpcbind. Pokud jsou tyto procesy spuštěny, znamená to, že používáte server NFS. Pokud NFS server běží bez povšimnutí, znamená to, že vaše systémové prostředky jsou zbytečně vyčerpávány.

Jak zabít proces v Linuxu

Chcete-li v Linuxu zastavit běžící proces, použijte příkaz „Kill PID“. Před spuštěním příkazu Kill však musíme znát PID procesu. Například zde chci najít PID procesu „cupsd“.

[avishek@tecmint]# ps ax | grep cupsd

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

PID procesu „cupsd“ je tedy „1511“. Chcete-li tento PID zabít, spusťte následující příkaz.

[avishek@tecmint]# kill -9 1511

Chcete-li se dozvědět více o příkazu kill s jejich příklady, přečtěte si článek A Guide to Kill Command to Terminate a Process in Linux

Jak zakázat službu v Linuxu

V distribucích založených na Red Hat, jako jsou Fedora a CentOS, použijte skript nazvaný 'chkconfig' k povolení a zakázání běžících služeb v Linuxu. .

Například deaktivujte webový server Apache při startu systému.

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

V distribucích založených na Debianu, jako jsou Ubuntu, Linux Mint a dalších distribucích založených na Debianu, se používá skript nazvaný update-rc.d silný>.

Chcete-li například zakázat službu Apache při spuštění systému, proveďte následující příkaz. Zde možnost „-f“ znamená, že síla je povinná.

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

Po provedení těchto změn se systém příště spustí bez těchto procesů nezbytných pro OSN, což ve skutečnosti šetří naše systémové prostředky a server by byl praktičtější, rychlejší, bezpečnější a zabezpečenější.

To je prozatím vše. Přináším vám další zajímavý článek. Do té doby zůstaňte naladěni a připojeni k Tecmint. Nezapomeňte nám poskytnout svou cennou zpětnou vazbu v sekci komentářů.