Netzbereiche für SMTP erlauben

Postfix, QMail, Sendmail, Dovecot, Cyrus, Courier, Anti-Spam
floos
Posts: 29
Joined: 2009-01-18 18:04
 

Netzbereiche für SMTP erlauben

Post by floos »

Hallo!
Folgendes soll für ein Postfix (Debian ETCH) gelöst werden:

* SMTP-Auth
Das ist soweit klar und eingerichtet.
Ergänzt werden soll:

* erlaubte direkte eingehende SMTP-Verbindungen nur über bestimmte Netze.
Alle anderen Verbindungen ohne SMTP-Auth sollen verboten sein.
erlaubt z.B:
123.123.123.0/20
234.234.234.0/23

oder auch Angaben in dieser Syntax:
123.123.112.1-123.123.127.254
234.234.234.1-234.234.235.254

Letztes ist schon eingebaut, aber ersteres (die Netze) sollen ergänzt werden.
Kann jemend kurze Hilfestellung geben?
oxygen
Posts: 2138
Joined: 2002-12-15 00:10
Location: Bergheim
 

Re: Netzbereiche für SMTP erlauben

Post by oxygen »

mynetworks = 123.123.123.0/24, 234.234.234.0/24
floos
Posts: 29
Joined: 2009-01-18 18:04
 

Re: Netzbereiche für SMTP erlauben

Post by floos »

nein, das funktioniert leider nicht.

Mit meinem Emailprogramm soll ich nur Emails verschicken dürfen, wenn ich:
* SMTP-Auth benutze
oder
* eine IP aus dem genannten Netz habe


Ich habe auch getestet:
smtpd_client_restrictions = check_client_access hash:/etc/postfix/client_checks
in client_check steht dann:

Code: Select all

123.123.123.0/20	OK
234.234.234.0/21	OK
usw.

Klappt aber nicht.

Hier die ganze config:

Code: Select all

command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
program_directory = /usr/lib/postfix

inet_interfaces = all
mynetworks_style = host

myhostname = maildomain.de
mydomain = maildomain.de
myorigin = $mydomain

smtpd_banner = $myhostname maildomain.de
setgid_group = postdrop

#
# Receiving messages parameters;
#

mydestination = $myhostname, $mydomain 
append_dot_mydomain = no
append_at_myorigin = yes
local_transport = local
virtual_transport = virtual
transport_maps = hash:/etc/postfix/vhcs2/transport

#
# Delivering local messages parameters;
#

mail_spool_directory = /var/mail
message_size_limit = 81920000
mailbox_size_limit = 1024000000
mailbox_command = procmail -a "$EXTENSION"
biff = no
allow_min_user = yes
local_destination_recipient_limit = 1
local_recipient_maps = unix:passwd.byname $alias_database
vhcs2-arpl_destination_recipient_limit=1

#
# Delivering virtual messages parameters;
#

virtual_mailbox_base = /var/mail/virtual
# 1 GB
virtual_mailbox_limit = 1024000000

virtual_mailbox_domains = hash:/etc/postfix/vhcs2/domains
virtual_mailbox_maps = hash:/etc/postfix/vhcs2/mailboxes

virtual_alias_maps = hash:/etc/postfix/vhcs2/aliases

virtual_minimum_uid = 1000
virtual_uid_maps = static:1000
virtual_gid_maps = static:8

# TLS
smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/postfix/smtpd.crt
smtpd_tls_key_file = /etc/postfix/smtpd.key


#
# SASL paramters;
#

smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
broken_sasl_auth_clients = yes
smtpd_helo_required = yes
smtpd_delay_reject = yes

smtpd_client_restrictions = check_client_access hash:/etc/postfix/client_checks

smtpd_recipient_restrictions =
   permit_sasl_authenticated,
   permit_mynetworks,
   reject_unauth_destination,
   reject_unauth_pipelining,
   reject_non_fqdn_recipient
   
