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ářů.