postfix+header_checks

Konfiguracja serwerów, usług, itp.
piotreek
Posty: 5
Rejestracja: 27 czerwca 2014, 21:36

postfix+header_checks

Post autor: piotreek »

Witajcie,

Potrzebuję blokować możliwość wysyłania wiadomości jeżeli liczba adresatów w polach To lub Cc jest większa od 9.
Dodałem w header_checks następujące linijki:

Kod: Zaznacz cały

/^To :( [^@]*@){10,}/     REJECT Too many recepients.
/^To :( [^@]*@){10,}/     REJECT Too many recepients.
Rozwiązuje to mój problem, jednak pozostaje jedno ale: blokowana jest również poczta przychodząca spełniająca powyższe reguły,
a tego bym nie chciał. Czy możecie podpowiedzieć jakieś rozwiązanie, blokujące wychodząca a przepuszczające przychodząca?

Z góry dzięki, pozdrawiam,
Piotrek
piroaa
Beginner
Posty: 324
Rejestracja: 11 kwietnia 2008, 14:46

Post autor: piroaa »

Dzień dobry.
Wydaje mi się że wpis w /etc/postfix/master.cf załatwi sprawę.
Pozdrawiam.
piotreek
Posty: 5
Rejestracja: 27 czerwca 2014, 21:36

Post autor: piotreek »

Poświęciłem kilka godzin na szukanie informacji, ale nie udało mi się tego ustawić w master.cf , proszę o bardziej szczegółową podpowiedź.
Dzięki.
piroaa
Beginner
Posty: 324
Rejestracja: 11 kwietnia 2008, 14:46

Post autor: piroaa »

To pokaż co tam teraz siedzi u ciebie.
piotreek
Posty: 5
Rejestracja: 27 czerwca 2014, 21:36

Post autor: piotreek »

Wróciłem do defaultowej konfiguracji master.cf, wszystko co próbowałem powodowały całkowitą blokadę wysyłania, albo nie działało.
Na podstawie poniższego linka też kombinowałem, ale też bez oczekiwanego efektu:
http://serverfault.com/questions/334036 ... ic-domains
Na chwilę obecną to już raczej ponad moje możliwości...
piroaa
Beginner
Posty: 324
Rejestracja: 11 kwietnia 2008, 14:46

Post autor: piroaa »

Ja u siebie to trochę pozmieniałem więc dalej nie wiem jak to u ciebie wygląda, ale co tam.
Zakładam że masz coś takiego :
smtp inet n - n - - smtpd
No tak prosto kombinując wystarczy zrobić tak :
smtp inet n - n - - smtpd
-o header_checks=
I powinno działać.
A jak nie to tak :
piotreek
Posty: 5
Rejestracja: 27 czerwca 2014, 21:36

Post autor: piotreek »

W master.cf mam:

Kod: Zaznacz cały

# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
smtp      inet  n       -       n       -      200       smtpd
smtps     inet  n       -       -       -       -       smtpd
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
pickup    fifo  n       -       -       60      1       pickup
cleanup   unix  n       -       -       -       0       cleanup
qmgr      fifo  n       -       n       300     1       qmgr
tlsmgr    unix  -       -       -       1000?   1       tlsmgr
rewrite   unix  -       -       -       -       -       trivial-rewrite
bounce    unix  -       -       -       -       0       bounce
defer     unix  -       -       -       -       0       bounce
trace     unix  -       -       -       -       0       bounce
verify    unix  -       -       -       -       1       verify
flush     unix  n       -       -       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
smtp      unix  -       -       -       -       -       smtp
# When relaying mail as backup MX, disable fallback_relay to avoid MX loops
relay     unix  -       -       -       -       -       smtp
    -o fallback_relay=
showq     unix  n       -       -       -       -       showq
error     unix  -       -       -       -       -       error
discard   unix  -       -       -       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       -       -       -       lmtp
anvil     unix  -       -       -       -       1       anvil
scache      unix    -    -    -    -    1    scache
Zastosowanie tego:

Kod: Zaznacz cały

smtp      inet  n       -       -       -      200       smtpd
[B]-o header_checks=[/B]
powoduje, że stosowane są header_checks z main.cf czyli przychodzaca z zewnątrz i wychodząca jest sprawdzana

Zastosowanie:

Kod: Zaznacz cały

smtp      inet  n       -       -       -      200       smtpd
[B]-o receive_override_options=no_header_body_checks[/B]
powoduje, że nie stosowane są header_checks z main.cf czyli przychodząca z zewnątrz i wychodząca nie jest sprawdzana

Wydaje mi się trzeba raczej w master.cf ustawić odrębny plik dla header_checks sprawdzające ale tylko wychodząca z następującymi regułami

Kod: Zaznacz cały

/^To :( [^@]*@){10,}/     REJECT Too many recepients.
/^To :( [^@]*@){10,}/     REJECT Too many recepients.
a w main.cf zostawić header_checks, sprawdzające pozostałe rzeczy bez dwóch powyższych.
piroaa
Beginner
Posty: 324
Rejestracja: 11 kwietnia 2008, 14:46

Post autor: piroaa »

A no i jest master.cf
Z tego co widzę masz tam smtp i smtps teraz tylko wymusić by lokalni logowali się po smtps o tak :
smtpd_tls_auth_only = yes
poczta przychodząca z zewnątrz będzie sobie dalej szła po smtp.
A dalej to już tak jak mówiłeś dwa osobne pliki jeden dla twoich userów drugi dla reszty świata.
I wydaje mi się że zadziała.
Choć prawdę mówiąc nie wiem czy
smtpd_recipient_limit = 10
nie roi tego co próbujesz osiągnąć.
Pozdrawiam.
piotreek
Posty: 5
Rejestracja: 27 czerwca 2014, 21:36

Post autor: piotreek »

Dzięki za odpowiedź i pomoc. Będę robił testy w najbliższym czasie, ale ostatnio coś czytałem, że przy mojej wersji postfixa może nie zadziałać wczytanie dwóch różnych plików
z header_checks, a na pewno nie zadziała: header_checks i smtp_header_checks jednocześnie. smtpd_recipient_limit byłoby dobre gdyby działało tylko na pole To i CC, a to niestety
uwzględnia też BCC.

Pozdrowienia
ODPOWIEDZ