Vinnaren i pepparkakshustävlingen!
2018-02-18, 22:09
  #1
Medlem
FractalDimensions avatar
Hej!

Ber om ursäkt för besvär i förväg, men det skulle vara schysst om någon kunde hjälpa mig. (Vet inte ens om det är rätt forum jag skriver tråden i...)

Jag har satt upp en dedikerad Linux-server hos en ISP med www, mail, osv.
Allt fungerade tills nyligen, då det plötsligt inte gick att mejla från externa mejlprogram, som Outlook 2007 (Ja, vi använder den än) eller andra.
Då kommer felmeddelandet:

Your message did not reach some or all of the intended recipients.

Subject: test
Sent: 2018-02-18 21:17

The following recipient(s) cannot be reached:

'mittagare@domän.com' on 2018-02-18 21:17
454 4.7.1 <användare@domän.com>: Relay access denied

/etc/postfix/main.cf ser ut så här:

Kod:
# See /usr/share/postfix/main.cf.dist for a commented, more complete version


# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name powered by Easy Hosting Control Panel (ehcp) on Ubuntu, www.ehcp.net
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
smtpd_tls_cert_file = /etc/postfix/smtpd.cert
smtpd_tls_key_file = /etc/postfix/smtpd.key
smtpd_use_tls = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = vårtdomänadress.se
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = localhost, xxx.xxx.xxx.xxx (notera: vår servers IP)
relayhost =
mynetworks = [::1]/128, 127.0.0.0/8, 192.168.0.0/16, 172.16.0.0/16, 10.0.0.0/8,  xxx.xxx.xxx.0/24 (notera: vår servers IP)
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
virtual_alias_domains =
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, proxy:mysql:/etc/postfix/mysql-virtual_email2email.cf
transport_maps = proxy:mysql:/etc/postfix/mysql-virtual_transports.cf
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf
virtual_mailbox_base = /home/vmail
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
default_process_limit = 3
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,check_client_access hash:/var/lib/pop-before-smtp/hosts,reject_unauth_destination
smtp_use_tls = yes
smtpd_tls_auth_only = no
smtpd_tls_CAfile = /etc/postfix/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
virtual_mailbox_limit_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailbox_limit_maps.cf
debug_peer_list =
sender_canonical_maps =
debug_peer_level = 1
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipie$
myorigin = /etc/mailname

Det går däremot att skicka mejl genom att logga in på RoundCube webmail på servern - detta händer bara om vi använder externa mejlprogram som Outlook (eller andra) installerade på datorn.
Jag skulle verkligen uppskatta hjälp.

Med vänliga hälsningar och tackar på förhand.

PS. Har googlat och testat en massa - men inget funkar.
Citera
2018-02-19, 02:02
  #2
Medlem
Vad har du testat hittills?
Citera
2018-02-19, 02:45
  #3
Medlem
hasenfrasens avatar
Den som försöker sända har angivit en avsändaradress som mail-servern inte tycker originerar där - alternativ saknar credentials.
Citera
2018-02-19, 10:45
  #4
Medlem
Citat:
Ursprungligen postat av FractalDimension
Hej!

Ber om ursäkt för besvär i förväg, men det skulle vara schysst om någon kunde hjälpa mig. (Vet inte ens om det är rätt forum jag skriver tråden i...)

Jag har satt upp en dedikerad Linux-server hos en ISP med www, mail, osv.
Allt fungerade tills nyligen, då det plötsligt inte gick att mejla från externa mejlprogram, som Outlook 2007 (Ja, vi använder den än) eller andra.
Då kommer felmeddelandet:

Your message did not reach some or all of the intended recipients.

Subject: test
Sent: 2018-02-18 21:17

The following recipient(s) cannot be reached:

'mittagare@domän.com' on 2018-02-18 21:17
454 4.7.1 <användare@domän.com>: Relay access denied

/etc/postfix/main.cf ser ut så här:

Kod:
# See /usr/share/postfix/main.cf.dist for a commented, more complete version


# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name powered by Easy Hosting Control Panel (ehcp) on Ubuntu, www.ehcp.net
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
smtpd_tls_cert_file = /etc/postfix/smtpd.cert
smtpd_tls_key_file = /etc/postfix/smtpd.key
smtpd_use_tls = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = vårtdomänadress.se
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = localhost, xxx.xxx.xxx.xxx (notera: vår servers IP)
relayhost =
mynetworks = [::1]/128, 127.0.0.0/8, 192.168.0.0/16, 172.16.0.0/16, 10.0.0.0/8,  xxx.xxx.xxx.0/24 (notera: vår servers IP)
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
virtual_alias_domains =
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, proxy:mysql:/etc/postfix/mysql-virtual_email2email.cf
transport_maps = proxy:mysql:/etc/postfix/mysql-virtual_transports.cf
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf
virtual_mailbox_base = /home/vmail
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
default_process_limit = 3
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,check_client_access hash:/var/lib/pop-before-smtp/hosts,reject_unauth_destination
smtp_use_tls = yes
smtpd_tls_auth_only = no
smtpd_tls_CAfile = /etc/postfix/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
virtual_mailbox_limit_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailbox_limit_maps.cf
debug_peer_list =
sender_canonical_maps =
debug_peer_level = 1
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipie$
myorigin = /etc/mailname

