[Postfixbuch-users] vacation/autoanswer unter postfix + mysql

Christian Boltz postfixbuch at cboltz.de
Di Aug 7 22:10:15 CEST 2007


Hallo Wolfgang, hallo Leute,

Am Dienstag, 7. August 2007 schrieb Wolfgang Murth:
> Postfixadmin aus dem Sourceforgerepository holen mit folgendem Skript
[...]
>     #delete all svn directories
>     rm -rf `find . -type d -name .svn`

... oder auch nicht, falls man mal updaten will.

Dass dieser Löschbefehl Ärger mit Dateinamen mit Leerzeichen usw. macht, 
sei nur am Rand erwähnt.

>     cp -rf $SVNPOSTFIXADMIN/postfixadmin/trunk /var/www/postfixadmin
>     chown -R www-data: /var/www/postfixadmin

Warum sollen die Dateien www-data gehören? Der Webserver braucht darin 
keine Schreibrechte. Verbleibt nur noch das Restrisiko, dass er sie im 
Fall irgendeiner Sicherheitslücke ausnutzt und Dateien überschreibt, 
löscht oder hinzufügt.

Dateien und Verzeichnisse sollten nur für den Webserver schreibbar sein, 
wenn das auch wirklich nötig ist (z. B. bei einem CMS mit 
Dateiupload-Funktion).

Bevor der Einwand kommt: Ja, Dateien mit (Datenbank-)Passwörtern sollten 
nicht für alle lesbar sein. Das erreicht man mit Owner root und Gruppe 
www ;-)

>     # create the home directory for the vacation user
>     mkdir -p /var/spool/vacation
>     cp /var/www/postfixadmin/VIRTUAL_VACATION/vacation.pl
> /var/spool/vacation/vacation.pl
>
>     chown -R vacation.vacation /var/spool/vacation
>     chmod -R 0700 /var/spool/vacation

Gleicher Spruch, diesmal mit vacation: das Script sollte keine 
Schreibrechte auf sich selbst haben. Daher bitte root als Owner. Und 
ein beschreibbares Homeverzeichnis braucht es auch nicht, wie das 
folgende AppArmor-Profil zeigt (läuft so auf einer openSUSE 10.2):

#include <tunables/global>
/var/spool/vacation/vacation.pl {
  #include <abstractions/base>
  #include <abstractions/bash>
  #include <abstractions/consoles>
  #include <abstractions/mysql>
  #include <abstractions/nameservice>
  #include <abstractions/perl>

  /bin/bash ixr,
  /bin/logger Px,
  /usr/bin/perl ix,
  /usr/sbin/sendmail Px,
  /var/spool/vacation/vacation.pl mr,
}

Sprich: Das vacation-Script braucht weder in seinem Homeverzeichnis noch 
in /tmp/ irgendwelche Schreibrechte - es ruft lediglich ein paar 
Programme auf (sendmail via bash, logger) und braucht natürlich auch 
das Recht, sich selbst auszuführen ;-)  (perl, vacation.pl)

> ---------------------------------------
>
> Achtung bei vacation.pl, denn bei den Variablendeklarationen brauchst
> du überall ein "my" davor, zumindest wenn du Debian Ätsch verwendest.

Oder "our" und dann eine externe 
Configdatei /etc/mail/vacation/vacationrc. Im Script steht das (nur) 
als auskommentiertes Beispiel, weil die Entwickler meinen Patch in 
diesem Punkt nicht wirklich mochten. Lag wohl daran, dass ich die 
vacationrc zwingend voraussetzte.

Falls jemand einen Patch schreibt, der Default-Werte verwendet und bei 
Existenz der vacationrc diese liest: bitte im Postfixadmin-Tracker 
eingeben ;-)


Gruß

Christian Boltz
-- 
> (Windows XP welches auch installiert ist läuft aber ohne Probleme)
Musst Du nicht erwähnen, eine Mail so zu versauen, geht in der Regel
nur mit Outlook. [> Stephan Papst und Manfred Tremmel in suse-linux]



Mehr Informationen über die Mailingliste Postfixbuch-users