Ασφάλεια στο Linux: Πως θα κάνετε το Ubuntu πιο ασφαλές

dimitris | Τρί, 07/31/2018 - 17:54 | 17' | 1

Οι οδηγίες που ακολουθούν έχουν στόχο να κάνουν το Ubuntu 18.04 πιο ασφαλές από ότι είναι η τυπική εγκατάστασή του. Όλα όσα  γράφουμε σε αυτό το how-to δεν είναι πανάκεια ούτε είναι "αυτά και μόνο αυτά". Δείτε τις περισσότερο σαν συμβουλές, για να εντοπίσετε κενά στην ασφάλειά σας και αποφασίστε μόνοι σας τι από όλα αυτά χρειάζεται να κάνετε.  

Πιο ασφαλείς κωδικοί πρόσβασης

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

Οι ρυθμίσεις για τα passwords στο Ubuntu καθορίζονται αφενός στο αρχείο /etc/login.defs και αφετέρου μέσω του μηχανισμού  Pluggable Authentication Module (PAM).

Για παράδειγμα στο αρχείο login.defs μπορείτε να αλλάξετε το πόσες φορές θα μπορεί κανείς να προσπαθήσει να γράψει κωδικό πρόσβασης. Για να ανοίξετε το αρχείο, πατήστε Alt+F2 και γράψτε:

gedit admin:///etc/login.defs

Ubuntu 18.04: admin privileges
Στο Ubuntu 18.04 δεν υπάρχει πια η gksu/gksudo. Αποκτάτε δικαιώματα υπερχρήστη σε αρχεία βάζοντας μπροστά στο path το admin://

Γράψτε τον κωδικό σας και θα εμφανιστεί το αρχείο. Εκεί βρείτε τη γραμμή:

LOGIN_RETRIES  5

Και αλλάξτε τον αριθμό 5, σε π.χ. 3. Πατήστε Ctrl+S για να αποθηκεύσετε το αρχείο.
Στο ίδιο αρχείο μπορείτε να ορίσετε την αλλαγή των κωδικών που παλιώνουν. Αυτό γίνεται με την παράμετρο: PASS_MAX_DAYS. Π.χ. για να υποχρεώσετε τους χρήστες να αλλάζουν κωδικό κάθε έξι μήνες, αλλάξτε το

PASS_MAX_DAYS = 99999

σε

PASS_MAX_DAYS = 180

Για να αλλάξετε περισσότερο τις απαιτήσεις ασφαλείας για τα συνθηματικά στο Ubuntu, πρέπει να εγκαταστήσετε το 'password quality' PAM module, με την εντολή:

sudo apt install libpam-pwquality

Αυτό το module ελέγχει τους κωδικούς πρόσβασης, και η ρύθμισή του γίνεται μέσω του αρχείου /etc/security/pwquality.conf. Για να ανοίξετε το αρχείο αυτό, πατήστε πάλι Alt+F2 και γράψτε

gedit admin:///etc/security/pwquality.conf

Θα εμφανιστεί το παρακάτω αρχείο.

Ubuntu 18.04: pam-pwquality configuration
Το αρχείο ρυθμίσεων για την ασφάλεια των κωδικών πρόσβασης στο Ubuntu 18.04

Στις default ρυθμίσεις το Ubuntu απαιτεί το ελάχιστο μήκος συνθηματικού να είναι 8 χαρακτήρες. Μπορείτε όμως να κάνετε ότι ρυθμίσεις θέλετε. Για παράδειγμα, για να επιβάλλετε οι κωδικοί των χρηστών να αποτελούνται από τρεις διαφορετικές κλάσεις χαρακτήρων (μικρά,κεφαλαία και αριθμοί) προσθέστε στο τέλος του αρχείου:

minclass=3

Αλλες χρήσιμες ρυθμίσεις είναι να ελέγχονται οι κωδικοί για ίδιους χαρακτήρες, για γνωστές λέξεις, αλλά και να μην επιτρέπεται το όνομα του χρήστη να είναι μέρος του κωδικού. Αυτά τα τρία γίνονται με τις παρακάτω γραμμές (προσθέστε τις στο τέλος του αρχείου μετά την minclass=3):

maxrepeat=1
dictcheck=1
usercheck=1