Det går däremot att skicka mejl genom att logga in på RoundCube webmail på servern - detta händer bara om vi använder externa mejlprogram som Outlook (eller andra) installerade på datorn.
Jag skulle verkligen uppskatta hjälp.

Med vänliga hälsningar och tackar på förhand.

PS. Har googlat och testat en massa - men inget funkar.

1) Som jag tolkar det beror problemet på att din dator/ditt IP som du försöker sända ifrån inte tillåts av Postfix att sända E-post via SMTP till andra (relay) än de e-postadresser som ligger/hanteras lokalt på din server (t.ex. epost för "vårtdomänadress.se")

2) När du skickar via Roundcube ligger den ju lokalt på servern, d.v.s. då accepteras även post till andra domäner än din egen (destinationsadresser som inte ligger på din server).

3) Om du/ni har fasta IP-nummer som ni ansluter ifrån (t.ex. bara skickar E-post från en företagsuppkoppling som alltid har samma IP-nummer) så kan du lägga in det IP-numret eller ipnätet i

Kod:
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 a.b.c.d 

där a.b.c.d är ditt utgående IP-nummer (inte serverns IP). Kör postfix reload för att ladda in den nya konfigurationen när du sparat. Du kan ange flera olika nät/IP-nummer, separera dem med mellanslag.

4) Om du inte har fasta IP-nummer eller har fasta IP-nummer men utöver det också vill kunna maila (via SMTP) från t.ex. mobila internetabonnemang / dynamiskt tilldelade IP-nummer så finns det två olika huvudsakliga lösningar

a) Logga in via VPN till det nätverk som har fasta IP-nummer och använd det för access utåt till E-postservern (eller sätt ett VPN/tunnel till servern och maila från det lokala interna nätverket i servern).

b) Autentisera via SMTP (smtp authentication = göra en inloggning via SMTP för att sedan få sända post till andra än de som hanteras av servern), du kan läsa mer t.ex. här om Postfix olika lösningar för att styra upp SMTP-behörigheter m.m.: http://www.postfix.org/SMTPD_ACCESS_README.html

För Postfix är i mitt tycke det bästa för autentisering att använda s.k. SASL-autentisering, det innebär att Postfix tar hjälp av ett annat program/en funktion för att autentisera / tillåta dig att sända E-posten. T.ex. om du loggat in via en IMAP-server (som stöder SASL) för att läsa e-post så kan Postfix kolla med den att du är autentiserad.

Du kan läsa mer här:
http://www.postfix.org/SASL_README.html

http://xmodulo.com/enable-user-authe...rver-sasl.html

5) Nedan är jätteviktigt:

a) Se till att mailservern har brandväggsskydd och bara har de portar öppna som behövs för epost, webbserver och det som ska vara åtkomligt "publikt"

b) Se till att kryptera (med SSL-certifikat) uppkopplingarna till din mailserver (d.v.s. SMTP, IMAP, HTTP) så att inte inloggningsuppgifter m.m. skickas i klartext.

Testa SSL-konfigurationen (för webbserver, men du kan använda principen/ciphersuites etc. även i Postfix / IMAP-server) på https://www.ssllabs.com/ssltest/

Se till att SSL-konfigurationen är bra.

c) Vad du än gör, öppna inte mailservern så att alla publika IP-nummer får maila genom den, d.v.s. tillåt aldrig 0.0.0.0/0 att få reläa mail via SMTP. Om servern tillåter sådant kommer du att bli blockad pga att den blir en s.k. open relay.

Du kan göra några enkla tester här:
https://mxtoolbox.com/diagnostic.aspx

6) Se till att mailservern har en reverse pointer i DNS, d.v.s. att när man frågar "vilket namn har x.x.x.x" där x.x.x.x är serverns IP-nummer så ska svaret bli samma sak som din MX-pekare (t.ex. mail.vårtdomännamn.se)

7) Lägg in en SPF-record i DNS-konfigurationen (för att tala om för SPAM-filter/servrar vilken eller vilka servrar som E-post från din domän kan tänkas komma ifrån / ska tilllåtas):

Du kan skapa SPF-records t.ex. här och sedan klistra in i din DNS-konfiguration:

https://www.spfwizard.net/
__________________
Senast redigerad av TheKeymaker 2018-02-19 kl. 10:54.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback