Postfix jako playground w Ubuntu
Dzisiaj zmuszony byłem stworzyć skrypt w PHP, który wykorzystuje funkcję mail(). Ponieważ miałem serdecznie dość wgrywać na mój serwer plików, tylko po to aby sprawdzić czy wysyłany mail jest poprawny postanowiłem na szybko zainstalować sobie jakiś serwer SMTP.
Gdzieś przeczytałem, że klasyczny sendmail to przeżytek, a na dodatek jest pełen luk, także wybór padł na POSTFIXa. Instalacja i konfiguracja pod Ubuntu jest banalna. Wystarczyło posłużyć się poleceniem:
sudo apt-get install postfix
A potem przejść bardzo prostą konfigurację (praktycznie wszystko pozostawiłem standardowo). Wprawdzie taka konfiguracja nieczym nie zachwyca. Powiem wręcz, że to jest bardzo ubogi efekt, ale najważniejsze co chciałem zostało osiągnięte. Mogłem korzystać z funkcji mail.
Jak wspomniałem ten serwer jest bardzo ubogi. Wprawdzie mam dynamicznie przydzielane IP to jednak nie chciałem aby każdy miał dostęp do tego serwera i wysyłał (choćby przez telnet) jakieś fake maile. Aby zablokować dostęp z zewnątrz posłużyłem się regułką IPTABLES, która blokowała wszelkie nowe połączenia na port 25. Przyznam się, że nie do końca rozumiem zasade pisania regułek, ale okazuje się, że z localnego hosta (127.0.0.1) mogę bez problemu się łączyć i maile wysyłać, także poprawne działanie serwera jest pewne.
No tak, prawie bym zapomniał o tej regułce. Oto ona:
iptables -A INPUT -p tcp -s 0/0 --dport 25 -m state --state NEW,ESTABLISHED -j REJECT iptables -A OUTPUT -p tcp --sport 25 -d 0/0 -m state --state ESTABLISHED -j REJECT
Komentarze
Disclaimer
Jakkolwiek jestem właścicielem tego bloga, nie ponoszę odpowiedzialności za kometarze napisane przez innych obywateli tego wolnego kraju.
Zastrzegam sobie prawo do kasowania/modyfikowania komentarzy (jeśli uznam to za stosowne).
#1
Z iptables raczej ostrożnie. U mnie te dwie regułki BLOKUJĄ dostęp nawet z localhost !
Aby zablokować port 25 z zewnątrz
skonfiguruj Postfixa:
postconf -ev inet_interfaces=loopback-only
Dodaj też do /etc/postfix/main.cf:
local_recipient_maps=
A potem restart /etc/init.d/postfix restart
leon | #