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

Απαιτήσεις

Ubuntu 14.04 LTS με εγκατεστημένο Open SSH.

Ξεκινώντας: Ενημερώστε το σύστημα

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

Για το Ubuntu 14.04 εκτελέστε τα εξής:

 sudo apt-get ενημέρωση sudo apt-get αναβάθμιση sudo apt-get autoremove sudo apt-get autoclean 

Ενεργοποιήστε τις αυτόματες ενημερώσεις ασφαλείας

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

 sudo apt-get εγκατασταθεί χωρίς επιτήρηση αναβαθμίσεις 

Για να το ενεργοποιήσετε, εκτελέστε την ακόλουθη εντολή:

 sudo dpkg-αναδιάρθρωση -αναστέλλει χωρίς επιτήρηση αναβαθμίσεις 

Αυτό θα δημιουργήσει το αρχείο "/etc/apt/apt.conf.d/20auto-upgrades" που φαίνεται παρακάτω.

 APT :: Περιοδικά :: Ενημέρωση-Πακέτα-Λίστα "1"; APT :: Περιοδική :: Αφύπνιση-Αναβάθμιση "1"; 

Δημιουργήστε "σκιώδη χρήστη" με εξουσίες sudo

Χρησιμοποιώντας έναν "χρήστη σκιάς" αντί του root λογαριασμού είναι απαραίτητος για λόγους ασφαλείας. Μπορείτε να δημιουργήσετε έναν χρήστη που δεν θα είναι εύκολος για τους άλλους χρήστες να μαντέψουν. Σε αυτό το σεμινάριο θα χρησιμοποιήσουμε το "maketech111" ως όνομα χρήστη.

Για να δημιουργήσετε έναν χρήστη, εκτελέστε την ακόλουθη εντολή:

 sudo useradd -d / home / maketech111 -s / bin / bash -m maketech111 

Για να δώσετε πρόσβαση στον χρήστη sudo, εκτελέστε την ακόλουθη εντολή:

 sudo usermod -α-G sudo maketech111 

Για να ορίσετε έναν κωδικό πρόσβασης, εκτελέστε την ακόλουθη εντολή:

 sudo passwd maketech111 

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

Για να καταργήσετε την ερώτηση κωδικού πρόσβασης για το sudo, επεξεργαστείτε το αρχείο sudoers.

 sudo nano / etc / sudoers 

Προσθέστε / επεξεργαστείτε όπως περιγράφεται παρακάτω.

 maketech111 ALL = (ALL) NOPASSWD: ΟΛΑ 

Αποθηκεύστε το αρχείο και εξόδου.

Απενεργοποίηση λογαριασμού root

Απενεργοποίηση του λογαριασμού root είναι απαραίτητη για λόγους ασφαλείας.

Για να απενεργοποιήσετε το λογαριασμό root, χρησιμοποιήστε την ακόλουθη εντολή:

 sudo passwd -l ρίζα 

Εάν πρέπει να ενεργοποιήσετε ξανά τον λογαριασμό, εκτελέστε την ακόλουθη εντολή:

 sudo passwd -u ρίζα 

Προσθέστε ένα διαμέρισμα SWAP

Ορισμένοι διακομιστές του Ubuntu δεν έχουν ρυθμιστεί με το SWAP. Το SWAP χρησιμοποιείται όταν η ποσότητα της συνολικής φυσικής μνήμης (RAM) είναι πλήρης.

Για να ελέγξετε το χώρο SWAP, εκτελέστε την ακόλουθη εντολή:

 sudo swapon -s 

Εάν δεν υπάρχει αρχείο SWAP, θα πρέπει να έχετε την ακόλουθη έξοδο.

 Όνομα αρχείου Τύπος Μέγεθος Χρησιμοποιημένη προτεραιότητα 

Για να δημιουργήσετε το αρχείο SWAP 4 GB θα χρειαστεί να χρησιμοποιήσετε την εντολή "dd".

 sudo dd αν = / dev / μηδέν = / swapfile bs = 4Μ αριθμός = 1000 

