Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2011-06-29 16:47:43

  kubak - Użytkownik

kubak
Użytkownik
Zarejestrowany: 2011-05-06

Postfix: jak zablokować wysyłanie maili dla wybranych userów

Witam,

Chciałbym kilku systemowym użytkownikom uniemożliwić wysyłanie maili w świat przez Postfix.
Strasznie męczę się z dokumentacją Postfixa i mimo różnych prób serwer ciągle przepuszcza maila wysyłane przez nieporządanych userów.

Bardzo proszę o instrukcję jak taką prostą weryfikacją wprowadzić.

Próbuję z smtpd_recipient_restrictions, i w tej chwili mam to tak ustawione:
/etc/postfix/main.cf:

Kod:

...
smtpd_recipient_restrictions =
     check_sender_access hash:/etc/postfix/blockedsenders
     permit_sasl_authenticated
     permit_mynetworks
     reject_unauth_destination
..

/etc/postfix/blockedsenders:

Kod:

test@mail.pakamera.com.pl  reject
test@pakamera.com.pl  reject

Nie chcę, żeby można było wysyłać maile z adresu test@mail.pakamera.com.pl
Ale to nie działa.

Pozdrawiam

Offline

 

#2  2011-06-29 18:13:38

  kubak - Użytkownik

kubak
Użytkownik
Zarejestrowany: 2011-05-06

Re: Postfix: jak zablokować wysyłanie maili dla wybranych userów

I jeszcze jedno - mam wrażenie, że pewne ograniczenia, które wprowadzam w main.cf nie obowiązują w ogóle gdy wysyłam maila z przy użyciu polecenia "mail" (a nie łącząc się z serwerem smtp po porcie 25). Ustawiłem na przykład w main.cf "reject" wszystkiego, przy próbie łączenia przez smtp mail został odrzucony, ale wysłanie z command line powiodło się. Jak to zablokować?
W ogóle nie chciałbym, żeby można było wysyłać maile przez polecenie "mail".

Offline

 

#3  2011-06-29 19:19:22

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Postfix: jak zablokować wysyłanie maili dla wybranych userów

A ja to widzę tak - problemu nie ma.
Wystarzy rozdzielić bazy haseł dla serwera smtp (Postfixa), i serwera Pop/imap.
Wtedy bedzie można sprawdzać posztę przez pop/imap, ale wysylać przez postfixa będą mogli tylko ci użytkownicy, którzy istnieją w bazie postfixa.

I nie jest to na kilka godzin z dokumentacją, bo skrzynka pocztowa jest rozwiązaniem kompleksowym, ale skutecznym rozwiązaniem dość idiotycznego problemu.

Innym rozwiązaniem jest np spamassassin i blacklist, dzięki temu taki user dostanie np 50 punktów extra i i jego mail można zatrzymać.
Nie wiem, jak numer ze spamassassinem zalatwic w Postfixie, ale  w Qmailu i qmail-sacnner sprawa jest banalna.

Pomijajac, że skoro np Qmail ma plik konfiguracyjny, gdzie można banować adresy i domeny, to Postfix pewnie też ma jakieś rozwiązanie blacklisty.

Co do filtru, który u Ciebie nie działa, przypuszczam, że Postfix nie stosuje filtra, który użyłeś, o ile wysylający przejdzie poprawnie proces autoryzacji.

To by było na tyle
;-)

Ostatnio edytowany przez Jacekalex (2012-04-01 10:07:47)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#4  2011-06-29 19:30:01

  kubak - Użytkownik

kubak
Użytkownik
Zarejestrowany: 2011-05-06

Re: Postfix: jak zablokować wysyłanie maili dla wybranych userów

Jacekalex napisał(-a):

A ja to widzę tak - problemu nie ma.
Wystarzy rozdzielić bazy ahseł dla serwera smtp (Postfixa), i serwera Pop/imap.
Wtefy bedzie można sprawszać posztę przez pop/imap, ale wysylać przez postfixa będą mogli tylko ci użytkownicy, którzy istnieją w bazie postfixa.

