Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Aufräumen + mehr Sicherheit für KDE,Gimp,GQview,Seamonkey,..
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Deutsche Dokumentation
View previous topic :: View next topic  
Author Message
UTgamer
Veteran
Veteran


Joined: 10 Aug 2003
Posts: 1326
Location: Troisdorf (Köln) Deutschland

PostPosted: Sun Jun 17, 2007 12:05 am    Post subject: Aufräumen + mehr Sicherheit für KDE,Gimp,GQview,Seamonkey, Reply with quote

Betreff: Desktop

Nicht geleerte Cache einiger Anwendungen stopfen die Home-Ordner zu und bei Webanwendungen lassen sie Rückschlüsse auf den Benutzer zu, dies gedenke ich mit diesen Vorschlägen zu ändern.
Alle Scripte sind getestet und leicht nachvollziehbar.
Es werden je nach Bedarf 1 bis 2 Partitionen (Festplatte oder tmpfs) für temporäre Zwecke benötigt.
Diese Vorgehensweise beugt zum Teil auch Sicherheitslücken wie z.B. in grafikverarbeitenden Anwendungen oder Webanwendungen vor.

Hier sind mal ein paar Grafiksicherheitslücken der letzten Jahre aufgeführt
(von der Anzahl annähernd nicht mit z.B. allein GDI-Fehlern oder auch ActiveX bei Windows vergleichbar).
libexif lässt sich Schadcode unterschieben 2007, wurde erst (heute) 17.06 in Gentoo gefixt, also zu meinem Artikeldatum
Mehrere Lücken in Bildbearbeitungssoftware ImageMagick 2007
Kritische Lücken in Grafik-Toolkit GTK+ 2005
Sicherheitslücke in Grafikbibliothek libXpm unter OpenMotif und lesstif 2005
Wieder Schwachstellen in Unix-Grafikbibliothek libtiff 2004
Sicherheitslücken in Grafikbibliotheken für Unix-Systeme 2004
Fehler in freien Grafiktools ermöglichen Einschleusen von Code 2004
Schwachstellen in Bildbetrachter xv 2004


1)
KDE/Gimp/GQView-Nutzer die bereits ihr Homeverzeichnis seit einiger Zeit nutzen mögen doch mal die Größe ihres ~/.thumbnails Ordners überprüfen. Bei meinen Rechnern fand sich bereits bei einem Benutzer eine über 60 MB große Ansammlung an Thumbnails/Vorschaubildern, eindeutig zuviel.

Mein Vorschlag hierzu verlagert diese Daten auf eine Partition die bei jedem reboot alle Inhalte entfernt, hierzu zählen /tmp oder eine RAM-Disk (tmpfs).

Beispiel für den RAM-Diskeintrag in der /etc/fstab:
Code:
tmpfs         /tmp      tmpfs      size=256M,rw,noatime,nodev      0 0

Das Verlagerungsscript thumbnails welches ich bei mir im Ordner ~/.scripte liegen habe:
Code:
#! /bin/sh

cd /tmp

file=~/.thumbnails/normal   
file1=$(id -un)

if [[ -e $file1 ]]
then
   echo
else
   mkdir $(id -un)
   chmod 700 $(id -un)
   if [[ -e $file ]]
   then
      echo
      rm -r ~/.thumbnails/fail ~/.thumbnails/normal ~/.thumbnails/large
      rm -r /tmp/$(id -un)/.thumbnails
   else
      mkdir $(id -un)/.thumbnails $(id -un)/.thumbnails/normal $(id -un)/.thumbnails/large $(id -un)/.thumbnails/fail
      ln -s /tmp/$(id -un)/.thumbnails/normal ~/.thumbnails/normal
      ln -s /tmp/$(id -un)/.thumbnails/large ~/.thumbnails/large
      ln -s /tmp/$(id -un)/.thumbnails/fail ~/.thumbnails/fail
   fi
fi
Mit "chmod u+x ~/.scripte/thumbnails" mache ich dieses Script ausführbar (für die Linuxneulinge).
Beschreibung:
Dieses Script legt mit dem Inhalt der Variablen "$(id -un)" welches den gerade angemelden Benutzer anzeigt einen neuen Ordner mit dem Benutzernamen an, in diesen Ordner kommt dann der nun temporäre Thumbnails-Inhalt.


2) Webanwendungen - Browser
Man kann nun wie in Punkt 1 beschrieben den /tmp Ordner verwenden oder um richtig viel Sicherheit zu erlangen eine weitere Partition erstellen die der Sicherheit wegen mit noexec gemounted wird, denn Cache-Inhalt darf niemals ausgeführt werden.
In meinem Beispiel verwende ich wieder eine RAM-Disk die nun in den Ordner /home/.Cache gelegt wird (128MB sind mehr als ausreichend, weniger geht auch):
Code:
tmpfs         /home/.Cache   tmpfs      size=128M,rw,noatime,nodev,noexec   0 0

