Dominik Grzywaczewski

Dominik Grzywaczewski Senior Cloud
Engineer

Temat: Postfix - blokowanie poczty wychodzącej

Witam,

Przeglądając dokumentację postfixa doszedłem do sytuacji, kiedy chciałbym blokować przy wysyłaniu poczty przez użytkowników z tylko jednym możliwym ustawieniem pola "From".

W pliku konfiguracyjnym /etc/postfix/main.cf mam coś takiego:

smtpd_sender_restrictions = permit_mynetworks,
permit_sasl_authenticated,
check_sender_access hash:/etc/postfix/restrict_classes/sender_access,
reject_unknown_sender_domain,
reject_non_fqdn_sender


Nastomiast w pliku /etc/postfix/restrict_classes/sender_access:

mojadomena.pl OK
mojadomena.com.pl REJECT


Tak naprawdę to chciałbym pozwolić użytkownikom wysyłać jedynie z "mojadomena.pl"

1. Czy muszę jeszcze dodatkowo ustawić?
2. Czy każda zmiana w pliku postfixa wymaga:
a) wydania polecenia postmap nazwa_pliku (o ile potrzeba wygenerowania pliku hash)
b) restartu postfixa?Dominik Grzywaczewski edytował(a) ten post dnia 26.03.11 o godzinie 13:11

konto usunięte

Temat: Postfix - blokowanie poczty wychodzącej

Dominik Grzywaczewski:
Przeglądając dokumentację postfixa doszedłem do sytuacji, kiedy chciałbym blokować przy wysyłaniu poczty przez użytkowników z tylko jednym możliwym ustawieniem pola "From".
O którym 'from' piszesz? envelope-from czy header-from?
W pliku konfiguracyjnym /etc/postfix/main.cf mam coś takiego:

smtpd_sender_restrictions = permit_mynetworks,
permit_sasl_authenticated,
check_sender_access hash:/etc/postfix/restrict_classes/sender_access,
reject_unknown_sender_domain,
reject_non_fqdn_sender


Nastomiast w pliku /etc/postfix/restrict_classes/sender_access:

mojadomena.pl OK
mojadomena.com.pl REJECT
Po pierwsze, takie rzeczy można próbować robić tylko w przypadku, gdy dany postfix nie odpowiada za przyjmowanie poczty, tzn. jest tylko submission server, a nie MX.

Po drugie, jeśli Twoi użytkownicy uwierzytelniają się przy użyciu mechanizmu SMTP AUTH, to permit_sasl_authenticated przed check_sender_access i tak ich przepuści, nie? :)

http://www.postfix.org/SMTPD_ACCESS_README.html
Tak naprawdę to chciałbym pozwolić użytkownikom wysyłać jedynie z "mojadomena.pl"

1. Czy muszę jeszcze dodatkowo ustawić?
Jeśli masz na myśli envelope-from, to proponuję zainteresować się SASL + smtpd_sender_login_maps + reject_sender_login_mismatch.

Jeśli header-from, to (oczywiście) odpowiednie header_checks.

http://www.postfix.org/postconf.5.html
2. Czy każda zmiana w pliku postfixa wymaga:
Co to jest "plik postfixa"?
a) wydania polecenia postmap nazwa_pliku (o ile potrzeba wygenerowania pliku hash)
http://www.postfix.org/DATABASE_README.html
b) restartu postfixa?
Restart postfixa po zmianach w konfiguracji konieczny jest rzadko. Najczęściej wystarcza postfix reload. Restarty przy zmianach typu specyficzne IP do których każesz bind()ować, jakieś tcp window size, chyba też okolice ssl/tls (niech mnie ktoś poprawi, jeśli gdzieś przekłamałem).
Dominik Grzywaczewski

Dominik Grzywaczewski Senior Cloud
Engineer

Temat: Postfix - blokowanie poczty wychodzącej

Jakub J.:

O którym 'from' piszesz? envelope-from czy header-from?

Chodzi mi o nagłówek, który jest ustawiany razem z:

To:
Subject:
Message-Id:
Date:
From:


Tylko teraz to nie wiem dokładnie, który za co odpowiada.
W pliku konfiguracyjnym /etc/postfix/main.cf mam coś takiego:

smtpd_sender_restrictions = permit_mynetworks,
check_sender_access hash:/etc/postfix/restrict_classes/sender_access,
permit_sasl_authenticated,
reject_unknown_sender_domain,
reject_non_fqdn_sender


Nastomiast w pliku /etc/postfix/restrict_classes/sender_access:

mojadomena.pl OK
mojadomena.com.pl REJECT
Po drugie, jeśli Twoi użytkownicy uwierzytelniają się przy użyciu mechanizmu SMTP AUTH, to permit_sasl_authenticated przed check_sender_access i tak ich przepuści, nie? :)
A gdy zmieniłbym kolejność weryfikacji i linia z "check_sender_access" byłaby przed "permit_sasl_authenticated"?
Czy wystarczy w postfixie, żeby przynajmniej jedna reguła zwróciła - "REJECT" - i wtedy wiadomość jest odrzucana?
2. Czy każda zmiana w pliku postfixa wymaga:
Co to jest "plik postfixa"?
Generalnie wszystkie pliki konfiguracyjne np. main.cf, tablice odwzorowujące etc.Dominik Grzywaczewski edytował(a) ten post dnia 27.03.11 o godzinie 23:02
Maciej Natan Milaszewski

Maciej Natan Milaszewski Kierownik dzialu IT
/ sys administrator

Temat: Postfix - blokowanie poczty wychodzącej

Nie wiem czy dobrze zrozumialem - wiadomo poniedzialek

chcialby ograniczyc zeby userzy wysylali poczte TYLKO ze swojej domeny user@domena.pl czyli w sesji po zautoyzwaniu zeby niezmieniali pola from na inne np szef@domena.pl

jezeli tak to powinienes klikac u siebie w postfixe cos takiego jak mapa senderow jak masz w bazie to:
smtpd_sender_login_maps = mysql:/etc/postfix/mysql_virtual_sender_login_maps.cfg
oraz reject_sender_login_mismatch,

przyklad:

smtpd_client_restrictions =
check_client_access cidr:/etc/postfix/client_checks,
reject_unauth_pipelining,

smtpd_helo_required = yes
smtpd_helo_restrictions =
reject_unauth_pipelining,
reject_invalid_helo_hostname
check_helo_access hash:/etc/postfix/helo_checks,
permit

smtpd_sender_restrictions =
reject_unknown_sender_domain,
reject_non_fqdn_sender,
reject_unknown_address,
reject_sender_login_mismatch, # tu masz tego rejecta
check_sender_access pcre:/etc/postfix/sender_checks.pcre,
reject_unauth_pipelining,
permit

smtpd_recipient_restrictions =
reject_unauth_pipelining,
reject_non_fqdn_recipient,
reject_unknown_recipient_domain,
check_recipient_access hash:/etc/postfix/skanowane
permit_mynetworks,
permit_sasl_authenticated,
check_client_access hash:/etc/postfix/whitelista,
reject_unauth_destination,
check_helo_access hash:/etc/postfix/helo_checks2,
check_recipient_access pcre:/etc/postfix/recipient_checks.pcre,
check_helo_access pcre:/etc/postfix/helo_checks.pcre,
reject_unknown_hostname,
reject_non_fqdn_hostname,
reject_rbl_client sbl-xbl.spamhaus.org,
reject_unlisted_recipient ,
check_sender_access hash:/etc/postfix/sender_checks_my,
check_policy_service inet:127.0.0.1:60000,
permit,

smtpd_data_restrictions =
reject_unauth_pipelining,
reject_multi_recipient_bounce,
permit

zawartosc mapy:

user = userdb
password = passworddb
hosts = hostname
dbname = dbname
query = select "%S" from (member m1, member_account_data m2, member_alias m3) inner join member_domain m4 on (m1.id=m2.id_member and m1.id=m3.id_member and m4.id=m3.id_domain) where m3.name=lower(substring_index('%S',concat('@',m4.name),1)) and m2.status=1 and m4.name=lower(substring_index('%S','@',-1)) and lower('%S')!= lower(substring_index('%S','@',-1)) and m3.status=0 and m2.start_date<=now() and m2.expiry_date>=now();

oczywiscie zapytanie to sobie sam dostosujesz

jezeli niemasz mysql to sprawa jest jeszcze bardziej prosta

jezeli cie zle zrozumialem i przeczytales wszystko to sorki :)
wiadomo poniedzialek i czlowiek jest zmeczony bo paintballowych wyczynach ;)

konto usunięte

Temat: Postfix - blokowanie poczty wychodzącej

Dominik Grzywaczewski:
Jakub J.:

O którym 'from' piszesz? envelope-from czy header-from?

Chodzi mi o nagłówek, który jest ustawiany razem z:

To:
Subject:
Message-Id:
Date:
From:
To są nagłówki "ustawiane" przez MUA, już w fazie "DATA" sesji SMTP.
Tylko teraz to nie wiem dokładnie, który za co odpowiada.
Erm, nie chwaliłbym się tym na Twoim miejscu ;)
W pliku konfiguracyjnym /etc/postfix/main.cf mam coś takiego:

smtpd_sender_restrictions = permit_mynetworks,
check_sender_access hash:/etc/postfix/restrict_classes/sender_access,
permit_sasl_authenticated,
reject_unknown_sender_domain,
reject_non_fqdn_sender


Nastomiast w pliku /etc/postfix/restrict_classes/sender_access:

mojadomena.pl OK
mojadomena.com.pl REJECT
Po drugie, jeśli Twoi użytkownicy uwierzytelniają się przy użyciu mechanizmu SMTP AUTH, to permit_sasl_authenticated przed check_sender_access i tak ich przepuści, nie? :)
A gdy zmieniłbym kolejność weryfikacji i linia z "check_sender_access" byłaby przed "permit_sasl_authenticated"?
Wtedy Twój serwer stałby się openrelay'em, bo *każdy*, kto zaczałby korespondencję z Twoim serwerem od

EHLO coś.tam.gdzieś.com
MAIL FROM:<cokolwiek@mojadomena.pl>

mógłby wysłać maila *gdziekolwiek* (jeśli pozostałe, nie przytoczone tutaj fragmenty konfiguracji nie nakładają innych restrykcji). Mam nadzieję, że mynetworks masz odpowiednio wąskie.
Czy wystarczy w postfixie, żeby przynajmniej jedna reguła zwróciła - "REJECT" - i wtedy wiadomość jest odrzucana?
http://www.postfix.org/SMTPD_ACCESS_README.html
2. Czy każda zmiana w pliku postfixa wymaga:
Co to jest "plik postfixa"?
Generalnie wszystkie pliki konfiguracyjne np. main.cf, tablice odwzorowujące etc.
Nie ma "generalnej" odpowiedzi na takie pytanie (no, może poza czymś w stylu "wymagają od administratora wykonania czynności adekwatnej do wprowadzonych zmian").

konto usunięte

Temat: Postfix - blokowanie poczty wychodzącej

maciej natan milaszewski:
Nie wiem czy dobrze zrozumialem - wiadomo poniedzialek
Jeśli w poniedziałki nie wiesz czy dobrze rozumiesz, to czemu nie wstrzymasz się z odpowiedzią do wtorku... ? :)
chcialby ograniczyc zeby userzy wysylali poczte TYLKO ze swojej domeny user@domena.pl czyli w sesji po zautoyzwaniu zeby niezmieniali pola from na inne np szef@domena.pl

jezeli tak to powinienes klikac u siebie w postfixe cos takiego jak mapa senderow jak masz w bazie to:
smtpd_sender_login_maps = mysql:/etc/postfix/mysql_virtual_sender_login_maps.cfg
oraz reject_sender_login_mismatch,
I jak to niby zabezpiecza przed sytuacją, o jakiej pisze przedmówca?
Maciej Natan Milaszewski

