Wyszukiwanie w witrynie

Jak zatrzymać i wyłączyć niechciane usługi w systemie Linux


Budujemy serwer według naszego planu i wymagań, ale jakie są zamierzone funkcje budując serwer, aby działał szybko i sprawnie. Wszyscy wiemy, że podczas instalacji systemu operacyjnego Linux niektóre niechciane pakiety i aplikacje są instalowane automatycznie bez wiedzy użytkownika.

Budując serwer musimy zadać sobie pytanie czego tak naprawdę potrzebujemy z pudełka. Czy potrzebuję serwera internetowego, serwera FTP, serwera NFS lub serwera DNS, serwera DNS >Serwer bazy danych lub coś innego.

W tym artykule omówimy niektóre z niechcianych aplikacji i usług, których możesz nie potrzebować, ale są one domyślnie instalowane podczas instalacji systemu operacyjnego i nieświadomie zaczynają zżerać zasoby systemowe.

Najpierw wiemy, jakie usługi są uruchomione w systemie, używając następujących poleceń.

[avishek@tecmint]# ps ax
Przykładowe wyjście
  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]
   .....

Przyjrzyjmy się teraz procesom akceptującym połączenie (porty) za pomocą polecenia netstat, jak pokazano poniżej.

[avishek@tecmint]# netstat -lp
Przykładowe wyjście
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         
....

W powyższych wynikach można zauważyć, że niektóre aplikacje, których być może nie potrzebujesz na swoim serwerze, ale nadal działają w następujący sposób:

1. smbd i nmbd

smbd i nmbd są demonami procesu Samba. Czy naprawdę musisz wyeksportować udział SMB na Windowsie lub innym komputerze. Jeśli nie! dlaczego te procesy działają? Możesz bezpiecznie zakończyć te procesy i uniemożliwić ich automatyczne uruchamianie przy następnym uruchomieniu komputera.

2. Telnet

Czy potrzebujesz dwukierunkowej, interaktywnej komunikacji tekstowej przez Internet lub sieć lokalną? Jeśli nie! zabij ten proces i wyłącz go od rozpoczęcia uruchamiania.

3. zaloguj się

Czy musisz zalogować się do innego hosta przez sieć? Jeśli nie! Zabij ten proces i wyłącz jego automatyczne uruchamianie podczas rozruchu.

4. rexec

Zdalne wykonanie procesu, czyli rexec, umożliwia wykonywanie poleceń powłoki na komputerze zdalnym. Jeśli nie chcesz wykonywać poleceń powłoki na zdalnym komputerze, po prostu zabij proces.

5. FTP

Czy chcesz przesyłać pliki z jednego hosta na inny przez Internet? Jeśli nie, możesz bezpiecznie zatrzymać usługę.

6. automatyczne mocowanie

Czy musisz automatycznie montować różne systemy plików, aby wyświetlić sieciowy system plików? Jeśli nie! Dlaczego ten proces jest uruchomiony? Dlaczego pozwalasz tej aplikacji na korzystanie z Twoich zasobów? Zabij proces i wyłącz jego automatyczne uruchamianie.

7. nazwany

Czy musisz uruchomić serwer nazw (DNS)? Jeśli nie, to co, u licha, zmusza Cię do uruchomienia tego procesu i umożliwienia pochłonięcia Twoich zasobów. Najpierw zabij działający proces, a następnie wyłącz go, aby nie uruchamiał się podczas rozruchu.

8. lpd

lpd to demon drukarki, który umożliwia drukowanie na tym serwerze. Jeśli nie musisz drukować z serwera, prawdopodobnie zużywają się zasoby systemowe.

9. Inetd

Czy korzystasz z usług inetd? Jeśli używasz samodzielnej aplikacji, takiej jak ssh, która korzysta z innej samodzielnej aplikacji, takiej jak Mysql, Apache itp., nie potrzebujesz inetd. lepiej zabij proces i wyłącz go, uruchamiając się automatycznie następnym razem.

10. mapa portów

Portmap będący zdalnym wywoływaniem procedur w sieci otwartej (ONC RPC) i demonem użycia rpc.portmap i rpcbind. Jeśli te procesy są uruchomione, oznacza to, że działa serwer NFS. Jeśli serwer NFS działa niezauważenie, oznacza to, że zasoby systemowe są niepotrzebnie wykorzystywane.

Jak zabić proces w systemie Linux

Aby zabić działający proces w systemie Linux, użyj polecenia „Zabij PID”. Jednak przed uruchomieniem polecenia Kill musimy znać PID procesu. Na przykład tutaj chcę znaleźć PID procesu „cupsd”.

[avishek@tecmint]# ps ax | grep cupsd

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

Zatem PID procesu „cupsd” to „1511”. Aby zabić ten PID, uruchom następujące polecenie.

[avishek@tecmint]# kill -9 1511

Aby dowiedzieć się więcej o poleceniu kill wraz z przykładami, przeczytaj artykuł Przewodnik po poleceniu zabicia w celu zakończenia procesu w systemie Linux

Jak wyłączyć usługi w systemie Linux

W dystrybucjach opartych na Red Hat, takich jak Fedora i CentOS, użyj skryptu o nazwie „chkconfig”, aby włączyć i wyłączyć działające usługi w systemie Linux .

Na przykład wyłącz serwer WWW Apache podczas uruchamiania systemu.

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

W dystrybucjach opartych na Debianie, takich jak Ubuntu, Linux Mint i innych dystrybucjach opartych na Debianie, używany jest skrypt o nazwie update-rc.d.

Na przykład, aby wyłączyć usługę Apache podczas uruchamiania systemu, wykonaj następujące polecenie. Tutaj opcja „-f” oznacza, że siła jest obowiązkowa.

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

Po wprowadzeniu tych zmian system następnym razem uruchomi się bez tych niezbędnych przez ONZ procesów, co w rzeczywistości pozwoli zaoszczędzić zasoby systemowe, a serwer będzie bardziej praktyczny, szybki, bezpieczny.

To wszystko na teraz. Wrócę tu ponownie z kolejnym interesującym artykułem. Do tego czasu bądź na bieżąco i połącz się z Tecmint. Nie zapomnij podzielić się z nami cennymi opiniami w sekcji komentarzy.