Πώς να σταματήσετε και να απενεργοποιήσετε τις ανεπιθύμητες υπηρεσίες από το σύστημα Linux


Κατασκευάζουμε έναν διακομιστή σύμφωνα με το σχέδιο και τις απαιτήσεις μας, αλλά ποιες είναι οι προβλεπόμενες λειτουργίες κατά την κατασκευή ενός διακομιστή για να λειτουργήσει γρήγορα και αποτελεσματικά. Όλοι γνωρίζουμε ότι κατά την εγκατάσταση ενός λειτουργικού συστήματος Linux, ορισμένα ανεπιθύμητα πακέτα και εφαρμογές εγκαθίστανται αυτόματα χωρίς τη γνώση ενός Χρήστη.

Κατά την κατασκευή ενός διακομιστή πρέπει να αναρωτηθούμε τι πραγματικά χρειαζόμαστε από το κουτί. Χρειάζομαι Διακομιστή Ιστού ή Διακομιστή FTP, Διακομιστή NFS ή Διακομιστή DNS, >Διακομιστής βάσης δεδομένωνή κάτι άλλο.

Εδώ σε αυτό το άρθρο, θα συζητήσουμε μερικές από αυτές τις ανεπιθύμητες εφαρμογές και υπηρεσίες που μπορεί να μην χρειάζεστε, αλλά εγκαθίστανται από προεπιλογή κατά την εγκατάσταση του λειτουργικού συστήματος και εν αγνοία τους αρχίζουν να καταναλώνουν τους πόρους του συστήματός σας.

Ενημερώνουμε πρώτα τι είδους υπηρεσίες εκτελούνται στο σύστημα χρησιμοποιώντας τις ακόλουθες εντολές.

[]# ps ax
Δείγμα εξόδου
  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]
   .....

Τώρα, ας ρίξουμε μια γρήγορη ματιά στις διαδικασίες που δέχονται σύνδεση (θύρες) χρησιμοποιώντας την εντολή netstat όπως φαίνεται παρακάτω.

[]# netstat -lp
Δείγμα εξόδου
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         
....

Στην παραπάνω έξοδο, παρατηρείτε ότι ορισμένες από τις εφαρμογές που μπορεί να μην χρειάζεστε στον διακομιστή σας, αλλά εξακολουθούν να εκτελούνται ως εξής:

1. smbd και nmbd

Τα smbd και nmbd είναι δαίμονες της διαδικασίας Samba. Χρειάζεται πραγματικά να εξάγετε το κοινόχρηστο στοιχείο smb σε Windows ή άλλο μηχάνημα. Αν όχι! γιατί εκτελούνται αυτές οι διαδικασίες; Μπορείτε να σκοτώσετε με ασφάλεια αυτές τις διεργασίες και να απενεργοποιήσετε την αυτόματη εκκίνηση κατά την εκκίνηση του μηχανήματος την επόμενη φορά.

2. Telnet

Χρειάζεστε αμφίδρομη διαδραστική επικοινωνία προσανατολισμένη στο κείμενο μέσω Διαδικτύου ή τοπικού δικτύου; Αν όχι! σκοτώστε αυτή τη διαδικασία και απενεργοποιήστε την από την έναρξη κατά την εκκίνηση.

3. rlogin

Χρειάζεται να συνδεθείτε σε άλλο κεντρικό υπολογιστή μέσω δικτύου. Αν όχι! Καταργήστε αυτήν τη διαδικασία και απενεργοποιήστε την αυτόματη εκκίνηση κατά την εκκίνηση.

4. rexec

Η Απομακρυσμένη Εκτέλεση Διεργασίας, γνωστή και ως rexec, σας επιτρέπει να εκτελείτε εντολές φλοιού σε έναν απομακρυσμένο υπολογιστή. Εάν δεν χρειάζεται να εκτελέσετε την εντολή φλοιού σε ένα απομακρυσμένο μηχάνημα, απλώς σκοτώστε τη διαδικασία.

5. FTP

Χρειάζεται να μεταφέρετε αρχεία από έναν κεντρικό υπολογιστή σε άλλο κεντρικό υπολογιστή μέσω Διαδικτύου; Εάν όχι, μπορείτε να διακόψετε με ασφάλεια την υπηρεσία.

6. automount

Χρειάζεται να προσαρτήσετε διαφορετικά συστήματα αρχείων αυτόματα για να εμφανίσετε το σύστημα αρχείων δικτύου; Αν όχι! Γιατί εκτελείται αυτή η διαδικασία; Γιατί αφήνετε αυτήν την εφαρμογή να χρησιμοποιεί τον πόρο σας; Σκοτώστε τη διαδικασία και απενεργοποιήστε την από την αυτόματη εκκίνηση.

