[OT] amavisd-new-snmp und postfix-queues
Patrick Ben Koetter
p at sys4.de
Do Okt 1 13:10:55 CEST 2015
* Django <django at nausch.org>:
> HI Dealer aka p at rick,
>
> nachdem Du mich zum Thema AMaViS und SNMP angefixt hast, habe ich mal
> eine grundsätzliche Frage, natürlich wieder etwas off-topic hier auf
> der Liste. ;)
So, so: Angefixt.
Warte, lass mich der NSA noch ein paar brauchbare Zusammenhänge liefern.
Patrick hat Django angefixt. Patrick ist ein Dealer. ;)
Am Ende glauben die noch, ich hätte Dir davon erzählt wie man mit amavis
Postfix Mailqueues monitoren kann...
Zu Deiner Frage weiter unten:
> Der amavisd-snmp-subagent stellt ja auch Informationen der
> Postfix-Queues dem SNMP-Daemon zur Verfügung. Die Rechte stehen hierzu
> wie folgt:
> # ll /var/spool/postfix/
> total 16
> drwx------. 2 postfix root 6 Oct 1 11:05 active
> drwx------. 2 postfix root 6 May 5 13:50 bounce
> drwx------. 2 postfix root 6 May 5 13:50 corrupt
> drwx------. 15 postfix root 4096 Oct 1 06:00 defer
> drwx------. 15 postfix root 4096 Oct 1 06:00 deferred
> drwx------. 2 postfix root 6 May 5 13:50 flush
> drwx------. 2 postfix root 6 May 5 13:50 hold
> drwx------. 2 postfix root 6 Oct 1 11:00 incoming
> drwx-wx---. 2 postfix postdrop 6 Oct 1 11:00 maildrop
> drwxr-xr-x. 2 root root 4096 Sep 30 20:55 pid
> drwx------. 2 postfix root 4096 Sep 30 20:55 private
> drwx--x---. 2 postfix postdrop 68 Sep 30 20:55 public
> drwx------. 2 postfix root 6 May 5 13:50 saved
> drwx------. 2 postfix root 6 May 5 13:50 trace
>
> Damit kein unberechtigter Nutzer auf Inhalte der eMails zugreifen
> kann, "gehören" die Verzeichnisse dem User postfix - macht ja auch Sinn.
>
> Unter CentOS 7 wird der amavisd-snmp-subagent mit den Rechten
> "amavis:amavis" gestartet; soweit so gut.
Klar. Das kann nicht gehen. Ich denke, auch der Maintainer des Paketes war/ist
sich nicht bewußt, dass dieses Feature in amavis existiert.
> Frage ich nun den SNMP-Daemon nach Daten des AMaViS-Daemon erhalte ich
> lediglich:
> # snmpwalk -v 3 -l AuthNoPriv -u mailsupport \
> -A c96tOp2SaqQFngE5ioGK+O2NjfMgmCmHgls \
> 127.0.0.1 AMAVIS-MIB::inMsgsSizeOriginating
>
> AMAVIS-MIB::inMsgsSizeOriginating = No Such Object available on this
> agent at this OID
>
> Ich hatte im ersten Schritt den Unix-Socket des SNMP-Daemon in
> Verdacht, warum zum bennanten OID nichts zurückgemeldet wird. Nachdem
> ich zu Debug-Zwecken den amavisd-snmp-subagent im Vordergrund hab
> laufen lassen, kam ich aber der eigentlichen Ursache auf die Schliche:
>
> got a Postfix queue directory: /var/spool/postfix
> can't open directory /var/spool/postfix/active: Permission denied
> amavis-agentx-1.7 (20140127) starting in foreground, perl 5.016003
> Warning: Failed to connect to the agentx master agent ([NIL]):
> registering root OID 1.3.6.1.4.1.15312.2.1.1 for am.snmp
> registering root OID 1.3.6.1.4.1.15312.2.1.2 for am.nanny
> not registering root OID 1.3.6.1.4.1.15312.2.1.3.1.1 for pf.maildrop
> not registering root OID 1.3.6.1.4.1.15312.2.1.3.1.2 for pf.incoming
> not registering root OID 1.3.6.1.4.1.15312.2.1.3.1.3 for pf.active
> not registering root OID 1.3.6.1.4.1.15312.2.1.3.1.4 for pf.deferred
>
> "can't open directory", tja, der Daemon läuft ja auch mit den rechten
> des Users *amavis*!
So isses.
> Tja, nun stellt sich für mich die Frage, gibt es einen
> anderen/besseren Weg als den amavisd-snmp-subagent mit Root-Rechten
> laufen zu lassen?
Mir ist im Moment keiner bekannt. Der subagent läuft allerdings (bei mir) so,
dass er nur auf localhost lauscht:
~ # lsof -Pni :705
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
snmpd 8135 root 10u IPv4 145020791 0t0 TCP 127.0.0.1:705 (LISTEN)
snmpd 8135 root 11u IPv6 145020792 0t0 TCP [::1]:705 (LISTEN)
snmpd 8135 root 13u IPv6 145022163 0t0 TCP [::1]:705->[::1]:59144 (ESTABLISHED)
amavisd-s 11383 root 21u IPv6 145022162 0t0 TCP [::1]:59144->[::1]:705 (ESTABLISHED)
Ein Angreifer muss also dann schon auf dem Rechner sein. Ob er dann root wird,
indem der den subagent unter Kontrolle bekommt, ist IMO nicht mehr das
drängende Problem.
Du kannst natürlich mit SELunix den Zugriff entsprechend regeln.
p at rick
--
[*] sys4 AG
https://sys4.de, +49 (89) 30 90 46 64
Franziskanerstraße 15, 81669 München
Sitz der Gesellschaft: München, Amtsgericht München: HRB 199263
Vorstand: Patrick Ben Koetter, Marc Schiffbauer
Aufsichtsratsvorsitzender: Florian Kirstein
Mehr Informationen über die Mailingliste postfix-users