Strona 1 z 1

Iptables - dla serwera pocztowego

: 10 stycznia 2013, 11:21
autor: swiru
Witam,

Potrzebuję uruchomić iptables na serwerze pocztowym opartym o postfixa z dovecot-em, POP3, ssl i tls. Jednak nie wychodzi mi to za bardzo. Znalazłem bardzo ładny skrypt:

Kod: Zaznacz cały



### BEGIN INIT INFO 
# Provides: firewall 
# Required-Start: $remote_fs $syslog 
# Required-Stop: $remote_fs $syslog 
# Default-Start: 2 3 4 5 
# Default-Stop: 0 1 6 
# Short-Description: Start firewall daemon at boot time 
# Description: Enable service provided by daemon. ### END INIT INFO   

IPTABLES="/sbin/iptables" 
MODPROBE="/sbin/modprobe"  

# Ladujemy mozliwosc sledzenia polaczen (potrzebne dla ftp etc.) 
$MODPROBE ip_conntrack  # sledzienie polaczen -> cat  /proc/net/ip_conntrack #$MODPROBE ip_conntrack_ftp# odhashowac aby miec  aktywne ftp  

# interface 
LAN="eth0" 
INT_NET="x.x.x.x/x"  

# adresy IP z dostępem do SSH, podajemy oddzielone spacjami 
ADM="x.x.x.x"  

# odblokowane porty INPUT 
# podawac po przecinku np. "21,22,123" 
# 80 - WWW 
# 21 - FTP 
I_TCP="21,80" 
I_UDP=""  

# Porty wychodzace z serwera OUTPUT 
# 123 - NTP 
O_TCP="21,22,80" 
O_UDP="53,123"  

case "$1" in 
start|restart)  

echo "Czyszczenie firewall'a..." 
#czyszczenie regul 
$IPTABLES -F 
$IPTABLES -X  

echo "Start firewall'a..." 
#Odrzucamy domyslnie wszystie pakiety przychodzace 
$IPTABLES -P INPUT DROP 
$IPTABLES -P FORWARD DROP 
$IPTABLES -P OUTPUT DROP  

# pozwalamy na ruch na interfejsie lokalnym 
iptables -A INPUT -i lo -j ACCEPT 
iptables -A OUTPUT -o lo -j ACCEPT  

# akceptujemy polaczenia zainicjowane przez serwer 
$IPTABLES -A INPUT -m state --state INVALID -j LOG --log-prefix "DROP_INVALID: " --log-ip-options --log-tcp-options 
$IPTABLES -A INPUT -m state --state INVALID -j DROP 
$IPTABLES -A INPUT -i $LAN -m state --state ESTABLISHED,RELATED -j ACCEPT  
$IPTABLES -A OUTPUT -m state --state INVALID -j LOG --log-prefix "DROP_INVALID: " --log-ip-options --log-tcp-options 
$IPTABLES -A OUTPUT -m state --state INVALID -j DROP 
$IPTABLES -A OUTPUT -o $LAN -m state --state ESTABLISHED,RELATED -j ACCEPT  

### anti-spoofing rules 
$IPTABLES -A INPUT -i eth0 ! -s $INT_NET -j LOG --log-prefix "SPOOFED_PKT: " 
$IPTABLES -A INPUT -i eth0 ! -s $INT_NET -j DROP  

# Ping 
$IPTABLES -A INPUT -p icmp --icmp-type echo-request -j LOG --log-prefix 
"Ping: " --log-ip-options --log-tcp-options 
$IPTABLES -A INPUT -p icmp --icmp-type echo-request -j ACCEPT 
$IPTABLES -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT  

# SSH 
if [ -n "$ADM" ] ; then 
for IP in $ADM ; do 
$IPTABLES -A INPUT -i $LAN -s $IP -p tcp --dport 22 --syn -m state --state NEW -j ACCEPT 
done 
fi  

# Porty wychodzące 
if [ -n "$O_TCP" ] ; then 
$IPTABLES -A OUTPUT -o $LAN -m multiport -p tcp --dports $O_TCP --syn -m  state --state NEW -j ACCEPT fi  if [ -n "$O_UDP" ] ; then 
$IPTABLES -A OUTPUT -o $LAN -m multiport -p udp --dports $O_UDP -m state --state NEW -j ACCEPT 
fi  

# odblokwanie portow TCP i UDP 
if [ -n "$I_TCP" ] ; then 
$IPTABLES -A INPUT -i $LAN -m multiport -p tcp --dports $I_TCP --syn -m state --state NEW -j ACCEPT 
fi  

if [ -n "$I_UDP" ] ; 
then $IPTABLES -A INPUT -i $LAN -m multiport -p udp --dports $I_UDP -m state --state NEW -j ACCEPT 
fi  