Το maxrepeat=1 απαγορεύει κωδικούς που περιέχουν διαδοχικά τους ίδιους χαρακτήρες.

Υποχρεωτικό "κλείδωμα" οθόνης

Εξορισμού το Ubuntu σβήνει και κλειδώνει την οθόνη μας στα 5 λεπτά, αλλά αυτό μπορεί να το αλλάξει ο χρήστης. Για να μην επιτρέπονται αλλαγές, δημιουργήστε το φάκελο /etc/dconf/db/local.d/. Ανοίξτε ένα Τερματικό (πατήστε Ctrl+Alt+T) και γράψτε την εξής εντολή:

sudo mkdir -p /etc/dconf/db/local.d/

Τώρα που φτιάξατε το φάκελο, πρέπει να φτιάξετε μέσα εκεί ένα αρχείο κειμένου με όνομα 00_screensaver-lock, οπότε δίνετε την εντολή:

sudo nano /etc/dconf/db/local.d/00_screensaver-lock

Και βάλτε μέσα στο αρχείο τα εξής περιεχόμενα:

[org/gnome/desktop/session]
idle-delay=600

[org/gnome/desktop/screensaver]
lock-enabled=1
lock-delay=0

Δηλαδή θα πρέπει να βλέπετε κάτι σαν κι αυτό:

Ubuntu 18.04 screensaver lock

Πατήστε Ctrl+X και μετά Υ(es) για αποθήκευση.

Επίσης, φτιάξτε το νέο φάκελο /etc/dconf/db/local.d/locks με την εντολή:

sudo mkdir -p /etc/dconf/db/local.d/locks

και μέσα εκεί δημιουργήστε το αρχείο 00_screensaver-lock

sudo /etc/dconf/db/local.d/locks/00_screensaver-lock

Βάλτε μέσα στο αρχείο αυτό τα εξής:

/org/gnome/desktop/session/idle-delay
/org/gnome/desktop/screensaver/lock-enabled
/org/gnome/desktop/screensaver/lock-delay

Δηλαδή:

Ασφάλεια στο Ubuntu: Κλειδώνοντας τις ρυθμίσεις για το screensaver
Κλειδώνοντας τις ρυθμίσεις για το screensaver στο Ubuntu 18.04

Πατήστε Ctrl+X και Υ για αποθηκευση.

Μετά πρέπει να ενημερώσετε το σύστημα με την εντολή:

sudo dconf update

Διαχείριση λογισμικού

Το Ubuntu υποστηρίζει πακέτα .deb και πακέτα .snap. Τα πρώτα εγκαθίστανται μέσω του apt και είναι τα συνήθη πακέτα των διανομών που βασίζονται στο Debian. Τα snap πακέτα είναι αυτόνομα εκτελέσιμα (περιλαμβάνουν ότι χρειάζονται μέσα τους), εγκαθίστανται σε δικό τους φάκελο και τρέχουν υπό περιορισμούς.

Σε κάθε περίπτωση, για να φυλάμε τα ρούχα μας, το σωστό είναι να εγκαθιστούμε πακέτα deb και snap μόνο μέσω της εφαρμογής "Λογισμικό Ubuntu" (ή μέσω του apt για όσους προτιμούν το Τερματικό...).

Αυτόματες ενημερώσεις έχεις;

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

Από το Λογισμικό Ubuntu κάντε κλικ στο μενού -> Λογισμικό και ενημερώσεις
Από το Λογισμικό Ubuntu κάντε κλικ στο μενού -> Λογισμικό και ενημερώσεις

Στην καρτέλα Ενημερώσεις βεβαιωθείτε ότι γίνεται καθημερινά έλεγχος για ενημερώσεις και ότι όταν υπάρχουν ενημερώσεις ασφαλείας το Ubuntu θα κάνει "Λήψη και αυτόματη εγκατάσταση".

Λογισμικό Ubuntu: Αυτόματες ενημερώσεις ασφαλείας
Λογισμικό Ubuntu: Αυτόματες ενημερώσεις ασφαλείας

 

Εναλλακτικά, ανοίξτε ένα Τερματικό και γράψτε την εντολή:

sudo dpkg-reconfigure unattended-upgrades

και πατήστε Yes.