Maciej Natan Milaszewski Kierownik dzialu IT
/ sys administrator

Temat: Postfix - blokowanie poczty wychodzącej

no wtorek wiadomo jest po poiedzialku i jeszcze czlowiek zmeczony ;)

tyle z uszczypliwosci

jak niby zabezpiecza ? odsylam do dokumentacji postfixa i spraw odnosnie map senderow i np na strone lemata odnosnie poczty

jak to dziala wymusza by user mail poprawne from

czyli jak ustawisz userowi ze ma wysylac jako jan@domena.pl to tylko to zostanie przez server zaakceptowane
jezli ustawi sobie janeczek@domena.pl to tez nie wysle
nawet jak twoj mta bedziemial konta "fizyczne" i maile jako "sendmail style" to tez nie wysle naet jako jan@inna.domena.na.serverze.pl

http://www.postfix.org/postconf.5.html

na marginesie o tym samym piszsz pare postow wyzej :)maciej natan milaszewski edytował(a) ten post dnia 28.03.11 o godzinie 14:58

konto usunięte

Temat: Postfix - blokowanie poczty wychodzącej

maciej natan milaszewski:
jak niby zabezpiecza ? odsylam do dokumentacji postfixa i spraw odnosnie map senderow i np na strone lemata odnosnie poczty

jak to dziala wymusza by user mail poprawne from
Może wrócimy do dyskusji, gdy uświadomisz sobie różnicę między from z koperty, a from z nagłówków, ok?
Maciej Natan Milaszewski

Maciej Natan Milaszewski Kierownik dzialu IT
/ sys administrator

Temat: Postfix - blokowanie poczty wychodzącej

"Jeśli masz na myśli envelope-from, to proponuję zainteresować się SASL + smtpd_sender_login_maps + reject_sender_login_mismatch."
-true

Jeśli header-from, to (oczywiście) odpowiednie header_checks.
http://www.postfix.org/postconf.5.html"
-true

widzę ze przemawia przez szanownego kolego złość/czepialstwo/fifarafowanie więc wypowiedz szanownego kolegi przemilcze .......

miłego dniamaciej natan milaszewski edytował(a) ten post dnia 28.03.11 o godzinie 19:14

konto usunięte

Temat: Postfix - blokowanie poczty wychodzącej

maciej natan milaszewski:
widzę ze przemawia przez szanownego kolego złość/czepialstwo/fifarafowanie więc wypowiedz szanownego kolegi przemilcze .......
Jeśli nie życzysz sobie czepialstwa, to zechciej nie odsyłać adwersarzy do dokumentacji nie rozumiejąc istoty problemu. Dominik wyjaśnił, o które from mu chodzi, a Ty dalej swoje... :)
Dominik Grzywaczewski

Dominik Grzywaczewski Senior Cloud
Engineer

Temat: Postfix - blokowanie poczty wychodzącej

No dobra Panowie, pozwólcie, że powiem, może innymi słowami co chcę osiągnąć :-)

Z racji, że nie mam jeszcze zbyt dużego doświadczenia w postfixie chciałbym zasięgnąć rady (how to):

Zabronić moim użytkownikom wysyłać pocztę z dowolnego adresu. Nie chcę, żeby sobie ustawiali co tylko im do głowy przyjdzie.
Użytkowników mam zamiar pobierać z LDAP'a.

Na początku testów ustawiłem sobie canonical_maps i w sumie zachowuje się tak jakbym chciał, jednak pomyślałem, że postfix musi mieć mechanizm ograniczenia użytkowników co do ustawiania pola w nagłówku "MAIL FROM".

I narazie tylko to chce osiągnąć, pewnie dodatkową funkcjonalnością byłby komunikat w kliencie poczty skierowany do użytkownika, który będzie chciał nadużyć i ustawić nieodpowiednie pole "From", ale to później...

W wolnym czasie będę próbował Waszych sugestii i z góry za nie już serdecznie dziękuje.

Następna dyskusja:

postfix + IMAP Outlook nie ...




Wyślij zaproszenie do