Συνεχίζουμε με το δεύτερο μέρος του άρθρου μας σχετικά με τα μέτρα ασφάλειας λειτουργικού συστήματος Ubuntu, ώστε να μειώσουμε τις πιθανότητες επιτυχών επιθέσεων στο λειτουργικό μας
Στο πρώτο μέρος, ασχοληθήκαμε με την λήψη μέτρων έναντι επιθέσεων που απαιτούν φυσική παρουσία στον υπολογιστή μας, ενώ στο δεύτερο μέρος θα δούμε πως θα μειώσουμε την επιφάνεια επίθεσης σε επίπεδο υπηρεσιών που τρέχουν στον υπολογιστή μας και στο δίκτυο.
Αφού εγκαταστήσετε το Ubuntu ως το κύριο λειτουργικό σας σύστημα, θα πρέπει να έχετε προστατεύσει τα USB Rubber Ducky payloads καθώς και τα ευάλωτα σημεία που αναφέραμε στον προηγούμενο μας οδηγό:
- Μέτρα ασφάλειας λειτουργικού συστήματος Ubuntu – Μέρος 1 (Physical Attack Defense)
- Ο σημερινός οδηγός: Μέτρα ασφάλειας λειτουργικού συστήματος Ubuntu – Μέρος 2 (Network Attack Defense)
- Μέτρα ασφάλειας λειτουργικού συστήματος Ubuntu – Μέρος 3 (Application – Sandboxing)
- Μέτρα ασφάλειας λειτουργικού συστήματος Ubuntu – Μέρος 4 (Auditing, Antivirus, Monitoring)
Όταν αντιμετωπίσετε τις επιθέσεις που βασίζονται στο δίκτυο, θα θέλετε να ελαχιστοποιήσετε τα hardware disclosures, να ενισχύσετε το τείχος προστασίας και πολλά άλλα.
Πιο συγκεκριμένα, σε αυτό το μέρος της σειράς των οδηγών μας, για την ενίσχυση της εγκατάστασης του Ubuntu,
- θα μάθετε να κρύβετε τη διεύθυνση MAC σας, για να εξαπατήσετε τους επιτιθέμενους,
- να απενεργοποιήσετε τις μη χρησιμοποιούμενες υπηρεσίες δικτύωσης όπως το CUPS και το Avahi,
- να δημιουργήσετε συγκεκριμένους κανόνες τείχους προστασίας για να μπλοκάρετε δεδομένα σε ορισμένες θύρες
Βήμα 1: Προστασία πληροφοριών του υλικού
Όταν συνδέεστε σε νέα δίκτυα WiFi και δρομολογητές, καλό είναι να πλαστογραφείτε τη διεύθυνση MAC του προσαρμογέα WiFi σας.
Αυτό δεν αποτρέπει έναν εισβολέα να μάθει ποιο λειτουργικό σύστημα χρησιμοποιείτε, αλλά μπορεί να εμποδίσει την ανακάλυψη πληροφοριών υλικού. Για παράδειγμα, ένας χάκερ σε ένα δίκτυο Wi-Fi στο κατάστημα καφέ μπορεί να εστιάσει τις επιθέσεις του σε συσκευές που δεν ανήκουν στην Apple. Εάν εμφανιστείτε στο δίκτυο με μια διεύθυνση MAC της Apple, ο επιτιθέμενος μπορεί να αγνοήσει εντελώς τη συσκευή σας ή μπορεί να δοκιμάσει κάποια συγκεκριμένη επίθεση κατά της συσκευής σας που δεν θα λειτουργήσει, επειδή δεν χρησιμοποιείτε MacBook
Για να αλλάξετε τη διεύθυνση MAC στο Ubuntu, ανοίξτε το Network Manager και πατήστε το κουμπί «Edit» στη σύνδεση Wi-Fi. Στην καρτέλα Identity , εισαγάγετε τη διεύθυνση MAC που θέλετε να χρησιμοποιήσετε στο πλαίσιο Cloned Address box.

Βήμα 2: Υπηρεσίες που είναι σε κατάσταση αναμονής (Listening)
Μια διαδικασία παρασκηνίου (ή υπηρεσία) σε κατάσταση «LISTEN» θα μπορούσε να σημαίνει ότι άλλες υπηρεσίες και εφαρμογές στη συσκευή και το δίκτυο μπορούν να αλληλεπιδρούν μαζί της.
Οποιαδήποτε υπηρεσία με τοπική διεύθυνση 0.0.0.0 και σε κατάσταση Listening είναι πιθανόν να είναι προσβάσιμη σε οποιονδήποτε στο τοπικό δίκτυο και ενδεχομένως σε οποιονδήποτε στο διαδίκτυο. Μια νέα εγκατάσταση του Ubuntu θα έχει μόνο μερικές εγκατεστημένες υπηρεσίες που έχουν εγκατασταθεί – οπότε δεν χρειάζεται να ανησυχείτε για τις θύρες Listening από προεπιλογή.
Θα πρέπει λοιπόν να έχετε επίγνωση των εφαρμογών που εγκαθιστάτε στο μέλλον διότι μπορούν να ανοίξουν θύρες «Listening» χωρίς να σας ενημερώσουν. Για λεπτομερείς πληροφορίες σχετικά με το δίκτυο έχουμε αναλύσει το ζήτημα στο άρθρο :
Εδώ θα χρησιμοποιήσουμε το netstat
για να παρακολουθήσουμε ποιες υπηρεσίες παρασκηνίου βρίσκονται σε κατάσταση Listening. Επειδή χρησιμοποιήθηκε η minimal εγκατάσταση του Ubuntu σύμφωνα με το πρώτο μέρος του οδηγού, η σουίτα εφαρμογών net-tools (η οποία περιλαμβάνει το netstat) θα πρέπει να εγκατασταθεί. Αυτό μπορεί να γίνει χρησιμοποιώντας την εντολή
sudo apt install net-tools
Αφού τελειώσει η εγκατάσταση χρησιμοποιήστε την παρακάτω εντολή netstat για να προβάλετε τις υπηρεσίες που είναι σε κατάσταση «LISTEN».
sudo netstat -ntpul
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 651/systemd-resolve
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 806/cupsd
tcp6 0 0 ::1:631 :::* LISTEN 806/cupsd
udp 47616 0 127.0.0.53:53 0.0.0.0:* 651/systemd-resolve
udp 0 0 0.0.0.0:631 0.0.0.0:* 812/cups-browsed
udp 2304 0 0.0.0.0:5353 0.0.0.0:* 750/avahi-daemon: r
udp 0 0 0.0.0.0:38284 0.0.0.0:* 750/avahi-daemon: r
udp6 0 0 :::37278 :::* 750/avahi-daemon: r
udp6 25344 0 :::5353 :::* 750/avahi-daemon: r
Η υπηρεσία Systemd-resolve
χρησιμοποιείται για την επίλυση ονομάτων τομέα και δεν θα πρέπει να τροποποιηθεί ή να καταργηθεί. Θα εξηγήσω τα «cupsd» και «avahi-daemon» στις επόμενες ενότητες.
Απενεργοποίηση ή κατάργηση του CUPS
Το Cupsd
είναι μια υπηρεσία για το CUPS, που χρησιμοποιείται από εκτυπωτές. Υπάρχουν πολλά script Nmap NSE σχεδιασμένα να συλλέγουν πληροφορίες από τις υπηρεσίες CUPS και παρουσιάζουν μικρό κίνδυνο για την ασφάλεια. Ωστόσο, αν πολύ σπάνια χρειάζεται να αλληλεπιδράσετε με τους εκτυπωτές, το CUPS μπορεί να απενεργοποιηθεί χρησιμοποιώντας τις εντολές του systemctl την παρακάτω εντολή:
systemctl stop cups-browsed
systemctl disable cups-browsed
Εάν δεν πρόκειται ποτέ να χρησιμοποιήσετε έναν εκτυπωτή, το CUPS μπορεί να αφαιρεθεί εξ ολοκλήρου με
sudo apt autoremove cups-daemon
Απενεργοποίηση ή κατάργηση του Avahi
Ο Avahi υλοποιεί την αρχιτεκτονική Zeroconf της Apple (γνωστή και ως «Rendezvous» ή «Bonjour»). Ο Avahi καταχωρεί τις τοπικές διευθύνσεις IP και τις στατικές υπηρεσίες χρησιμοποιώντας mDNS / DNS-SD.
Για παράδειγμα, με ενεργή αυτή την υπηρεσία μπορείτε να συνδεθείτε σε ένα τοπικό δίκτυο και να βρείτε άμεσα εκτυπωτές για να εκτυπώσετε, αρχεία και και άλλες συσκευές.
Αν δεν σχεδιάζετε να αλληλεπιδράτε με προϊόντα ή υπηρεσίες τέτοιων συσκευών το avahi-daemon μπορεί να απενεργοποιηθεί χρησιμοποιώντας την ακόλουθη εντολή
systemctl stop avahi-daemon
systemctl disable avahi-daemon
Το Avahi μπορεί επίσης να απομακρυνθεί εντελώς με την εντολή.
sudo apt autoremove avahi-daemon
Βήμα 3: Προστατεύστε τα Ports
Ένα τείχος προστασίας που επιτρέπει μόνο εξερχόμενες μεταδόσεις σε συγκεκριμένες θύρες μπορεί να διαμορφωθεί με τα port allowances, του UFW, ένα πρόγραμμα που στοχεύει στην παροχή μιας εύχρηστης διασύνδεσης κατά τη διαμόρφωση των τείχους προστασίας όπως είδαμε στο άρθρο «Τα πρώτα 10 λεπτά σε έναν νέο Server: Βασικές ρυθμίσεις ασφαλείας«
Το UFW σημαίνει κυριολεκτικά Uncomplicated FireWall. Λειτουργεί ως διεπαφή για το iptables για να γίνει εύκολος τρόπος προσθήκης ή κατάργησης με απλούς κανόνες εισόδου και εξόδου πακέτων.
Απαγόρευση των εισερχόμενων και τον εξερχόμενων συνδέσεων
Χρησιμοποιήστε την παρακάτω εντολή για να ενεργοποιήσετε το UFW.
sudo ufw enable
Τώρα απενεργοποιήστε όλες τις εισερχόμενες συνδέσεις με την παρακάτω εντολή.
sudo ufw default deny incoming
Στη συνέχεια, απενεργοποιήστε όλες τις προωθημένες συνδέσεις:
sudo ufw default deny forward
Στη συνέχεια, αποκλείστε όλες τις εξερχόμενες συνδέσεις:
sudo ufw default deny outgoing
ΠΡΟΣΟΧΗ. Μην τρομάξετε, διότι σε αυτό το σημείο, δεν θα μπορείτε να έχετε πρόσβαση στο διαδίκτυο χρησιμοποιώντας τον browser ή οποιαδήποτε άλλη εφαρμογή. Θα διαμορφώσουμε παρακάτω τις απαραίτητες εξαιρέσεις
Βρείτε το ασύρματο δίκτυο σας
Για να επιτρέψετε εξερχόμενες συνδέσεις (π.χ. να μπορείτε να συνδέεστε σε ιστοσελίδες), θα πρέπει πρώτα να βρείτε το όνομα του προσαρμογέα WiFi χρησιμοποιώντας την εντολή
ifconfig -a
Χρησιμοποιώντας την εντολή ifconfig, η ασύρματη διασύνδεση μπορεί να εμφανιστεί ως «wlp3s0», «wlp42s0» ή κάτι παρόμοιο. Εναλλακτικά μπορείτε και με την μοντέρνα εκδοχή την ip addr
Δημιουργία εξαιρέσεων στο Firewall και διαμόρφωση ενός DNS Resolver
Για να επιτρέπεται η κυκλοφορία DNS, HTTP και HTTPS, οι οποίες είναι απαραίτητες για να «μιλάμε» με τον έξω κόσμο, στην ασύρματη διεπαφή χρησιμοποιούμαι τις ακόλουθες τρεις εντολές.
sudo ufw allow out on <interface> to 1.1.1.1 proto udp port 53 comment 'allow DNS on <interface>'
sudo ufw allow out on <interface> to any proto tcp port 80 comment 'allow HTTP on <interface>'
sudo ufw allow out on <interface> to any proto tcp port 443 comment 'allow HTTPS on <interface>'
Όπου interface
εσείς βάζετε το όνομα της κάρτας WiFi που βρήκατε πριν.
Η διεύθυνση «1.1.1.1» στην εντολή παραπάνω των DNS είναι ο νέος DNS του CloudFlare που είδαμε στο άρθρο :
Πολλοί χρήστες του διαδικτύου δεν συνειδητοποιούν ότι ακόμη και αν βλέπετε έναν ιστότοπο που χρησιμοποιεί κρυπτογραφημένες μεταδόσεις (μικρό πράσινο κλείδωμα στη γραμμή διευθύνσεων URL), οι ISP μπορούν ακόμα να δουν κάθε όνομα τομέα που επισκέπτεστε μέσω αιτήσεων DNS. Η χρήση του DNS του CloudFlare θα βοηθήσει στην παρεμπόδιση των παροχέων υπηρεσιών Internet (ISPs) να ρίχνουν μια ματιά στο που μπαίνετε και στο να μπλοκάρουν ιστοσελίδες που θέλετε να επισκεφτείτε.
Ενημερώστε το Network Manager του διαχειριστή δικτύου
Αφού ορίσετε τις τιμές UFW, πηγαίνετε στο Network Manager, πατάτε «Edit» τη σύνδεσή WiFi και αλλάξτε το πεδίο DNS στο 1.1.1.1. Αποσυνδέσετε και επανασυνδεθείτε στο δίκτυο WiFi για να εφαρμοστούν οι αλλαγές DNS.

Για να προβάλετε τους κανόνες που δημιουργήσατε χρησιμοποιώντας το UFW δώστε την εντολή:
sudo ufw status numbered
Status: active
To Action From
-- ------ ----
[ 1] 1.1.1.1 53/udp ALLOW OUT Anywhere on enp0s8 (out) # allow DNS on enp0s8
[ 2] 443/tcp ALLOW OUT Anywhere on enp0s8 (out) # allow HTTPS on enp0s8
[ 3] 80/tcp ALLOW OUT Anywhere on enp0s8 (out) # allow HTTP on enp0s8
Τώρα μπορείτε να πλέον να μπαίνετε στο internet και το Ubuntu σας θα μπορεί να κάνει αιτήματα HTTP / HTTPS στις θύρες 80 και 443 στην ασύρματη διεπαφή που καθορίσατε.
Εάν αυτοί οι κανόνες είναι υπερβολικά αυστηροί για την καθημερινή δραστηριότητα, μπορείτε να επιτρέψτε όλα τα εξερχόμενα πακέτα με την παρακάτω εντολή.
sudo ufw default allow outgoing
Φυσικά το UFW διαθέτει και γραφική διεπαφή όπου μπορείτε να δείτε πληροφορίες αλλά και να διαμορφώσετε και επιπλέον κανόνες. Μπορείτε να το εγκαταστήσετε με
sudo apt install gufw

Παρακολουθήστε το Firewall
Αν προσπαθείτε να εντοπίσετε σφάλματα στις εισερχόμενες ή τις εξερχόμενες συνδέσεις, χρησιμοποιήστε το tail command με το όρισμα -f για να ακολουθήσετε μηνύματα καταγραφής UFW σε πραγματικό χρόνο. Η εντολή θα είναι:
tail -f /var/log/ufw.log
Παράδειγμα μπορεί στα παραπάνω αρχεία καταγραφής να δούμε οτι το UFW αποκλείει [UFW BLOCK]
τις εξερχόμενες συνδέσεις (OUT = )
από την τοπική διεύθυνση IP στο διακομιστή με μια IP, χρησιμοποιώντας TCP με θύρα προορισμού (DPT) 9999
. Αυτό μπορεί να επιλυθεί χρησιμοποιώντας την παρακάτω εντολή UFW.
sudo ufw allow out on <interface> from <local_IP> to <remote_IP> proto tcp port <port_num>
Όπου θα πρέπει να αντικαταστήσετε τα παρακάτω με βάση αυτά που σας εμφάνισε το log:
- <interface> : το όνομα της κάρτας δικτύου
- <local_IP>: την IP της κάρτας δικτύου σας
- <remote_IP>: την IP του server που προσπαθήσατε να μπείτε
Επίλογος
Ακολουθώντας τα παραπάνω βήματα θα πρέπει να παρέχεται ένας λογικός βαθμός άμυνας κατά των δικτυακών επιθέσεων. Θα συνεχίσουμε σε επόμενα άρθρα επιπλέον βέλτιστες πρακτικές ασφάλειας εφαρμογών και εργαλεία ελέγχου που μπορούν να χρησιμοποιηθούν για την εξάλειψη σχεδόν κάθε αδυναμίας του λειτουργικού συστήματος.
Καλημέρα,
στον κανόνα allow θα πρέπει να προσθέσουμε και τις πόρτες για τον email client εφόσον τον χρησιμοποιούμε.
Σωστοοοοοοος !!! Εμείς οι παππούδες που ακόμα χρησιμοποιούμε e-mail client είναι σημαντική η παρατήρηση σου !