| Autor | Zpráva | ||
|---|---|---|---|
| Ondřej Ryška Profil |
#1 · Zasláno: 20. 9. 2013, 12:02:04
Zdravím,
potřeboval bych zajistit aby nebyl Postfix nastaven jako relay. Tuším že to bude někde v souboru main.cf. Asi parametr mynetworks a možná relayhost. Do této konfigurace jsem nesahal takže je stejná jako po instalaci Postfixu. Část konfigurace z main.cf je následující: myhostname = ll-test alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases mydestination = ll-test, localhost.localdomain, , localhost relayhost = mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all Jak mám tedy nastavit ty parametry aby nebylo povoleno relay? Musím se přiznat, že o relay akorát vím, že nějak souvisí se zneužitím pro odesílání spamu a že ještě existuje nějaké open relay... nastavení Postfix jako ne-relay po mě požaduje správce serveru na kterém běží můj VS. Postfix potřebuji pouze pro odesílání mailu metodou mail() z php formuláře. K ničemu jinému jej nepotřebuji. Nebo je Postfix nastaven jako ne-relay už implicitně po instalaci? Děkuji |
||
| Davex Profil |
#2 · Zasláno: 20. 9. 2013, 20:25:10
Ondřej Ryška:
„Jak mám tedy nastavit ty parametry aby nebylo povoleno relay?“ Aby fungovalo doručování pouze do lokálních schránek na serveru (pro domény definované v mydestination), tak se zakomentuje řádek
# mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 „Musím se přiznat, že o relay akorát vím, že nějak souvisí se zneužitím pro odesílání spamu a že ještě existuje nějaké open relay“ Kdokoliv může zneužít k odesílání spamu Open Relay. Relay může zneužít k odesílání spamu pouze někdo, kdo se připojí k mail serveru z adres uvedených v mynetworks.
Podrobněji viz www.postfix.org/BASIC_CONFIGURATION_README.html „Nebo je Postfix nastaven jako ne-relay už implicitně po instalaci?“ Ano, implicitně po instalaci by všechny mail servery neměli být open relay. |
||
| Ondřej Ryška Profil |
#3 · Zasláno: 22. 9. 2013, 09:02:17
Ok díky, trocu chápu ale ještě trochu tápu. Pro upřesnění: potřebuju odesílat maily potvrzující objednávku z php skriptu. Maily tedy musí být posílány na jakoukoliv adresu na jakkýkoliv mailserver. Moje konfigurace vypadá takto:
myhostname = moje-doména.cz alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases mydestination = ll-test, localhost.localdomain, , localhost relayhost = #mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all Píšete, že pokud nechci aby byl postfix nastaven jako relay, mám zakomenovat řádek mynetworks. Ale taky píšete že zprávy budou doručovány pouze do schránek na serveru. Já jsem tento řádek zakomentoval a odesílání na jakoukoliv adresu mi teď pořád funguje. Mám to tedy tak nechat? A celkově by mě zajímalo jestli pro účel pouhého odesílání mám konfiguraci nastavenou spráně, jestli třeba nemám mít nastavené inet_interfaces na loopback only. A poslední věc, maily mi chodí z adresy www-data@moje-domena.cz. Kterým parametrem je možné přenastavit www-data na mnou požadovaná jméno? Děkuji |
||
| DJ Miky Profil |
#4 · Zasláno: 22. 9. 2013, 12:32:47
Pro kontrolu, zda se tvůj server chová jako open relay, je na internetu několik nástrojů, např. http://mxtoolbox.com/diagnostic.aspx. Stačí zadat IP adresu serveru.
Z hlediska bezpečnosti je lepší, pokud mailserver nebude vůbec naslouchat na vnějším rozhraní, když to není potřeba. Tím se zároveň vyřeší i případný problém s open relay (zvenčí se nelze připojit => nelze zneužít server jako open relay). Co se týče adresy odesílatele, toto je základní tvar, protože je pošta odesílána uživatelem www-data (pod kterým běží webový server a PHP). V manuálu PHP funkce mail() je příklad (č. 2) na změnu adresy odesílatele – stačí nastavit hlavičku From: na požadovanou adresu.
|
||
| Davex Profil |
#5 · Zasláno: 22. 9. 2013, 13:49:45
Ondřej Ryška:
Možná si budeme muset vyjasnit pojmy. • Relay znamená, že se e-maily budou přeposílat někam jinam. • Open Relay znamená, že server přeposílá všechny e-maily a je mu jedno odkud a od koho je dostal. „Maily tedy musí být posílány na jakoukoliv adresu na jakkýkoliv mailserver.“ Tak to je potom potřeba mít Relay povolené. „Já jsem tento řádek zakomentoval a odesílání na jakoukoliv adresu mi teď pořád funguje.“ Ještě je možné, že po zakomentování se uplatní nějaká výchozí hodnota, takže lepší by bylo pro vypnutí Relay nastavit prázdné mynetworks = Pro zákaz Open Relay není potřeba nic upravovat, protože stačí výchozí mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 „A celkově by mě zajímalo jestli pro účel pouhého odesílání mám konfiguraci nastavenou spráně, jestli třeba nemám mít nastavené inet_interfaces na loopback only.“ Pokud se budou e-maily pouze odesílat jinam a nebudou se přijímat z internetu pro lokální doručení, tak opravdu stačí nastavit inet_interfaces = loopback-only # nebo inet_interfaces = 127.0.0.1, [::1] „Kterým parametrem je možné přenastavit www-data na mnou požadovaná jméno?“ Pokud používáš PHP funkci mail(), tak
• v souboru php.ini sendmail_path = "/usr/sbin/sendmail -t -i -fodkoho@example.com" mail() (3. příklad)
|
||
| Ondřej Ryška Profil |
#6 · Zasláno: 22. 9. 2013, 15:27:50
DJ Miky:
Díky za tip s tím mxtoolboxem. Při správné konfiguraci kterou popsal DaveX mi to píše: SMTP Open Relay - OK - Not an open relay. Což je dobře protože chci mít zakázané open relay. Přidal jsem From: pro požadovanou adresu a maily teď už chodí se správnou adresou odesílatele.
Díky Davex: Díky za objasnění pojmů, to mi dost pomohlo. Už jsem teda pochopil, že pro doručování zpráv na jakýkoliv mailserver musí být povoleno Relay. Takže chci zakázat pouze open relay, což jak píšete je zakázáno implicitně. Takže řádek
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 inet_interfaces = loopback-only Odesílání funguje jak má a jak jsem již zmíníl, http://mxtoolbox.com/diagnostic.aspx vypisuje že open relay je zakázáno. Takže teď je vše nastaveno jak potřebuji. Děkuji. |
||
|
Časová prodleva: 12 let
|
|||
0