Fragen:
Qmail ein Buch mit sieben Siegeln? Nein, nicht wirklich.
Qmail ist kompliziert zu konfigurieren? Nein, nur dann wenn man nicht weiß wie es geht.
Aber wie kann ich dann Qmail steuern? Hier kommen die Antworten:
Konfigurationsdateien
Qmail hat keine zentrale Konfigurationsdatei wie Postfix oder Sendmail sondern jede Konfigurationsparameter wird ine einer seperaten Datei innerhalb von /var/qmail/control/
eingetragen.
Der Vorteil ist, daß einige Konfigurationen sogar zur Laufzeit ohne reload
oder restart
von Qmail geändert werden können. (Beachtet hierzu auch das Qmail-Flußdiagramm.)
Kurze Anmerkung zum Format der Dateien:
Grundsätzlich handelt es sich um ein Unix-Format. Zeilen werden also mit einem einfachen Carrige-Return ("\n") umgebrochen.
Die letzte Zeile erfordert nicht zwangsweise einen CR.
Bei Zahlen-Werten wird immer nur die erste Zeile gelesen. Der Rest der Datei wird ignoriert.
Wenn bei "std.-Wert" "me" steht so ist damit die Datei me
gemeint.
Grundeinstellung:
Datei | std.-Wert | Programm | Zweck |
---|---|---|---|
badmailfrom |
none | qmail-smtpd |
Die schwarze Liste von Absenderadressen |
bouncefrom |
MAILER-DAEMON | qmail-send |
Benutzername des Bounce-Absenders |
bouncehost |
me | qmail-send |
Hostname des bounce-Absenders |
defaultdelivery |
none | /var/qmail/rc |
Standard-.qmail-Datei |
defaultdomain |
me | qmail-inject |
Standard-Domainname |
defaulthost |
me | qmail-inject |
Standard-Hostname |
doublebouncehost |
me | qmail-send |
Hostname des Doppel-Bounce-Absenders |
doublebounceto |
postmaster | qmail-send |
Benutzer, der die Doppel-Bounces empfangen soll |
envnoathost |
me | qmail-send |
Standard-Domain für Adressen ohne "@" |
helohost |
me | qmail-remote |
Hostname, der im SMTP-HELO-Befehl benutzt wird |
idhost |
me | qmail-inject |
Hostname für Nachrichten-IDs |
localiphost |
me | qmail-smtpd |
Name, der durch lokale IP-Addresse ersetzt wird |
locals |
me | qmail-send |
Domains, die wir lokal beliefern |
me |
FQDN | various | Full-Qualified-Domain-Name |
smtpgreeting |
me | qmail-smtpd |
SMTP-Grußbotschaft |
Mail-Handling:
Datei | std.-Wert | Programm | Zweck |
---|---|---|---|
concurrencyincoming |
none | tcpserver | (x)inetd |
Maximum der gleichzeitig hereinkommenden SMTP-Verbindungen Angriffspunkt für DoS-Angriffe. |
concurrencylocal |
10 |
qmail-send |
Maximum der gleichzeitigen lokalen Zustellungen. Muß i.d.R. nicht verändert werden. |
concurrencyremote |
20 | qmail-send |
Maximum der gleichzeitigen Remote-Zustellungen Eine höherer Wert erhöht den Output bei Newslettern. (Speicher und Sockets müssen aber ausreichend vorhanden sein.) |
databytes |
0 | qmail-smtpd |
Maximale Anzahl Bytes in einer Nachricht (0=kein Limit) |
queuelifetime |
604800 | qmail-send |
Anzahl Sekunden die eine Nachricht in der Warteschlange verbleiben kann. 7 Tage sind arg lang. 3-5 Tage sind normal. |
smtproutes |
none | qmail-remote |
Um den Server in einen Smarthost zu verwandeln. Siehe man qmail-remote . |
timeoutconnect |
60 | qmail-remote |
Wieviel Sekunden wird auf eine SMTP-Verbindung gewartet. Kann bei moderner Anbindung halbiert werden. |
timeoutremote |
1200 | qmail-remote |
Wieviel Sekunden wird während einer SMTP-Verbindung bei ausgehender Verbindung auf Daten/Antwort gewartet. 5 Minuten sind hier deutlich zu lange und blockieren z.B. bei einem Newsletter-Versand den ganzen Server. Empfohlener Wert: 30 Sekunden. |
timeoutsmtpd |
1200 | qmail-smtpd |
Wieviel Sekunden wird während einer SMTP-Verbindung bei eingehender Verbindung auf Daten/Antwort gewartet. 5 Minuten sind hier deutlich zu lange und zu einer DoS-Blockade führen. Empfohlener Wert: 30 Sekunden. |
Domains und Adressen:
Datei | std.-Wert | Programm | Zweck |
---|---|---|---|
morercpthosts |
none | qmail-smtpd |
Zweite rcpthosts-Datenbank |
percenthack |
none | qmail-send |
Domains, die "%"-artige Weiterleitungen benutzen dürfen |
plusdomain |
me | qmail-inject |
Domain, die durch führendes "+" ersetzt wird |
rcpthosts |
none | qmail-smtpd |
Domains, für die wir Mails akzeptieren |
virtualdomains |
none | qmail-send |
Virtuelle Domains und Benutzer |
Der Rest:
Datei | std.-Wert | Programm | Zweck |
---|---|---|---|
qmqpservers |
none | qmail-qmqpc |
IP-Adressen der QMQP-Server Unwichtig geworden... |
Fazit:
Um die oben genannten Empfehlungen als Änderungen einzusetzen kann man folgende Zeilen verwenden:
echo 10 > /var/qmail/control/concurrencyincoming echo 30 > /var/qmail/control/concurrencyremote echo 345600 > /var/qmail/control/queuelifetime echo 30 > /var/qmail/control/timeoutconnect echo 30 > /var/qmail/control/timeoutremote echo 30 > /var/qmail/control/timeoutsmtpd