Re: OT: Konfigurationsmanagement

2015-03-10 Diskussionsfäden Axel Beckert
Hi Lutz,

On Fri, Feb 13, 2015 at 09:42:01AM +0100, Lutz Willek wrote:
 Tolle Sache! Warum nutzt Du dann Dein Konfigurationmanagement nicht um Dein
 Problem zu lösen?

Weil ich eigentlich die Variante mit lokal andere Werte einfach
hintendran anhängen sehr elegant finde.

 Ich meine das bei Dir eingesetzte System zur
 Konfiguration Eurer Server wird doch ganz sicher eine Funktion
 _replace_in_file haben, zur Not auch ein _system_call, in dem Du dann ein
 sed -i 's/PATTERN/replace' machen kannst. Nicht nur ein stumpfes Hole mir
 irgendwelche Dateien und klebe diese aneinander, so wie Du das in Deiner
 Mail beschreibst.

Ich hab keine Ahnung, an welches Config-Management Du da denkst, aber
es ist kein Puppet oder ähnlicher Bloat sondern eher was schlankes
nach KISS-Prinzip: http://neil.franklin.ch/Projects/dphys-config/

Und ja, es kann optional Output von Shell-Kommandos in die Datei
einbauen. Ein Suchen und ersetzen über die ganze Datei gibt es aber
nicht. Haben wir bisher auch nie das Bedürfnis nach verspürt.

Mit freundlichem Gruss, Axel Beckert
-- 
Axel Beckert beck...@phys.ethz.ch   support: +41 44 633 26 68
IT Services Group, HPT H 6  voice: +41 44 633 41 89
Departement of Physics, ETH Zurich
CH-8093 Zurich, Switzerlandhttp://nic.phys.ethz.ch/


helpful_warnings=no schaltet nicht override earlier entry Warnings aus

2015-01-28 Diskussionsfäden Axel Beckert
Hallo,

wir verteilen unsere main.cf auf Server und Workstations per
Konfigurationsmanagement.

Es gibt eine Default-main.cf, die meistens ausreicht. Braucht es
Abweichungen, so werden diese durch ein beim Deployment angehängtes
per-host-Konfigurationsschnipsel gelöst. In diesem sind
ggf. Einstellungen  drin, die in der Default-Datei bereits mit anderen
Wertten drin sind, um diese zu überschreiben.

Mit Debian 7 Wheezy und Postfix 2.9.6 funktioniert dies wunderbar,
aber seit Debian 8 Jessie und Postfix 2.11.3 jammert Postfix in
verschiedensten Situationen über diese Überschreib-Methoden:

# postconf  /dev/null
postconf: warning: /etc/postfix/main.cf, line 29: overriding earlier entry: 
mydestination=
postconf: warning: /etc/postfix/main.cf, line 30: overriding earlier entry: 
relayhost=smtp.phys.ethz.ch
postconf: warning: /etc/postfix/main.cf, line 31: overriding earlier entry: 
inet_interfaces=loopback-only
#

Die dazugehörige main.cf sieht wie folgt aus:

---8---
# Note: file generated by dphys-config   DO NOT EDIT IN /etc/postfix/main.cf

# Default settings (hostname has been inserted by the configuration
# deployment tool)
myhostname = silberspitz.ethz.ch
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU Linux)
biff = no
append_dot_mydomain = no
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
relayhost = smtp.phys.ethz.ch
mynetworks = 127.0.0.0/8, [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
sender_canonical_maps = pcre:/etc/postfix/sender_canonical
mydestination = 

# Per-host settings
mydestination =
silberspitz.ethz.ch
silberspitz
localhost
bb.phys.ethz.ch
hobbit.phys.ethz.ch
xymon.phys.ethz.ch
relayhost = 
inet_interfaces = all
---8---

(Grundidee bei diesem Beispiel: Alle Standard-Server sollen Mails via
Mailserver verschicken, nicht aber der Monitoring-Server von dem
o.g. Beispiel stammt. Der soll auch noch Mails an das SMS-Gateway
verschicken können, wenn der Mailserver down ist.)

Um o.g. Warnungen zu unterdrücken habe ich dann noch ein

  helpful_warnings = no

ganz vorne in der main.cf hinzugefügt.

Gemäss man page unterdrückt dies warnings about problematic
configuration settings, and helpful suggestions. -- Klang für mich
nach genau der richtigen Einstellung, hat aber leider keinen
Unterschied gemacht.

Deswegen meine Frage: Wie bekomme ich Postfix dazu, diese Warnungen
nicht mehr auszugeben? Sie verursachen diverse Mails von Cron-Jobs,
weil Output (auf STDERR) kommt, z.B. von popularity-contest:

---8---
Subject: Cron root@silberspitz test -x /usr/sbin/anacron || ( cd /  
run-parts --report /etc/cron.daily )

/etc/cron.daily/popularity-contest:
sendmail: warning: /etc/postfix/main.cf, line 28: overriding earlier entry: 
mydestination=
sendmail: warning: /etc/postfix/main.cf, line 29: overriding earlier entry: 
relayhost=smtp.phys.ethz.ch
sendmail: warning: /etc/postfix/main.cf, line 30: overriding earlier entry: 
inet_interfaces=loopback-only
postdrop: warning: /etc/postfix/main.cf, line 28: overriding earlier entry: 
mydestination=
postdrop: warning: /etc/postfix/main.cf, line 29: overriding earlier entry: 
relayhost=smtp.phys.ethz.ch
postdrop: warning: /etc/postfix/main.cf, line 30: overriding earlier entry: 
inet_interfaces=loopback-only
---8---

Und nein, ich will nicht pauschal allen Output nach STDERR
unterdrücken, da könnte ja durchaus mal ein relevanter Fehler drin
sein. :-) (Mal ganz davon abgesehen, dass ich das nicht in jedem
Skript machen will, welches irgendwann mal sendmail aufruft.)

