StuRa:Server/SRS14/2018: Unterschied zwischen den Versionen
(Postfix - virtuelle aliase) |
K (ArturasMiller verschob die Seite Server/SRS14/2018 nach StuRa:Server/SRS14/2018) |
||
(68 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
{{Achtung| | |||
[[{{PAGENAME}}]] wurde 2018-02-24 durch [[Server/srs14]] ersetzt. | |||
}} | |||
Verwendungszweck: | |||
* [[SMTP]] ([[Postfix]]) für das Versenden von Mails | |||
* [[aliases]] für [[Mail-Adressen]] | |||
* despam | |||
* [[mailman]] für [http://lists.htw.stura-dresden.de lists.htw.stura-dresden.de] (mit web server) | |||
* <s>[[IMAP]] ([[Dovecot]]) für [[Mail-Account]]s</s> | |||
* … | |||
=== | == [[Server/Jails/SRS14/Ports |Ports]] == | ||
{{:Server/Jails/SRS14/Ports}} | |||
== zusätzliche Konfigurationsdateien == | |||
=== Jail === | |||
==== /etc/rc.conf ==== | |||
<code> | |||
apache24_enable="YES" | |||
mailman_enable="YES" | |||
sshd_enable="YES" | |||
dovecot_enable="YES" | |||
postfix_enable="YES" | |||
<!-- ?!? und grüße an … | |||
newsyslog_enable="YES" | |||
bacula_fd_enable="YES" | |||
--> | |||
</code> | |||
== Konfiguration der Programme == | |||
=== apache === | |||
==== httpd.conf ==== | |||
<code> | <code> | ||
… | |||
ServrerAdmin '''you@example.com''' | |||
… | |||
ServerName '''www.example.com''':80 | |||
… | |||
# Virtual hosts | |||
Include etc/apache22/extra/httpd-vhosts.conf | |||
… | |||
</code> | |||
==== httpd-vhost.conf ==== | |||
<code><b> | |||
# Mailman mailing list domain. | |||
# | |||
<Virtualhost *:80> | |||
ServerAdmin webmaster@stura.htw-dresden.de | |||
DocumentRoot "/usr/local/mailman/lists" | |||
ServerName lists.stura.htw-dresden.de | |||
ServerAlias lists.stura.htw-dresden.de | |||
<Directory /usr/local/mailman/archives/> | |||
Options FollowSymLinks | |||
AllowOverride None | |||
</Directory> | |||
Alias /pipermail/ /usr/local/mailman/archives/public/ | |||
Alias /images/mailman/ /usr/share/images/mailman/ | |||
ScriptAlias /admin /usr/local/mailman/cgi-bin/admin | |||
ScriptAlias /admindb /usr/local/mailman/cgi-bin/admindb | |||
ScriptAlias /confirm /usr/local/mailman/cgi-bin/confirm | |||
ScriptAlias /create /usr/local/mailman/cgi-bin/create | |||
ScriptAlias /edithtml /usr/local/mailman/cgi-bin/edithtml | |||
ScriptAlias /listinfo /usr/local/mailman/cgi-bin/listinfo | |||
ScriptAlias /options /usr/local/mailman/cgi-bin/options | |||
ScriptAlias /private /usr/local/mailman/cgi-bin/private | |||
ScriptAlias /rmlist /usr/local/mailman/cgi-bin/rmlist | |||
ScriptAlias /roster /usr/local/mailman/cgi-bin/roster | |||
ScriptAlias /subscribe /usr/local/mailman/cgi-bin/subscribe | |||
ScriptAlias /mailman/ /usr/local/mailman/cgi-bin/ | |||
ScriptAlias / /usr/local/mailman/cgi-bin/listinfo | |||
<Directory "/usr/local/mailman"> | |||
AllowOverride All | |||
Options FollowSymlinks | |||
Order allow,deny | |||
Allow from all | |||
</Directory> | |||
ErrorLog /var/log/mailman-error.log | |||
# CustomLog /var/log/mailman-access.log combined | |||
</Virtualhost> | |||
...</b> | |||
</code> | </code> | ||
NOTE: | |||
Notice the addition of the default HTTP directory. The reason for this is due to the fact that once virtual hosting is enabled, the default directory used by Apache is the first VirtualHost listed in the httpd-vhosts.conf file. So, make sure that what ever site you plan on using as the default site for that machine comes first in the list of virtual hosts in the httpd-vhosts.conf file. | |||
After adding the above VirtualHost directive, you can delete or comment out the remaining lines in the httpd-vhosts.conf file being as they’re just the default examples and pretty much useless. | |||
=== dovecot2 === | === dovecot2 === | ||
2017-03-30 wurde der Dienst dovecot gestoppt. | |||
Es war unbekannt, dass dovecot (für IMAP?) "tatsächlich" läuft. | |||
Es gab (zufällig) eine Recherche zu Betrieb von Mail. (Es war unklar, ob eine Mail bei mailman durchging.) | |||
: <code>sudo service dovecot stop</code> | |||
default config kopieren | |||
<code> | <code> | ||
# cp /usr/local/share/doc/dovecot/example-config/dovecot.conf /usr/local/etc/dovecot/dovecot.conf | |||
</code> | </code> | ||
=== | ==== dovecot.conf ==== | ||
<code> | <code> | ||
protocols = imap pop3 | |||
disable_plaintext_auth = no | |||
ssl = no | |||
mail_location = mbox:~/mail/:INBOX=/var/mail/%u | |||
mail_privileged_group = mail | |||
protocol imap { | |||
imap_client_workarounds = delay-newmail outlook-idle netscape-eoh tb-extra-mailbox-sep | |||
} | |||
</code> | </code> | ||
=== | === maildrop === | ||
* maildir in users homeverzeichnis anlegen | |||
<code> | <code> | ||
maildrop-maildirmake Mail | |||
</code> | </code> | ||
* im homeverzeichnis die Datei .mailfilter anlegen: | |||
<code> | <code> | ||
MAILBOX="$HOME/Mail" | |||
DEFAULT="$MAILBOX" | |||
</code> | </code> | ||
* chmod 600 .mailfilter | |||
* maildrop in postfix main.cf einarbeiten | |||
<code> | <code> | ||
mailbox_command = /usr/local/bin/maildrop -d ${USER} | |||
</code> | |||
=== mailman === | |||
<!--<code> | |||
# cd /usr/local/mailman | |||
# fetch http://www.gurulabs.com/downloads/postfix-to-mailman-2.1.py | |||
# mv postfix-to-mailman-2.1.py postfix-to-mailman.py | |||
# chmod 750 postfix-to-mailman.py | |||
# chown mailman:nobody postfix-to-mailman.py | |||
</code> | </code> | ||
==== /usr/local/mailman/postfix-to-mailman.py ==== | |||
<code> | |||
'''#! /usr/local/bin/python''' | |||
… | |||
# Configuration variables – Change these for your site if necessary. | |||
MailmanHome = “'''/usr/local/mailman'''“; # Mailman home directory. | |||
MailmanOwner = “'''postmaster@domain.tld'''“; # Postmaster and abuse mail recipient. | |||
… | |||
</code>---> | |||
=== | ==== Set Site Password ==== | ||
<code> | <code> | ||
# cd /usr/local/mailman | |||
# bin/mmsitepass | |||
New site password: '''mailman_password''' | |||
Again to confirm password: '''mailman_password''' | |||
</code> | </code> | ||
=== | ==== Create Mailman list ==== | ||
<code> | |||
# bin/newlist | |||
Enter the name of the list: '''mailman''' | |||
Enter the email of the person running the list: '''you@domain.tld''' | |||
Initial mailman password: '''list_password''' | |||
You’ll then see instructions to add aliases for the mailing list. We need not worry about that because everything | |||
is virtual. So, proceeding… Hit enter to notify mailman owner… ENTER | |||
bin/genaliases | |||
</code> | |||
=== | === Listen auf andere Domain === | ||
Realisiert durch den Shell Einzeiler: | |||
Einzelne: | |||
<code> | |||
bin/withlist -l -r fix_url <liste> -u <domain> | |||
</code> | |||
Alle: | |||
<code> | |||
bin/list_lists -b | xargs -I % bin/withlist -l -r fix_url % -u <domain> | |||
</code> | |||
==== Add list to Mailman configuration file /usr/local/mailman/Mailman/mm_cfg.py ==== | |||
<code> | <code> | ||
# | MTA = 'Postfix' | ||
# | # The default language for this server. | ||
DEFAULT_SERVER_LANGUAGE = 'de' | |||
# Unset send_reminders on newly created lists | |||
DEFAULT_SEND_REMINDERS = 0 | |||
DEFAULT_SEND_WELCOME_MSG = 0 | |||
DEFAULT_SEND_GOODBYE_MSG = 0 | |||
DEFAULT_ADMIN_NOTIFY_MCHANGES = 1 | |||
DEFAULT_NEW_MEMBER_OPTIONS = 272 | |||
DEFAULT_RESPOND_TO_POST_REQUESTS = 0 | |||
DEFAULT_ADMINISTRIVIA = 0 | |||
DEFAULT_MAX_MESSAGE_SIZE = 0 | |||
DEFAULT_MAX_NUM_RECIPIENTS = 0 | |||
DEFAULT_REQUIRE_EXPLICIT_DESTINATION = 0 | |||
# SUBSCRIBE POLICY | |||
# 0 - open list (only when ALLOW_OPEN_SUBSCRIBE is set to 1) ** | |||
# 1 - confirmation required for subscribes | |||
# 2 - admin approval required for subscribes | |||
# 3 - both confirmation and admin approval required | |||
# | |||
# ** please do not choose option 0 if you are not allowing open | |||
# subscribes (next variable) | |||
DEFAULT_SUBSCRIBE_POLICY = 3 | |||
# Does this site allow completely unchecked subscriptions? | |||
ALLOW_OPEN_SUBSCRIBE = Yes | |||
# Private_roster == 0: anyone can see, 1: members only, 2: admin only. | |||
DEFAULT_PRIVATE_ROSTER = 0 | |||
# Are archives public or private by default? | |||
# 0=public, 1=private | |||
DEFAULT_ARCHIVE_PRIVATE = 1 | |||
# What shold happen to non-member posts which are do not match explicit | |||
# non-member actions? | |||
# 0 = Accept | |||
# 1 = Hold | |||
# 2 = Reject | |||
# 3 = Discard | |||
DEFAULT_GENERIC_NONMEMBER_ACTION = 0 | |||
SMTPHOST = 'localhost' | |||
# Put YOUR site-specific settings below this line. | |||
add_virtualhost('lists.domain.tld','domain.tld') | |||
add_virtualhost('domain.tld','domain.tld') | |||
OWNERS_CAN_DELETE_THEIR_OWN_LISTS = 'YES' | |||
</code> | </code> | ||
==== geänderte allgemeine Listen-Informationsseite ==== | |||
===== geänderte allgemeine Listen-Informationsseite für [[Mail-Verteiler#Mail-Verteiler, in die sich keine Person einschreiben soll | Mail-Verteiler, in die sich keine keine Person einschreiben soll]] ===== | |||
; Entfernung von: | |||
<nowiki> | |||
<p>Sie können im folgenden Abschnitt diese Liste abonnieren | |||
oder ein bestehendes Abonnement ändern. | |||
</td> | |||
</tr> | |||
<TR> | |||
<TD COLSPAN="2" WIDTH="100%" BGCOLOR="#FFF0D0"> | |||
<B><FONT COLOR="#000000">Abonnieren von <MM-List-Name></FONT></B> | |||
</TD> | |||
</TR> | |||
<tr> | |||
<td colspan="2"> | |||
<P> | |||
Abonnieren Sie <MM-List-Name>, indem Sie das folgende Formular | |||
ausfüllen: | |||
<MM-List-Subscription-Msg> | |||
<ul> | |||
<MM-Subscribe-Form-Start> | |||
<TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2" WIDTH="70%"> | |||
<TR> | |||
<TD BGCOLOR="#dddddd" WIDTH="55%">Ihre E-Mail-Adresse:</TD> | |||
<TD WIDTH="33%"><MM-Subscribe-Box></TD> | |||
<TD WIDTH="12%"> </TD> | |||
</TR> | |||
<tr> | |||
<td bgcolor="#dddddd" width="55%">Ihr Name (optional):</td> | |||
<td width="33%"><mm-fullname-box></td> | |||
<TD WIDTH="12%"> </TD> | |||
</TR> | |||
<TR> | |||
<TD COLSPAN="3"><FONT SIZE=-1>Sie können weiter unten ein Passwort | |||
eingeben. Dieses Passwort bietet nur eine geringe Sicherheit, | |||
sollte aber verhindern, dass andere Ihr Abonnement | |||
manipulieren. <b>Verwenden Sie kein wertvolles Passwort</b>, | |||
da es ab und zu im Klartext an Sie geschickt wird! | |||
<br><br>Wenn Sie kein Passwort eingeben, wird für Sie ein | |||
Zufallspasswort generiert und Ihnen zugeschickt, sobald Sie Ihr | |||
Abonnement bestätigt haben. Sie können sich Ihr Passwort | |||
jederzeit per E-Mail zuschicken lassen, wenn Sie weiter unten | |||
die Seite zum ändern Ihrer persönlichen Einstellungen aufrufen. | |||
<MM-Reminder> </font></TD> | |||
</TR> | |||
<TR> | |||
<TD BGCOLOR="#dddddd">Wählen Sie ein Passwort:</TD> | |||
<TD><MM-New-Password-Box></TD> | |||
<TD> </TD> | |||
</TR> | |||
<TR> | |||
<TD BGCOLOR="#dddddd">Erneute Eingabe zur Bestätigung:</TD> | |||
<TD><MM-Confirm-Password></TD> | |||
<TD> </TD> | |||
</TR> | |||
<tr> | |||
<TD BGCOLOR="#dddddd">Welche Sprache bevorzugen Sie zur | |||
Benutzerführung?</TD> | |||
<TD> <MM-list-langs></TD> | |||
<TD> </TD> | |||
</TR> | |||
<mm-digest-question-start> | |||
<tr> | |||
<td>Möchten Sie die Listenmails gebündelt in Form einer täglichen | |||
Zusammenfassung (digest) erhalten? | |||
</td> | |||
<td><MM-Undigest-Radio-Button>Nein | |||
<MM-Digest-Radio-Button>Ja | |||
</TD> | |||
</tr> | |||
<mm-digest-question-end> | |||
<tr> | |||
<td colspan="3"> | |||
<center><MM-Subscribe-Button></center> | |||
</td> | |||
</tr> | |||
</TABLE> | |||
<MM-Form-End> | |||
</ul> | |||
</nowiki> | |||
<nowiki> | |||
<TR> | |||
<TD COLSPAN="2" WIDTH="100%" BGCOLOR="#FFF0D0"> | |||
<B><FONT COLOR="#000000">Austragen / Ändern einer Mailadresse</FONT></B> | |||
</TD> | |||
</TR> | |||
<TD COLSPAN="2" WIDTH="100%"> | |||
<MM-Options-Form-Start> | |||
<br> | |||
<MM-Editing-Options> | |||
<br> | |||
<MM-Form-End> | |||
</td> | |||
</tr> | |||
</nowiki> | |||
=== | === postfix === | ||
==== /usr/local/etc/postfix/main.cf ==== | |||
<code> | <code> | ||
local_recipient_maps = $alias_maps | alias_database = hash:/etc/aliases, hash:/etc/aliases.stura | ||
alias_maps = hash:/etc/aliases, hash:[[#/etc/aliases.stura |/etc/aliases.stura ]], hash:/usr/local/mailman/data/aliases | |||
command_directory = /usr/local/sbin | |||
config_directory = /usr/local/etc/postfix | |||
daemon_directory = /usr/local/libexec/postfix | |||
data_directory = /var/db/postfix | |||
home_mailbox = Mail/ | |||
html_directory = /usr/local/share/doc/postfix | |||
inet_interfaces = all | |||
inet_protocols = ipv4 | |||
local_recipient_maps = unix:passwd.byname $alias_maps | |||
mail_owner = postfix | |||
mail_spool_directory = /var/mail | |||
mailbox_command = /usr/local/bin/maildrop -d ${USER} | |||
mailq_path = /usr/local/bin/mailq | |||
manpage_directory = /usr/local/man | |||
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain | |||
mydomain = stura.htw-dresden.de | |||
myhostname = mail.stura.htw-dresden.de | |||
mynetworks = <interne IP-Adresse> 127.0.0.0/24 | |||
myorigin = $myhostname | |||
newaliases_path = /usr/local/bin/newaliases | |||
queue_directory = /var/spool/postfix | |||
readme_directory = /usr/local/share/doc/postfix | |||
sample_directory = /usr/local/etc/postfix | |||
sendmail_path = /usr/local/sbin/sendmail | |||
setgid_group = maildrop | |||
smtpd_client_restrictions = | |||
permit_mynetworks, | |||
reject_rbl_client bl.spamcop.net, | |||
reject_rbl_client dnsbl.sorbs.net | |||
smtpd_helo_restrictions = | |||
permit_mynetworks, | |||
reject_invalid_helo_hostname, | |||
reject_non_fqdn_helo_hostname, | |||
reject_unknown_helo_hostname | |||
smtpd_recipient_restrictions = | |||
reject_invalid_hostname, | |||
reject_unknown_recipient_domain, | |||
reject_rbl_client sbl.spamhaus.org, | |||
permit | |||
smtpd_relay_restrictions = | |||
permit_mynetworks, | |||
defer_unauth_destination | |||
smtpd_sender_restrictions = | |||
permit_mynetworks, | |||
reject_unknown_sender_domain, | |||
reject_non_fqdn_sender | |||
unknown_local_recipient_reject_code = 550 | unknown_local_recipient_reject_code = 550 | ||
</code> | </code> | ||
===== <code>rhsbl.ahbl.org</code> für <code>reject_rhsbl_sender</code> bei <code>smtpd_sender_restrictions</code> entfernt ===== | |||
In er Datei <code>/usr/local/etc/postfix/main.cf</code> gab es (auch) den Eintrag | |||
<pre></pre> | |||
<pre> | |||
smtpd_sender_restrictions = | |||
</pre> | |||
<pre></pre> | |||
<pre> | |||
reject_rhsbl_sender rhsbl.ahbl.org | |||
</pre> | |||
<pre></pre> | |||
. | |||
Spätestens [https://www.ahbl.org/content/last-notice-wildcarding-services-jan-1st seit Beginn 2015] führte, das zu Problemen. (Im Übrigen war [https://www.ahbl.org/content/changes-ahbl dies seit Monaten bekannt], jedoch gab es keine ordentliche Betreuung der [[Rechentechnik]] mehr, die solche absehbaren Probleme vorbereitend beseitigte.) Konkret wurden alle [[E-Mail]]s für den [[StuRa]] nicht angenommen, da sie über [[srs14]] (gemäß [[Domains#stura.htw-dresden.de DNS|DNS für <code>stura.htw-dresden.de</code>]] <code>mail.stura.htw-dresden.de</code> und <code>lists.stura.htw-dresden.de</code>) gingen und dieser Eintrag zur Abweisung führte. | |||
"Ehemalige" ersetzten den Eintrag "auf die Schnelle" ersatzlos. | |||
Eigentlich wäre es wünschenswert, wenn es einen guten Ersatz geben würde. Aktuell gibt es nur noch einen derartigen (<code>[http://www.postfix.org/postconf.5.html#reject_rhsbl_sender reject_rhsbl_sender]</code>) Eintrag, sodass es keine weitere Möglichkeit zum Ausweichen gäbe. | |||
===== als vom Mail-Server von unserem [[RZ HTW Dresden]] als Spam markierte Mails nicht verbreiten, sondern nur an eine Mail-Adresse ableiten ===== | |||
Erstellung der Datei für den Filter | |||
: <code>touch /usr/local/etc/postfix/header_checks</code> | |||
Erstellung der Regel in der Datei für den Filter vom Mail-Header | |||
: Alles was | |||
:* im Feld ''X-HTW-Spam-Flag'' | |||
:* mit wahr (''YES'') (gekennzeichnet ist | |||
: soll | |||
:* an eine bestimmte angegeben Mail-Adresse gesendet werden | |||
: . | |||
: <code>$EDITOR /usr/local/etc/postfix/header_checks</code> | |||
:: ''spam.admin@htw-dresden.de'' ist ein fiktive [[Mail-Adresse]], wohin die Mail, die als Spam markiert sind weitergeleitet werden. | |||
::: Im Übrigen macht hier selbstverständlich eine [[Mail-Adresse]] …@stura.htw-dresden.de wenig Sinn, denn dann würde die Mail nach dem "Ableiten" wieder "Eingeleitet" werden und das Spiel von Neuen beginnen. | |||
<pre> | |||
/^X-HTW-Spam-Flag:\s+YES/ REDIRECT spam.admin@htw-dresden.de | |||
</pre> | |||
Hinzufügen des Eintrages zum Verweis auf den Filter | |||
: Es soll nach den Inhalten im Header gefiltert werden und | |||
: die Datei für den Filter muss angegeben werden. | |||
: <code>$EDITOR /usr/local/etc/postfix/main.cf</code> | |||
<pre></pre> | |||
<pre> | |||
# JUNK MAIL CONTROLS | |||
</pre> | |||
<pre></pre> | |||
<pre> | |||
header_checks = pcre:$config_directory/header_checks | |||
</pre> | |||
<pre></pre> | |||
obligatorisches Neuladen der Konfiguration für postfix | |||
: <code>sudo service postfix reload</code> | |||
; Herangehensweise: | |||
Anfang 2016 gab es "eigentlich" (schon länger) keine [[Bereichsleitung Administration Rechentechnik]]. Dennoch musste der Betrieb aufrecht erhalten werden. | |||
Die letzte [[Bereichsleitung Administration Rechentechnik]] proklamierte immer, dass keine Filtern von Mail auf dem Server stattfinden soll. Sinngemäß war die Parole ''Der StuRa "zensiert" nicht!''. Daher wurde alles an Mails weiterverbreitet. Das galt auch für Spam. | |||
Erwartungsgemäß wurde sich über mehrere Monate über die "die Flut" an Spam beschwert. Nach Absprache mit der [[Referatsleitung studentische Selbstverwaltung & Organisation]] wurde "die [[wikipedia:de:Policy|Policy]]" geändert und eine Änderung angegangen. Insbesondere das Bitten von neuen Aktiven - anteilig wurden sie nämlich "überflutet" und konnten und wollten das nicht mehr bewältigen - war der Hintergrund für die Initiative. | |||
Da - wieso auch immer - offensichtlich die [[Server HTW Dresden#Erkennung von Spam | Mails schon durch den Mail-Server von unserer Hochschule als erkannt und markiert werden]], bot es sich an die Markierung gleich für das Aussortieren zu verwenden. | |||
Es wurde direkt bei [[postfix]] [http://www.postfix.org/header_checks.5.html header_checks] entsprechend konfiguriert. | |||
===== whitelisting der Server für das Versenden von Mails unserer HTW Dresden ===== | |||
Der einzige Dienst der zum Erkennen von IP-Adressen oder Domains, die SPAM versenden, der verwendet wird, ist [http://sorbs.net/ SORBS]. (Das war der letzte verbliebene Eintrag nach dem [[#rhsbl.ahbl.org für reject_rhsbl_sender bei smtpd_sender_restrictions entfernt]] wurde.) Von diesem Dienst wurden beide üblichen Postausgangsserver [http://www.sorbs.net/lookup.shtml?141.56.16.131 141.56.16.131 (aka ''rmr1.rz.htw-dresden.de'')] [http://www.sorbs.net/lookup.shtml?141.56.16.132 141.56.16.132 (aka ''rmr1.rz.htw-dresden.de'')] (seit 2017-02-13) als Problem "eingestuft". Demnach wurden alle Mails, die von diesen Postausgangsserver (unserer HTW Dresden) versendet wurden, schlicht blockiert. Daraus ergab sich praktisch das Problem, dass [[Studentinnen und Studenten]] sowie [[Mitarbeiterinnen und Mitarbeiter]] auf dem üblichen Weg dem StuRa [[Mail]]s senden konnten. | |||
In Anlehnung an [https://www.howtoforge.com/how-to-whitelist-hosts-ip-addresses-in-postfix How To Whitelist Hosts/IP Addresses In Postfix] wurde speziell für die Mail-Server unserer HTW Dresden eine Liste erstellt und eingebunden, die dafür sorgt, dass pauschal immer alle Mails von diesen Postausgangsservern angenommen werden. | |||
Erstellung der Datei für die Einträge fürs Whitelisting | |||
: <code>touch /usr/local/etc/postfix/rbl_override</code> | |||
Erstellung der Einträge in der Datei fürs Whitelisting | |||
: <code>$EDITOR /usr/local/etc/postfix/rbl_override</code> | |||
Maßgeblich wurden die Postausgangsserver HTW Dresden eingetragen. (Die Domains und IPv4-Adressen waren durch die Fehlermeldungen bekannt.) Darüber hinaus wurden "prophylaktisch" alle bekannten weiteren Server zu Mail (Posteingangserver, die als Eintrag für DNS mit MX) mit Domains und IPv4-Adressen eingetragen. Auch weitere "irgendwie" sich aus Domains oder der nummerischen Zuordnung sich ergebende Domains und IPv4-Adressen wurden eingetragen. | |||
: <code>postmap /usr/local/etc/postfix/rbl_override</code> | |||
: <code>$EDITOR /usr/local/etc/postfix/main.cf</code> | |||
<pre></pre> | |||
<pre> | |||
smtpd_recipient_restrictions = | |||
</pre> | |||
<pre></pre> | |||
<pre> | |||
reject_unauth_destination, | |||
</pre> | |||
<pre> | |||
check_client_access hash:/usr/local/etc/postfix/rbl_override, | |||
</pre> | |||
<pre></pre> | |||
<pre> | |||
reject_rbl_client dnsbl.sorbs.net, | |||
</pre> | |||
<pre></pre> | |||
<pre> | |||
permit | |||
</pre> | |||
<pre></pre> | |||
Neuladen der Konfiguration | |||
: <code>service postfix reload</code> | |||
==== /etc/aliases.stura ==== | |||
Datei um [[Mail-Adresse | Mail-Adressen]] anzulegen. Diese sind simple Weiterleitungen. | |||
=== [[Server/Dokumentation#ssh | ssh ]] === | |||
siehe [[Server/Dokumentation#ssh]] | |||
== Siehe auch == | == Siehe auch == | ||
* [[mailman]] | |||
* [[Server/Dokumentation]] | |||
== Weblinks == | |||
* [http://www.freebsddiary.org/postfix.php Manual: Postfix on FreeBSD] | |||
* [http://www.freebsddiary.org/mailman.php Manual: Mailman on FreeBSD] | |||
* [http://www.purplehat.org/?page_id=18 Manual: Mailman on FreeBSD with Postfix] | |||
* [https://www.gnu.org/software/mailman/index.html GNU Mailman] (offical website) | |||
[[Kategorie:Mail]] | |||
[[Kategorie:Rechentechnik]] | [[Kategorie:Rechentechnik]] | ||
[[Kategorie:Software]] | [[Kategorie:Software]] | ||
[[Kategorie:Jail]] |
Aktuelle Version vom 23. Februar 2020, 16:49 Uhr
- Achtung
Server/SRS14/2018 wurde 2018-02-24 durch Server/srs14 ersetzt.
Verwendungszweck:
- SMTP (Postfix) für das Versenden von Mails
- aliases für Mail-Adressen
- despam
- mailman für lists.htw.stura-dresden.de (mit web server)
IMAP (Dovecot) für Mail-Accounts- …
Ports[Bearbeiten]
installierte Ports[Bearbeiten]
- apache
- apr
- autoconf
- autoconf-wrapper
- automake
- automake-wrapper
- db41
- db42
- dovecot2
- expat
- gdbm
- gettext
- gmake
- help2man
- libiconv
- m4
- maildrop
- mailman
- p5-Locale-gettext
- pcre
- perl-threaded
- portaudit
- portupgrade
- postfix
- python27
- sudo
- ruby
- ruby18-bdb
- zsh
konfigurierte Ports[Bearbeiten]
apache[Bearbeiten]
OPTIONS_FILE_SET+=AUTH_BASIC
OPTIONS_FILE_SET+=AUTH_DIGEST
OPTIONS_FILE_SET+=AUTHN_ALIAS
OPTIONS_FILE_SET+=AUTHN_ANON
OPTIONS_FILE_UNSET+=AUTHN_DBD
OPTIONS_FILE_SET+=AUTHN_DBM
OPTIONS_FILE_SET+=AUTHN_DEFAULT
OPTIONS_FILE_SET+=AUTHN_FILE
OPTIONS_FILE_SET+=AUTHZ_DBM
OPTIONS_FILE_SET+=AUTHZ_DEFAULT
OPTIONS_FILE_SET+=AUTHZ_GROUPFILE
OPTIONS_FILE_SET+=AUTHZ_HOST
OPTIONS_FILE_SET+=AUTHZ_OWNER
OPTIONS_FILE_SET+=AUTHZ_USER
OPTIONS_FILE_UNSET+=AUTHNZ_LDAP
OPTIONS_FILE_UNSET+=LDAP
OPTIONS_FILE_UNSET+=DBD
OPTIONS_FILE_SET+=CACHE
OPTIONS_FILE_SET+=DISK_CACHE
OPTIONS_FILE_SET+=FILE_CACHE
OPTIONS_FILE_UNSET+=MEM_CACHE
OPTIONS_FILE_SET+=DAV
OPTIONS_FILE_SET+=DAV_FS
OPTIONS_FILE_UNSET+=DAV_LOCK
OPTIONS_FILE_SET+=ACTIONS
OPTIONS_FILE_SET+=ALIAS
OPTIONS_FILE_SET+=ASIS
OPTIONS_FILE_SET+=AUTOINDEX
OPTIONS_FILE_SET+=CERN_META
OPTIONS_FILE_SET+=CGI
OPTIONS_FILE_UNSET+=CGID
OPTIONS_FILE_SET+=CHARSET_LITE
OPTIONS_FILE_SET+=DEFLATE
OPTIONS_FILE_SET+=DIR
OPTIONS_FILE_SET+=DUMPIO
OPTIONS_FILE_SET+=ENV
OPTIONS_FILE_SET+=EXPIRES
OPTIONS_FILE_SET+=HEADERS
OPTIONS_FILE_SET+=IMAGEMAP
OPTIONS_FILE_SET+=INCLUDE
OPTIONS_FILE_SET+=INFO
OPTIONS_FILE_SET+=LOG_CONFIG
OPTIONS_FILE_SET+=LOGIO
OPTIONS_FILE_SET+=MIME
OPTIONS_FILE_SET+=MIME_MAGIC
OPTIONS_FILE_SET+=NEGOTIATION
OPTIONS_FILE_SET+=REWRITE
OPTIONS_FILE_SET+=SETENVIF
OPTIONS_FILE_SET+=SPELING
OPTIONS_FILE_SET+=STATUS
OPTIONS_FILE_SET+=UNIQUE_ID
OPTIONS_FILE_SET+=USERDIR
OPTIONS_FILE_SET+=USERTRACK
OPTIONS_FILE_SET+=VHOST_ALIAS
OPTIONS_FILE_SET+=FILTER
OPTIONS_FILE_UNSET+=SUBSTITUTE
OPTIONS_FILE_SET+=VERSION
OPTIONS_FILE_SET+=SSL
OPTIONS_FILE_UNSET+=SUEXEC
OPTIONS_FILE_UNSET+=SUEXEC_RSRCLIMIT
OPTIONS_FILE_UNSET+=SUEXEC_USERDIR
OPTIONS_FILE_SET+=REQTIMEOUT
OPTIONS_FILE_UNSET+=PROXY
OPTIONS_FILE_UNSET+=IPV4_MAPPED
OPTIONS_FILE_UNSET+=BUCKETEER
OPTIONS_FILE_UNSET+=CASE_FILTER
OPTIONS_FILE_UNSET+=CASE_FILTER_IN
OPTIONS_FILE_UNSET+=EXT_FILTER
OPTIONS_FILE_UNSET+=LOG_FORENSIC
OPTIONS_FILE_UNSET+=OPTIONAL_HOOK_EXPORT
OPTIONS_FILE_UNSET+=OPTIONAL_HOOK_IMPORT
OPTIONS_FILE_UNSET+=OPTIONAL_FN_IMPORT
OPTIONS_FILE_UNSET+=OPTIONAL_FN_EXPORT
OPTIONS_FILE_UNSET+=PROXY_AJP
OPTIONS_FILE_UNSET+=PROXY_BALANCER
OPTIONS_FILE_UNSET+=PROXY_CONNECT
OPTIONS_FILE_UNSET+=PROXY_FTP
OPTIONS_FILE_UNSET+=PROXY_HTTP
OPTIONS_FILE_UNSET+=PROXY_SCGI
apr[Bearbeiten]
OPTIONS_FILE_SET+=THREADS
OPTIONS_FILE_SET+=IPV6
OPTIONS_FILE_SET+=DEVRANDOM
OPTIONS_FILE_SET+=BDB
OPTIONS_FILE_SET+=GDBM
OPTIONS_FILE_UNSET+=LDAP
OPTIONS_FILE_UNSET+=MYSQL
OPTIONS_FILE_UNSET+=NDBM
OPTIONS_FILE_UNSET+=PGSQL
OPTIONS_FILE_UNSET+=SQLITE
dovecot2[Bearbeiten]
OPTIONS_FILE_SET+=DOCS
OPTIONS_FILE_SET+=EXAMPLES
OPTIONS_FILE_UNSET+=GSSAPI
OPTIONS_FILE_SET+=KQUEUE
OPTIONS_FILE_UNSET+=LDAP
OPTIONS_FILE_UNSET+=LIBWRAP
OPTIONS_FILE_UNSET+=MYSQL
OPTIONS_FILE_UNSET+=PGSQL
OPTIONS_FILE_UNSET+=SOLR
OPTIONS_FILE_UNSET+=SQLITE
OPTIONS_FILE_SET+=SSL
OPTIONS_FILE_UNSET+=VPOPMAIL
gdbm[Bearbeiten]
OPTIONS_FILE_UNSET+=COMPAT
help2man[Bearbeiten]
libiconv[Bearbeiten]
m4[Bearbeiten]
mailman[Bearbeiten]
OPTIONS_FILE_SET+=DOCS
OPTIONS_FILE_UNSET+=HTDIG
OPTIONS_FILE_SET+=INTEGRATION
OPTIONS_FILE_SET+=MTA
OPTIONS_FILE_UNSET+=NAMAZU2
OPTIONS_FILE_SET+=NLS
OPTIONS_FILE_UNSET+=SENDMAIL
OPTIONS_FILE_UNSET+=EXIM3
OPTIONS_FILE_UNSET+=EXIM4
OPTIONS_FILE_SET+=POSTFIX
OPTIONS_FILE_UNSET+=COURIER
pcre[Bearbeiten]
perl-threaded[Bearbeiten]
portupgrade[Bearbeiten]
postfix[Bearbeiten]
OPTIONS_FILE_SET+=PCRE OPTIONS_FILE_UNSET+=SASL2 OPTIONS_FILE_UNSET+=DOVECOT OPTIONS_FILE_UNSET+=DOVECOT2 OPTIONS_FILE_UNSET+=SASLKRB5 OPTIONS_FILE_UNSET+=SASLKMIT OPTIONS_FILE_UNSET+=TLS OPTIONS_FILE_UNSET+=BDB OPTIONS_FILE_UNSET+=MYSQL OPTIONS_FILE_UNSET+=PGSQL OPTIONS_FILE_UNSET+=SQLITE OPTIONS_FILE_UNSET+=OPENLDAP OPTIONS_FILE_UNSET+=LDAP_SASL OPTIONS_FILE_UNSET+=CDB OPTIONS_FILE_UNSET+=NIS OPTIONS_FILE_UNSET+=VDA OPTIONS_FILE_UNSET+=TEST OPTIONS_FILE_UNSET+=SPF OPTIONS_FILE_UNSET+=INST_BASE
Would you like to activate Postfix in /etc/mail/mailer.conf [n]? y
python27[Bearbeiten]
OPTIONS_FILE_SET+=EXAMPLES
OPTIONS_FILE_UNSET+=FPECTL
OPTIONS_FILE_SET+=IPV6
OPTIONS_FILE_SET+=NLS
OPTIONS_FILE_UNSET+=PTH
OPTIONS_FILE_SET+=PYMALLOC
OPTIONS_FILE_UNSET+=SEM
OPTIONS_FILE_SET+=THREADS
OPTIONS_FILE_UNSET+=UCS2
OPTIONS_FILE_SET+=UCS4
sudo[Bearbeiten]
OPTIONS_FILE_SET+=AUDIT
OPTIONS_FILE_UNSET+=DISABLE_AUTH
OPTIONS_FILE_SET+=DISABLE_ROOT_SUDO
OPTIONS_FILE_UNSET+=INSULTS
OPTIONS_FILE_UNSET+=LDAP
OPTIONS_FILE_SET+=NLS
OPTIONS_FILE_UNSET+=NOARGS_SHELL
OPTIONS_FILE_UNSET+=OPIE
ruby[Bearbeiten]
zsh[Bearbeiten]
zusätzliche Konfigurationsdateien[Bearbeiten]
Jail[Bearbeiten]
/etc/rc.conf[Bearbeiten]
apache24_enable="YES"
mailman_enable="YES"
sshd_enable="YES"
dovecot_enable="YES"
postfix_enable="YES"
Konfiguration der Programme[Bearbeiten]
apache[Bearbeiten]
httpd.conf[Bearbeiten]
…
ServrerAdmin you@example.com
…
ServerName www.example.com:80
…
# Virtual hosts
Include etc/apache22/extra/httpd-vhosts.conf
…
httpd-vhost.conf[Bearbeiten]
# Mailman mailing list domain.
#
<Virtualhost *:80>
ServerAdmin webmaster@stura.htw-dresden.de
DocumentRoot "/usr/local/mailman/lists"
ServerName lists.stura.htw-dresden.de
ServerAlias lists.stura.htw-dresden.de
<Directory /usr/local/mailman/archives/>
Options FollowSymLinks
AllowOverride None
</Directory>
Alias /pipermail/ /usr/local/mailman/archives/public/
Alias /images/mailman/ /usr/share/images/mailman/
ScriptAlias /admin /usr/local/mailman/cgi-bin/admin
ScriptAlias /admindb /usr/local/mailman/cgi-bin/admindb
ScriptAlias /confirm /usr/local/mailman/cgi-bin/confirm
ScriptAlias /create /usr/local/mailman/cgi-bin/create
ScriptAlias /edithtml /usr/local/mailman/cgi-bin/edithtml
ScriptAlias /listinfo /usr/local/mailman/cgi-bin/listinfo
ScriptAlias /options /usr/local/mailman/cgi-bin/options
ScriptAlias /private /usr/local/mailman/cgi-bin/private
ScriptAlias /rmlist /usr/local/mailman/cgi-bin/rmlist
ScriptAlias /roster /usr/local/mailman/cgi-bin/roster
ScriptAlias /subscribe /usr/local/mailman/cgi-bin/subscribe
ScriptAlias /mailman/ /usr/local/mailman/cgi-bin/
ScriptAlias / /usr/local/mailman/cgi-bin/listinfo
<Directory "/usr/local/mailman">
AllowOverride All
Options FollowSymlinks
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/mailman-error.log
# CustomLog /var/log/mailman-access.log combined
</Virtualhost>
...
NOTE:
Notice the addition of the default HTTP directory. The reason for this is due to the fact that once virtual hosting is enabled, the default directory used by Apache is the first VirtualHost listed in the httpd-vhosts.conf file. So, make sure that what ever site you plan on using as the default site for that machine comes first in the list of virtual hosts in the httpd-vhosts.conf file.
After adding the above VirtualHost directive, you can delete or comment out the remaining lines in the httpd-vhosts.conf file being as they’re just the default examples and pretty much useless.
dovecot2[Bearbeiten]
2017-03-30 wurde der Dienst dovecot gestoppt. Es war unbekannt, dass dovecot (für IMAP?) "tatsächlich" läuft. Es gab (zufällig) eine Recherche zu Betrieb von Mail. (Es war unklar, ob eine Mail bei mailman durchging.)
sudo service dovecot stop
default config kopieren
# cp /usr/local/share/doc/dovecot/example-config/dovecot.conf /usr/local/etc/dovecot/dovecot.conf
dovecot.conf[Bearbeiten]
protocols = imap pop3
disable_plaintext_auth = no
ssl = no
mail_location = mbox:~/mail/:INBOX=/var/mail/%u
mail_privileged_group = mail
protocol imap {
imap_client_workarounds = delay-newmail outlook-idle netscape-eoh tb-extra-mailbox-sep
}
maildrop[Bearbeiten]
- maildir in users homeverzeichnis anlegen
maildrop-maildirmake Mail
- im homeverzeichnis die Datei .mailfilter anlegen:
MAILBOX="$HOME/Mail"
DEFAULT="$MAILBOX"
- chmod 600 .mailfilter
- maildrop in postfix main.cf einarbeiten
mailbox_command = /usr/local/bin/maildrop -d ${USER}
mailman[Bearbeiten]
Set Site Password[Bearbeiten]
# cd /usr/local/mailman
# bin/mmsitepass
New site password: mailman_password
Again to confirm password: mailman_password
Create Mailman list[Bearbeiten]
# bin/newlist
Enter the name of the list: mailman
Enter the email of the person running the list: you@domain.tld
Initial mailman password: list_password
You’ll then see instructions to add aliases for the mailing list. We need not worry about that because everything
is virtual. So, proceeding… Hit enter to notify mailman owner… ENTER
bin/genaliases
Listen auf andere Domain[Bearbeiten]
Realisiert durch den Shell Einzeiler:
Einzelne:
bin/withlist -l -r fix_url <liste> -u <domain>
Alle:
bin/list_lists -b | xargs -I % bin/withlist -l -r fix_url % -u <domain>
Add list to Mailman configuration file /usr/local/mailman/Mailman/mm_cfg.py[Bearbeiten]
MTA = 'Postfix'
# The default language for this server.
DEFAULT_SERVER_LANGUAGE = 'de'
# Unset send_reminders on newly created lists
DEFAULT_SEND_REMINDERS = 0
DEFAULT_SEND_WELCOME_MSG = 0
DEFAULT_SEND_GOODBYE_MSG = 0
DEFAULT_ADMIN_NOTIFY_MCHANGES = 1
DEFAULT_NEW_MEMBER_OPTIONS = 272
DEFAULT_RESPOND_TO_POST_REQUESTS = 0
DEFAULT_ADMINISTRIVIA = 0
DEFAULT_MAX_MESSAGE_SIZE = 0
DEFAULT_MAX_NUM_RECIPIENTS = 0
DEFAULT_REQUIRE_EXPLICIT_DESTINATION = 0
# SUBSCRIBE POLICY
# 0 - open list (only when ALLOW_OPEN_SUBSCRIBE is set to 1) **
# 1 - confirmation required for subscribes
# 2 - admin approval required for subscribes
# 3 - both confirmation and admin approval required
#
# ** please do not choose option 0 if you are not allowing open
# subscribes (next variable)
DEFAULT_SUBSCRIBE_POLICY = 3
# Does this site allow completely unchecked subscriptions?
ALLOW_OPEN_SUBSCRIBE = Yes
# Private_roster == 0: anyone can see, 1: members only, 2: admin only.
DEFAULT_PRIVATE_ROSTER = 0
# Are archives public or private by default?
# 0=public, 1=private
DEFAULT_ARCHIVE_PRIVATE = 1
# What shold happen to non-member posts which are do not match explicit
# non-member actions?
# 0 = Accept
# 1 = Hold
# 2 = Reject
# 3 = Discard
DEFAULT_GENERIC_NONMEMBER_ACTION = 0
SMTPHOST = 'localhost'
# Put YOUR site-specific settings below this line.
add_virtualhost('lists.domain.tld','domain.tld')
add_virtualhost('domain.tld','domain.tld')
OWNERS_CAN_DELETE_THEIR_OWN_LISTS = 'YES'
geänderte allgemeine Listen-Informationsseite[Bearbeiten]
geänderte allgemeine Listen-Informationsseite für Mail-Verteiler, in die sich keine keine Person einschreiben soll[Bearbeiten]
- Entfernung von
<p>Sie können im folgenden Abschnitt diese Liste abonnieren oder ein bestehendes Abonnement ändern. </td> </tr> <TR> <TD COLSPAN="2" WIDTH="100%" BGCOLOR="#FFF0D0"> <B><FONT COLOR="#000000">Abonnieren von <MM-List-Name></FONT></B> </TD> </TR> <tr> <td colspan="2"> <P> Abonnieren Sie <MM-List-Name>, indem Sie das folgende Formular ausfüllen: <MM-List-Subscription-Msg> <ul> <MM-Subscribe-Form-Start> <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2" WIDTH="70%"> <TR> <TD BGCOLOR="#dddddd" WIDTH="55%">Ihre E-Mail-Adresse:</TD> <TD WIDTH="33%"><MM-Subscribe-Box></TD> <TD WIDTH="12%"> </TD> </TR> <tr> <td bgcolor="#dddddd" width="55%">Ihr Name (optional):</td> <td width="33%"><mm-fullname-box></td> <TD WIDTH="12%"> </TD> </TR> <TR> <TD COLSPAN="3"><FONT SIZE=-1>Sie können weiter unten ein Passwort eingeben. Dieses Passwort bietet nur eine geringe Sicherheit, sollte aber verhindern, dass andere Ihr Abonnement manipulieren. <b>Verwenden Sie kein wertvolles Passwort</b>, da es ab und zu im Klartext an Sie geschickt wird! <br><br>Wenn Sie kein Passwort eingeben, wird für Sie ein Zufallspasswort generiert und Ihnen zugeschickt, sobald Sie Ihr Abonnement bestätigt haben. Sie können sich Ihr Passwort jederzeit per E-Mail zuschicken lassen, wenn Sie weiter unten die Seite zum ändern Ihrer persönlichen Einstellungen aufrufen. <MM-Reminder> </font></TD> </TR> <TR> <TD BGCOLOR="#dddddd">Wählen Sie ein Passwort:</TD> <TD><MM-New-Password-Box></TD> <TD> </TD> </TR> <TR> <TD BGCOLOR="#dddddd">Erneute Eingabe zur Bestätigung:</TD> <TD><MM-Confirm-Password></TD> <TD> </TD> </TR> <tr> <TD BGCOLOR="#dddddd">Welche Sprache bevorzugen Sie zur Benutzerführung?</TD> <TD> <MM-list-langs></TD> <TD> </TD> </TR> <mm-digest-question-start> <tr> <td>Möchten Sie die Listenmails gebündelt in Form einer täglichen Zusammenfassung (digest) erhalten? </td> <td><MM-Undigest-Radio-Button>Nein <MM-Digest-Radio-Button>Ja </TD> </tr> <mm-digest-question-end> <tr> <td colspan="3"> <center><MM-Subscribe-Button></center> </td> </tr> </TABLE> <MM-Form-End> </ul>
<TR> <TD COLSPAN="2" WIDTH="100%" BGCOLOR="#FFF0D0"> <B><FONT COLOR="#000000">Austragen / Ändern einer Mailadresse</FONT></B> </TD> </TR> <TD COLSPAN="2" WIDTH="100%"> <MM-Options-Form-Start> <br> <MM-Editing-Options> <br> <MM-Form-End> </td> </tr>
postfix[Bearbeiten]
/usr/local/etc/postfix/main.cf[Bearbeiten]
alias_database = hash:/etc/aliases, hash:/etc/aliases.stura
alias_maps = hash:/etc/aliases, hash:/etc/aliases.stura , hash:/usr/local/mailman/data/aliases
command_directory = /usr/local/sbin
config_directory = /usr/local/etc/postfix
daemon_directory = /usr/local/libexec/postfix
data_directory = /var/db/postfix
home_mailbox = Mail/
html_directory = /usr/local/share/doc/postfix
inet_interfaces = all
inet_protocols = ipv4
local_recipient_maps = unix:passwd.byname $alias_maps
mail_owner = postfix
mail_spool_directory = /var/mail
mailbox_command = /usr/local/bin/maildrop -d ${USER}
mailq_path = /usr/local/bin/mailq
manpage_directory = /usr/local/man
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mydomain = stura.htw-dresden.de
myhostname = mail.stura.htw-dresden.de
mynetworks = <interne IP-Adresse> 127.0.0.0/24
myorigin = $myhostname
newaliases_path = /usr/local/bin/newaliases
queue_directory = /var/spool/postfix
readme_directory = /usr/local/share/doc/postfix
sample_directory = /usr/local/etc/postfix
sendmail_path = /usr/local/sbin/sendmail
setgid_group = maildrop
smtpd_client_restrictions =
permit_mynetworks,
reject_rbl_client bl.spamcop.net,
reject_rbl_client dnsbl.sorbs.net
smtpd_helo_restrictions =
permit_mynetworks,
reject_invalid_helo_hostname,
reject_non_fqdn_helo_hostname,
reject_unknown_helo_hostname
smtpd_recipient_restrictions =
reject_invalid_hostname,
reject_unknown_recipient_domain,
reject_rbl_client sbl.spamhaus.org,
permit
smtpd_relay_restrictions =
permit_mynetworks,
defer_unauth_destination
smtpd_sender_restrictions =
permit_mynetworks,
reject_unknown_sender_domain,
reject_non_fqdn_sender
unknown_local_recipient_reject_code = 550
rhsbl.ahbl.org
für reject_rhsbl_sender
bei smtpd_sender_restrictions
entfernt[Bearbeiten]
In er Datei /usr/local/etc/postfix/main.cf
gab es (auch) den Eintrag
smtpd_sender_restrictions =
reject_rhsbl_sender rhsbl.ahbl.org
.
Spätestens seit Beginn 2015 führte, das zu Problemen. (Im Übrigen war dies seit Monaten bekannt, jedoch gab es keine ordentliche Betreuung der Rechentechnik mehr, die solche absehbaren Probleme vorbereitend beseitigte.) Konkret wurden alle E-Mails für den StuRa nicht angenommen, da sie über srs14 (gemäß DNS für stura.htw-dresden.de
mail.stura.htw-dresden.de
und lists.stura.htw-dresden.de
) gingen und dieser Eintrag zur Abweisung führte.
"Ehemalige" ersetzten den Eintrag "auf die Schnelle" ersatzlos.
Eigentlich wäre es wünschenswert, wenn es einen guten Ersatz geben würde. Aktuell gibt es nur noch einen derartigen (reject_rhsbl_sender
) Eintrag, sodass es keine weitere Möglichkeit zum Ausweichen gäbe.
als vom Mail-Server von unserem RZ HTW Dresden als Spam markierte Mails nicht verbreiten, sondern nur an eine Mail-Adresse ableiten[Bearbeiten]
Erstellung der Datei für den Filter
touch /usr/local/etc/postfix/header_checks
Erstellung der Regel in der Datei für den Filter vom Mail-Header
- Alles was
- im Feld X-HTW-Spam-Flag
- mit wahr (YES) (gekennzeichnet ist
- soll
- an eine bestimmte angegeben Mail-Adresse gesendet werden
- .
$EDITOR /usr/local/etc/postfix/header_checks
- spam.admin@htw-dresden.de ist ein fiktive Mail-Adresse, wohin die Mail, die als Spam markiert sind weitergeleitet werden.
- Im Übrigen macht hier selbstverständlich eine Mail-Adresse …@stura.htw-dresden.de wenig Sinn, denn dann würde die Mail nach dem "Ableiten" wieder "Eingeleitet" werden und das Spiel von Neuen beginnen.
- spam.admin@htw-dresden.de ist ein fiktive Mail-Adresse, wohin die Mail, die als Spam markiert sind weitergeleitet werden.
/^X-HTW-Spam-Flag:\s+YES/ REDIRECT spam.admin@htw-dresden.de
Hinzufügen des Eintrages zum Verweis auf den Filter
- Es soll nach den Inhalten im Header gefiltert werden und
- die Datei für den Filter muss angegeben werden.
$EDITOR /usr/local/etc/postfix/main.cf
# JUNK MAIL CONTROLS
header_checks = pcre:$config_directory/header_checks
obligatorisches Neuladen der Konfiguration für postfix
sudo service postfix reload
- Herangehensweise
Anfang 2016 gab es "eigentlich" (schon länger) keine Bereichsleitung Administration Rechentechnik. Dennoch musste der Betrieb aufrecht erhalten werden.
Die letzte Bereichsleitung Administration Rechentechnik proklamierte immer, dass keine Filtern von Mail auf dem Server stattfinden soll. Sinngemäß war die Parole Der StuRa "zensiert" nicht!. Daher wurde alles an Mails weiterverbreitet. Das galt auch für Spam.
Erwartungsgemäß wurde sich über mehrere Monate über die "die Flut" an Spam beschwert. Nach Absprache mit der Referatsleitung studentische Selbstverwaltung & Organisation wurde "die Policy" geändert und eine Änderung angegangen. Insbesondere das Bitten von neuen Aktiven - anteilig wurden sie nämlich "überflutet" und konnten und wollten das nicht mehr bewältigen - war der Hintergrund für die Initiative.
Da - wieso auch immer - offensichtlich die Mails schon durch den Mail-Server von unserer Hochschule als erkannt und markiert werden, bot es sich an die Markierung gleich für das Aussortieren zu verwenden.
Es wurde direkt bei postfix header_checks entsprechend konfiguriert.
whitelisting der Server für das Versenden von Mails unserer HTW Dresden[Bearbeiten]
Der einzige Dienst der zum Erkennen von IP-Adressen oder Domains, die SPAM versenden, der verwendet wird, ist SORBS. (Das war der letzte verbliebene Eintrag nach dem #rhsbl.ahbl.org für reject_rhsbl_sender bei smtpd_sender_restrictions entfernt wurde.) Von diesem Dienst wurden beide üblichen Postausgangsserver 141.56.16.131 (aka rmr1.rz.htw-dresden.de) 141.56.16.132 (aka rmr1.rz.htw-dresden.de) (seit 2017-02-13) als Problem "eingestuft". Demnach wurden alle Mails, die von diesen Postausgangsserver (unserer HTW Dresden) versendet wurden, schlicht blockiert. Daraus ergab sich praktisch das Problem, dass Studentinnen und Studenten sowie Mitarbeiterinnen und Mitarbeiter auf dem üblichen Weg dem StuRa Mails senden konnten.
In Anlehnung an How To Whitelist Hosts/IP Addresses In Postfix wurde speziell für die Mail-Server unserer HTW Dresden eine Liste erstellt und eingebunden, die dafür sorgt, dass pauschal immer alle Mails von diesen Postausgangsservern angenommen werden.
Erstellung der Datei für die Einträge fürs Whitelisting
touch /usr/local/etc/postfix/rbl_override
Erstellung der Einträge in der Datei fürs Whitelisting
$EDITOR /usr/local/etc/postfix/rbl_override
Maßgeblich wurden die Postausgangsserver HTW Dresden eingetragen. (Die Domains und IPv4-Adressen waren durch die Fehlermeldungen bekannt.) Darüber hinaus wurden "prophylaktisch" alle bekannten weiteren Server zu Mail (Posteingangserver, die als Eintrag für DNS mit MX) mit Domains und IPv4-Adressen eingetragen. Auch weitere "irgendwie" sich aus Domains oder der nummerischen Zuordnung sich ergebende Domains und IPv4-Adressen wurden eingetragen.
postmap /usr/local/etc/postfix/rbl_override
$EDITOR /usr/local/etc/postfix/main.cf
smtpd_recipient_restrictions =
reject_unauth_destination,
check_client_access hash:/usr/local/etc/postfix/rbl_override,
reject_rbl_client dnsbl.sorbs.net,
permit
Neuladen der Konfiguration
service postfix reload
/etc/aliases.stura[Bearbeiten]
Datei um Mail-Adressen anzulegen. Diese sind simple Weiterleitungen.
ssh [Bearbeiten]
siehe Server/Dokumentation#ssh