Πώς να ρυθμίσετε το Firejail σε Linux

Το Linux έχει τη φήμη ότι είναι αρκετά ασφαλές και από τα τρία μεγάλα λειτουργικά συστήματα αντιμετωπίζει πολύ λιγότερα προβλήματα όσον αφορά το απόρρητο. Ωστόσο, όσο ασφαλές μπορεί να είναι το Linux, υπάρχει πάντα χώρος για βελτίωση. Παρουσιάζουμε το Firejail. Είναι μια εφαρμογή που επιτρέπει στους χρήστες να πάρουν οποιαδήποτε εφαρμογή που εκτελείται και να την “φυλακίσουν” ή να “αποκαταστήσουν την εφαρμογή”. Το Firejail σάς επιτρέπει να απομονώσετε μια εφαρμογή και να την αποτρέψετε από την πρόσβαση σε οτιδήποτε άλλο στο σύστημα. Η εφαρμογή είναι το πιο δημοφιλές εργαλείο sandboxing προγραμμάτων στο Linux. Εξαιτίας αυτού, πολλές διανομές Linux αποφάσισαν να στείλουν αυτό το λογισμικό. Δείτε πώς μπορείτε να αποκτήσετε το Firejail στο Linux.

SPOILER ALERT: Κάντε κύλιση προς τα κάτω και παρακολουθήστε το εκπαιδευτικό βίντεο στο τέλος αυτού του άρθρου.

Εγκατάσταση

Ubuntu

sudo apt install firejail

Debian

sudo apt-get install firejail

Arch Linux

sudo pacman -S firejail

Δεν είστε ευχαριστημένοι με την έκδοση repo του Firejail στο Arch; Σκεφτείτε την κατασκευή την έκδοση Git από το AUR.

Μαλακό καπέλλο

Δυστυχώς, δεν υπάρχει πακέτο Firejail για το Fedora. Τα κύρια repos δεν το έχουν και δεν υπάρχει λόγος να πιστεύουμε ότι αυτό θα αλλάξει. Οι χρήστες του Fedora μπορούν ακόμα να εγκαταστήσουν το λογισμικό, με το Copr.

Το Copr είναι πολύ παρόμοιο με τους PPA στο Ubuntu ή το Arch Linux AUR. Οποιοσδήποτε χρήστης μπορεί να δημιουργήσει ένα αποθετήριο Copr και να βάλει λογισμικό σε αυτό. Υπάρχουν πολλά repos FireJail Copr, οπότε αν αυτό που παραθέτουμε σε αυτό το άρθρο σταματήσει να ενημερώνεται, μη διστάσετε να μεταβείτε στον ιστότοπο και βρείτε έναν αντικαταστάτη.

  Πώς να εγκαταστήσετε το θέμα Plano GTK σε Linux

Για να αποκτήσετε το Firejail στο Fedora, κάντε:

sudo dnf copr enable ssabchew/firejail

sudo dnf install firejail

OpenSUSE

Όπως τα περισσότερα λογισμικά τρίτων κατασκευαστών για το Suse, οι χρήστες θα βρουν το Firejail στο OBS. Οι εκδόσεις του Firejail μπορούν να εγκατασταθούν γρήγορα για τις πιο πρόσφατες εκδόσεις των Leap και Tumbleweed. Πιάσ’τους εδώ.

Φροντίστε να κάνετε κλικ στο κουμπί 1-κλικ για εγκατάσταση μέσω YaST.

Αλλα

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

Για να ξεκινήσετε, εγκαταστήστε το πακέτο Git στην έκδοση του Linux. Κάντε αυτό ανοίγοντας τον διαχειριστή πακέτων, αναζητώντας το “git” και εγκαθιστώντας το στο σύστημα. Φροντίστε επίσης να εγκαταστήσετε τυχόν εργαλεία κατασκευής ειδικά για τη διανομή Linux σας, αν δεν το έχετε ήδη κάνει (θα είναι εύκολο να το βρείτε, απλώς ελέγξτε το wiki της διανομής σας). Για παράδειγμα, η μεταγλώττιση σε Debian/Ubuntu απαιτεί build-essential.

Μόλις εγκατασταθεί το πακέτο git στο σύστημα, χρησιμοποιήστε το για να αποκτήσετε την πιο πρόσφατη έκδοση του λογισμικού Firejail.

git clone https://github.com/netblue30/firejail.git

Ο κωδικός βρίσκεται στο σύστημα. Εισαγάγετε τον ληφθέν φάκελο για να ξεκινήσει η διαδικασία κατασκευής με την εντολή cd.

cd firejail

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

configure

Το πρόγραμμα έχει ρυθμιστεί για μεταγλώττιση. Τώρα, ας δημιουργήσουμε ένα makefile. Ένα makefile έχει οδηγίες για τη δημιουργία ενός λογισμικού. Κάντε αυτό με την εντολή make.

make

