Zum Inhalt springen

postfix sicher konfigurieren


Empfohlene Beiträge

Geschrieben

Moin...

Ich habe mir zum testen einen postfix eingerichtet.

Ich möchte den jetzt jedoch so konfigurieren, das nur eine Empfänger Adresse akzeptiert wird.

Und ich will den postfix sicher machen, so das man den nicht als Mail Bomber nutzen kann, also bin mir jetzt noch nicht sicher wie genau aber man soll nur 1 Mail pro Min abschicken können. o.ä.

Könnt ihr mir weiterhelfen ?

Geschrieben (bearbeitet)
Moin...

Ich habe mir zum testen einen postfix eingerichtet.

Ich möchte den jetzt jedoch so konfigurieren, das nur eine Empfänger Adresse akzeptiert wird.

Mit check_recipient_access kannst du die gültigen Empfänger definieren

smtpd_recipient_restrictions =

         check_recipient_access hash:/etc/postfix/maps/valid_recipients
In die /etc/postfix/maps/valid_recipients trägst du dann z.B. folgendes ein:

abuse@ OK

postmaster@ OK

deinempfänger@domain OK

* REJECT

Wichtig ist das Reject am ende. Wenn du eintreffende Mails auf weitere Bedingungen prüfen willst, solltest du statt OK allerdings ein DUNNO setzen.

Dannach mit postmap /etc/postfix/maps/valid_recipients in Postfix einbinden und den Daemon neustarten.

Laut meinem aktuellen Wissenstand kannst du mit Postfix keine ausgehenden Mails zeitlich limitieren, das müsste allerdings mit policyd funktionieren.

Bei einer korrekten Absicherung brauchst du so ne Limitierung aber eigentlich nicht.

Bearbeitet von @@@
Geschrieben

smtpd_recipient_restrictions =

         check_recipient_access hash:/etc/postfix/maps/valid_recipients
Habe ich gemacht ... vorher stand dort:
smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination

das habe ich deaktiviert

abuse@ OK

postmaster@ OK

deinempfänger@domain OK

* REJECT
habe ich auch gemacht und eingebunden beim versenden kommt die meldung
postfix/smtpd[14852]: fatal: parameter "smtpd_recipient_restrictions": specify at least one working instance of: check_relay_domains, reject_unauth_destination, reject, defer or defer_if_permit

Geschrieben (bearbeitet)

Hast du die bestehenden Parameter dadurch ersetzt? Die solltest du nämlich schon drinlassen und die jeweiligen parameter durch ein Komma trennen.

Sorry bin davon ausgegangen, dass dir das bekannt ist :D

Prinzipiell bevorge ich die Schreibweise wegen der beseren Lesbarkeit, also:

smtpd_recipient_restrictions =

         check_recipient_access hash:/etc/postfix/maps/valid_recipients,

         nächster parameter,

         nächster parameter,

         permit_mynetworks,

         reject_unauth_destination,

Bei Anfragen zu Postfix am besten den Output von postconf -n reinstellen.

Bearbeitet von @@@
Geschrieben (bearbeitet)

Kann es sein, dass Du folgendes willst:

Nur Sender mit gültiger Adresse, dürfen senden? Ich meine damit das der User xyz auch unter der Adresse xyz senden muss und nicht unter abc. Das müsste dann etwas anders aussehen und Du müsstest via SASL vorher authentifizieren und dann das Senden ablehnen.

Bei mir läuft folgende Config: Postfix + Dovecot + mySQL. In der mySQL DB liegen alle Domains + User für die Postfix die Mailzustellung aktiviert hat (virtuelle User). Dovecot authentifiziert gegen die Daten in der mySQL und Postfix per SASL gegen Dovecot

Bearbeitet von flashpixx
Geschrieben
Hast du die bestehenden Parameter dadurch ersetzt? Die solltest du nämlich schon drinlassen und die jeweiligen parameter durch ein Komma trennen.

Sorry bin davon ausgegangen, dass dir das bekannt ist :D

Prinzipiell bevorge ich die Schreibweise wegen der beseren Lesbarkeit, also:

smtpd_recipient_restrictions =

         check_recipient_access hash:/etc/postfix/maps/valid_recipients,

         nächster parameter,

         nächster parameter,

         permit_mynetworks,

         reject_unauth_destination,

Bei Anfragen zu Postfix am besten den Output von postconf -n reinstellen.
Ja sry hätte sagen müssen das ich nen postfix n00b bin ;) Das ist merkwürdig. Ich hatte zum testen auch alle parameter drin. Dann kann ich jedoch immer noch an alle Domains ne Mail schicken, auch an Domians die nicht in der valid_recipients stehen postconf -n sagt:


alias_maps = hash:/etc/aliases

biff = no

canonical_maps = hash:/etc/postfix/canonical

command_directory = /usr/sbin

config_directory = /etc/postfix

daemon_directory = /usr/lib/postfix

data_directory = /var/lib/postfix

debug_peer_level = 2

default_destination_concurrency_limit = 10

defer_transports =

delay_warning_time = 1h

disable_dns_lookups = no

disable_mime_output_conversion = no

html_directory = /usr/share/doc/packages/postfix-doc/html

inet_interfaces = localhost

inet_protocols = all

local_destination_concurrency_limit = 2

local_recipient_maps =

mail_owner = postfix

mail_spool_directory = /var/mail

mailbox_command =

mailbox_size_limit = 0

mailbox_transport =

mailq_path = /usr/bin/mailq

manpage_directory = /usr/share/man

masquerade_classes = envelope_sender, header_sender, header_recipient

masquerade_domains =

masquerade_exceptions = root

message_size_limit = 10240000

message_strip_characters = \0

mydestination = $myhostname, localhost.$mydomain

myhostname = linux.local

mynetworks_style = subnet

newaliases_path = /usr/bin/newaliases

queue_directory = /var/spool/postfix

readme_directory = /usr/share/doc/packages/postfix-doc/README_FILES

relayhost = meinserver

relocated_maps = hash:/etc/postfix/relocated

sample_directory = /usr/share/doc/packages/postfix-doc/samples

sender_canonical_maps = hash:/etc/postfix/sender_canonical

sendmail_path = /usr/sbin/sendmail

setgid_group = maildrop

smtp_sasl_auth_enable = yes

smtp_sasl_mechanism_filter = LOGIN

smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd

smtp_sasl_security_options = noanonymous

smtp_tls_session_cache_database = btree:/var/lib/postfix/smtpd_tls_session_cache

smtp_tls_session_cache_timeout = 3600s

smtp_use_tls = yes

smtpd_client_restrictions =

smtpd_helo_required = no

smtpd_helo_restrictions =

smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination,check_recipient_access hash:/etc/postfix/valid_recipients

smtpd_sasl_auth_enable = no

smtpd_sender_restrictions = hash:/etc/postfix/access

smtpd_use_tls = no

strict_8bitmime = no

strict_rfc821_envelopes = no

transport_maps = hash:/etc/postfix/transport

unknown_local_recipient_reject_code = 550

virtual_alias_domains = hash:/etc/postfix/virtual

virtual_alias_maps = hash:/etc/postfix/virtual


Alsooo wenn ich jetzt eine Mail versende bekomm ich zwar die meldung
status=bounced (host meinserver[meinerserverip] said: 550 5.7.1 Client does not have permissions to send as this sender (in reply to end of DATA command))

Die Mail kommt aber trotzdem an... wird also trotzdem noch versendet... obwohl die @domain.de nicht in der table valid_recipients steht...

mhhh

Geschrieben
Ja sry hätte sagen müssen das ich nen postfix n00b bin

Ich hoffe Du betreibst Dein Postfix nicht öffentlich zugänglich, denn wenn Du noch gar keine Erfahrung hast, dann kannst Du Dir damit mehr Probleme machen. Wenn Du keine korrekte und vor allem abgesicherte Konfiguration hast, kann Dein Server schnell zum Versenden von Spam missbraucht werden und Du landest auf diversen RBLs.

Bitte beschreibe einmal was Du genau haben willst:

Im Moment lese ich, dass Du mehrere Domains hast, d.h. ich würde zu virtuellen Domains raten. Wie sieht es mit den Usern aus, generell solltest Du mit virtuellen Usern arbeiten, da ein Mailuser sich nicht am System anmelden muss. Zusätzlich wäre es wichtig zu wissen, wie sich User authentifizieren sollen. Beantworte doch einmal bitte diese Fragen, dann kann man auch Deine Konfig dahin gehend einmal durcharbeiten. Zusätzlich solltest Du beim Mailversand nicht nur auf eine valide Mailadresse prüfen, sondern eben User authentifizieren und das am Besten auch verschlüsselt

Gerade bei einem Mailserver solltest Du nicht wild in der Config irgendwas eintragen, sondern es gehört dazu das ganze mit entsprechendem Wissen anzugehen.

Geschrieben
Ich hoffe Du betreibst Dein Postfix nicht öffentlich zugänglich, denn wenn Du noch gar keine Erfahrung hast, dann kannst Du Dir damit mehr Probleme machen. Wenn Du keine korrekte und vor allem abgesicherte Konfiguration hast, kann Dein Server schnell zum Versenden von Spam missbraucht werden und Du landest auf diversen RBLs.

Bitte beschreibe einmal was Du genau haben willst:

Im Moment lese ich, dass Du mehrere Domains hast, d.h. ich würde zu virtuellen Domains raten. Wie sieht es mit den Usern aus, generell solltest Du mit virtuellen Usern arbeiten, da ein Mailuser sich nicht am System anmelden muss. Zusätzlich wäre es wichtig zu wissen, wie sich User authentifizieren sollen. Beantworte doch einmal bitte diese Fragen, dann kann man auch Deine Konfig dahin gehend einmal durcharbeiten. Zusätzlich solltest Du beim Mailversand nicht nur auf eine valide Mailadresse prüfen, sondern eben User authentifizieren und das am Besten auch verschlüsselt

Gerade bei einem Mailserver solltest Du nicht wild in der Config irgendwas eintragen, sondern es gehört dazu das ganze mit entsprechendem Wissen anzugehen.

Ne Ne, das is ne VM die von der außenwelt abgestöpselt ist ;)

ich will das ganze ja erst sicher machen bevor ich den Online Zieh... An den SMTP kommt eh keiner, der server sendet nur eine meldung täglich zu einer bestimmten email addy. (status meldungen) deswegen soll auch nur eine Mail addy akzeptiert werden. der port wird auch nach außen hin geblockt... empfangen soll der server auch keine mails... ich habe den MTA konfiguriert. der wiederrum nutzt ja postfix.

Geschrieben
Ne Ne, das is ne VM die von der außenwelt abgestöpselt ist ;)

Das ist ein wirklich guter Anfang

ich will das ganze ja erst sicher machen bevor ich den Online Zieh... An den SMTP kommt eh keiner, der server sendet nur eine meldung täglich zu einer bestimmten email addy. (status meldungen) deswegen soll auch nur eine Mail addy akzeptiert werden. der port wird auch nach außen hin geblockt... empfangen soll der server auch keine mails... ich habe den MTA konfiguriert. der wiederrum nutzt ja postfix.

Um nur eine Mail zu versenden benötigst Du keinen MTA, sondern nur einen MUA. In der Konsole wäre das der Sendmailbefehl

Geschrieben

ich will das ganze ja erst sicher machen bevor ich den Online Zieh...

Völlig falscher Ansatz. Für Postfix sind die Grundlagen essentiell, da nacher beim Testen von Restrictions auch mal Trial & Error angesagt ist was ohne die Grundkenntnisse nicht funktionieren wird.

Du solltest am besten mit einer komplett leeren Config anfangen und die Basics in einer funktionierenden DNS Umgebung einrichten

Dannach musst du festlegen, wer über den Server relayen darf. Fang dafür erstmal mit IP Adressen an , bevor du das über AUTH machst.

Anschliessend kannst du dich dann an Empfängerspezifische Themen ranmachen.

Das ist zwar alles in allem für den Einstieg recht viel, aber dafür gibts auch ne kompakte Lösung Das Postfix-Buch - Sichere Mailserver unter Linux - Über das Buch :D

Das Buch deckt eigentlich die komplette Postfix konfiguration ab, inkl. DNS

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...