Ναι το Linux είναι πιο ασφαλές από κάποια άλλα λειτουργικά, ονόματα δεν λέμε υπολήψεις δεν θίγουμε, αλλά δεν θα πρέπει να κοιμόμαστε και τον ύπνο του δικαίου. Ένας πυρότοιχος (firewall) --σικ-- που να χωρίζει τον υπολογιστή από τους ¨κακούς" εκεί έξω είναι απαραίτητος. Κάθε διανομή έχει κάποια εργαλεία να κάνουν χρήση του πυρότοιχου που έχει ενσωματωμένος ο πυρήνας. Αλλά αυτά τα κάνουν σε επίπεδο πόρτας δικτύου και όχι σε επίπεδο εφαρμογής. Το μοντέλο αυτό είναι μια χαρά για servers αλλά σε επίπεδο desktop κάποιες φορές δεν αρκεί.
Γιατί σε επίπεδο εφαρμογής
Κάποια διαβολική επέκταση του chrome μπορεί να στέλνει δεδομένα σε τρίτους κάτω από την μύτη μας. Με τον τρόπο αυτό μπορείς να το δεις και να το εμποδίσεις. Παράδειγμα εδώ. Η μπορείς να δεις πως το eBay κάνει scan για ανοικτές πόρτες στον υπολογιστή σου 1 2 .
Η μπορεί να παρατηρήσεις η εγκατάσταση κάποιου πακέτου deb να κατεβάζει πράγματα από το Internet. Η τον firefox να στέλνει αναφορές κατάρρευσης ακόμα και αν του είπες να μην το κάνει
Στις παραπάνω περιπτώσεις θέλεις να έχεις τον έλεγχο. Αρκεί να ξέρεις τι θα πρέπει να επιτρέψεις και τι όχι. Και μπορεί μια μέρα να βρεθεί να τρέχεις κάτι διαβολικό (είπε κανείς πως αν έχεις Linux είσαι άτρωτος;)
Εγκατάστση
Το OpenSnitch αποτελείται από δυο κομμάτια: Μια υπηρεσία συστήματος και ένα γραφικό περιβάλλον διασύνδεσης.
Συμβουλευτείτε τις οδηγίες εγκατάστασης για την διανομή σας εδώ, πιθανά να χρειαστούν κάποια πρόσθετα βήματα. Εναλλακτικά μπορούμε να το κτίσουμε με το χέρι από τον κώδικά, είναι γραμμένο σε γλώσσα go, ακολουθώντας τις οδηγίες εδώ.
Για το σύστημα μου κατέβασα τα σχετικά πακέτα από την σελίδα του στο github. Αυτό που δεν καταλαβαίνω είναι γιατί στο πακετάρισμα του deb θεώρησαν καλό να βάλουν και τον πηγαίο κώδικα στο /usr/share/gocode/src/github.com/evilsocket
. Αν ήθελα να τον κώδικα το έκανα compile με το χέρι. Θα μπορούσε και χειρότερα, τουλάχιστον δεν είναι σε flathub .
Firewall σε επίπεδο εφαρμογής
Αν κάποια εφαρμογή/πρόγραμμα θέλει να κάνει χρήση του δικτύου θα ανοίξει ένα παράθυρο με κάποιες πληροφορίες, όπως το όνομα της εφαρμογής, η διεύθυνση προορισμού, ο χρήστης η πόρτα κλπ. Θα πρέπει να επιλέξουμε μέσα σε ένα σύντομο χρονικό διάστημα αν θα το επιτρέψουμε ή όχι, διαφορετικά θα επιλέγει αυτόματα τι θα γίνει.
Βασικές ρυθμίσεις
Όταν ξεκινήσουμε την γραφική διασύνδεση, θα δούμε ένα εικονίδιο στην γραμμή εργασιών. Από εκεί μπορούμε να ανοίξουμε το γραφικό περιβάλλον και να κάνουμε ρυθμίσεις.
Μια βασική ρύθμιση που θα πρέπει να γίνει είναι να ορίσουμε την βασική λειτουργία είναι να επιτρέπει την πρόσβαση όταν δεν πατήσουμε κάτι (allow) είτε -προτεινόμενο- να την αγνοεί (deny). Επίσης το χρονικό διάστημα που θα περιμένει (εξ ορισμού 15 δευτερόλεπτα). Επίσης την χρονική διάρκεια που θα έχει ισχύ. Μπορεί να είναι μέχρι την επόμενη επανεκκίνηση, κάποιο χρονικό διάστημα ή για πάντα (forever).
Αν κάνουμε λάθος μπορούμε πάντα να ανοίξουμε το γραφικό περιβάλλον και να κάνουμε ότι αλλαγές θέλουμε ή ακόμα και να σβήσουμε εντελώς τον κανόνα.
Την πρώτη φορά που θα το τρέξουμε θα δούμε μια πληθώρα από παράθυρα, αλήθεια τόσα πολλά προγράμματα κάνουν χρήση υπηρεσιών δικτύωσης; Αλλά αυτό θα συμβεί μόνο την πρώτη φορά. Υπομονή.
Προχωρημένη χρήση
Για απόλυτη ασφάλεια μπορεί να θέλεις ένας υπολογιστής να μπορεί να συνδεθεί μόνο σε συγκεκριμένα sites. Με τον ίδιο τρόπο μπορεί να θέλεις να απαγορεύσεις κάποια άλλα, όπως να κόβεις τις διαφημίσεις για παράδειγμα. Οδηγίες υπάρχουν εδώ.
Προβλήματα
Ένα πρόβλημα υπάρχει με τις εφαρμογές τύπου flatpak καθώς τρέχουν μέσα από ένα διαφορετικό κατάλογο κάθε φορά. Λύση για αυτό υπάρχει στο FAQ.
Μπλοκάρει και δεν δείχνει καν ότι τρέχει σε άλλα πρωτόκολλα όπως πχ ICMP, IGMP or SCTP. Για να τα ενεργοποιήσουμε πρέπει να προσθέσουμε στο iptables κανόνες πχ iptables -t mangle -I OUTPUT -p icmp -j ACCEPT
Δεν μπορεί να δει κυκλοφορία μέσω του wireguard. Δείτε επίσης για άλλα προβλήματα που μπορεί να προκύψουν εδώ.
Δεν έχει πρόβλημα και μπορεί να συνυπάρχει με το άλλο firewall που χρησιμοποιείτε firewalld, ufw, gufw κλπ. Δεν θα πρέπει να προκύψει κάποιο πρόβλημα με το VPN.
Εμπειρία
Στην λίγη χρήση που του έκανα δεν έχω καταλήξει ακόμα αν θα μείνει ή όχι στον υπολογιστή. Κάπου θυμίζει τις παλιές κακές εποχές με άλλα λειτουργικά. Τουλάχιστον έχω αρκετές πληροφορίες, που ξέρω να αξιολογήσω για να πάρω μια απόφαση. Μάλλον θα το κρατήσω αλλά όχι για τον ρόλο του σαν firewall αλλά περισσότερο σαν κάποιο monitor του δικτύου.
Θα πρέπει να το χρησιμοποιήσεις; Αυτό θα πρέπει να το απαντήσεις εσύ και μόνον εσύ. Κανένα πρόγραμμα και κανένα λειτουργικό δεν θα σου δώσει 100% ασφάλεια αν δεν ξέρεις να το χρησιμοποιήσεις και δεν κατανοείς τους κινδύνους.
Επίσης είναι ένα σχετικά αδοκίμαστο πρόγραμμα, ακόμα σε ανάπτυξη. Σίγουρα θα προκύψουν προβλήματα κάποια στιγμή στο μέλλον και θα πρέπει να ξέρεις να τα αντιμετωπίσεις. Δεν σου το συνιστώ αν δεν είσαι ένας έμπειρος χρήστης και απλά θέλεις να το εγκαταστήσεις γιατί σε έχουν τρομάξει κάποιοι, συνήθως υπερ-άσχετοι – ονόματα δεν λέμε, υπολήψεις δεν θίγουμε – στην τηλεόραση,
Απενεργοποίηση/Αφαίρεση από το σύστημα
Με τις παρακάτω εντολές α. σταματάμε και β. απενεργοποιούμε δια παντός την υπηρεσία
sudo service opensnitchd stop
sudo systemctl disable opensnitchd
Στην συνέχεια αφαιρούμε το πρόγραμμα από το σύστημα με αντίστοιχο τρόπο της εγκατάστασης του.
Διαβάστε
Το πολύ καλό wiki