Website-Suche

So stoppen und deaktivieren Sie unerwünschte Dienste auf dem Linux-System


Wir bauen einen Server nach unserem Plan und unseren Anforderungen, aber welche Funktionen sollen beim Bau eines Servers vorgesehen sein, damit er schnell und effizient funktioniert? Wir alle wissen, dass bei der Installation eines Linux-Betriebssystems einige unerwünschte Pakete und Anwendungen automatisch und ohne Wissen des Benutzers installiert werden.

Wenn wir einen Server bauen, müssen wir uns fragen, was wir tatsächlich von der Verpackung benötigen. Benötige ich einen Webserver oder einen FTP-Server, einen NFS-Server oder einen DNS-Server, einen Datenbankserver oder etwas anderes.

In diesem Artikel besprechen wir einige dieser unerwünschten Anwendungen und Dienste, die Sie möglicherweise nicht benötigen, die jedoch standardmäßig während der Betriebssysteminstallation installiert werden und unwissentlich Ihre Systemressourcen beanspruchen.

Lassen Sie uns zunächst mit den folgenden Befehlen wissen, welche Art von Diensten auf dem System ausgeführt werden.

[avishek@tecmint]# ps ax
Beispielausgabe
  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]
   .....

Werfen wir nun einen kurzen Blick auf die Prozesse, die Verbindungen (Ports) mit dem Befehl „netstat“ akzeptieren, wie unten gezeigt.

[avishek@tecmint]# netstat -lp
Beispielausgabe
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 der obigen Ausgabe stellen Sie fest, dass einige der Anwendungen, die Sie möglicherweise nicht auf Ihrem Server benötigen, aber dennoch wie folgt ausgeführt werden:

1. SMBD und NMBD

smbd und nmbd sind Daemons des Samba-Prozesses. Müssen Sie die SMB-Freigabe wirklich auf Windows oder einen anderen Computer exportieren? Wenn nicht! Warum laufen diese Prozesse? Sie können diese Prozesse sicher beenden und verhindern, dass sie beim nächsten Maschinenstart automatisch gestartet werden.

2. Telnet

Benötigen Sie bidirektionale interaktive textorientierte Kommunikation über das Internet oder ein lokales Netzwerk? Wenn nicht! Beenden Sie diesen Prozess und verhindern Sie, dass er beim Booten startet.

3. rlogin

Müssen Sie sich über das Netzwerk bei einem anderen Host anmelden? Wenn nicht! Beenden Sie diesen Prozess und verhindern Sie, dass er beim Booten automatisch gestartet wird.

4. rexec

Mit der Remote Process Execution, auch bekannt als rexec, können Sie Shell-Befehle auf einem Remote-Computer ausführen. Wenn Sie keinen Shell-Befehl auf einem Remote-Computer ausführen müssen, beenden Sie den Prozess einfach.

5. FTP

Müssen Sie Dateien über das Internet von einem Host auf einen anderen Host übertragen? Wenn nicht, können Sie den Dienst bedenkenlos beenden.

6. Automount

Müssen Sie verschiedene Dateisysteme automatisch mounten, um das Netzwerkdateisystem aufzurufen? Wenn nicht! Warum läuft dieser Prozess? Warum erlauben Sie dieser Anwendung, Ihre Ressource zu nutzen? Beenden Sie den Prozess und verhindern Sie, dass er automatisch startet.

7. benannt

Müssen Sie NameServer (DNS) ausführen? Wenn nicht, was um alles in der Welt zwingt Sie dazu, diesen Prozess durchzuführen und zuzulassen, dass Ihre Ressourcen verschwendet werden? Beenden Sie zuerst den laufenden Prozess und deaktivieren Sie dann die Ausführung beim Booten.

8. lpd

lpd ist der Druckerdämon, der das Drucken auf diesem Server ermöglicht. Wenn Sie nicht vom Server aus drucken müssen, besteht die Möglichkeit, dass Ihre Systemressourcen aufgebraucht werden.

9. Inetd

Führen Sie irgendwelche inetd-Dienste aus? Wenn Sie eine eigenständige Anwendung wie SSH ausführen, die andere eigenständige Anwendungen wie MySQL, Apache usw. verwendet, benötigen Sie inetd nicht. Beenden Sie den Prozess besser und deaktivieren Sie ihn, damit er beim nächsten Mal automatisch startet.

10. Portmap

Portmap ist ein Open Network Computing Remote Procedure Call (ONC RPC) und verwendet die Daemons rpc.portmap und rpcbind. Wenn diese Prozesse ausgeführt werden, bedeutet dies, dass Sie einen NFS-Server ausführen. Wenn der NFS-Server unbemerkt läuft, werden Ihre Systemressourcen unnötig beansprucht.

So beenden Sie einen Prozess unter Linux

Um einen laufenden Prozess unter Linux zu beenden, verwenden Sie den Befehl „Kill PID“. Bevor wir jedoch den Kill-Befehl ausführen, müssen wir die PID des Prozesses kennen. Hier möchte ich zum Beispiel eine PID des Prozesses „cupsd“ finden.

[avishek@tecmint]# ps ax | grep cupsd

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

Die PID des Prozesses „cupsd“ lautet also „1511“. Um diese PID zu beenden, führen Sie den folgenden Befehl aus.

[avishek@tecmint]# kill -9 1511

Um mehr über den Kill-Befehl mit seinen Beispielen zu erfahren, lesen Sie den Artikel A Guide to Kill Command to Terminate a Process in Linux

So deaktivieren Sie einen Dienst unter Linux

Verwenden Sie in Red Hat-basierten Distributionen wie Fedora und CentOS ein Skript namens „chkconfig“, um die laufenden Dienste unter Linux zu aktivieren und zu deaktivieren .

Deaktivieren Sie beispielsweise den Apache-Webserver beim Systemstart.

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

Verwenden Sie in Debian-basierten Distributionen wie Ubuntu, Linux Mint und anderen Debian-basierten Distributionen ein Skript namens update-rc.d.

Um beispielsweise den Apache-Dienst beim Systemstart zu deaktivieren, führen Sie den folgenden Befehl aus. Hier steht die Option „-f“ für zwingend erforderliche Gewalt.

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

Nachdem Sie diese Änderungen vorgenommen haben, wird das System das nächste Mal ohne diesen UN-notwendigen Prozess booten, was tatsächlich unsere Systemressourcen spart und der Server praktischer, schneller, sicherer und geschützter wäre.

Das ist alles für den Moment. Ich melde mich noch einmal mit einem weiteren interessanten Artikel. Bleiben Sie bis dahin auf dem Laufenden und bleiben Sie mit Tecmint in Verbindung. Vergessen Sie nicht, uns Ihr wertvolles Feedback im Kommentarbereich mitzuteilen.