Hoe u ongewenste services van een Linux-systeem kunt stoppen en uitschakelen
Wij bouwen een server volgens ons plan en onze wensen, maar wat zijn de beoogde functies bij het bouwen van een server om deze snel en efficiënt te laten functioneren. We weten allemaal dat tijdens het installeren van een Linux-besturingssysteem sommige ongewenste pakketten en applicaties automatisch worden geïnstalleerd zonder medeweten van een gebruiker.
Bij het bouwen van een server moeten we ons afvragen wat we eigenlijk nodig hebben uit de doos. Heb ik een webserver of een FTP-server, een NFS-server of een DNS-server, een >Databaseserver of iets anders.
Hier in dit artikel bespreken we enkele van deze ongewenste toepassingen en diensten die u misschien niet nodig heeft, maar die standaard worden geïnstalleerd tijdens de installatie van het besturingssysteem en onbewust uw systeembronnen gaan opslokken.
Laten we eerst weten wat voor soort services er op het systeem worden uitgevoerd met behulp van de volgende opdrachten.
[avishek@tecmint]# ps ax
Voorbeelduitvoer
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]
.....
Laten we nu snel kijken naar de processen die verbindingen (poorten) accepteren met behulp van de netstat-opdracht, zoals hieronder weergegeven.
[avishek@tecmint]# netstat -lp
Voorbeelduitvoer
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
....
In de bovenstaande uitvoer ziet u dat sommige van de toepassingen die u misschien niet nodig heeft op uw server, nog steeds als volgt actief zijn:
1. smbd en nmbd
smbd en nmbd zijn daemon van Samba Process. Moet u echt smb-share exporteren naar Windows of een andere machine? Als niet! waarom zijn deze processen actief? U kunt deze processen veilig beëindigen en voorkomen dat ze automatisch starten wanneer de machine de volgende keer opstart.
2. Telnet
Heeft u bidirectionele interactieve tekstgeoriënteerde communicatie nodig via internet of een lokaal netwerk? Als niet! dood dit proces en schakel het uit vanaf het opstarten.
3. log in
Moet u via een netwerk inloggen op een andere host? Als niet! Beëindig dit proces en zorg ervoor dat het niet automatisch start bij het opstarten.
4. reexec
Met Remote Process Execution oftewel rexec kunt u shell-opdrachten uitvoeren op een externe computer. Als u geen shell-opdracht op een externe machine hoeft uit te voeren, beëindigt u eenvoudigweg het proces.
5. FTP
Moet u via internet bestanden van de ene host naar de andere host overbrengen? Als dit niet het geval is, kunt u de service veilig stopzetten.
6. automatisch monteren
Moet u automatisch verschillende bestandssystemen aankoppelen om het netwerkbestandssysteem te openen? Als niet! Waarom loopt dit proces? Waarom laat u deze applicatie uw bron gebruiken? Beëindig het proces en zorg ervoor dat het niet automatisch start.
7. genoemd
Moet u NameServer (DNS) uitvoeren? Als dat niet het geval is, wat dwingt u dan in hemelsnaam om dit proces uit te voeren en toe te staan dat u uw hulpbronnen opslokt. Beëindig eerst het lopende proces en schakel het vervolgens uit tijdens het opstarten.
8. lpd
lpd is de printerdaemon die het mogelijk maakt om naar die server af te drukken. Als u niet vanaf de server hoeft af te drukken, is de kans groot dat uw systeembronnen in beslag worden genomen.
9. Inetd
Gebruik je inetd-services? Als je een stand-alone applicatie zoals ssh gebruikt die andere stand-alone applicaties zoals Mysql, Apache, etc. gebruikt, dan heb je inetd niet nodig. Het is beter om het proces te beëindigen en het de volgende keer automatisch uit te schakelen.
10. havenkaart
Portmap is een Open Network Computing Remote Procedure Call (ONC RPC) en gebruikt de daemon rpc.portmap en rpcbind. Als deze processen actief zijn, betekent dit dat u een NFS-server gebruikt. Als de NFS-server onopgemerkt draait, betekent dit dat uw systeembronnen onnodig worden opgebruikt.
Hoe een proces in Linux te beëindigen
Om een lopend proces in Linux te beëindigen, gebruik je het ‘Kill PID‘ commando. Maar voordat we de opdracht Kill uitvoeren, moeten we de PID van het proces kennen. Hier wil ik bijvoorbeeld een PID vinden van het proces ‘cupsd’.
[avishek@tecmint]# ps ax | grep cupsd
1511 ? Ss 0:00 cupsd -C /etc/cups/cupsd.conf
De PID van het proces ‘cupsd’ is dus ‘1511‘. Om die PID te doden, voert u de volgende opdracht uit.
[avishek@tecmint]# kill -9 1511
Om meer te weten te komen over kill command en hun voorbeelden, lees het artikel A Guide to Kill Command to Terminate a Process in Linux
Hoe u een service in Linux kunt uitschakelen
Maak in op Red Hat gebaseerde distributies zoals Fedora en CentOS gebruik van een script genaamd 'chkconfig' om de actieve services in Linux in en uit te schakelen .
Laten we bijvoorbeeld de Apache-webserver uitschakelen bij het opstarten van het systeem.
[avishek@tecmint]# chkconfig httpd off
[avishek@tecmint]# chkconfig httpd --del
Gebruik in op Debian gebaseerde distributies zoals Ubuntu, Linux Mint en andere op Debian gebaseerde distributies een script met de naam update-rc.d sterk>.
Om bijvoorbeeld de Apache-service uit te schakelen bij het opstarten van het systeem, voert u de volgende opdracht uit. Hier staat de optie ‘-f’ voor force is verplicht.
[avishek@tecmint]# update-rc.d -f apache2 remove
Na het aanbrengen van deze wijzigingen zal het systeem de volgende keer opstarten zonder deze VN-noodzakelijke processen, die in feite onze systeembronnen zullen besparen en de server praktischer, sneller, veiliger en beter beveiligd zou zijn.
Dat is het voor nu. Ik kom hier weer met een ander interessant artikel. Blijf tot die tijd op de hoogte en verbonden met Tecmint. Vergeet niet om ons uw waardevolle feedback te geven in de commentaarsectie.