Ubuntu 18.04: Ρυθμιση unattented-upgrades
Ubuntu 18.04: Ρυθμιση unattented-upgrades

Όπως είπαμε, το Ubuntu εξορισμού κατεβάζει και εγκαθιστά αυτόματα ΜΟΝΟ τις ενημερώσεις ασφαλείας. Για να το βάλετε να κατεβάζει ΟΛΕΣ τις ενημερώσεις, πρέπει να τροποποιήσετε το αρχείο /etc/apt/apt.conf.d/50unattended-upgrades. Να τι πρέπει να κάνετε.

Πατήστε Alt+F2 και γράψτε

gedit admin:///etc/apt/apt.conf.d/50unattended-upgrades

Ubuntu 18.04: ρύθμιση unattended-upgrades
Ubuntu 18.04: Ανοίγοντας το αρχείο το 50unattended-upgrades μέσα από το Gnome.

Βάλτε τον κωδικό σας (2 φορές) και θα εμφανιστεί το αρχείο. Εκεί βρείτε τη μπλε (σχολιασμένη δηλαδή ανενεργή) γραμμή:

//     "${distro_id}:${distro_codename}-updates";

και βγάλτε από την αρχή τα δύο //

Με αυτό τον τρόπο "ενεργοποιείτε" τη συγκεκριμένη γραμμή, η οποία πρακτικά λέει στο Ubuntu να "κατεβάζει" και να εγκαθιστά όλες τις ενημερώσεις.

Οπότε τώρα το αρχείο θα πρέπει να είναι κάπως έτσι:

Ubuntu 18.04: unattented-upgrades
Ubuntu 18.04: Πώς ρυθμίζετε το unattended-upgrades να κατεβάζει όλες τις ενημερώσεις (όχι μόνο τις ενημερώσεις ασφαλείας)

Επίσης, αν θέλετε, μπορείτε να επιβάλλετε στο Ubuntu να αφαιρεί αυτόματα και συνέχεια όποια πακέτα δεν χρειάζονται πια (πράγμα που είναι ισοδύναμο με το να δίνετε κάθε φορά εσείς την εντολή sudo apt-get autoremove, πράγμα άβολο μια και άνθρωποι είμαστε και ξεχνάμε). Για να το κάνετε αυτό, στο ίδιο αρχείο που έχετε ανοίξει πηγαίνετε στη γραμμή:

//Unattended-Upgrade::Remove-Unused-Dependencies "false";