Τέλος, εγκαταστήστε το λογισμικό firejail στο σύστημά σας:

sudo make install-strip

Χρήση Firejail

Το Sandboxing κάτι με το Firejail είναι εύκολο. Για ένα βασικό πρόγραμμα sandbox, το μόνο που απαιτείται είναι να χρησιμοποιήσετε το πρόθεμα “firejail” πριν εισαγάγετε μια εντολή. Για παράδειγμα: στο Sandbox το πρόγραμμα επεξεργασίας κειμένου Gedit και το σιλό εάν είναι εκτός της υπόλοιπης εγκατάστασης Linux, κάνετε: firejail gedit στο τερματικό. Αυτό είναι λίγο πολύ πώς λειτουργεί. Για απλό sandboxing, αυτό είναι αρκετό. Ωστόσο, λόγω του πόσο δύσκολο είναι αυτό το λογισμικό, απαιτείται κάποια διαμόρφωση.

  Πώς να ρυθμίσετε έναν διακομιστή DLNA σε Linux

Για παράδειγμα: εάν εκτελείτε firejail firefox, το πρόγραμμα περιήγησης Firefox θα εκτελείται σε ένα κλειδωμένο sandbox και τίποτα άλλο στο σύστημα δεν θα μπορεί να το αγγίξει. Αυτό είναι εξαιρετικό για την ασφάλεια. Ωστόσο, εάν θέλετε να κατεβάσετε μια εικόνα σε έναν κατάλογο, ενδέχεται να μην μπορείτε, καθώς το Firejail μπορεί να μην έχει πρόσβαση σε κάθε κατάλογο στο σύστημά σας κ.λπ. Ως αποτέλεσμα, θα πρέπει να προχωρήσετε και να απαριθμήσετε συγκεκριμένα όπου ένα sandbox μπορεί και δεν μπορεί να πάει στο σύστημα. Δείτε πώς να το κάνετε:

Λευκή λίστα προφίλ και μαύρη λίστα

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

  Πώς να χρησιμοποιήσετε την εντολή ss στο Linux

Ανοίξτε ένα τερματικό και κατευθυνθείτε στο /etc/firejail.

cd /etc/firejail

Χρησιμοποιήστε την εντολή LS για να προβάλετε όλα τα περιεχόμενα του καταλόγου και χρησιμοποιήστε ένα σωλήνα για να κάνετε προβολή κάθε σελίδας. Πατήστε το πλήκτρο enter για να μετακινηθείτε προς τα κάτω στη σελίδα.

Βρείτε το αρχείο διαμόρφωσης για την εφαρμογή σας και κρατήστε το σημείωμά του. Σε αυτό, θα συνεχίσουμε με το παράδειγμα του Firefox.

ls | more

Ανοίξτε το προφίλ Firefox firejail στο πρόγραμμα επεξεργασίας κειμένου nano.

sudo nano /etc/firejail/firefox.profile

Όπως αναφέρθηκε προηγουμένως, η εφαρμογή Firejail έχει λογικές προεπιλογές. Αυτό σημαίνει ότι οι προγραμματιστές έχουν περάσει και έχουν ορίσει προεπιλογές που θα πρέπει να λειτουργούν για τους περισσότερους χρήστες. Για παράδειγμα: αν και η εφαρμογή είναι κλειστή, ο κατάλογος ~/Downloads και οι κατάλογοι προσθηκών στο σύστημα είναι διαθέσιμοι. Για να προσθέσετε περισσότερα στοιχεία σε αυτήν τη λίστα επιτρεπόμενων, μεταβείτε στην ενότητα του αρχείου ρυθμίσεων όπου όλα εισάγονται στη λίστα επιτρεπόμενων και γράψτε τους δικούς σας κανόνες.

Για παράδειγμα, για να διευκολύνω τη μεταφόρτωση φωτογραφιών στο προφίλ μου στο Facebook στην έκδοση firejail του Firefox, θα πρέπει να προσθέσω:

whitelist ~/Pictures

Η ίδια προϋπόθεση μπορεί να χρησιμοποιηθεί για τη μαύρη λίστα. Για να αποτρέψετε την εμφάνιση συγκεκριμένων καταλόγων στην έκδοση sandbox του Firefox (ανεξάρτητα από το τι), μπορείτε να κάνετε κάτι όπως:

blacklist ~/secret/file/area

Αποθηκεύστε τις αλλαγές σας με Ctrl + O

Σημείωση: “~/” σημαίνει /home/τρέχων χρήστης

συμπέρασμα

Το Sanboxing είναι ένας εξαιρετικός τρόπος για να προστατεύσετε τον εαυτό σας από εφαρμογές που διαρρέουν ή κακούς ηθοποιούς που θέλουν να κλέψουν τα δεδομένα σας. Εάν είστε παρανοϊκοί στο Linux, ίσως είναι καλή ιδέα να δώσετε σε αυτό το εργαλείο μια σοβαρή ευκαιρία.