AppArmor

Aktualisiertes AppArmor-Profil für Sublime Text 4

19. August 2021 · Anwendungen · andreas · Kein Kommentar

Nach der Aktualisierung auf Version 4 wollte Sublime Text mit dem alten AppArmor-Profil nicht mehr starten. Ein Blick ins Log half, die Problemstellen zu lokalisieren und das Profil anzupassen:

# 2020-05-11 athul/initial
# 2020-09-29 athul/replaced abstractions/evince
# 2021-07-26 athul/changed permissions for /opt/sublime_text/sublime_text from "mr" to "mrix",
#   added settings for /opt/sublime_text/plugin_host-3.3, /opt/sublime_text/plugin_host-3.8
#   chandged permissions for /opt/sublime_text/** from "r" to "mr", removed /opt/sublime_text/plugin_host
# 2021-08-19 athul/added write permission to /tmp/*

#include <tunables/global>

/opt/sublime_text/sublime_text {
  #include <abstractions/X>
  #include <abstractions/base>
  #include <abstractions/dbus-session-strict>
  #include <abstractions/fonts>

  deny network,

  /opt/sublime_text/ r,
  /opt/sublime_text/** mr,
  /opt/sublime_text/plugin_host-3.3 mrix,
  /opt/sublime_text/plugin_host-3.8 mrix,
  /opt/sublime_text/sublime_text mrix,
  /proc/filesystems r,
  /usr/share/** r,
  /usr/bin/perl mrix,
  /usr/bin/sassc mrix,
  owner /dev/shm/* rwl,
  owner /run/user/** rw,
  owner /tmp/* w,
  @{HOME}/** rwk,
  @{HOME} rw,
}

Es musste die Berechtigung für Sublime Text um “ix” (execute and inherit the current profile) ergänzt, die Einstellungen für den Plugin-Host geändert und die Berechtigungen für die Dateien unterhalb von “/opt/sublime_text/” um “m” (memory map executable) erweitert werden.

Aktualisierungen:
2021-08-19: Fehlende Berechtigung zum Schreiben in “/tmp” ergänzt
2021-08-09: Aktualisierung für Sublime Text 4

Aktualisiertes AppArmor-Profil für Sublime Text

30. September 2020 · Betriebssysteme · andreas · Kein Kommentar

Das AppArmor-Profil für Sublime Text hat sich im Praxiseinsatz bewährt, allerdings sind im Laufe der Zeit ein paar Nebenwirkungen aufgetreten: trotz expliziter Genehmigung des Lese- und Schreibzugriffs auf alle im Besitz des Benutzers befindlichen Dateien unterhalb von “/home”

owner /home/** rw,

war es nicht möglich, z.B. die Datei “.bashrc” zu bearbeiten. Dies wurde auch entsprechend im Log protokolliert:

apparmor="DENIED" operation="open" profile="/opt/sublime_text/sublime_text" name="/home/buster/.bashrc" pid=5507 comm="file_read_threa" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000

Ursache hierfür war das Einbinden der Datei “abstractions/evince”

#include <abstractions/evince>

welche wiederum den Regelsatz um den Inhalt der Datei “abstractions/private-files” erweiterte

#include <abstractions/private-files>

wodurch letztendlich die Regel

deny @{HOME}/.bash* mrk,

im Profil aktiv war. Diese unterbindet den Lesezugriff auf alle Dateien im “Home”-Verzeichnis des Benutzers welche mit “.bash” beginnen, weshalb die spätere Genehmigung ins Leere läuft.

Das aktualisierte Profil sieht wie folgt aus:

# 2020-05-11 athul/initial
# 2020-09-29 athul/replaced abstractions/evince

#include <tunables/global>

/opt/sublime_text/sublime_text {
  #include <abstractions/X>
  #include <abstractions/base>
  #include <abstractions/dbus-session-strict>
  #include <abstractions/fonts>

  deny network,

  /opt/sublime_text/ r,
  /opt/sublime_text/** r,
  /opt/sublime_text/plugin_host mrix,
  /opt/sublime_text/sublime_text mr,
  /proc/filesystems r,
  /usr/share/** r,
  /usr/bin/perl mrix,
  /usr/bin/sassc mrix,
  owner /dev/shm/* rwl,
  owner /run/user/** rw,
  @{HOME}/** rwk,
  @{HOME} rw,
}

Neben dem Ersetzen von “abstractions/evince” wurde das Profil noch um eine Zugriffsregel für den Perl-Interpreter sowie den Sass CSS-Precompiler erweitert und auf die Variable “@{HOME}” aus “tunables/global” statt der statischen Pfadangabe “/home/…” zurückgegriffen.

Als Best Practice sollte man zur Minimierung von Nebenwirkungen mit Hilfe von “aa-genprof” die Zugriffsrechte lieber dediziert vergeben statt die vorgeschlagenen Includes einzubinden.


Internet-Zugriff für Sublime Text unter Debian unterbinden

15. Mai 2020 · Betriebssysteme · andreas · Kein Kommentar

Als Texteditor ist hier Sublime Text in der lizenzierten Version im Einsatz.

Es ist aus meiner Sicht vollkommen legitim, daß ein Lizenzinhaber gelegentlich überprüft, ob die zugewiesene Lizenz noch gültig ist. Sublime Text führt diese Online-Überprüfung aber nach jedem Start durch, was im Hinblick auf die Privatsphäre suboptimal ist - letzendlich geht es im Rahmen der erworbenen Lizenz die Entwickler nichts an, ob der Editor fünfzig mal am Tag oder um drei Uhr nachts gestartet wird.

Eine Diskussion mit dem Thema “Sublime Text calling home to license.sublimehq.com on every start?” im offiziellen Sublime Text-Forum hat leider zu keinem greifbaren Ergebnis geführt. Da auch die Sales FAQ nicht verlangt, daß das Programm nach Hause telefonieren darf / kann / soll / muss, ist eine anwendungsbezogene Sperrung des Netzwerk-Zugriffs eine naheliegende Option.

Weiterlesen