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

2 Responses to “Postfix jako playground w Ubuntu”

  1. leon May 23, 2007 at 11:26 pm #

    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

  2. ha4rr9y May 23, 2007 at 11:26 pm #

    witam dla osób czytających uważnie i znających iptables wiedzą że reject = blokowanie zamiast tego wystarczy zmienić na ACCEPT i bedzie ok z firewalli polecam Firewall Builder