Για να ρυθμίσετε το αρχείο SWAP, εκτελέστε την ακόλουθη εντολή:

 sudo mkswap / swapfile 

Για να ενεργοποιήσετε το αρχείο ανταλλαγής, εκτελέστε

 sudo swapon / swapfile sudo swapon -s 

Αυτό εξάγεται όπως παρακάτω:

 Όνομα αρχείου Τύπος Μέγεθος Χρησιμοποιείται αρχείο προτεραιότητας / αρχείου swapfile 4096000 0 -1 

Για να το ενεργοποιήσετε μόνιμα, επεξεργαστείτε το αρχείο "/ etc / fstab".

 sudo nano / etc / fstab 

Προσθέστε την ακόλουθη γραμμή:

 swap swap swap προεπιλεγμένες 0 0 

Βελτιώστε την απόδοση SWAP

Ορίστε την κατάλληλη τιμή swappiness για να βελτιώσετε τη συνολική απόδοση του συστήματος.

Μπορείτε να το κάνετε αυτό με την ακόλουθη εντολή:

 sudo echo 0 >> / proc / sys / vm / swappiness sudo echo vm.swappiness = 0 >> /etc/sysctl.conf 

Επανεκκινήστε το σύστημα για να ελέγξετε εάν το SWAP ενεργοποιείται σωστά.

Απενεργοποιήστε το IPv6

Συνιστάται να απενεργοποιήσετε το IPv6 επειδή προκαλεί προβλήματα με αργή σύνδεση στο Internet.

Για να απενεργοποιήσετε το IPv6, επεξεργαστείτε το αρχείο "/etc/sysctl.conf".

 sudo nano /etc/sysctl.conf 

Επεξεργαστείτε όπως περιγράφεται παρακάτω:

 net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1 

Για να φορτώσετε ξανά τη διαμόρφωση, εκτελέστε

 sudo sysctl-ρ 

Απενεργοποιήστε το IRQBALANCE

Το IRQBALANCE χρησιμοποιείται για τη διανομή διακοπών υλικού σε πολλαπλές CPU για την αύξηση της απόδοσης του συστήματος. Συνιστάται να απενεργοποιήσετε το IRQBALANCE για να αποφύγετε διακοπές υλικού στο νήμα σας.

Για να απενεργοποιήσετε το IRQBALANCE, επεξεργαστείτε το αρχείο "/ etc / default / irqbalance"

 sudo nano / etc / default / irqbalance 

και αλλάξτε την τιμή ENABLED σε 0:

 ENABLED = 0 

Διορθώστε το σφάλμα OpenSSL

Το Heartbleed είναι μια σοβαρή ευπάθεια στο OpenSSL. Επιτρέπει σε έναν απομακρυσμένο χρήστη να διαρρεύσει τη μνήμη μέχρι και 64k κομμάτια. Οι χάκερ μπορούν στη συνέχεια να ανακτήσουν τα ιδιωτικά κλειδιά για να αποκρυπτογραφήσουν οποιαδήποτε δεδομένα όπως το όνομα χρήστη και οι κωδικοί πρόσβασης του χρήστη.

Το σφάλμα που εντοπίστηκε στο OpenSSL 1.0.1 και υπάρχει στις παρακάτω εκδόσεις:

  • 1.0.1
  • 1.0.1a
  • 1.0.1b
  • 1.0.1γ
  • 1.0.1δ
  • 1.0.1e
  • 1.0.1f

Για να ελέγξετε την έκδοση του OpenSSL στο σύστημά σας, εκτελέστε τις ακόλουθες εντολές:

 sudo openssl έκδοση -v έκδοση sudo openssl -b 

Αυτό θα εξάγει κάτι σαν το εξής:

 OpenSSL 1.0.1 10 Μαρ 2012 χτισμένο στις: Τετ Ιαν 2 18:45:51 UTC 2015 

