Strona 1 z 1
Postfix, TLS dla wybranych klientów
: 28 czerwca 2012, 11:03
autor: canli
Witam.
Jstem nowy więc proszę wybaczyć jeśli moje pytanie jest banalne
. Udało mi się uruchomić sprawnie działający serwer postfiksa
.
Używam opcji:
Kod: Zaznacz cały
smtpd_tls_auth_only = yes
smtp_tls_note_starttls_offer = yes
Aby wymusić autoryzację tylko przez szyfrowane połączenie, jednak pojawił się klient, który korzysta z programu, który nie obsługuje w ogóle szyfrowanego połączenia jako, że to wyjątkowy klient (za szerokie plecy) nie mogę go olać, więc muszę coś wymyślić
.
Mogę oczywiście wyłączyć te opcje i będzie dobrze. Ale nie wiem dlaczego mam wewnętrzne opory. Więc, zastanawiam się, czy jest jakaś opcja pozwalająca zmusić wszystkich klientów do autoryzacji po szyfrowanym połączeniu (nie wpuszczam jeśli tego nie zrobią), a tego wybranego wrzucam na jakąś
białą listę.
Niestety nie umiem sobie poradzić z wymyśleniem jak to zrobić (pytanie czy w ogóle się da)?
Z góry dziękuję.
Dodane:
Przyszło mi na myśl takie rozwiązanie, że np. na porcie 465 wpuszczam wszystkich i wymagam autoryzacji przez szyfrowane połączenie, a na porcie 25 wpuszczam tylko tego pacjenta i tam pozwalam autoryzować się przez połączenie
nieszyfrowane. Niestety nie bardzo wiem jak to zrealizować?
: 28 czerwca 2012, 14:42
autor: markossx
Klient ma IP publiczne czy prywatne, statyczne czy dynamiczne?
: 29 czerwca 2012, 12:27
autor: canli
Publiczne, statyczne dlatego myślę o autoryzacji na podstawie adresu IP.
W tej chwili wyłączyłem wymuszanie autoryzacji przez szyfrowane połączenie ale ogólnie nie jestem zadowolony z takiego rozwiązania bo wolałbym zmuszać ludzi do używania szyfrowanego połączenia.
A tylko tego jednego, z wiadomych względów, traktować inaczej.
: 29 czerwca 2012, 12:53
autor: markossx
To jak ma publiczne i statyczne to dodaj IP klienta do main.cf w wierszu mynetworks, powinno pomóc.
: 29 czerwca 2012, 14:29
autor: canli
Właśnie nie pomaga bo klient i tak dostaje komunikat, że autoryzacja musi być przez szyfrowane połączenie.
Dopiero jak wyłączę ten wymóg jest poprawnie, a jak już napisałem wyżej nie chcę go wyłączać.
: 29 czerwca 2012, 14:58
autor: markossx
Pokaż zawartość main.cf...
: 03 lipca 2012, 07:32
autor: canli
Kod: Zaznacz cały
strict_mailbox_ownership = no
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
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
# TLS parameters
smtpd_tls_cert_file=/etc/postfix/ssl/mail_signed_cert.pem
smtpd_tls_key_file=/etc/postfix/ssl/mailkey.pem
smtpd_tls_CAfile=/etc/postfix/ssl/cacert.pem
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache
myhostname = mail.xxx
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = localhost.localdomain, localhost
relayhost =
mynetworks = 127.0.0.1/32 188.xx
address_verify_poll_count = 3
address_verify_poll_delay = 3s
content_filter = amavis:[127.0.0.1]:10024
smtpd_helo_required = yes
smtpd_require_helo = yes
default_destination_recipient_limit = 50
recipient_delimiter = +
inet_interfaces = all
home_mailbox = Maildir/
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_local_domain = $mydomain
smtpd_sasl_security_options = noanonymous
# uzywamy autoryzacji tylko i wycznie po szyfrowanym poczeniu I TO WLASNIE WYLACZYLEM
#smtpd_tls_auth_only = yes
#smtp_tls_note_starttls_offer = yes
strict_rfc821_envelopes = yes
unknown_address_reject_code = 550
smtpd_client_connection_count_limit = 10
smtpd_client_connection_rate_limit = 20
anvil_rate_time_unit = 60s
smtpd_client_recipient_rate_limit = 50
smtpd_client_message_rate_limit = 50
smtpd_hard_error_limit = 2
smtpd_soft_error_limit = 2
smtpd_error_sleep_time = 30
message_size_limit = 50000000
mailbox_size_limit = 1000000000
smtpd_recipient_limit = 50
disable_vrfy_command = yes
address_verify_map = btree:/var/spool/postfix/verified_senders
smtpd_recipient_restrictions =
check_sender_access hash:/etc/postfix/sender_access,
permit_mynetworks,
permit_sasl_authenticated,
check_client_access hash:/etc/postfix/whitelist,
check_helo_access pcre:/etc/postfix/helo_checks,
check_helo_access pcre:/etc/postfix/helo_checks.pcre,
reject_unauth_pipelining,
reject_unknown_helo_hostname,
reject_non_fqdn_sender,
reject_non_fqdn_recipient,
reject_unknown_sender_domain,
reject_unknown_recipient_domain,
reject_invalid_hostname,
reject_unverified_recipient,
reject_unauth_destination,
check_sender_mx_access cidr:/etc/postfix/bogus_mx,
check_policy_service inet:127.0.0.1:60000,
reject_rbl_client sbl-xbl.spamhaus.org,
reject_rhsbl_sender rhsbl.sorbs.net,
permit
smtpd_client_restrictions =
reject_unauth_pipelining,
permit_sasl_authenticated,
permit
smtpd_helo_restrictions =
reject_unauth_pipelining,
permit
smtpd_sender_restrictions =
check_sender_access hash:/etc/postfix/rejected_permanently,
reject_unauth_pipelining,
permit_sasl_authenticated,
reject_sender_login_mismatch,
reject_non_fqdn_sender,
reject_unknown_sender_domain,
permit
unverified_sender_reject_code = 550
local_recipient_maps = $alias_maps $virtual_alias_maps
virtual_alias_maps = pgsql:/etc/postfix/pgsql_virtual_alias_maps.cf
virtual_mailbox_domains = pgsql:/etc/postfix/pgsql_virtual_domains_maps.cf
virtual_mailbox_maps = pgsql:/etc/postfix/pgsql_virtual_mailbox_maps.cf
virtual_create_maildirsize = yes
virtual_mailbox_extended = yes
virtual_mailbox_limit_maps = pgsql:/etc/postfix/pgsql_virtual_mailbox_limit_maps.cf
virtual_mailbox_limit_override = yes
virtual_maildir_limit_message = "The user you are trying to reach is over quota."
virtual_overquota_bounce = yes
virtual_alias_domains = $virtual_alias_maps
virtual_uid_maps = static:106
virtual_gid_maps = static:106
virtual_mailbox_base = /
virtual_mailbox_limit = 1000000000
transport_maps = pgsql:/etc/postfix/pgsql_transport.cf
Dodane:
I jak po analizie mojego pliku
konfiguracyjnego?
Może ktoś mi chociaż powie, że mój problem jest nierozwiązywalny, chociaż w to raczej wątpię
. Może coś jeszcze wyjaśnić, podesłać?
Nikt nic takiego nigdy nie robi
ł?
: 17 lipca 2012, 13:06
autor: Pacek
Według mnie nie ma szansy to działać, ponieważ opcja:
powoduje, że nie ma możliwości dokonania uwierzytelniania przez nieszyfrowane połączenie.
Uważam, że to akurat dobre, bo coby się stało gdyby Panu z "dużymi plecami" ktoś podsłuchał login i hasło i nagle zaczął czytać jego maile z kochanką? W związku z czym, jako rozwiązanie zastępcze proponuję zastosować tunelowanie poprzez aplikację stunnel. Sam wykorzystywałem go dla aplikacji, które mają korzystać z poczty (w moim przypadku gmail), ale nie obsługują szyfrowania. Myślę, że to rozwiązanie jest najprostsze w implementacji i zapewni mimo wszystko połączenie szyfrowane. Jeżeli będziesz chciał to zastosować to daj znać. Nie będę się teraz rozpisywał, ponieważ od Twojego postu minął jakiś czas a szkoda, żeby krew poszła w piach.