[Postfixbuch-users] Super Buch && Volle Logs && alte Mysqlquery && proxy:mysql && main.cf

lx lx at survive-linux.com
Mi Aug 3 11:05:55 CEST 2005


Hallo Zusammen,

erstmal vielen Dank an Ralf, ich habe mich am Wocheende mit deinem Buch
beschäftigt... obwohl ich es schon seid 2 Monaten im Schrank liegen hatte
habe ich jetzt erst die Zeit gefunden...

Das Buch ist spitze!!!

Ich will jetzt nichts gegen Peers Buch sagen aber "The Book of Postfix"

http://www.amazon.de/exec/obidos/ASIN/1593270011/qid=1122889414/sr=8-3/ref=sr_8_xs_ap_i3_xgl/028-0510604-4214918 


ist einfach mehr up2date und zeigt Einstellungsoptionen die ich noch nie
zuvor gesehen habe!!!

Ich liebe das reject_unverified_sender mit address_verify_map =
btree:/var/spool/postfix/verified_senders hat erstmal ohne weitere
Spammassnahmen nur noch eine einzige Spam bekommen!

Vorher hatte ich 140 pro Tag jetzt nur noch 3 !!!

Aber jetzt genug mit den Lobeshymnen! (Kauf das Buch, Kauf das Buch)

Ich habe aber immer noch 4 Sachen die ich gerne Fragen würde:

1. Meine Logs haben immer noch einträge vom gesammten smtp verkehr... 
wie kann ich das abschalten? (in master.cf ist smtpd -v *nicht* gesetzt!)

2. Warum benutzt du (ralf) in deinem Buch immer noch die Mysqlabfragen 
ála "Select = password" anstelle von "Select password from users where 
emial = 'whatever'"? Ein bestimmter Grund oder nur weil es 
abwärtkompatibel sein soll?

3. Habe ich es richtig verstanden das man im Zusammenhang mit Mysql kein 
proxy:mysql einsetzten kann?

4. Hätte ich gerne mal ein Kommentar zu meiner main.cf, ob das so ok ist 
oder kritik... Ich finde es immer schwer mit einer neuen Software heraus 
zu finden was nötig und unnötig ist.

Also hier meine main.cf

<main.cf>

#
# Useful: postmap -q "string" mysql:/etc/postfix/filename 
#

