tmp mit noexec unter Debian
tmp mit noexec unter Debian
Wenn ich in der /etc/fstab die /tmp-Partition mit dem Flag noexec ausstatte, funktionieren ja bekanntermaßer viele Exploids nicht mehr.
Allerdings gibt es dann auch Fehlermeldungen bei dem Installieren von Paketen mit apt-get install unter Debian 3.1 Zum Einrichten der Pakete werden wohl Shellscripte verwendet, die dann unter /tmp nich tmehr ausgeführt werden können.
Merkwürdigerweise konnte ich bislang noch keine Folgefehler diesbezüglich erkennen. Die Paket sind trotzdem installiert (vielleicht nicht konfiguriert?).
Wie kann man es erreichen, das die Pakete über einen anderen temporären Pfad installiert werden?
Allerdings gibt es dann auch Fehlermeldungen bei dem Installieren von Paketen mit apt-get install unter Debian 3.1 Zum Einrichten der Pakete werden wohl Shellscripte verwendet, die dann unter /tmp nich tmehr ausgeführt werden können.
Merkwürdigerweise konnte ich bislang noch keine Folgefehler diesbezüglich erkennen. Die Paket sind trotzdem installiert (vielleicht nicht konfiguriert?).
Wie kann man es erreichen, das die Pakete über einen anderen temporären Pfad installiert werden?
Re: tmp mit noexec unter Debian
Eine 100Mb File anlegen mit deren Hilfe später /tmp gemounted wird.
Ein extended filesystem für die File erstellen
/tmp dir backupen
Neues tmp noexec mounten
backup zurücksichern
fstab Eintrag anlegen um die Einstellungen nach einem reboot beizuhalten
Folgendes unten Eintragen
Das gröbste wäre nun geschafft, jetzt noch apt Einstellen
Folgendes da reinschreiben:
Viel Spa�? damit.
Ps: Nicht von mir verfasst, nur eine deutsche Zusammenfassung die ich mir mal zusammengeschrieben hatte, weil ich das gleiche Problem hatte.
:-D
Code: Select all
cd /dev
dd if=/dev/zero of=tmpmount bs=1024 count=1000000
Code: Select all
mke2fs /dev/tmpmount
Code: Select all
cd /
cp -R /tmp /tmp_backup
Code: Select all
mount -o loop,noexec,nosuid,rw /dev/tmpmount /tmp
chmod 1777 /tmp
Code: Select all
cp -R /tmp_backup/* /tmp/
rm -rf /tmp_backup
Code: Select all
nano /etc/fstab
Code: Select all
/dev/tmpmount /tmp ext2 loop,noexec,nosuid,rw 0 0
Code: Select all
nano /etc/apt/apt.conf
Code: Select all
DPkg {
pre-Invoke {
"mount -o remount,exec /dev/tmpmount /tmp";
}
post-Invoke {
"mount -o loop,noexec,nosuid,rw /dev/tmpmount /tmp";
}
}
Viel Spa�? damit.
Ps: Nicht von mir verfasst, nur eine deutsche Zusammenfassung die ich mir mal zusammengeschrieben hatte, weil ich das gleiche Problem hatte.
:-D
Last edited by aubergine on 2006-05-12 20:40, edited 1 time in total.
Re: tmp mit noexec unter Debian
Das habe ich ehrlich gesagt nicht so ganz verstanden.
Also:
Es wird eine Datei angelegt, die als /tmp-Partition dienen soll. Dieses wird mit noexec gemountet.
Warum ist die Datei nur 100 MB groß? Hat das einen besonderen Grund?
Meine /tmp-Partition ist 2 GB groß.
apt mountet die Datei-Partition dann bei Bedarf mit exec oder noexec.
Im normalen Betrieb steht /tmp dann mit noexec zur Verfügung.
Hört sich eigentlich ganz gut an. Gibt es Schwachstellen. Ã?bersteht das Gebilde einen reboot? Ist es ggf. ein Flaschenhals (Performance)?
Also:
Es wird eine Datei angelegt, die als /tmp-Partition dienen soll. Dieses wird mit noexec gemountet.
Warum ist die Datei nur 100 MB groß? Hat das einen besonderen Grund?
Meine /tmp-Partition ist 2 GB groß.
apt mountet die Datei-Partition dann bei Bedarf mit exec oder noexec.
Im normalen Betrieb steht /tmp dann mit noexec zur Verfügung.
Hört sich eigentlich ganz gut an. Gibt es Schwachstellen. Ã?bersteht das Gebilde einen reboot? Ist es ggf. ein Flaschenhals (Performance)?
Re: tmp mit noexec unter Debian
Es übersteht einen reboot weil du es in fstab einträgst.
Wenn du wirklich 2GB in tmp brauchst, leg die File halt mit 3Gb an.
Schwachstellen hab ich bis jetzt keine gefunden.
Wenn du wirklich 2GB in tmp brauchst, leg die File halt mit 3Gb an.
Schwachstellen hab ich bis jetzt keine gefunden.
Re: tmp mit noexec unter Debian
Ich werde das mal probieren.
/tmp muss bei mir groß sein, weil ich teils sehr große Archivdateien mit dem MC öffne.
/tmp muss bei mir groß sein, weil ich teils sehr große Archivdateien mit dem MC öffne.
Re: tmp mit noexec unter Debian
aubergine wrote:Eine 100Mb File anlegen mit deren Hilfe später /tmp gemounted wird.Ein extended filesystem für die File erstellenCode: Select all
cd /dev dd if=/dev/zero of=tmpmount bs=1024 count=1000000
/tmp dir backupenCode: Select all
mke2fs /dev/tmpmount
Neues tmp noexec mountenCode: Select all
cd / cp -R /tmp /tmp_backup
backup zurücksichernCode: Select all
mount -o loop,noexec,nosuid,rw /dev/tmpmount /tmp chmod 0777 /tmp
fstab Eintrag anlegen um die Einstellungen nach einem reboot beizuhaltenCode: Select all
cp -R /tmp_backup/* /tmp/ rm -rf /tmp_backup
Folgendes unten EintragenCode: Select all
nano /etc/fstab
Das gröbste wäre nun geschafft, jetzt noch apt EinstellenCode: Select all
/dev/tmpmount /tmp ext2 loop,noexec,nosuid,rw 0 0
Folgendes da reinschreiben:Code: Select all
nano /etc/apt/apt.conf
Code: Select all
DPkg { pre-Invoke { "mount -o remount,exec /dev/tmpmount /tmp"; } post-Invoke { "mount -o loop,noexec,nosuid,rw /dev/tmpmount /tmp"; } }
Viel Spaß damit.
Ps: Nicht von mir verfasst, nur eine deutsche Zusammenfassung die ich mir mal zusammengeschrieben hatte, weil ich das gleiche Problem hatte.
:-D
Ich muss mal dumm fragen: Warum wird dafür eine Partition im /dev Bereich erstellt? Warum wird nicht die existierende /tmp Partition benutzt - oder ist das ein HowTo speziell für die Leute gedacht, die alles in einer Partition haben?
Re: tmp mit noexec unter Debian
wenn du eine sperate partition für /tmp hast musst du natürlich kein file anlegen
Re: tmp mit noexec unter Debian
Indem Fall ist das HowTo auf das dodolin verwiesen hat völlig ausreichend.
Hät ich dazu sagen sollen :oops:
Hät ich dazu sagen sollen :oops:
Re: tmp mit noexec unter Debian
aubergine wrote:Indem Fall ist das HowTo auf das dodolin verwiesen hat völlig ausreichend.
Code: Select all
/dev/tmpmount /tmp ext2 loop,noexec,nosuid,rw 0 0
sowas wie "No loop device more" (kann es nicht genau sagen)
Re: tmp mit noexec unter Debian
Du kannst auch mehr als nur die Standard 8 loop-devices benutzen:
http://www.tldp.org/HOWTO/CDServer-HOWTO/addloops.html
http://www.tldp.org/HOWTO/CDServer-HOWTO/addloops.html
Re: tmp mit noexec unter Debian
Der loop Device ist ein Virtuelles Laufwerk das einem ein voll funktionsfähiges Laufwerk zur Verfügung stellt, das komplett anders eingerichtet werden kann als das "Hauptlaufwerk".adjustMan wrote:aubergine wrote:Indem Fall ist das HowTo auf das dodolin verwiesen hat völlig ausreichend.wozu ist das loop denn? Bei mir meldet apt nach 2-3 InstallationenCode: Select all
/dev/tmpmount /tmp ext2 loop,noexec,nosuid,rw 0 0
sowas wie "No loop device more" (kann es nicht genau sagen)
Das Problem mit den loop Devices hatte ich auch und hab daraufhin das Script verbessert.
Undzwar liegt der Fehler hier:
Code: Select all
DPkg {
pre-Invoke {
"mount -o remount,exec /dev/tmpmount /tmp";
}
post-Invoke {
"mount -o loop,noexec,nosuid,rw /dev/tmpmount /tmp";
}
}
Siehe "mount", dort müsstest du grade sehen das etliche male ein loop Device nach tmp gemounted ist, aber trotzdem funktioniert alles (bis auf apt) ist aber natürlich unschön und unpraktisch.
Leider find ich das Script nicht mehr, daher musst du selbst ein bisschen testen und zwar dafür sorgen das in der post-invoke funktion speziell ein loop Device angewählt wird (Mittels losetup und mount).
Bsp:
Code: Select all
post-Invoke {
"mount -o loop=/dev/loop7,noexec,nosuid,rw /dev/tmpmount /tmp";
Re: tmp mit noexec unter Debian
welches Script? Die Befehle stehen doch im Thread.aubergine wrote: Leider find ich das Script nicht mehr
Also in die apt.conf "nur" reinschreiben?
Code: Select all
DPkg {
pre-Invoke {
"mount -o remount,exec /dev/tmpmount /tmp";
}
post-Invoke {
"mount -o loop=/dev/loop7,noexec,nosuid,rw /dev/tmpmount /tmp";
}
}
Re: tmp mit noexec unter Debian
Wie ich in Erinnerung habe funktioniert das so nicht, da er dir melden wird das dieser loop device bereits benutzt wird.
Deswegen musst du davor noch mit losetup dafür sorgen das dies nicht der Fall ist.
Deswegen musst du davor noch mit losetup dafür sorgen das dies nicht der Fall ist.
Re: tmp mit noexec unter Debian
und was sagt mir das? man losetup? ;)aubergine wrote:Deswegen musst du davor noch mit losetup dafür sorgen das dies nicht der Fall ist.
Re: tmp mit noexec unter Debian
Korrekt wäre:
wobei ich es für einfacher/besser/sicherer halte, den tmp Pfad von apt zu ändern.
Code: Select all
DPkg {
pre-Invoke {
"mount -o remount,exec /dev/tmpmount /tmp";
}
post-Invoke {
"mount -o remount,noexec /dev/tmpmount /tmp";
}
}
komisch
ich check nicht warum ihr es so kompliziert macht.
vorm apt einfach tmp remounten und danach wieder mit noexec remounten.
in /etc/apt/apt.conf
pre-Invoke {"mount -o remount,exec /tmp";};
post-Invoke {"mount -o remount,noexec /tmp";}
fertig.
war das evlt. die einfache lösung die gesucht wurde?
vorm apt einfach tmp remounten und danach wieder mit noexec remounten.
in /etc/apt/apt.conf
pre-Invoke {"mount -o remount,exec /tmp";};
post-Invoke {"mount -o remount,noexec /tmp";}
fertig.
war das evlt. die einfache lösung die gesucht wurde?