Για την ασφάλεια των Flatpak/Snap

Τελευταία φορά που κοίταξα στατιστικά ~6/10 πακέτα στο flathub έχουν πρόσβαση σε όλο το home.

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

Η μεγάλη διαφορά των Flatpaks είναι το ότι οι εφαρμογές μιλάνε με το runtime και βγαίνουν έξω ελεγχόμενα με την βοήθεια των portals. Και πολλές εφαρμογές θέλουν πρόσβαση στο $HOME αλλιώς μας είναι άχρηστες. Αλλά πάλι δεν έχουν πρόσβαση σε όλο το σύστημα όπως μια παραδοσιακή εφαρμογή.

Τώρα για το θέμα με τις παλιές βιβλιοθήκες αυτό είναι πρόβλημα των AppImages. Επίσης μια παραδοσιακή εφαρμογή άνετα μπορεί να πακεταριστεί μαζί με τις παλιές βιβλιοθήκες που θέλει. Στα Flatpak υπάρχει αυτοματοποιημένος μηχανισμός ελέγχου για παλιές βιβλιοθήκες. Απλά αντι να ενημερώνεις κάθε βιβλιοθήκη χωριστά ενημερώνεις όλο το runtime.

Τώρα στο Linux βλέπουμε και χρησιμοποιούμε τις τεχνολογίες όσο αναπτύσσονται. Σήμερα είναι πολύ πιο άνετη η χρήση πχ των Flatpak αό όσο ήταν πριν 2 χρόνια. Τόσο εμείς όσο και οι προγραμματιστές έχουν μάθει την χρήση τους. Και στην διαδικασία αυτή θα βρεθούν privillegde escallation και άλλα προβλήματα και θα διορθωθούν. Έτσι συμβαίνει σε κάθε νέα τεχνολογία.

Αλλά σήμερα το να έχεις ένα privillegde escallation είναι πρόβλημα. Πριν δεν ήταν γιατί απλά δεν είχες από κάτι να ξεφύγεις. Παραμένει ακόμα και έτσι, ακόμα και με X11 ένα πολύ ασφαλέστερο μοντέλο.

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

3 «Μου αρέσει»

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

Βέβαια λόγο αδειών ούτε παραδοσιακές εφαρμογές έχουν πρόσβαση σε όλο το σύστημα.

Τώρα για το θέμα με τις παλιές βιβλιοθήκες αυτό είναι πρόβλημα των AppImages.

Και των flatpak/snap τα οποία εμπεριέχουν όλες τις βιβλιοθήκες που χρειάζεται ένα πρόγραμμα.

μια παραδοσιακή εφαρμογή άνετα μπορεί να πακεταριστεί μαζί με τις παλιές βιβλιοθήκες που θέλει

Σε καμιά όμως διανομή δεν γίνεται έτσι.

Απλά αντι να ενημερώνεις κάθε βιβλιοθήκη χωριστά ενημερώνεις όλο το runtime.

Ή την ίδια εφαρμογή γιατί το runtime δεν εμπεριέχει τα πάντα. Υπάρχει για να κάνει δυνατό το τρέξιμο εφαρμογών σε όλα τα συστήματα αλλά αποτελεί απλά μια βάση.

και ο λόγος που δημιουργήθηκαν είναι η αυαξημένη ασφάλεια

Δεν θα το έλεγα. Μάλιστα πουθενά δεν αναφέρεται η ασφάλεια στην αρχική σελίδα τόσο του snap όσο και του flatpak αλλά αντίθετα και τα δύο διαφημίζουν τη μεταφερσιμότητα τους. Το appimage δεν έχει καν sandboxing οπότε δεν κοιτάω.

1 «Μου αρέσει»