queue_directory = /var/spool/postfix
# ^
# 			The queue_directory specifies the location of the Postfix queue.
# 			This is also the root directory of Postfix daemons that run chrooted.
# 			See the files in examples/chroot-setup for setting up Postfix chroot
# 			environments on different UNIX systems.
# 
command_directory = /usr/sbin
# ^
# 			The command_directory parameter specifies the location of all
# 			postXXX commands.
#
daemon_directory = /usr/libexec/postfix
# ^
# 			The daemon_directory parameter specifies the location of all Postfix
# 			daemon programs (i.e. programs listed in the master.cf file). This
# 			directory must be owned by root.
#
mail_owner = postfix
# ^
# 			The mail_owner parameter specifies the owner of the Postfix queue
# 			and of most Postfix daemon processes.  Specify the name of a user
#			account THAT DOES NOT SHARE ITS USER OR GROUP ID WITH OTHER ACCOUNTS
# 			AND THAT OWNS NO OTHER FILES OR PROCESSES ON THE SYSTEM.  In
# 			particular, don't specify nobody or daemon. PLEASE USE A DEDICATED
# 			USER.
#
myhostname = server.network.tld
# ^
# 			Stellen Sie sicher, dass sich hier ihr FQDN (Fully Qualified Domain Name) befindet.
#
mydomain = myhostname
# ^
#			Sicher stellen das mydomain das gleiche wie myhostname ist
#
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
# ^
#
# 			Tragen Sie hier alle Domänen ein, die lokal zugestellt werden sollen, 
#			aber auf keinen Fall virtuelle Domänen.
#
mynetworks = 127.0.0.0/8
# ^
# 			Tragen Sie hier die IP-Bereiche ein, aus denen Rechner über ihren Server eMails versenden dürfen. 
# 			Höchstwahrscheinlich wird es sich hierbei um ihr lokales Netzwerk handeln.
#
inet_interfaces = all
# ^
# 			The inet_interfaces parameter specifies the network interface
# 			addresses that this mail system receives mail on.  By default,
# 			the software claims all active interfaces on the machine. The
# 			parameter also controls delivery of mail to user@[ip.address].
# 			Note: you need to stop/start Postfix when this parameter changes.
#
relay_domains = $mydestination
# ^
# 			Specify a list of hosts or domains, /file/name patterns or type:name
# 			lookup tables, separated by commas and/or whitespace.  Continue
# 			long lines by starting the next line with whitespace. A file name
# 			is replaced by its contents; a type:name table is matched when a
# 			(parent) domain appears as lookup key.
#
alias_maps = hash:/etc/aliases
# ^
# 			The alias_maps parameter specifies the list of alias databases used
# 			by the local delivery agent. The default list is system dependent.
#
# 			On systems with NIS, the default is to search the local alias
# 			database, then the NIS alias database. See aliases(5) for syntax
# 			details.
# 
# 			If you change the alias database, run "postalias /etc/aliases" (or
# 			wherever your system stores the mail alias file), or simply run
# 			"newaliases" to build the necessary DBM or DB file.
#
# 			It will take a minute or so before changes become visible.  Use
# 			"postfix reload" to eliminate the delay.
#
alias_database = hash:/etc/aliases
# ^
# 			The alias_database parameter specifies the alias database(s) that
# 			are built with "newaliases" or "sendmail -bi".  This is a separate
# 			configuration parameter, because alias_maps (see above) may specify
# 			tables that are not necessarily all under control by Postfix.
#
home_mailbox = Maildir/
# ^
# 			The home_mailbox parameter specifies the optional pathname of a
# 			mailbox file relative to a user's home directory. The default
# 			mailbox file is /var/spool/mail/user or /var/mail/user.  Specify
# 			"Maildir/" for qmail-style delivery (the / is required).
#
smtpd_banner = $myhostname ESMTP We block/report Spam
# ^
# 			The smtpd_banner parameter specifies the text that follows the 220
# 			code in the SMTP server's greeting banner. Some people like to see
# 			the mail version advertised. By default, Postfix shows no version.
#
debug_peer_level = 2
# ^
# 			The debug_peer_level parameter specifies the increment in verbose
# 			logging level when an SMTP client or server host name or address
# 			matches a pattern in the debug_peer_list parameter.
#
debug_peer_list = 127.0.0.1
# ^
# 			The debug_peer_list parameter specifies an optional list of domain
# 			or network patterns, /file/name patterns or type:name tables. When
# 			an SMTP client or server host name or address matches a pattern,
# 			increase the verbose logging level by the amount specified in the
# 			debug_peer_level parameter.
#
debugger_command =
	 PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
	 xxgdb $daemon_directory/$process_name $process_id & sleep 5
# ^
# 			Use "command .. & sleep 5" so that the debugger can attach before
# 			the process marches on. If you use an X-based debugger, be sure to
# 			set up your XAUTHORITY environment variable before starting Postfix.
#
virtual_alias_domains =	
# ^
# 			Dieser Parameter wird von uns als nicht gesetzt vorausgesetzt. Wir verwenden virtual alias domains nicht. 
#			Wenn Sie die Standardeinstellung belassen haben, sollte dieser Parameter auf virtual_alias_maps eingestellt sein 
#			- für Abwärtskompatibilität zu älteren Postfix-Versionen.
#
virtual_alias_maps = mysql:/etc/postfix/mysql/forwardings.cf mysql:/etc/postfix/mysql/email2email.cf 	
# ^
# 			Dieser Parameter setzt allgemeine Umleitungen von eMail-Adressen. Hier können Sie eine eMail-Adresse an eine andere weiterleiten 
# 			oder auch alle eMails für eine Domain an eine bestimmter eMail-Adresse weiterleiten. 
#			Diese Information werden in der Tabelle 'forwardings' gespeichert. 
# 			Jede auf der linken Seite der Zuordnung zu findende eMail-Adresse wird umgeschrieben in die Adresse auf der rechten Seite. 
# 			Wenn Sie auf der rechten Seite mehrere eMail-Adressen eintragen wollen, trennen sie diese durch Kommas. 
# 			Außerdem verwende ich die email2email.cf Zuordnung, um jede Adresse sich selbst zuzuordnen. 
# 			Das klingt zwar ziemlich blöde, aber wird dringend benötigt wenn Sie Catch-All-Adressen verwenden. 
# 			Beachten Sie hierzu unter umständen nochmals den Abschnitt the email2email mapping.
#
virtual_mailbox_domains = mysql:/etc/postfix/mysql/domains.cf
# ^
# 			Die Liste der virtuellen Domänen aus der `domains` Tabelle.
#
virtual_mailbox_maps = mysql:/etc/postfix/mysql/mailboxes.cf
# ^
#			Auch dies ist eine wichtige Zuordnung - zugeordnet werden hier eMail-Adressen zu Speicherorten von eMail-Postfächern auf Ihrer Festplatte. 
# 			Diese Speicherorte sind relativ zu virtual_mailbox_base.
#
virtual_mailbox_base = /home/vmail
# ^
# 			Der Pfad, wo eMail-Postfächer von Benutzern gespeichert werden.
#
virtual_uid_maps = static:5000
# ^
# 			Sie sollten Postfix verraten, wem die eMail-Postfächer gehören - die Benutzer ID des Benutzers, dem Sie das zuordnen wollen (steht in /etc/passwd). 
# 			Setzen Sie es bitte auf die Benutzer-ID von dem Benutzer "vmail", den Sie gerade angelegt haben.
#
virtual_gid_maps = static:5000
# ^
# 			Dasselbe nochmals für die Gruppen-ID.
#

