PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Iptables - SMTP-Server



TheNose
03.09.06, 07:55
Hallo!

Auf meinem Server will ich durch Iptables verhindern, dass Ports von außerhalb zu erreichen sind, die das nicht sein sollten. Habe mir daher ein Iptables-Script geschrieben, dass auch ganz gut funktioniert.

Jetzt habe ich aber auf meinem Server einen SMTP-Server installiert und habe nun das Problem, dass ausgehende eMails nicht versendet werden. Eingehende eMails hingegen werden angenommen. Ein weiteres Problem ist auch, dass das versenden einer eMail über einen Mail-Client sehr sehr lange dauert.
Ohne aktivierte Iptables-Regeln funktioniert alles wunderbar.

Momentan sieht meine Regel, die SMTP erlauben soll so aus:

#SMTP
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 25 -j ACCEPT


Was mache ich falsch?

RichieX
03.09.06, 11:30
iptables -A OUTPUT -p tcp --sport 25 -j ACCEPT
Versteh ich nicht. Sag blos du hast auch sämtlichen ausgehenden Verkehr verboten?
Zeig doch mal dein gesamtes Script.

RichieX

TheNose
03.09.06, 11:34
#!/bin/bash
#Löscht alle vorhandenen Regeln
iptables -F

#Setzt Standartbehandlung
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

#Packete für lo durchlassen
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

#Laesst verwandte Pakete zu zugelassenen Ports durch
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#SSH
iptables -A INPUT -p tcp --dport 2222 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 2222 -j ACCEPT

#SMTP
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 25 -j ACCEPT

#SMTPS
iptables -A INPUT -p tcp --dport 465 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 465 -j ACCEPT

#IMAPS
iptables -A INPUT -p tcp --dport 993 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 993 -j ACCEPT

#SSL
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 443 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --sport https --dport 1024: -m state --state ESTABLISHED -j ACCEPT

#Webserver
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT

#DNS
iptables -A OUTPUT -p udp --sport 1024: --dport 53 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 1024: --dport 53 -j ACCEPT
iptables -A INPUT -p udp -s 80.237.128.144 --sport 53 -j ACCEPT
iptables -A INPUT -p tcp -s 80.237.128.144 --sport 53 -j ACCEPT
iptables -A INPUT -p udp -s 80.237.128.145 --sport 53 -j ACCEPT
iptables -A INPUT -p tcp -s 80.237.128.145 --sport 53 -j ACCEPT

#FTP (nur OUTPUT)
iptables -A OUTPUT -p tcp --sport 1024: --dport 21 -j ACCEPT

#HTTP (nur OUTPUT)
iptables -A OUTPUT -p tcp --sport 1024: --dport 80 -j ACCEPT

#Ausgehenden Ping zulassen
iptables -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT

# Loggt alle fehlgeschlagenen Verbindungen (bis auf NetBios)
iptables -A INPUT -p udp --dport netbios-ns -j DROP
iptables -A INPUT -p udp --dport netbios-dgm -j DROP
iptables -A INPUT -p tcp --dport netbios-ssn -j DROP
iptables -A INPUT -j LOG
iptables -A OUTPUT -j LOG

RichieX
04.09.06, 09:03
IIRC benutzt smtp ausgehend auch Ports über 1024, wie ftp.