και βγάλτε τα σχόλια (//) από την αρχή ώστε να γίνει έτσι:

Ubuntu 18.04: Ρυθμίζοντας το autoremove των άχρηστων πακέτων
Ubuntu 18.04: Ρυθμίζοντας το autoremove των άχρηστων πακέτων

Στη συνέχεια πατήστε Ctrl+S και αποθηκεύστε το αρχείο - θα σας ζητηθεί ο κωδικός σας.

Αυτόματη ενημέρωση snap

Τα snap πακέτα ενημερώνονται 4 φορές την ημέρα. Μπορείτε να δείτε αυτή τη ρύθμιση με την εντολή:

sudo snap refresh --time

Μετά βλέπετε την κατάσταση των πακέτων με την εντολή:

sudo snap refresh –-list

Ubuntu 18.04: Πως ελέγχουμε την κατάσταση ενημέρωσης των snap πακέτων
Ubuntu 18.04: Πως ελέγχουμε την κατάσταση ενημέρωσης των snap πακέτων

Ενεργοποίηση Kernel Livepatch

Μια ωραία δυνατοτητα του Ubuntu ειναι το Canonical Livepatch Service που επιτρέπει να ενημερώνετε τον πυρήνα Linux με τα τελευταία patches ασφαλείας αυτόματα και άμεσα. Για μεγάλες εγκατάστασεις και εταιρείες, η υπηρεσία παρέχεται με συνδρομή στο Ubuntu Advantage. Είναι όμως δωρεάν για απλούς χρήστες (μέχρι 3 μηχανήματα) αρκεί να είστε μέλη του Ubuntu Community, δηλαδή να έχετε έναν λογαριασμό "Ubuntu Single Sign On" (Ubuntu SSO).

Αν δεν έχετε τέτοιο λογαριασμό, πηγαίνετε στο https://login.ubuntu.com/+login, πατήστε "I don't have an Ubuntu One account" και γράψτε το email, το όνομα και το συνθηματικό σας. Μετά πατήστε Create Account και ακολουθήστε τη διαδικασία επιβεβαίωσης του email σας.

Δημιουργία λογαριασμού Ubuntu Single Sign-On
Δημιουργία λογαριασμού Ubuntu Single Sign-On

Μόλις δημιουργήσετε το SSO λογαριασμό σας, τρέξτε το "Λογισμικό Ubuntu" και από το μενού επιλέξτε το "Λογισμικό και ενημερώσεις". Στην καρτέλα Ενημερώσεις  πατήστε το κουμπί "Συνδεθείτε" που βρίσκεται ακριβώς από κάτω από την (ανενεργή προς το παρόν) επιλογή "Χρησιμοποιήστε το Canonical LivePatch..."  και συνδεθείτε με το email και τον κωδικό που φτιάξατε προηγουμένως στο login.ubuntu.com.

Ubuntu 18.04: Ρυθμιση του Livepatch
Ubuntu 18.04: Ρυθμιση του Livepatch
Ubuntu SSO: Ενεργοποίηση Livepatching
Επιλογή λογαριασμού Ubuntu SSO για ενεργοποίηση του Livepatch Service

Αν όλα πάνε καλά, τότε θα πρέπει το "Χρησιμοποιήστε το Canonical LivePatch..." να είναι ενεργό.

Ubuntu 18.04: To Livepatch ειναι ενεργό
Ubuntu 18.04: To Livepatch ειναι ενεργό

Μπορείτε να επιβεβαιώσετε ότι το μηχάνημα τρέχει Livepatch δίνοντας σε ένα Τερματικό την εντολή:

sudo canonical-livepatch status --verbose

Ubuntu 18.04: Ελεγχος για το αν ειναι ενεργό το Livepatch από τη γραμμή εντολών
Ubuntu 18.04: Έλεγχος κατάστασης του Livepatch από τη γραμμή εντολών

Προστατέψε το home φάκελό σας

Όλα τα αρχεία και οι ρυθμίσεις του χρήστη που φτιάξατε στην εγκατάσταση του Ubuntu υπάρχουν στο φάκελο /home/$USER. Για να μην μπορεί κανείς άλλος εκτός από εσάς να δει τα αρχεία, ανοίξτε ένα τερματικό και δώστε τις εντολές:

find . -type f -exec chmod 700 '{}' \;
find . -type d -exec chmod 700 '{}' \;

Απενεργοποίηση αυτόματης αναφοράς σφαλμάτων

Εξορισμού, το Ubuntu μας τρέχει δύο υπηρεσίες που λέγονται Apport και Whoopsie. Kάθε φορά που κρασάρει κάποια εφαρμογή, αυτές οι δύο υπηρεσίες μαζεύουν πληροφορίες του συστήματος και στέλνουν "αναφορά" στην Canonical. Αν δεν θέλετε το Ubuntu σας να δίνει ραπόρτο με όλες τις πληροφορίες του συστήματός σας σε κάποιον server που δεν ξέρετε καν που ειναι, μπορείτε να απενεργοποιήσετε το reporting. Πατηστε Alt+F2 και γράψτε

gedit admin:///etc/default/apport

Δώστε τον κωδικό σας για να αποκτήσετε δικαιώματα υπερχρήστη και μέσα σε αυτό το αρχείο πηγαίνετε στη γραμμή

enabled=1

και κάντε την

enabled=0

Απενεργοποίηση Apport
Απενεργοποίηση Apport

Πατήστε Ctrl+S και κλείστε το αρχείο.

Για πλήρη απενεργοποίηση της υπηρεσίας Apport κατά την εκκίνηση, ανοίξτε ένα Τερματικό και δώστε τις παρακάτω εντολές:

sudo systemctl stop apport.service

sudo systemctl disable apport.service

sudo systemctl mask apport.service

Και στη συνέχεια ως απλός χρήστης δώστε και τις εξής 2 εντολές:

gsettings set com.ubuntu.update-notifier show-apport-crashes false

ubuntu-report -f send no

Οι εντολές που πρέπει να δώσετε για την πλήρη απενεργοποίηση του Apport service
Οι εντολές που πρέπει να δώσετε για την πλήρη απενεργοποίηση του Apport service

Το apport απενεργοποιήθηκε. Τώρα απενεργοποιείτε και το whoopsie service με τις εντολές:

sudo systemctl stop whoopsie.service

sudo systemctl disable whoopsie.service

sudo systemctl mask whoopsie.service

Οι εντολές που πρέπει να δώσετε για την πλήρη απενεργοποίηση του whoopsie service
Οι εντολές που πρέπει να δώσετε για την πλήρη απενεργοποίηση του whoopsie service

Αφαίρεση Υπηρεσίας Δημοτικότητας Πακέτων

Το Popularity Contest μετρά τις εγκατεστημένες εφαρμογές σας και δίνει αναφορά στην Canonical για το τι τρέχετε ώστε να ξέρει ποιες εφαρμογές ειναι δημοφιλείς. Αν και στη θεωρία, το σύστημα αυτό έχει καλή πρόθεση, στην πράξη ποτέ δεν ξέρεις πως μπορεί να χρησιμοποιηθεί από κάποιον τρίτο που θα έχει τα data σας. Οπότε, αν θέλετε να έχετε απόλυτη ιδιωτικότητα, αφαιρέστε το:

sudo apt-get remove -y popularity-contest

Σταματήστε τα ping στην Canonical

Εξορισμού το Ubuntu τρέχει ένα service που λέγεται "Connectivity Checker". Αυτό κάνει ping κάθε λίγο σε έναν server της Canonical για να βλέπει αν ειναι online. Τι σας χρειάζεται; Σε τίποτε! Τρέξτε τις Ρυθμίσεις, πηγαίνετε στην καρτέλα Ιδιωτικότητα και εκεί κάντε κλικ στο "Ελεγχος Συνδεσιμότητας". Απενεργοποιήστε (off) την επιλογή.

Ubuntu 18.04: Απενεργοποίηση έλεγχου συνδεσιμότητας
Ubuntu 18.04: Απενεργοποίηση έλεγχου συνδεσιμότητας

Εναλλακτικά, μπορείτε να βάλετε το Ubuntu σας να κάνει ping σε δικό σας server.

Alt+F2 και γράψτε

gedit admin:///usr/lib/NetworkManager/conf.d/20-connectivity-ubuntu.conf

Εκεί μπορείτε να αλλάξετε το url του server στον οποίο θα κάνει ping το σύστημά σας.

Ενεργοποίηση Firewall

Το Ubuntu όπως κάθε διανομή Linux διαθέτει ενσωματωμένο firewall (netfilter/iptables). Ειδικά, το Ubuntu έχει και το ufw, ένα πρόγραμμα για να διαχειρίζεστε το firewall (δείτε περισσότερα με την εντολή man ufw). Ομως ειναι εξορισμού ανενεργό, όπως μπορείτε να διαπιστώσετε τρέχοντας την εντολή:

sudo ufw status

Ubuntu ufw: Ενεργοποίηση firewall
Ubuntu ufw: Πως βλέπετε την κατάσταση του firewall

Οπότε το ενεργοποιείτε με την εντολή:

sudo ufw enable

Με την παρακάτω εντολή, βλέπετε τις αρχικές/εξορισμού ρυθμίσεις:

sudo ufw status verbose

To firewall ειναι ενεργό και κόβει όλες τις εισερχόμενες συνδέσεις

Δηλαδή, το Ubuntu αρνείται όλες τις εισερχόμενες συνδέσεις και επιτρέπει όλες τις εξερχόμενες.

Συμβουλή: Για να επιτρέψετε π.χ. ssh συνδέσεις στο PC σας (στην πόρτα 22) δίνετε την εντολή:

sudo ufw allow ssh/tcp

Δείτε περισσότερα για το UFW εδώ και εδώ

 

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

Δώσε αστέρια!

MO: 4.2 (ψήφοι: 18)

Σχόλια

Το κόλπο με τα unattended-upgrades δεν το ήξερα. Μήπως είναι επικίνδυνο όμως; Στα Windows πολλές φορές έγινε update και την επόμενη δεν με έβαζε ή έκανε μια ωρα να ξεκινήσει!