7. ονομαζόμενος

Χρειάζεται να εκτελέσετε NameServer (DNS); Αν όχι, τι σας αναγκάζει να εκτελέσετε αυτή τη διαδικασία και να επιτρέψετε να καταναλώσετε τους πόρους σας. Καταργήστε πρώτα τη διαδικασία εκτέλεσης και μετά απενεργοποιήστε την από την εκτέλεση κατά την εκκίνηση.

8. lpd

Το lpd είναι ο δαίμονας του εκτυπωτή που καθιστά δυνατή την εκτύπωση σε αυτόν τον διακομιστή. Εάν δεν χρειάζεται να εκτυπώσετε από τον διακομιστή, οι πόροι του συστήματός σας έχουν εξαντληθεί.

9. Inetd

Εκτελείτε υπηρεσίες inetd; Εάν εκτελείτε αυτόνομη εφαρμογή όπως το ssh που χρησιμοποιεί άλλη αυτόνομη εφαρμογή όπως Mysql, Apache κ.λπ., τότε δεν χρειάζεστε το inetd. καλύτερα να σκοτώσει τη διαδικασία και να την απενεργοποιήσει ξεκινώντας αυτόματα την επόμενη φορά.

10. portmap

Το Portmap που είναι μια κλήση απομακρυσμένης διαδικασίας υπολογισμού ανοικτού δικτύου (ONC RPC) και χρησιμοποιεί daemon rpc.portmap και rpcbind. Εάν αυτές οι διεργασίες εκτελούνται, σημαίνει ότι εκτελείτε διακομιστή NFS. Εάν ο διακομιστής NFS εκτελείται απαρατήρητος, σημαίνει ότι οι πόροι του συστήματός σας εξαντλούνται χωρίς απαραίτητα.

Πώς να σκοτώσετε μια διαδικασία στο Linux

Για να καταργήσετε μια διαδικασία που εκτελείται στο Linux, χρησιμοποιήστε την εντολή «Kill PID». Ωστόσο, πριν εκτελέσουμε την εντολή Kill, πρέπει να γνωρίζουμε το PID της διαδικασίας. Για παράδειγμα, εδώ θέλω να βρω ένα PID της διαδικασίας «cupsd».

[]# ps ax | grep cupsd

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

Έτσι, το PID της διαδικασίας cupsd είναι 1511. Για να σκοτώσετε αυτό το PID, εκτελέστε την ακόλουθη εντολή.

[]# kill -9 1511

Για να μάθετε περισσότερα σχετικά με την εντολή kill με τα παραδείγματά τους, διαβάστε το άρθρο A Guide to Kill Command to Terminate a Process in Linux

Πώς να απενεργοποιήσετε μια υπηρεσία στο Linux

Σε διανομές που βασίζονται στο Red Hat όπως το Fedora και το CentOS, χρησιμοποιήστε ένα σενάριο που ονομάζεται chkconfig για να ενεργοποιήσετε και να απενεργοποιήσετε τις υπηρεσίες που εκτελούνται στο Linux .

Για παράδειγμα, επιτρέπει την απενεργοποίηση του διακομιστή ιστού Apache κατά την εκκίνηση του συστήματος.

[]# chkconfig httpd off
[]# chkconfig httpd --del

Σε διανομές που βασίζονται στο Debian όπως το Ubuntu, το Linux Mint και άλλες διανομές που βασίζονται στο Debian χρησιμοποιούν ένα σενάριο που ονομάζεται update-rc.d.

Για παράδειγμα, για να απενεργοποιήσετε την υπηρεσία Apache κατά την εκκίνηση του συστήματος, εκτελέστε την ακόλουθη εντολή. Εδώ η επιλογή «-f» που σημαίνει δύναμη είναι υποχρεωτική.

[]# update-rc.d -f apache2 remove

Μετά την πραγματοποίηση αυτών των αλλαγών, το σύστημα την επόμενη φορά θα εκκινήσει χωρίς αυτές τις απαραίτητες για τα Ηνωμένα Έθνη διαδικασία, η οποία στην πραγματικότητα θα εξοικονομήσει τον πόρο του συστήματός μας και ο διακομιστής θα ήταν πιο πρακτικός, γρήγορος, ασφαλής και ασφαλής.

Αυτα για τωρα. Θα έρθουμε ξανά εδώ με ένα άλλο ενδιαφέρον άρθρο. Μέχρι τότε μείνετε συντονισμένοι και συνδεδεμένοι στο Tecmint. Μην ξεχάσετε να μας δώσετε τα πολύτιμα σχόλιά σας στην ενότητα σχολίων.