# logowanie pakietow odrzuconych /var/log/messages 
$IPTABLES -A INPUT ! -i lo -j LOG --log-prefix "DROP_INPUT: " --log-ip-options --log-tcp-options 
$IPTABLES -A OUTPUT ! -o lo -j LOG --log-prefix "DROP_OUTPUT: " --log-ip-options --log-tcp-options ;;  

stop) 
echo "Zatrzymanie firewall'a..." 
$IPTABLES -F 
$IPTABLES -X 
;;  

clear) 
echo "Czyszczenie firewall'a..., UWAGA! wszystko na ACCEPT!" 
$IPTABLES -F 
$IPTABLES -X 
$IPTABLES -P INPUT ACCEPT 
$IPTABLES -P FORWARD ACCEPT 
$IPTABLES -P OUTPUT ACCEPT 
;;  

*) 
N=/etc/init.d/$NAME 
echo "Usage: $N {start|stop}" >&2 
exit 1 
;;  

esac  

exit 0
ze strony:

http://blog.piotrbaran.com.pl/2011/0...ables-dla.html

Po dodaniu portów "25,110,443,995" i uruchomieniu firewalla, outlook nie może połączyć się z serwerem pocztowym w celu pobrania wiadomości. Proszę o pomoc, przerobienie tego skryptu.

: 10 stycznia 2013, 11:35
autor: fnmirk
Jakiego skryptu? Nawet nie chce Ci się wkleić na forum wersji skryptu jaką przerabiasz pod siebie. Forum nie jest szklaną kulą spełniającą życzenia.

Proszę zapoznać się z działem dla początkujących.
http://debian.linux.pl/threads/5676-Prz ... -napiszesz
http://debian.linux.pl/threads/12771-Za ... #post81406

A jak serwer, na którym znajduje się skrypt przestanie działać to co?

: 10 stycznia 2013, 11:44
autor: Yampress
A jakiego demona do odbierania poczty zainstalowałeś wraz z postfixem? I na jakim protokole działa POP3 IMAP4?

: 10 stycznia 2013, 12:11
autor: swiru
założyłem nowy temat bo ten ktoś zamknął.

: 11 stycznia 2013, 14:15
autor: swiru
Przekazywanie poczty zapewnia dovecot z autoryzacją SASL, POP3, SSL i TLS.

: 11 stycznia 2013, 15:06
autor: Yampress

Kod: Zaznacz cały

$IPTABLES -P OUTPUT ACCEPT
I wszystkie reguły z wyjścia możesz usunąć.

: 11 stycznia 2013, 15:40
autor: swiru
Niestety nie rozumiem Twojego pomysłu, możesz troszkę bardziej go opisać albo wskazać co usunąć z danego skryptu.

: 11 stycznia 2013, 22:25
autor: stepien86
Yampresowi chodzi chyba byś zmienił:

Kod: Zaznacz cały

$IPTABLES -P INPUT DROP 
$IPTABLES -P FORWARD DROP 
$IPTABLES -P OUTPUT DROP
na:

Kod: Zaznacz cały

echo "Start firewall'a..." 
$IPTABLES -P INPUT DROP 
$IPTABLES -P FORWARD DROP 
$IPTABLES -P OUTPUT ACCEPT
Lub dodaj porty do firewalla i sprawa powinna być załatwiona.

: 18 stycznia 2013, 12:46
autor: sethiel
Jeśli używasz TLS albo jeśli nie korzystasz z portu 25/465 dla wysyłania wiadomości e-mail od klientów to jeszcze wtedy odblokuj port TCP 587.

Zobacz czy masz w pliku /etc/postfix/master.cf linijkę:

Kod: Zaznacz cały

submission...

Zakładając, że poprawnie obsługujesz submission - czy to tls, ssl, czy bez szyfrowania - to odblokuj port właśnie 587.

Nie zapominaj o revDNS - 1/3 serwerów odbiorców uwali Twoją pocztę, bo jeśli tego nie masz ustawionego to traktować będą wysyłaną przez Twój serwer pocztę jako spam.

: 18 stycznia 2013, 19:41
autor: lessmian2
Wracając do meritum problemu. Co konkretnie nie działa? Pobieranie wiadomości (POP3, IMAP) po jakim protokole? Wysłanie? Jeśli zrobiłeś dokładnie tak jak napisałeś w pierwszym poście, to nie będzie Ci działać IMAPS (IMAP po SSL na porcie 993) bo nie uwzględniłeś tego portu (za to dodałeś nie wiem po co 443). Napisz co konkretnie nie działa. Sprawdziłeś wszystkie opcje (wysyłanie po SMTP, SMTPS, odbieranie po IMAP, IMAPS, POP3, POP3S)? Nie działa żadna z nich, czy może coś jednak jest ok?