Mein Script "browsercache" für den Seamonkey, jeder muß hier ein paar wenige Verzeichnisnahmen für sich selbst korrigieren:
Code:
#! /bin/sh

cd /home/.Cache

file1=$(id -un)
if [[ -e $file1 ]]
then
   echo
else
   mkdir $(id -un)
   chmod 700 $(id -un)
fi

# Seamonkey  (~128MB sind OK)
# Die lock Datei im Browserverzeichnis ist nicht ohne weiteres abfragbar!
#file2=~/.mozilla/[Profilname]/*.slt/lock

file2=/home/.Cache/$(id -un)/seamonkey/Cache

if [[ -e $file2 ]]
then
   # Die Caches leeren
   rm -r ~/.mozilla/[Profilnamen]/Cache
   rm -r /home/.Cache/$(id -un)/seamonkey/Cache
   rm -r /home/.Cache/$(id -un)/seamonkey
   # und wieder leer neu anlegen
   mkdir $(id -un)/seamonkey $(id -un)/seamonkey/Cache
   ln -s /home/.Cache/$(id -un)/seamonkey/Cache  ~/.mozilla/[Profilname]
else
   # Die Caches neu erstellen nach erstem Login
   mkdir $(id -un)/seamonkey $(id -un)/seamonkey/Cache
   ln -s /home/.Cache/$(id -un)/seamonkey/Cache  ~/.mozilla/[Profilname]
fi


# Beim Firefox ist es durch das temporäre entfernen und anlegen vom Cache Ordner
# sowie der Rechteprüfung beim Start es nicht möglich noexec und nodev dem Cache
# zu verpassen ohne diese Flags der ganzen home-Partition zu übergeben.

Dort wo [Profilnamen] steht müßt ihr eure eigenen Profilnamen eintragen!


3) Webanwendungen - andere
Genau wie beim Seamonkey wird für das nächste Script "adobe+flash-cache" die gleiche Partition mit dem gleichen angemeldeten Benutzer verwendet. Die Cache-Ordner vom Adobe-Acrobatreader und von Adobe/Macromedia-Flash/Shockwave werden hier temporär gemacht.
Code:
#! /bin/sh

cd /home/.Cache

file1=$(id -un)
if [[ -e $file1 ]]
then
   echo
else
   mkdir $(id -un)
   chmod 700 $(id -un)
fi

# Flashplayer + Acrobatreader (~128MB sind OK)
# Mein Cache-Ordner ist hier Zuhause: ~/.macromedia

file2=/home/.Cache/$(id -un)/macromedia

if [[ -e $file2 ]]
then
   # Die Caches leeren
   rm -r ~/.macromedia
   rm -r /home/.Cache/$(id -un)/macromedia
   # und wieder leer neu anlegen
   mkdir $(id -un)/macromedia
   ln -s /home/.Cache/$(id -un)/macromedia  ~/.macromedia
else
   # Die Caches neu erstellen nach erstem Login
   mkdir $(id -un)/macromedia
   rm -r ~/.macromedia
   ln -s /home/.Cache/$(id -un)/macromedia  ~/.macromedia
fi


# Mein Cache-Ordner ist hier: ~/.adobe/Acrobat/7.0/Cache/Search70
file3=/home/.Cache/$(id -un)/adobe

if [[ -e $file3 ]]
then
   # Die Caches leeren
   rm -r ~/.adobe/Acrobat/*.*/Cache/Search*
   rm -r /home/.Cache/$(id -un)/adobe
   # und wieder leer neu anlegen
   mkdir $(id -un)/adobe
   ln -s /home/.Cache/$(id -un)/adobe  ~/.adobe/Acrobat/7.0/Cache/Search70
else
   # Die Caches neu erstellen nach erstem Login
   mkdir $(id -un)/adobe
   rm -r ~/.adobe/Acrobat/*.*/Cache/Search*
   ln -s /home/.Cache/$(id -un)/adobe  ~/.adobe/Acrobat/7.0/Cache/Search70
fi



Anzumerken ist
a) das diese Scripte in jedes Benutzerprofil gehören und die gleichen Partitionen benutzen,
b) sie in der Login-Shell bereits beim Anmelden angelegt werden.
Ihr tragt sie in die jeweils letzte Zeile eurer ~/.bash_profile Datei ein.
Beispiel:
Code:
# /etc/skel/.bash_profile:
# $Header: /home/cvsroot/gentoo-src/rc-scripts/etc/skel/.bash_profile,v 1.10 2002/11/18 19:39:22 azarah Exp $

#This file is sourced by bash when you log in interactively.
[ -f ~/.bashrc ] && . ~/.bashrc