I nie jest to na kilka godzin z dokumentacją, bo skrzynka pocztowa jest rozwiązaniem kompleksowym, ale skutecznym rozwiązaniem dość idiotycznego problemu.

Innym rozwiązaniem jest np spamassassin i blacklist, dzięki temu taki user dostanie np 50 punktów extra i i jego mail można zatrzymać.
Nie wiem, jak numer ze spamassassinem zalatwic w Postfixie, ale  w Qmailu i qmail-sacnner sprawa jest banalna.

Pomijajac, że skoro np Qmail ma plik konfiguracyjny, gdzie można banować adresy i domeny, to Postfix pewnie też ma jakieś rozwiązanie blacklisty.

Co do filtru, który u Ciebie nie działa, przypuszczam, że Postfix nie stosuje filtra, który użyleś, o ile wysylający przejdzie poprawnie proces autoryzacji.

To by było na tyle
;-)

Ok, ale którzy to są "ci użytkownicy, którzy istnieją w bazie postfixa"?

Bo według mnie to wszyscy userzy.


Chciałbym, żeby funkcja mail w php nie wysyłała maila. Teraz wystarczy palnąć w skrypcie: mail('jakub@pakamera.com.pl', 'tttt', 'sdfsdfsdfsd'); i mail wysłany
z adres www-data@mail.pakamera.com.pl. Tak być nie może, muszę to zablokować i w żaden sposób nie mogę. Czy ktoś sobie z tym poradził?

Offline

 

#5  2011-06-29 19:46:12

  milyges - inż.

milyges
inż.
Skąd: Gorlice/Kraków
Zarejestrowany: 2006-04-09
Serwis

Re: Postfix: jak zablokować wysyłanie maili dla wybranych userów

Wyłącz funkcję mail() w php?

Offline

 

#6  2011-06-29 19:46:33

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Postfix: jak zablokować wysyłanie maili dla wybranych userów

A ci userzy jak te maile wysylają, przez interfejs www, czy przez smtp?
Bo jeśli funkcja mail, w php, a Postfix ma ustawiony adres serwera www z php jako adres, z którego przyjmuje wszystkie maile (tzw relay adres), to  wtedy wszystkie filtry przepuszczą takiego maila.
Wystarczy zlikwidować adres relay, wymusić autoryzację, tylko wtedy php mail też musi przejść proces autoryzacji.
Ale żeby w skrypcie php filtrować uzytkowników, którzy mogą wysylać maile, to już trzeba załatwić w tym skrypcie.

Choć np roudcube wysyła przez smtp z uwierzytelnieniem, ale nie wiem, co tam masz za skrypt php, że taki straszny z tym problem.

To by było na tyle
;-)

Ostatnio edytowany przez Jacekalex (2012-04-01 10:08:34)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#7  2011-06-29 19:52:15

  kubak - Użytkownik

kubak
Użytkownik
Zarejestrowany: 2011-05-06

Re: Postfix: jak zablokować wysyłanie maili dla wybranych userów

Jacekalex napisał(-a):

A ci userzy jak te maile wysylają, przez interfejs www, czy przez smtp?
Bo jeśli funkcja mail, w php, a Postfix ma ustawiony adres serwera www z php jako adres, zktórego przyjmuje wszystkie maile (tzw relay adres), to  wtedy wszystkie filtry przepuszczą takiego maila.
Wystarczy zlikwidować adres relay, wymusić autoryzcję, tylko wtedy php mail też musi przejść proces autoryzacji.
Ale żeby w skrypcie php filtrować uzytkowników, którzy mogą wysylać maile, to już trzeba załatwić w tym skrypcie.

Choć np roudcube wysyła przez smtp z uwierzytelnieniem, ale nie wiem, co tam masz za skrypt php, że taki straszny z tym problem.

To by było na tyle
;-)

Mistrzu, swoje pytanie kieruję do tych, którzy ZNAJĄ SIĘ na konfiguracji postfixa.

Skrypt mam prosty:

Kod:

<?php
mail('jakub@pakamera.com.pl', 'asdasdasdasd', 'sdfsdfsdfsd');
?>

:-) i chcę, żeby to nie wysyłało maili.

Rozwiązanie z wyłączeniem funkcji "mail" działa, ale to trochę z armatą na mrówkę.

Offline

 

#8  2011-06-29 19:56:57

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Postfix: jak zablokować wysyłanie maili dla wybranych userów

Może to zawiera odp: ftp://control.slupsk.pl/pub/Linux/Postfix-virtual-antirelay.pdf

Mistrzu, swoje pytanie kieruję do tych, którzy ZNAJĄ SIĘ na konfiguracji postfixa.

I dlatego w pierwszym poście nie napisaleś nawet, że chodzi o wysyłanie przez relaya?

Napisałbym conieco, ale nie chcę flame robić....

To by bylo na tyle
;-)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#9  2011-06-29 20:02:58

  kubak - Użytkownik

kubak
Użytkownik
Zarejestrowany: 2011-05-06

Re: Postfix: jak zablokować wysyłanie maili dla wybranych userów

Jacekalex napisał(-a):

Może to zawiera odp: ftp://control.slupsk.pl/pub/Linux/Postfix-virtual-antirelay.pdf

Mistrzu, swoje pytanie kieruję do tych, którzy ZNAJĄ SIĘ na konfiguracji postfixa.

I dlatego w pierwszym poście nie napisaleś nawet, że chodzi o wysyłanie przez relaya?

Napisałem o tym w drugim poście.

Offline

 

#10  2011-07-01 11:38:31

  jezoo - Dzięcioł

jezoo
Dzięcioł
Skąd: Z lasu
Zarejestrowany: 2005-09-02

Re: Postfix: jak zablokować wysyłanie maili dla wybranych userów

@kubak z tego co pamietam i skleroza mi tej wiedzy nie usunela ;) to funkcja mail() kozysta z sendmaila, to go wylacz, i tak jak milyges napisal mozesz wylaczyc funkcje   mail() w konfigu php


LRU #480459

Offline

 

#11  2011-07-01 11:39:58

  kubak - Użytkownik

kubak
Użytkownik
Zarejestrowany: 2011-05-06

Re: Postfix: jak zablokować wysyłanie maili dla wybranych userów

funkcję mail wyłączyłem

a jak wyłączyć sendmaila?

usunąć skrypt?

Offline

 

#12  2011-07-01 11:42:31

  jezoo - Dzięcioł

jezoo
Dzięcioł
Skąd: Z lasu
Zarejestrowany: 2005-09-02

Re: Postfix: jak zablokować wysyłanie maili dla wybranych userów

killall sendmail? i z runlevel usunac (init.d)?


LRU #480459

Offline

 

#13  2011-07-01 11:44:39

  kubak - Użytkownik

kubak
Użytkownik
Zarejestrowany: 2011-05-06

Re: Postfix: jak zablokować wysyłanie maili dla wybranych userów

jezoo napisał(-a):

killall sendmail? i z runlevel usunac (init.d)?

ja mam postfixa, więc sendmail nie chodzi jak daemon

Offline

 

#14  2011-07-01 13:25:26

  ba10 - Członek DUG

ba10
Członek DUG
Skąd: jesteś ?
Zarejestrowany: 2006-03-07
Serwis

Re: Postfix: jak zablokować wysyłanie maili dla wybranych userów

Może skorzystaj z jednej z restrykcyjnych powłok takich jak rbash ( info w man bash ) czy ibsh, tam będziesz mógł określić co moga uruchamiać uzytkownicy co nie oraz wiele innych rzeczy.

Ostatnio edytowany przez ba10 (2011-07-01 13:30:39)


"Jeżeli chcesz się nauczyć Linuksa, to pierwsze co musisz zrobić to odrzucić wszelkie przyzwyczajenia wyniesione z poprzedniego systemu. Twoja wiedza jest o tyle zgubna, że daje Ci poczucie że coś jednak wiesz — jednak w kontekście Linuksa prawdopodobnie nie wiesz jeszcze nic." Minio
Mój Blog, a później Tańczymy ;)

Offline

 

#15  2011-07-01 13:38:14

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Postfix: jak zablokować wysyłanie maili dla wybranych userów

Jeżeli funkcja mail używa polecenia sendmail, to może zamiast  tego pliku wykonywalnego sendmail podłożyć skrypt napisany np w perlu, który najpierw będzie sprawdzał kto wysyła i do kogo wysyła, i co wysyła, a potem odpalał właściwe polecenie wysłania maila?
Zmiana nazwy pliku sendmail wykonalna, można potem porzeźbić w tym skrypcie,
żeby sprawdzał, co trzeba, i powinno ruszyć.

To by było na tyle
;-)

Ostatnio edytowany przez Jacekalex (2011-07-01 13:41:34)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#16  2011-07-02 11:12:19

  jezoo - Dzięcioł

jezoo
Dzięcioł
Skąd: Z lasu
Zarejestrowany: 2005-09-02

Re: Postfix: jak zablokować wysyłanie maili dla wybranych userów

kubak napisał(-a):

jezoo napisał(-a):

killall sendmail? i z runlevel usunac (init.d)?

ja mam postfixa, więc sendmail nie chodzi jak daemon

Jak masz go wylaczonego, to wylacz rowniez funkcje mail i kozystaj z smtp lub soketow w php, mozesz rowiniez wykozystac skrypty z pear'a do wysylania maili i masz po problemie, kolo loguje sie z danymi takimi jakie sa w bazie dla postfixa i tyle, dodajesz kolumne 'allow' i przed wyslaniem sprawdzasz czy jest 1 czy 0 i czesc piesni.

a temat uwazam za zamkniety. :P


LRU #480459

Offline

 

#17  2011-07-02 11:18:36

  kubak - Użytkownik

kubak
Użytkownik
Zarejestrowany: 2011-05-06

Re: Postfix: jak zablokować wysyłanie maili dla wybranych userów

jezoo napisał(-a):

kubak napisał(-a):

jezoo napisał(-a):

killall sendmail? i z runlevel usunac (init.d)?

ja mam postfixa, więc sendmail nie chodzi jak daemon

Jak masz go wylaczonego, to wylacz rowniez funkcje mail i kozystaj z smtp lub soketow w php, mozesz rowiniez wykozystac skrypty z pear'a do wysylania maili i masz po problemie, kolo loguje sie z danymi takimi jakie sa w bazie dla postfixa i tyle, dodajesz kolumne 'allow' i przed wyslaniem sprawdzasz czy jest 1 czy 0 i czesc piesni.

a temat uwazam za zamkniety. :P

Tak robię.
Ale jest jeszcze komenda "exec". Tej bałbym się blokować.

Offline

 

#18  2011-07-02 11:24:35

  jezoo - Dzięcioł

jezoo
Dzięcioł
Skąd: Z lasu
Zarejestrowany: 2005-09-02

Re: Postfix: jak zablokować wysyłanie maili dla wybranych userów

mozesz spokojnie zablokowac :) z reszta jezeli zastosujesz ta funkcje to masz polowe problemu z glowy, po drugie exec() mozesz rowniez zablokowac poniewaz

php.info napisał(-a):

When allowing user-supplied data to be passed to this function, use escapeshellarg() or escapeshellcmd() to ensure that users cannot trick the system into executing arbitrary commands.

Ostatnio edytowany przez jezoo (2011-07-02 11:25:33)


LRU #480459

Offline

 

#19  2011-07-02 11:25:14

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Postfix: jak zablokować wysyłanie maili dla wybranych userów

@Jezoo

kubak napisał(-a):

Mistrzu, swoje pytanie kieruję do tych, którzy ZNAJĄ SIĘ na konfiguracji postfixa.

przecież z powyższego cytytu jasno wynika, że to, że autor wątku nie wie co to w serwerze pocztowym znaczy relay*, i nie wie, jak skonfigurować php (w php.ini nie musi być sendmalil, można dać dowolny skrypt)

Kod:

grep -i sendmail php.ini
; http://php.net/sendmail-from
;sendmail_from = me@example.com
; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
;sendmail_path =
; to the sendmail binary. These parameters will always replace the value of

To za to wszystko jest Postfix winien, i  te straszne Hamy na dugu, które nie chcą powiedzieć, jak Postfix ma się domyśleć, o co Jaśnie Panu chodzi.

Tylko że Postfix ma prawdopodobnie ustawione przyjmowanie wszystkich maili z danego adresu IP, a już na pewno nie obsłuży autoryzacji przy  wysyłaniu maila z localhosta poleceniem sendmail.

A to, że ktoś nie potrafi pomyśleć, i skonfigurować odpowiednio php,
i wymyśleć rozwiazania z zastąpieniem sendmaila innym rozwiązaniem obsługującym kontrolę dostępu czy np autoryzację, to jest wina Postfixa i nasza :P

To by bylo na tyle
;-)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#20  2011-07-02 11:34:27

  jezoo - Dzięcioł

jezoo
Dzięcioł
Skąd: Z lasu
Zarejestrowany: 2005-09-02

Re: Postfix: jak zablokować wysyłanie maili dla wybranych userów

@Jacekalex masz racje
dodam tylko, ze przypomnialem sobie tez swoja akcje z postfixem, rowniez mialem podobny problem, ze byle kto mogl wysylac maile z serwera, ale wystarczylo G zapytac i wszystko stalo sie jasne :)


LRU #480459

Offline

 

#21  2011-07-02 11:42:32

  kubak - Użytkownik

kubak
Użytkownik
Zarejestrowany: 2011-05-06

Re: Postfix: jak zablokować wysyłanie maili dla wybranych userów

Jacekalex napisał(-a):

@Jezoo

kubak napisał(-a):

Mistrzu, swoje pytanie kieruję do tych, którzy ZNAJĄ SIĘ na konfiguracji postfixa.

przecież z powyższego cytytu jasno wynika, że to, że autor wątku nie wie co to w serwerze pocztowym znaczy relay*, i nie wie, jak skonfigurować php (w php.ini nie musi być sendmalil, można dać dowolny skrypt)

Gratuluję dedukcji i umiejętności czytania ze zrozumieniem!

"Chamy" pisze się przez "ch". Chyba, że chodziło Ci o szynkę.


Dzięki wszystkim za pomysły. PHP jest rozwiązany.

Nie potrafię jeszcze porządnie rozwiązać problemu shella (np. dla tych, którzy mają dostęp ssh) i użycia w nim polecenia "mail". Jasne, mogę je wyłączyć, ale nie chcę wyłączać dla wszystkich. Spróbuję z rbash / ibash.

Offline

 

#22  2011-07-02 12:07:30

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Postfix: jak zablokować wysyłanie maili dla wybranych userów

Jeśli dajesz Ludziom dostęp ssh i powłokę shell, to ja radziłbym każdemu userowi zrobić chroot/jaila,
w tym wątku: http://forum.dug.net.pl/viewtopic.php?id=18643 jest conieco na ten temat, a do kernela dorzuciić grsecurity i paxa (są w jednej łacie), żebyś nie musiał co chwila tego serwera naprawiać.

A jeśli porobisz userom z dostepem shell  chrooty, to sam zdecydujesz, jakie polecenia będą w nich dostępne.

Jednak kontrolę dostępu do funkcji mail w php trzeba będzie zrobić w konfiguracji php, przez jakiesmoduły, lub w skrypcie, ktory zastąpi polecenie sendmail.

To by było na tyle
;-)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)