Hallo Liste,
ich möchte eine server-seitige E-Mail-Verschlüsselung einrichten.
Zum Hintergrund: auf dem Server wird eine Webanwendung betrieben, die an eine kleine Anzahl von Nutzern E-Mails verschickt. Die E-Mails sollen mit den öffentlichen Schlüsseln der Nutzer verschlüsselt werden. Die Webanwendung selber kann dies aber (noch) nicht. Daher meine Idee, die Verschlüsselung über einen Postfix After-Queue-Content-Filter zu lösen. Ziel ist, über den Filter ein Skript aufzurufen, das die Mail verschlüsselt und dann wieder an postfix zurück gibt zum Versenden. Dazu habe ich mich an die Anleitung des "Advanced Content Filter" auf den Postfix-Seiten gehalten.
Soweit ich das verstanden habe, ist "spawn" dafür zuständig, das Skript aufzurufen, die E-Mails zu übergeben, nach Verarbeitung wieder entgegen zu nehmen und anschließend wieder in postfix zu "reinjecten". Nun meine Frage: Über welche Schnittstelle bekommt das Skript denn die E-Mail? Muss es auf dem entsprechenden Port lauschen? Oder übernimmt das der spawn-Prozess und füttert das Skript über stdin?
Wie bereits beschrieben, beim Einrichten habe ich mich an die Anleitung des "Advanced Content Filter" auf den postfix-Seiten gehalten. Leider funktioniert das Aufrufen des Skripts nicht, es wird folgender Fehler in /var/log/mail.info geschrieben: connect to localhost[::1]:10025: Connection refused
aw@rechnername:~> netstat -an|grep LISTEN tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:10025 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:10026 0.0.0.0:* LISTEN tcp 0 0 :::25 :::* LISTEN
Ich vermute daher, dass spawn und das Skript sich nicht verstehen.
Hat jemand von euch noch einen Tipp, an was es hakt?
Vielen Dank!
Anne
Die entsprechenden Zeilen in der master.cf: (Zeilenumbrüche durch "" markiert) ## filter for encrypting emails scan unix - - n - 10 smtp -o smtp_send_xforward_command=yes -o disable_mime_output_conversion=yes -o smtp_generic_maps= localhost:10025 inet n n n - 10 spawn user=filter argv=/usr/bin/python /usr/local/bin/parseMail.py \ localhost 10026 #reinjecting the mail localhost:10026 inet n - n - 10 smtpd -o content_filter= -o \ receive_override_options=no_unknown_recipient_checks,no_header_body_checks,no_milters -o smtpd_helo_restrictions= -o smtpd_client_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o mynetworks=127.0.0.0/8 -o smtpd_authorized_xforward_hosts=127.0.0.0/8 ##
postconf -n: aw@rechner:~> sudo /usr/sbin/postconf -n alias_maps = hash:/etc/aliases biff = no command_directory = /usr/sbin config_directory = /etc/postfix content_filter = scan:localhost:10025 daemon_directory = /usr/lib/postfix data_directory = /var/lib/postfix debug_peer_level = 2 debug_peer_list = 127.0.0.1, localhost, dev.xy.com html_directory = /usr/share/doc/packages/postfix-doc/html inet_interfaces = all inet_protocols = all mail_owner = postfix mail_spool_directory = /var/mail mailq_path = /usr/bin/mailq manpage_directory = /usr/share/man mydestination = $myhostname, localhost mydomain = dev.xy.com myhostname = mail.dev.xy.com mynetworks_style = host myorigin = $mydomain newaliases_path = /usr/bin/newaliases queue_directory = /var/spool/postfix readme_directory = /usr/share/doc/packages/postfix-doc/README_FILES receive_override_options = no_address_mappings relay_domains = $mydestination, hash:/etc/postfix/relay sample_directory = /usr/share/doc/packages/postfix-doc/samples sendmail_path = /usr/sbin/sendmail setgid_group = maildrop smtp_sasl_auth_enable = no smtp_use_tls = no smtpd_helo_required = no smtpd_helo_restrictions = smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination smtpd_sasl_auth_enable = no smtpd_use_tls = no strict_8bitmime = no strict_rfc821_envelopes = no unknown_local_recipient_reject_code = 550 virtual_alias_maps = hash:/etc/postfix/virtual