content_filter = smtp-amavis:[127.0.0.1]:10024
User avatar
Joe User
Project Manager
Project Manager
Posts: 11185
Joined: 2003-02-27 01:00
Location: Hamburg
 

Re: Netzbereiche für SMTP erlauben

Post by Joe User »

Dort sind genug kommentierte Beispiele, bitte komplett lesen: http://jimsun.linxnet.com/misc/postfix-anti-UCE.txt
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
floos
Posts: 29
Joined: 2009-01-18 18:04
 

Re: Netzbereiche für SMTP erlauben

Post by floos »

Ja das Dokument habe ich mir auch schon angesehen, aber es erschlägt einen doch wenn man unter Zeitdruck steht.
Ich denke es ist dies:
smtpd_recipient_restrictions =
...
check_client_access dbm:/etc/postfix/client_checks

Postfix meckert aber über ein fehlendes dbm-package.
Hiermit habe ich keinen Erfolg
check_client_access hash:/etc/postfix/client_checks

postmap /etc/postfix/client_checks natürlich ausgeführt...
floos
Posts: 29
Joined: 2009-01-18 18:04
 

Re: Netzbereiche für SMTP erlauben

Post by floos »

Ja das ist schon klar.
Dann vielleicht nur der Tip welcher Parameter zu konfigurien ist:

Code: Select all

smtpd_client_restrictions
oder
smtpd_recipient_restrictions
floos
Posts: 29
Joined: 2009-01-18 18:04
 

Re: Netzbereiche für SMTP erlauben

Post by floos »

Ja, auf der Seite bin ich schon seit Stunden...

zu smtpd_recipient_restrictions

Code: Select all

By default, the Postfix SMTP server accepts:

    * Mail from clients whose IP address matches $mynetworks, or:
    * Mail to remote destinations that match $relay_domains, except for addresses that contain sender-specified routing (user@elsewhere@domain), or:
    * Mail to local destinations that match $inet_interfaces or $proxy_interfaces, $mydestination, $virtual_alias_domains, or $virtual_mailbox_domains. 
Das heisst, das ein SMTP-Versandt an den Mailserver an lokale Domain (und virtuelle) per Default erlaubt ist. Das ist ja normalerweise auch korrekt und richtig.
Ich brauche aber nun für einen Spezialfall die Ausnahme, das ohne(!) SMTP-Auth nur von dem genannten Netzbereich erlaubt sein soll und nicht von jeder beliebigen Client-IP. Alle anderen Client-IPs sollten nur mit(!) SMTP-Auth Emails an dem Mailserver schicken dürfen - unabhängig davon ob diese Email an lokale Domains oder an externe Domains gehen.

Es tut mir ja leid, das ich ggf. nerve, aber diese Konfiguration bekomme ich bislang nicht hin (wenn das überhaupt möglich ist).
Das Verweisen auf die bekannten Seiten ist ja nett, aber da komme ich nicht weiter.
Roger Wilco
Posts: 5923
Joined: 2004-05-23 12:53
 

Re: Netzbereiche für SMTP erlauben

Post by Roger Wilco »

floos wrote:Ich brauche aber nun für einen Spezialfall die Ausnahme, das ohne(!) SMTP-Auth nur von dem genannten Netzbereich erlaubt sein soll und nicht von jeder beliebigen Client-IP.
Genau dafür ist $mynetworks gedacht und funktioniert auch zusammen mit den geeigneten Restrictions in $smtpd_recipient_restrictions.
floos
Posts: 29
Joined: 2009-01-18 18:04
 

Re: Netzbereiche für SMTP erlauben

Post by floos »

Danke ich habs!

Code: Select all

mynetworks_style = class
mynetworks = xxx.xxx.xxx.0/20 xxx.xxx.xxx.0/21

...

smtpd_recipient_restrictions =
   permit_sasl_authenticated,
   permit_mynetworks,
   reject