Εάν η ημερομηνία είναι παλαιότερη από "Mon Apr 7 20:33:29 UTC 2014", και η έκδοση είναι "1.0.1", τότε το σύστημά σας είναι ευάλωτο στο σφάλμα Heartbleed.

Για να διορθώσετε αυτό το σφάλμα, ενημερώστε το OpenSSL στην πιο πρόσφατη έκδοση και εκτελέστε

 sudo apt-get ενημέρωση sudo apt-get αναβάθμιση openssl libssl-dev sudo apt-cache πολιτική openssl libssl-dev 

Τώρα ελέγξτε την έκδοση και τρέξτε

 sudo openssl έκδοση -b 

Αυτό θα εξάγει κάτι σαν το εξής:

 χτισμένο στις: Mon Apr 7 20:31:55 UTC 2014 

Ασφαλίστε την Κονσόλα, κοινή μνήμη, / tmp και / var / tmp

Ασφαλίστε την Κονσόλα

Από προεπιλογή, πολλά τερματικά είναι ενεργοποιημένα στο σύστημά σας. Μπορείτε να επιτρέψετε μόνο ένα τερματικό και να απενεργοποιήσετε τους άλλους ακροδέκτες.

Για να επιτρέψετε μόνο "tty1" και να απενεργοποιήσετε άλλα τερματικά, επεξεργαστείτε το αρχείο "/ etc / securetty".

 sudo nano / etc / securetty 

Προσθέστε / επεξεργαστείτε τις ακόλουθες γραμμές:

 tty1 # tty2 # tty3 # tty4 # κτλ ... 

Για να ασφαλίσετε το αρχείο "/ etc / securetty", αλλάξτε την άδεια του αρχείου και εκτελέστε τις ακόλουθες εντολές:

 sudo root root: root / etc / securetty sudo chmod 0600 / etc / securetty 

Ασφαλής κοινή μνήμη

Οποιοσδήποτε χρήστης μπορεί να χρησιμοποιήσει κοινή μνήμη για να επιτεθεί εναντίον μιας τρέχουσας υπηρεσίας, όπως apache ή httpd. Από προεπιλογή, η κοινόχρηστη μνήμη προσαρμόζεται ανάγνωση / εγγραφή με άδεια εκτέλεσης.

Για να το κάνετε πιο ασφαλές, επεξεργαστείτε το αρχείο "/ etc / fstab".

 sudo nano / etc / fstab 

Προσθέστε την ακόλουθη γραμμή:

 tmpfs / run / shm tmpfs ro, noexec, nosuid 0 0 

Για να κάνετε τις αλλαγές χωρίς επανεκκίνηση, μπορείτε να εκτελέσετε

 sudo mount -a 

Secure / tmp και / var / tmp

Προσωρινοί κατάλογοι όπως / tmp, / var / tmp και / dev / shm ανοίγουν την πόρτα για εισβολείς για να παρέχουν χώρο για να τρέχουν σενάρια και κακόβουλα εκτελέσιμα.

Φάκελος Secure / tmp

Δημιουργήστε ένα αρχείο συστήματος αρχείων 1GB για το / tmp διαμέρισμα.

 sudo dd εάν = / dev / μηδέν = = usr / tmpDSK bs = 1024 count = 1024000 sudo mkfs.ext4 / usr / tmpDSK 

Δημιουργήστε ένα αντίγραφο ασφαλείας του τρέχοντος / tmp φάκελο:

 sudo cp -avr / tmp / tmpbackup 

Τοποθετήστε το νέο / tmp διαμέρισμα και ορίστε τα σωστά δικαιώματα.

 sudo mount -t tmpfs -ο βρόχος, noexec, nosuid, rw / usr / tmpDSK / tmp sudo chmod 1777 / tmp 

Αντιγράψτε τα δεδομένα από το φάκελο αντιγράφων ασφαλείας και καταργήστε το φάκελο αντιγράφων ασφαλείας.

 sudo cp -avr / tmpbackup / * / tmp / sudo rm -rf / tmpbackup 