export PATH=$PATH':~/.scripte'
thumbnails
browsercache
adobe+flash-cache



Vielleicht mag ja der ein oder andere meine Aufräum- und Sicherheitsvorschläge nutzen, :)
und gerade Webbrowser haben immer wieder Sicherheitslücken, ein Update jagt das nächste;
Adobe mit seinen Produkten 'Acrobat Reader' sowie Flash/Shockwave hatten auch bereits Sicherheitslücken.
Zudem wird der Browser schneller und die Festplatte wird bei den ganzen Cacheeinträgen schön geschont.

(An die Scriptprofies, ja man kann auf Kosten der Lesbarkeit kürzen und Returnwerte setzen, sind aber nicht nötig, sonstige Verbesserungen sind gerne willkommen.)
_________________
AMD Phenom II x4 >> CFLAGS="-march=amdfam10 -O2 -mmmx -msse3 -mfpmath=sse,387 -pipe -ffast-math" is stable and here in use.

Did Intel produce at any time bugfree HW?
http://www.urbanmyth.org/microcode/
http://www.heise.de/newsticker/meldung/91748
Back to top
View user's profile Send private message
Inte
Veteran
Veteran


Joined: 15 Jul 2003
Posts: 1387
Location: Mannheim, GER

PostPosted: Tue Jul 17, 2007 8:53 am    Post subject: Re: Aufräumen + mehr Sicherheit für KDE,Gimp,GQview,Seamon Reply with quote

UTgamer wrote:
KDE/Gimp/GQView-Nutzer die bereits ihr Homeverzeichnis seit einiger Zeit nutzen mögen doch mal die Größe ihres ~/.thumbnails Ordners überprüfen. Bei meinen Rechnern fand sich bereits bei einem Benutzer eine über 60 MB große Ansammlung an Thumbnails/Vorschaubildern, eindeutig zuviel.
Na ja, 60MB gehen noch. Wenn Du soviele Grafiken bearbeitest wie ich, dann nimmt das schnell andere Größenordnungen an. ;) Wenigstens ist das ein zentraler Cache. Manches Tools legt da lieber seinen eigenen an. Das wird dann richtig dreckig.

Ich räume ab und zu so auf: Entfernen von alten Thumbnails
_________________
Gentoo Linux - Die Metadistribution
Back to top
View user's profile Send private message
UTgamer
Veteran
Veteran


Joined: 10 Aug 2003
Posts: 1326
Location: Troisdorf (Köln) Deutschland

PostPosted: Tue Jul 17, 2007 11:26 pm    Post subject: Re: Aufräumen + mehr Sicherheit für KDE,Gimp,GQview,Seamon Reply with quote

Inte wrote:
...
Ich räume ab und zu so auf: Entfernen von alten Thumbnails


Auch eine gute Idee; nur hilft sie denen nicht weiter die die -atime für ihre /home partition deaktiviert haben ;)
Da hilft entweder über Cron nur ein reguläres löschen aller Thumbnails oder eben die tempfs Lösung von mir.
_________________
AMD Phenom II x4 >> CFLAGS="-march=amdfam10 -O2 -mmmx -msse3 -mfpmath=sse,387 -pipe -ffast-math" is stable and here in use.

Did Intel produce at any time bugfree HW?
http://www.urbanmyth.org/microcode/
http://www.heise.de/newsticker/meldung/91748
Back to top
View user's profile Send private message
a.forlorn
Guru
Guru


Joined: 12 Aug 2005
Posts: 412
Location: Ulm, Germany

PostPosted: Fri Jul 20, 2007 10:28 pm    Post subject: Reply with quote

Wie kann ich überprüfen, ob atime läuft? Ich habe testweise mal noatime aus /etc/fstab entfernt, reicht das aus?
_________________
Gentoo update is sometimes harder than it should.
Back to top
View user's profile Send private message
Inte
Veteran
Veteran


Joined: 15 Jul 2003
Posts: 1387
Location: Mannheim, GER

PostPosted: Sat Jul 21, 2007 8:25 am    Post subject: Reply with quote

Hast Du einfach mal ein mount auf der Konsole abgesetzt? Da siehst Du doch alle Optionen mit denen die Partitionen gemountet wurden. Wenn kein noatime dabei steht, dann ist doch alles in Ordnung.
_________________
Gentoo Linux - Die Metadistribution
Back to top
View user's profile Send private message
a.forlorn
Guru
Guru


Joined: 12 Aug 2005
Posts: 412
Location: Ulm, Germany

PostPosted: Sat Jul 21, 2007 12:06 pm    Post subject: Reply with quote

LOL, das war mir völlig unbekannt. Man lernt nach 4 Jahren linux doch immer wieder dazu. ;) Danke!
_________________
Gentoo update is sometimes harder than it should.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Deutsche Dokumentation All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum