StuRa:Server/SRS14/2018: Unterschied zwischen den Versionen

Aus Wiki StuRa HTW Dresden
Zur Navigation springen Zur Suche springen
K (ArturasMiller verschob die Seite Server/SRS14/2018 nach StuRa:Server/SRS14/2018)
 
(32 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Verwendungszweck: [[mailman]] für [http://lists.htw.stura-dresden.de lists.htw.stura-dresden.de]
{{Achtung|
[[{{PAGENAME}}]] wurde 2018-02-24 durch [[Server/srs14]] ersetzt.
}}


== Ports ==
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>
* …


=== installierte Ports ===
== [[Server/Jails/SRS14/Ports |Ports]] ==


* [[#apache | apache]]
{{:Server/Jails/SRS14/Ports}}
* [[#apr | apr]]
* autoconf
* autoconf-wrapper
* automake
* automake-wrapper
* db41
* db42
* [[#dovecot2 | dovecot2]]
* expat
* [[#gdbm | gdbm]]
* gettext
* gmake
* [[Server/Jails#help2man | help2man]]
* [[Server/Jails#libiconv | libiconv]]
* [[Server/Jails#m4 |m4]]
* maildrop
* [[#mailman |mailman]]
* p5-Locale-gettext
* [[Server/Jails#pcre |pcre]]
* [[Server/Jails#perl |perl-threaded]]
* portaudit
* [[Server/Jails#portupgrade |portupgrade]]
* [[#postfix |postfix]]
* [[#python27 |python27]]
* [[#sudo |sudo]]
* [[Server/Jails#ruby |ruby]]
* ruby18-bdb
* [[Server/Jails#zsh |zsh]]


=== konfigurierte Ports ===
== zusätzliche Konfigurationsdateien ==


==== apache ====
=== Jail ===


<code>
==== /etc/rc.conf ====
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
</code>
 
==== apr ====


  <code>
  <code>
  OPTIONS_FILE_SET+=THREADS
  apache24_enable="YES"
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
</code>
 
==== dovecot2 ====
 
<code>
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
</code>
 
==== gdbm ====
 
<code>
OPTIONS_FILE_UNSET+=COMPAT
</code>
 
==== [[Server/Jails#help2man |help2man]] ====
 
==== [[Server/Jails#libiconv |libiconv]] ====
 
==== [[Server/Jails#m4 |m4]] ====
 
==== mailman ====
 
<code>
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
</code>
 
==== [[Server/Jails#pcre |pcre]] ====
 
==== [[Server/Jails#perl |perl-threaded]] ====
 
==== [[Server/Jails#portupgrade |portupgrade]] ====
 
==== postfix ====
 
<code>
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
</code>
<code>
Would you like to activate Postfix in /etc/mail/mailer.conf [n]? y
</code>
 
==== python27 ====
 
<code>
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
</code>
 
==== sudo ====
 
<code>
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
</code>
 
==== [[Server/Jails#ruby |ruby]] ====
 
==== [[Server/Jails#zsh |zsh]] ====
 
=== zusätzliche Konfigurationsdateien ===
 
==== Jail ====
 
===== /etc/rc.conf =====
 
<code>
apache22_enable="YES"
  mailman_enable="YES"
  mailman_enable="YES"
  sshd_enable="YES"
  sshd_enable="YES"
  dovecot_enable="YES"
  dovecot_enable="YES"
postfix_enable="YES"
<!-- ?!? und grüße an …
newsyslog_enable="YES"
bacula_fd_enable="YES"
-->
  </code>
  </code>


==== apache ====
== Konfiguration der Programme ==


===== httpd.conf =====
=== apache ===
 
==== httpd.conf ====


  <code>
  <code>
Zeile 276: Zeile 51:
  </code>
  </code>


===== httpd-vhost.conf =====
==== httpd-vhost.conf ====


  <code><b>
  <code><b>
  # Default domain on this server
  # Mailman mailing list domain.
  #
  #
  <Virtualhost *:80>
  <Virtualhost *:80>
    ServerAdmin webmaster@domain.tld
  ServerAdmin webmaster@stura.htw-dresden.de
    DocumentRoot "/usr/local/www/apache22/data"
  DocumentRoot "/usr/local/mailman/lists"
    ServerName www.domain.tld
  ServerName lists.stura.htw-dresden.de
    ServerAlias domain.tld www.domain.tld
  ServerAlias lists.stura.htw-dresden.de
    <Directory "/usr/local/www/apache22/data">
  <Directory /usr/local/mailman/archives/>
       AllowOverride None
      Options FollowSymLinks
       Options None
      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
       Order allow,deny
       Allow from all
       Allow from all
    </Directory>
  </Directory>
    ErrorLog /var/log/httpd-error.log
  ErrorLog /var/log/mailman-error.log
    CustomLog /var/log/httpd-access.log combined
  #   CustomLog /var/log/mailman-access.log combined
</Virtualhost>
  # Mailman mailing list domain.
#
<Virtualhost *:80>
    ServerAdmin webmaster@domain.tld
    DocumentRoot "/usr/local/mailman"
    ServerName lists.domain.tld
    ServerAlias lists.domain.tld
    ScriptAlias /cgi-bin/ "/usr/local/mailman/cgi-bin/"
    ScriptAlias /mailman/ "/usr/local/mailman/cgi-bin/"
    Alias /pipermail "/usr/local/mailman/archives/public"
    Alias /icons "/usr/local/mailman/icons"
    <Directory "/usr/local/mailman">
      AllowOverride All
      Options FollowSymlinks
      Order allow,deny
      Allow from all
    </Directory>
    ErrorLog /var/log/httpd-error.log
    CustomLog /var/log/httpd-access.log combined
  </Virtualhost>
  </Virtualhost>
  ...</b>
  ...</b>
Zeile 325: Zeile 98:
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.
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
default config kopieren
Zeile 333: Zeile 111:
  </code>
  </code>


===== dovecot.conf =====
==== dovecot.conf ====


  <code>
  <code>
Zeile 346: Zeile 124:
  </code>
  </code>


==== maildrop ====
=== maildrop ===


* maildir in users homeverzeichnis anlegen
* maildir in users homeverzeichnis anlegen
Zeile 367: Zeile 145:
  </code>
  </code>


==== mailman ====
=== mailman ===


  <!--<code>
  <!--<code>
Zeile 377: Zeile 155:
  </code>
  </code>


===== /usr/local/mailman/postfix-to-mailman.py =====
==== /usr/local/mailman/postfix-to-mailman.py ====


  <code>
  <code>
Zeile 388: Zeile 166:
  </code>--->
  </code>--->


===== Set Site Password =====
==== Set Site Password ====


  <code>
  <code>
Zeile 397: Zeile 175:
  </code>
  </code>


===== Create Mailman list =====
==== Create Mailman list ====


  <code>
  <code>
Zeile 411: Zeile 189:
  </code>
  </code>


===== Add list to Mailman configuration file /usr/local/mailman/Mailman/mm_cfg.py =====
 
=== 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>
Zeile 417: Zeile 209:
  # The default language for this server.
  # The default language for this server.
  DEFAULT_SERVER_LANGUAGE = 'de'
  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'
  SMTPHOST = 'localhost'
  # Put YOUR site-specific settings below this line.
  # Put YOUR site-specific settings below this line.
Zeile 424: Zeile 254:
  </code>
  </code>


==== postfix ====
==== 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 =====
==== /usr/local/etc/postfix/main.cf ====


  <code>  
  <code>  
Zeile 435: Zeile 365:
  daemon_directory = /usr/local/libexec/postfix
  daemon_directory = /usr/local/libexec/postfix
  data_directory = /var/db/postfix
  data_directory = /var/db/postfix
debug_peer_level = 2
  home_mailbox = Mail/
  home_mailbox = Mail/
  html_directory = /usr/local/share/doc/postfix
  html_directory = /usr/local/share/doc/postfix
Zeile 449: Zeile 378:
  mydomain = stura.htw-dresden.de
  mydomain = stura.htw-dresden.de
  myhostname = mail.stura.htw-dresden.de
  myhostname = mail.stura.htw-dresden.de
  mynetworks_style = subnet
  mynetworks = <interne IP-Adresse> 127.0.0.0/24
  myorigin = $myhostname
  myorigin = $myhostname
  newaliases_path = /usr/local/bin/newaliases
  newaliases_path = /usr/local/bin/newaliases
  queue_directory = /var/spool/postfix
  queue_directory = /var/spool/postfix
  readme_directory = /usr/local/share/doc/postfix
  readme_directory = /usr/local/share/doc/postfix
relay_domains = $mydomain htw-dresden.de stura.tu-dresden.de rz.hfbk-dresden.de
  sample_directory = /usr/local/etc/postfix
  sample_directory = /usr/local/etc/postfix
  sendmail_path = /usr/local/sbin/sendmail
  sendmail_path = /usr/local/sbin/sendmail
Zeile 460: Zeile 388:
   
   
  smtpd_client_restrictions =
  smtpd_client_restrictions =
    permit_mynetworks,
    reject_rbl_client bl.spamcop.net,
     reject_rbl_client dnsbl.sorbs.net
     reject_rbl_client dnsbl.sorbs.net
   
   
  smtpd_helo_restrictions =
  smtpd_helo_restrictions =
    permit_mynetworks,
     reject_invalid_helo_hostname,
     reject_invalid_helo_hostname,
     reject_non_fqdn_helo_hostname,
     reject_non_fqdn_helo_hostname,
Zeile 470: Zeile 401:
     reject_invalid_hostname,
     reject_invalid_hostname,
     reject_unknown_recipient_domain,
     reject_unknown_recipient_domain,
    reject_unauth_destination,
     reject_rbl_client sbl.spamhaus.org,
     reject_rbl_client sbl.spamhaus.org,
     permit
     permit
smtpd_relay_restrictions =
    permit_mynetworks,
    defer_unauth_destination
   
   
  smtpd_sender_restrictions =
  smtpd_sender_restrictions =
    permit_mynetworks,
     reject_unknown_sender_domain,
     reject_unknown_sender_domain,
     reject_non_fqdn_sender
     reject_non_fqdn_sender
Zeile 481: Zeile 416:
  </code>
  </code>


===== /etc/aliases.stura =====
===== <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.
Datei um [[Mail-Adresse | Mail-Adressen]] anzulegen. Diese sind simple Weiterleitungen.
=== [[Server/Dokumentation#ssh | ssh ]] ===
siehe [[Server/Dokumentation#ssh]]


== Siehe auch ==
== Siehe auch ==
* [[mailman]]
* [[mailman]]
* [[Server/Dokumentation]]


== Weblinks ==
== Weblinks ==
Zeile 494: Zeile 542:
* [https://www.gnu.org/software/mailman/index.html GNU Mailman] (offical website)
* [https://www.gnu.org/software/mailman/index.html GNU Mailman] (offical website)


[[Kategorie:Mail]]
[[Kategorie:Rechentechnik]]
[[Kategorie:Rechentechnik]]
[[Kategorie:Software]]
[[Kategorie:Software]]
[[Kategorie:Jail]]
[[Kategorie:Jail]]

Aktuelle Version vom 23. Februar 2020, 16:49 Uhr

Achtung

Server/SRS14/2018 wurde 2018-02-24 durch Server/srs14 ersetzt.

Verwendungszweck:

Ports[Bearbeiten]

installierte Ports[Bearbeiten]

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.
/^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

Siehe auch[Bearbeiten]

Weblinks[Bearbeiten]