Ορίστε το / tmp στο fbtab.

 sudo nano / etc / fstab 

Προσθέστε την ακόλουθη γραμμή:

 / usr / tmpDSK / tmp tmpfs βρόχος, nosuid, noexec, rw 0 0 

Ελέγξτε την καταχώρηση fstab.

 sudo mount -a 

Secure / var / tmp:

Κάποιο λογισμικό χρησιμοποιεί αυτόν τον φάκελο ως προσωρινό φάκελο, οπότε και θα πρέπει να το ασφαλίσουμε.

Για να ασφαλίσετε το / var / tmp, δημιουργήστε μια συμβολική σύνδεση που κάνει το / var / tmp σημείο στο / tmp.

 sudo mv / var / tmp / var / tmpold sudo ln -s / tmp / var / tmp sudo cp -avr / var / tmpold / * / tmp / 

Ορίστε όρια ασφαλείας και απενεργοποιήστε τις ανεπιθύμητες υπηρεσίες

Ορίστε όρια ασφαλείας

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

Για να το ορίσετε, επεξεργαστείτε το αρχείο "/etc/security/limits.conf"

 sudo nano /etc/security/limits.conf 

και επεξεργαστείτε την παρακάτω γραμμή:

 user1 σκληρό nproc 100 @ group1 σκληρό nproc 20 

Αυτό θα εμποδίσει τους χρήστες μιας συγκεκριμένης ομάδας να έχουν μέχρι 20 διαδικασίες και να μεγιστοποιήσουν τον αριθμό των διαδικασιών σε εκατό έως χρήστες1.

Απενεργοποιήστε τις περιττές υπηρεσίες

Πολλές υπηρεσίες στο Ubuntu παίρνουν μνήμη και χώρο στο δίσκο που μπορεί να χρειαστεί να χρησιμοποιήσετε. Η απενεργοποίηση ή η αφαίρεση περιττών υπηρεσιών μπορεί να βελτιώσει τη συνολική απόδοση του συστήματος.

Για να μάθετε ποιες υπηρεσίες εκτελούνται αυτή τη στιγμή, εκτελέστε την ακόλουθη εντολή:

 sudo initctl list grep running 

Μπορείτε να την απενεργοποιήσετε εκτελώντας αυτήν την εντολή.

 sudo ενημέρωση-rc.d -f service_name κατάργηση sudo apt-get καθαρισμός service_name 

Προσδιορίστε την ευπάθεια του Shellshock Bash:

Η ευπάθεια του Shellshock επιτρέπει στους χάκερς να εκχωρούν μεταβλητές περιβάλλοντος Bash και να αποκτήσουν μη εξουσιοδοτημένη πρόσβαση στο σύστημα. Αυτό το τρωτό σημείο είναι πολύ εύκολο να αξιοποιηθεί.

Για να ελέγξετε την ευπάθεια του συστήματος, εκτελέστε την ακόλουθη εντολή:

 sudo env i = '() {:?}; echo Το σύστημά σας είναι το Bash ευπάθεια 'bash -c' echo Bash δοκιμή ευπάθειας " 

Αν δείτε την παρακάτω έξοδο, αυτό σημαίνει ότι το σύστημά σας είναι ευάλωτο.

 Το σύστημά σας είναι δοκιμασία ευπάθειας Bash με ευπάθεια 

Για να διορθώσετε αυτό το θέμα ευπάθειας, εκτελέστε την ακόλουθη εντολή:

 sudo apt-get ενημέρωση? sudo apt-get εγκατάσταση - μόνο-αναβάθμιση bash 

Εάν εκτελέσετε ξανά την εντολή, θα δείτε:

 bash: προειδοποίηση: VAR: αγνοώντας τον ορισμό της λειτουργίας attempt bash: σφάλμα κατά την εισαγωγή του ορισμού της λειτουργίας για το `VAR 'Bash test ευπάθειας 

Συμπέρασμα:

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

Αναφορά : Οδηγός σκλήρυνσης του Ubuntu