Η προσωπική μου αντιπάθεια (αν και δεν είμαι hardcore χρήστης) προκύπτει από 2 κυρίως λόγους:

  1. με τα Snap είχα πρόβλημα (επειδή είναι sandboxed) να έχω πρόσβαση σε φακέλους για αποθήκευση αρχείων. Για παράδειγμα, στο Gimp έφτιαξα μια εικόνα και δεν μπορούσα να την αποθηκεύσω πουθενά εκτός από το Pictures του /home. Είναι πολύ άβολο να πρέπει να ρυθμίσεις κάτι τέτοιο κάθε φορά που βάζεις ένα Snap. Το ίδιο συνέβη και με ένα Flatpak που εγκατέστησα, αλλά το συγκεκριμένο δεν χρειάζεται να αποθηκεύσει κάτι οπότε δεν μου δημιουργεί πρόβλημα. Όλως παραδόξως δεν είχα τέτοια θέματα με ένα AppImage.
  2. το μέγεθος των Snap/Flatpak/AppImage είναι πολλαπλάσιο του να εγκαταστήσεις τα προγράμματα από ppa/aur κτλ, με αποτέλεσμα να γεμίζει ο σκληρός. Στους περισσότερους χρήστες αυτό ίσως δεν είναι πρόβλημα, αλλά εγώ έχω καταφέρει να γεμίσω έναν σκληρό 1ΤΒ στο λάπτοπ με αρχεία και είμαι στο Filesystem με 8-10GB το πολύ ελεύθερα.

Καταλαβαίνω ότι ο σκοπός ύπαρξης των Snap/Flatpak/AppImage είναι η ασφάλεια και η ευκολία, αλλά για εμένα προσωπικά τα αρνητικά είναι περισσότερα από τα θετικά.
Επίσης, πού είναι η πλάκα αν δεν χαλάσει κάποιο dependency και να ψάχνεις 2 ώρες να βρεις λύση για να κάνεις ένα πρόγραμμα να τρέξει; :stuck_out_tongue:

3 «Μου αρέσει»

Και εγώ τα αντιπαθώ όλα και πολύ περισσότερο τα snap.
Πρώτον, πολύ μεγάλο μέγεθος, απαράδεκτο.
Δεύτερον, δεν ενσωματώνονται καλά στο σύστημα. Δεν έχουν πλήρη πρόσβαση στο file system, δεν πιάνουν το theming σε κέρσορα και εμφάνιση. Δε χρειάζομαι και δε θέλω sandboxing στο pc μου, δε γουστάρω να μου επιβάλλονται χωρίς τη θέληση μου. Αυτά γίνονται στα Windows, τώρα θέλουν να το φέρουν και στο Linux; Βρε ουστ!
Τρίτον, το snap είναι και κλειστό, δηλαδή ακόμη χειρότερα.

Ήδη διαγράφω μαζικά όλα τα Ubuntu based συστήματα μου και μεταβαίνω σε καθαρά Debian based και Arch based, ενώ κρατάω φυσικά και το αγαπημένο Mint.

1 «Μου αρέσει»

Ένα ενδιαφέρον σχόλιο από το blog του Linux mint.

3 «Μου αρέσει»

Το snap πράγματι αποτελεί βασικό στοιχείο στο εμπορικό κομμάτι της Canonical αλλά το υπόλοιπο σχόλιο μου φαίνεται περισσότερο δυσπιστία σε αυτή. Η σημαντική διαφορά, που βασικά γίνεται άμεσα αντιληπτή από τα δύο λινκς που έδωσα παραπάνω, των δύο είναι πως το flatpak απευθύνεται καθαρά σε desktop χρήστες ενώ το snap καλύπτει μεγαλύτερο φάσμα (desktop σε IoT). Βασικά το snap μπορεί να είναι ο μοναδικός package manager σε ένα σύστημα αφού μπορεί να εγκαταστήσει από εφαρμογές μέχρι kernels. Το ότι τα Mir (όπως ήταν αρχικά) και Unity (ολικά) εγκαταλείφθηκαν σχετίζεται με τη προηγούμενη διαφορά. Η Canonical έχει αλλάξει το ενδιαφέρον της από desktop/mobile σε servers/IoT. Αντίθετα η Red Hat διατηρεί ενδιαφέρον και σε workstations.

2 «Μου αρέσει»