virtual_create_maildirsize = yes
virtual_mailbox_extended = yes
virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql/qouta.cf
virtual_mailbox_limit_override = yes
virtual_maildir_limit_message = Sorry, the user's maildir has overdrawn his diskspace quota, please try again later.
virtual_overquota_bounce = yes

smtpd_sasl_auth_enable = yes
# ^
#					Benutzen wir SASL
#
smtpd_sasl_security_options = noanonymous
# ^			
#					Keine Anonyme Anmeldung, und kein Klartext
#
smtpd_sasl_local_domain = 
#smtpd_sasl_application_name = smtpd
# ^
#					Hier aktivieren wir die Benutzer-Authentifizierung über SASL.
#
broken_sasl_auth_clients = yes
# ^
#					Es gibt ein paar etwas seltsame eMail-Programme (manche nennen das auch kaputt), die eine im mindesten veraltete Technik nutzen, um rauszufinden, 
#					ob der Server Benutzerauthentifizierung kann - die wollen wir auch glücklich machen. Wer hat was von Outlook gesagt?  :) 
#
smtpd_use_tls = yes	
# ^
#					Authentifizierte SMTP Verbindungen verschlüsseln wir mit SSL.
#
smtpd_tls_CAfile = /etc/pki/tls/certs/ca-bundle.crt
# ^
#					Sagt dem Server welche Certs er zur Verfuegung hat
#
smtpd_tls_cert_file = /etc/postfix/certs/postfix_public_cert.pem
# ^
#					Der Ort, an dem wir unsere SSL Zertifikate ablegen - anlegen werden wir die später noch...
#
smtpd_tls_key_file = /etc/postfix/certs/postfix_private_key.pem
# ^
#					Und zu guter Letzt noch der Speicherort des privaten SSL-Schlüssels für TLS.
#
tls_random_src = dev:/dev/urandom
# ^
#					Welche zufallsquelle TLS benutzen soll
#
smtpd_tls_loglevel = 0
# ^
#					0	->	Kein Logging [default]
#					1	->	Startup uns Zertifikate Informationen
#					2	->	1 und Informationen ueber verschiedene Stufen der TLS Verhandlung
#					3	->	2 und hex und ASCII dumps vom Verhandlungs Prozess
#					4	->	3 und hex und ASCII dumps von der komleten  Uebertragung nachdem der Mail Client STARTTLS gesendet hat
#
#
smtpd_tls_received_header = yes
# ^
#					Fuegt Informationen ueber die Benutzung von TLS in den Header der Mail
#
#
#smtpd_tls_session_cache_database = sdbm:/etc/postfix/smtpd_scache
# ^					
#					Um die CPU Last gering zu halten benutzen wir eine cache database
#
#
#smtpd_tls_session_cache_timeout = 3600s
# ^
#					Die Verbindungen die gecacht werden bleiben nur (!) 3600 sekunden (eine Stunde)  dort 
#
#
smtpd_tls_auth_only = yes
# ^
#					Ohne TLS kein AUTH
#
#
sendmail_path = /usr/sbin/sendmail.postfix
# ^
# 					sendmail_path: The full pathname of the Postfix sendmail command.
# 					This is the Sendmail-compatible mail posting interface.
# 
newaliases_path = /usr/bin/newaliases.postfix
# ^
# 					newaliases_path: The full pathname of the Postfix newaliases command.
# 					This is the Sendmail-compatible command to build alias databases.
#
mailq_path = /usr/bin/mailq.postfix
# ^
# 					mailq_path: The full pathname of the Postfix mailq command.  This
# 					is the Sendmail-compatible mail queue listing command.
# 
setgid_group = postdrop
# ^
# 					setgid_group: The group for mail submission and queue management
# 					commands.  This must be a group name with a numerical group ID that
# 					is not shared with other accounts, not even with the Postfix account.
#
html_directory = no
# ^
# 					html_directory: The location of the Postfix HTML documentation.
#
manpage_directory = /usr/share/man
# ^
# 					manpage_directory: The location of the Postfix on-line manual pages.
#
sample_directory = /usr/share/doc/postfix-2.2.1/samples
# ^
# 					sample_directory: The location of the Postfix sample configuration files.
# 					This parameter is obsolete as of Postfix 2.1.
#
readme_directory = /usr/share/doc/postfix-2.2.1/README_FILES
# ^
# 					readme_directory: The location of the Postfix README files.
#
unknown_local_recipient_reject_code = 550
# ^
# 					The unknown_local_recipient_reject_code specifies the SMTP server
# 					response code when a recipient domain matches $mydestination or
# 					${proxy,inet}_interfaces, while $local_recipient_maps is non-empty
# 					and the recipient address or address local-part is not found.
#
# 					The default setting is 550 (reject mail) but it is safer to start
# 					with 450 (try again later) until you are certain that your
# 					local_recipient_maps settings are OK.
#
#smtpd_client_restrictions =  permit_mynetworks,
#			     			 check_client_access mysql:/etc/postfix/mysql/user.cf

