# E-Mail Kommunikation nur intern erlauben für bestimmte User oder Webs



## tafkaz (28. Sep. 2010)

Hallo zusammen.
Wir haben die Anforderung erhalten, dass bestimmte Nutzer eines bestimmten Webs nicht in der Lage sein sollen, E-Mails von außen zu erhalten und/oder Mails nach extern zu verschicken.
Diese Nutzer sollen dann lediglich mit den Ihnen bekannten Benutzern im gleichen Web intern per Webmailer kommunizieren können...
Ist so etwas grundsätzlich möglich? Und wenn ja, wie richtet man das am besten dauerhaft und korrekt für ISPConfig 2 ein?

Würde mich sehr über Hilfe freuen, da ich nichts zu diesem Problem finden konnte.

Vielen Dank
Sascha


----------



## Till (28. Sep. 2010)

Eine Möglichkeit so etwas zu realisieren wäre die Verwendung einer nicht existenten tld. z.B. .int (für intern). Du richtest slao ein web ein und nimmst eine Domain wie deinefirma.int. Da es die Domain im Internet nicht gibt können darüber auch nur Nutzer die per smpt, pop3 oder webmail auf den Server zugreifen können kommunizieren.


----------



## tafkaz (28. Sep. 2010)

Hi Till,
vielen Dank für Deine schnelle Antwort.
Diese Möglichkeit wäre sicher die allerfeinste...Aber leider geht das in unserem Fall nicht so einfach. 
Dem Kunden ist das mit dem "nur intern mailen" leider erst eingefallen, als das gesamte Web inkl. Domain bereits angelegt war und bei ca. 80 (absoluten DAU-)Nutzern bereits die pers. Browser so eingerichtet waren, dass die nur noch Ihr Master-Passwort eingeben müssen und die Anmeldung zum Webmailer läuft!
Wenn wir jetzt die domain ändern müssten, dann hinge davon zu viel ab, im Grunde müssten dann die gespeicherten Anmeldevorgänge bei jedem User neu eingerichtet werden.
Zwar machbar, aber mühsam.
Sollte es eine Möglichkeit geben, externe Mails zu verhindern, ohne noch mal zum Kunden zu müssen, also direkt über eine Maßnahme am Server, wäre uns das natürlich viel lieber!
Danke Sascha


----------



## jietoh (29. Sep. 2010)

in der main.cf

part 1:
------------------------------------------------------------
smtpd_recipient_restrictions
     check_sender_access hash:/etc/postfix/restricted_senders

dateiformat:
mail_address@domain.local local_only
mail_address2@domain.local local_only

part 2:
------------------------------------------------------------
smtpd_restriction_classes = local_only
local_only =
    check_recipient_access hash:/etc/postfix/local_domains
    reject

dateiformat:
    domain.local OK
    domain.local2 OK

bis dato müsstest du die extra pflegen, vielleicht wandert es mal in ispconfig rein, da musst mal die wunschliste pflegen. ansonsten kleines php backend um das einfach zu administrieren. (ein und austragen)

vielleicht hilfts ... syntax entspricht ner älteren postfix version, eventuell musst was anpassen.

grüße


----------



## tafkaz (29. Sep. 2010)

Hallo jietoh, hallo Till, hallo Forum!
Leider noch nicht ganz...

Ich habe (ein wenig verändert, da sonst postmap nicht wollte) folgendes eingetragen:

smtpd_recipient_restrictions = check_sender_access hash:/etc/postfix/restricted_senders

smtpd_restriction_classes = local_only
local_only = check_recipient_access hash:/etc/postfix/local_domains reject

Damit erhalte ich den Fehler 

Sep 29 07:27:51 eremit postfix/smtpd[9969]: fatal: parameter "smtpd_recipient_restrictions": specify at least one working instance of: check_relay_domains, reject_unauth_destination, reject, defer or defer_if_permit

in /etc/postfix/restricted_senders steht:
user1@foo.bar.com local_only


Ideen willkommen!

Danke Sascha


----------



## jietoh (29. Sep. 2010)

da fehlt noch was drumrum ;-)

smtpd_recipient_restrictions =
    reject_non_fqdn_sender
    reject_unknown_sender_domain
    reject_unknown_recipient_domain
    check_sender_access hash:/etc/postfix/restricted_senders
    permit_mynetworks
    permit_sasl_authenticated
    reject_unauth_destination
    check_helo_access pcre:/etc/postfix/helo_checks
    reject_non_fqdn_recipient
    reject_non_fqdn_hostname
    reject_invalid_hostname

so sieht der ganze eintrag aus. ein permit, deny ... muss schon drin sein.

viele grüße


----------



## tafkaz (29. Sep. 2010)

Also, wahrscheinlich steh ich total auf dem Schlauch...aber:

Stopping Postfix Mail Transport Agent: postfixpostfix: fatal: /etc/postfix/main.cf, line 63: missing '=' after attribute name: "reject_non_fqdn_sender"
 failed!

Bitte um Hilfe für mein Hirn!


In Dank
Sascha


----------



## jietoh (29. Sep. 2010)

so ein wenig snip:

The implementation uses two lookup tables. One table defines what users are restricted in where they can send mail, and the other table defines what destinations are local. It is left as an exercise for the reader to change this into a scheme where only some users have permission to send mail to off-site destinations, and where most users are restricted.

-------------------------------------------------------------------------
/etc/postfix/main.cf:
    smtpd_recipient_restrictions =
        check_sender_access hash:/etc/postfix/restricted_senders
        ...other stuff...

    smtpd_restriction_classes = local_only
    local_only = 
        check_recipient_access hash:/etc/postfix/local_domains, reject

/etc/postfix/restricted_senders:
    foo@domain      local_only
    bar@domain      local_only

/etc/postfix/local_domains:
    this.domain     OK      matches this.domain and subdomains
    that.domain     OK      matches that.domain and subdomains

-------------------------------------------------------------

das ganze ergänzt du um regeln die gewünscht sind. fang mit wenigen an und teste ob es geht. ich hoffe das englisch reicht, sonst sag was. hilfts?


----------



## tafkaz (29. Sep. 2010)

Hi!
Also wir pirschen uns ran! 


Hab jetzt:
smtpd_restriction_classes = local_only
local_only = check_recipient_access hash:/etc/postfix/local_domains,reject


und 

smtpd_recipient_restrictions = check_sender_access hash:/etc/postfix/restricted_senders,permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination



damit können jetzt benutzer der fraglichen Domäne nicht extern mailen!
Die Reihenfolge war wohl entscheidend...Muss man ja wissen! 
Prima, dafür schon mal Danke!

Allerdings kommen die Mails von aussen immer noch bei den Nutzern an...
Kann man das auch noch unterbinden?

Danke
Sascha


----------



## jietoh (30. Sep. 2010)

ja das geht auch, ist so vorgesehen... snip
-----------------------------------------

Postfix can implement per-address access controls. What follows is based on the SMTP client IP address, and therefore is subject to IP spoofing.

------------------------------------------------------------

/etc/postfix/main.cf:
    smtpd_recipient_restrictions =
        check_recipient_access hash:/etc/postfix/access
        ...the usual stuff...

/etc/postfix/access:
all@my.domain   permit_mynetworks,reject
all@my.hostname permit_mynetworks,reject

------------------------------------------------------------

wie gehabt, langsam rantesten wenn extra regeln mit rein sollen. ob du die listen gleich setzen willst, oder getrennt behandelst .. je nach wunsch.

gute nacht und viel erfolg


----------



## tafkaz (11. Okt. 2010)

Sorry für die späte Erfolgsmeldung, aber es läuft jetzt alles!
Vielen Dank für Eure sehr wertgeschätzte Hilfe!

Liebe Grüße
Sascha


----------