Im Changelog habe ich diesen Eintrag gefunden:

20130404

Human factors: warning when a main.cf parameter has multiple
entries with different values.  File: util/dict.c.

Aber das ist doch gar kein Bug, das ist ein Feature! ;-)

Code-Stelle dazu ist recht sicher dies hier:

459 if ((old = dict-lookup(dict, member)) != 0
460  strcmp(old, val) != 0)
461 msg_warn(%s, line %d: overriding earlier entry: %s=%s,
462  VSTREAM_PATH(fp), lineno, member, old);

Bei Weiterverfolgen, ob das Log-Level irgendwo ausgewertet wird und
beeinflusst werden kann, bin ich bis zur Funktion msg_text am Ende von
util/msg_output.c gekommen, aber da haben mich meine C-Kenntnisse dann
irgendwann verlassen...

Mit freundlichem Gruss, Axel Beckert
-- 
Axel Beckert beck...@phys.ethz.ch   support: +41 44 633 26 68
IT Services Group, HPT H 6  voice: +41 44 633 41 89
Departement of Physics, ETH Zurich
CH-8093 Zurich, Switzerlandhttp://nic.phys.ethz.ch/


[postfix-users] Bare Newline Test (was: postscreen eine Art von greylisting?)

2011-08-11 Diskussionsfäden Axel Beckert
Hallo,

angeregt durch den Artikel im Linux-Magazin 08/11 spiele ich grade mit
Postscreen auf einem Testserver (Debian Squeeze mit Postfix aus
Squeeze Backports) rum.

On Thu, Jun 30, 2011 at 08:49:40AM +0200, Tobias Koopmann wrote:
 nachdem ich mich ein wenig in postscreen eingelesen habe, stellt
 sich mich die Frage, ob es sinnvoll ist zusätzlich zu postscreen
 noch greylisting zu fahren.

Das habe ich mich auch erstmal gefragt.

 Postscreen zumindest mit den deep_protocol_tests kann nach
 erfolgreichen Tests die Verbindung nicht an den smtpd weitergeben
 und weist den client mit nem 4xxer Code ab.

Soweit ich die Doku unter
http://www.postfix.org/postconf.5.html#postscreen_bare_newline_enable
verstehe gilt dies nicht für den Bare Newline Test. Dieser bricht die
Verbindung danach _immer_ mit einem 450er ab, egal ob der Test
bestanden wurde oder nicht. Wie er sich verhält falls der Test nicht
bestanden wurde, hängt dann von postscreen_bare_newline_action ab.

Schön nachvollziehen kann man das mit folgenden (nicht für die Praxis
gedachten :-) Settings:

  postscreen_bare_newline_enable = yes
  postscreen_bare_newline_action = drop
  postscreen_bare_newline_ttl = 1s

Geht man mit Telnet auf Port 25, sendet es immer richtige
Newlines. Also habe ich nc (netcat) genommen und das HELO mal nur mit
Ctrl-M und mal nur mit Ctrl-J beendet. Und bin wie erwartet sofort mit
521 5.5.1 Protocol error rausgeflogen.

Wenn ich dann aber mit swaks[1] teste (das definitiv korrekte Newlines
schickt und ja auch nicht sofort rausfliegt), kommt immer der
450er. Sobald ich aber postscreen_bare_newline_enable = no setze,
kommt swaks wieder durch und kann Mails versenden.

  [1] http://www.jetmore.org/john/code/swaks/

Was ich aber nicht verstehe: Warum endet der Bare Newline Test immer
mit einem 450er? Gibt es irgendeinen logischen Grund dafür? (Der sich
mir dann aber momentan nicht erschließt. ;-) Oder ist das momentan
einfach eine Einschränkung in der Implementation?

 Also für mein Verständnis auch eine Art von Greylist, dessen
 Entscheidung meiner Meinung nach auf besseren Prüfungen beruht als
 der des Triplets beim greylisting.

Wie die meisten anderen Antworten schon zeigten, gibt es einige
Unterschiede zum Greylisting, die es nicht zum vollständigen Ersatz im
Sinne des Greylistings machen.

Mit freundlichem Gruss, Axel Beckert
-- 
Axel Beckert beck...@phys.ethz.ch   support: +41 44 633 26 68
IT Services Group, HPT D 16 voice: +41 44 633 41 89
Departement of Physics, ETH Zurich
CH-8093 Zurich, Switzerlandhttp://nic.phys.ethz.ch/
___
postfix-users mailing list
postfix-users@de.postfix.org
http://de.postfix.org/cgi-bin/mailman/listinfo/postfix-users