#smtpd_helo_restrictions =  reject_unknown_hostname, 
#   			   reject_non_fqdn_hostname, 
#                          reject_invalid_hostname

#smtpd_sender_restrictions = check_sender_access mysql:/etc/postfix/mysql/user.cf 

smtpd_recipient_restrictions = 	
				reject_non_fqdn_recipient,  
				reject_non_fqdn_sender,  
				reject_unknown_sender_domain,
				reject_unknown_recipient_domain,
				permit_mynetworks,
				permit_sasl_authenticated,
				reject_unauth_destination,
				reject_unlisted_recipient,
				check_recipient_access hash:/etc/postfix/checks/roleaccount_exceptions,
				reject_multi_recipient_bounce
				reject_non_fqdn_hostname,
				reject_invalid_hostname,
				check_helo_access pcre:/etc/postfix/checks/helo_checks,
				check_sender_mx_access cidr:/etc/postfix/checks/bogus_mx,
				reject_rbl_client relays.ordb.org
				reject_rhsbl_sender dsn.rfc-ignorant.org
				reject_unverified_sender
                                check_policy_service unix:/var/spool/postfix/postgrey/socket
				permit


#				check_policy_service unix:/var/spool/postfix/postgrey/socket
#				reject_rbl_client opm.blitzed.org,
#				reject_rbl_client list.dsbl.org,
#				reject_rbl_client bl.spamcop.net,
#				reject_rbl_client sbl-xbl.spamhaus.org,

address_verify_map = btree:/var/spool/postfix/verified_senders
#address_verify_negative_cache = no

smtpd_data_restrictions = 
				reject_multi_recipient_bounce

# ^
#				Diese Regeln werden angewendet, wenn eine neue eMail bei ihrem Server ankommt - sie überprüfen, wer über ihren Server überhaupt eMails verschicken darf. 
#				permit_mynetworks genehmigt das für alle, die von einem Rechner aus mynetworks eMail einliefern. 
#				permit_sasl_authenticated erlaubt das jedem, der sich gegenüber uns authentifiziert hat. 
#				Und außerdem darf natürlich jeder, der an relay_domains oder an eine lokale Domäne eine eMail verschicken will, die auch abgeben.
#
#delay_warning_time = 4h

# deal with spammers and other cretins
disable_vrfy_command = yes
strict_rfc821_envelopes = yes

# spambots teergrube
smtpd_error_sleep_time = 60
smtpd_soft_error_limit = 60
smtpd_hard_error_limit = 10
default_process_limit = 3

smtpd_helo_required = yes

message_size_limit = 12582912

content_filter = smtp-amavis:[127.0.0.1]:10024
receive_override_options = no_address_mappings

</main.cf>



Mehr Informationen über die Mailingliste Postfixbuch-users