iptables lässt email empfangen aber nicht mehr versenden

Rund um die Sicherheit des Systems und die Applikationen
Post Reply
spirit
Posts: 11
Joined: 2003-03-02 16:18
 

iptables lässt email empfangen aber nicht mehr versenden

Post by spirit »

Hallo allerseits,

ich habe dieses Script hier aus dem Forum und nur ein klein wenig angepassst:

Code: Select all

#! /bin/sh
#
### Grundkonfiguration 
# Externes Interface 
INET_IP="217.xxx.xxx.xxx"
INET_IFACE="eth0" 
# Internes Interface 
LO_IFACE="lo" 
LO_IP="127.0.0.1" 
# Pfad zu iptables-Binary 
IPTABLES="/usr/sbin/iptables" 

# Laden der benötigten Kernel-Module 
/sbin/depmod -a 
/sbin/modprobe ip_tables 
/sbin/modprobe ip_conntrack 
/sbin/modprobe iptable_filter 
/sbin/modprobe iptable_mangle 
/sbin/modprobe iptable_nat 
/sbin/modprobe ipt_LOG 
/sbin/modprobe ipt_limit 
/sbin/modprobe ipt_state 

# Aktivierung IP-Forwarding 
echo "1" > /proc/sys/net/ipv4/ip_forward 

### Regelwerk 
# Default-Policy -> alles droppen 
$IPTABLES -P INPUT DROP 
$IPTABLES -P OUTPUT DROP 
$IPTABLES -P FORWARD DROP 

# Neue Tables anlegen, um Paketgruppen zu definieren 
$IPTABLES -N bad_tcp_packets 
$IPTABLES -N allowed 
$IPTABLES -N icmp_packets 
$IPTABLES -N tcp_packets 

# "Böse" Pakete werden direkt "aussortiert" 
$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG  
--log-prefix "New not syn:" 
$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP 

# "Normale" Pakete durchlassen 
$IPTABLES -A allowed -p TCP --syn -j ACCEPT 
$IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT 
$IPTABLES -A allowed -p TCP -j DROP 

# Benötigte Ports öffnen 
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 20 -j allowed
$IPTABLES -A tcp_packets -p udp -s 0/0 --dport 20 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 21 -j allowed 
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 22 -j allowed
$IPTABLES -A tcp_packets -p udp -s 0/0 --dport 22 -j allowed 
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 25 -j allowed
$IPTABLES -A tcp_packets -p udp -s 0/0 --dport 25 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 80 -j allowed
$IPTABLES -A tcp_packets -p udp -s 0/0 --dport 80 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 110 -j allowed
$IPTABLES -A tcp_packets -p udp -s 0/0 --dport 110 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 113 -j allowed
$IPTABLES -A tcp_packets -p udp -s 0/0 --dport 113 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 465 -j allowed
$IPTABLES -A tcp_packets -p udp -s 0/0 --dport 2390 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 2390 -j allowed

# ICMP auf's nötigste Begrenzen (echo request und time exceeded) 
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT 
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT 

# Input-Table 
$IPTABLES -A INPUT -p tcp -j bad_tcp_packets 
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LO_IP -j ACCEPT 
$IPTABLES -A INPUT -p ALL -d $INET_IP -m state --state ESTABLISHED,RELATED  
-j ACCEPT 
$IPTABLES -A INPUT -p TCP -i $INET_IFACE -j tcp_packets 
$IPTABLES -A INPUT -p UDP -i $INET_IFACE -j udpincoming_packets 
$IPTABLES -A INPUT -p ICMP -i $INET_IFACE -j icmp_packets 
$IPTABLES -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG  
--log-level DEBUG --log-prefix "IPT INPUT packet died: " 

# Forward-Table (theoretisch unnötig für Rootserver) 
$IPTABLES -A FORWARD -p tcp -j bad_tcp_packets 
$IPTABLES -A FORWARD -m limit --limit 3/minute --limit-burst 3 -j LOG  
--log-level DEBUG --log-prefix "IPT FORWARD packet died: " 

# Output-Table 
$IPTABLES -A OUTPUT -p tcp -j bad_tcp_packets 
$IPTABLES -A OUTPUT -p ALL -s $LO_IP -j ACCEPT 
$IPTABLES -A OUTPUT -p ALL -s $LAN_IP -j ACCEPT 
$IPTABLES -A OUTPUT -p ALL -s $INET_IP -j ACCEPT
Jetzt habe ich damit das Problem das ich zwar Emails empfangen kann aber keine versenden kann.
Sobald ich den Server reboote damit alle Regeln gelöscht sind kommen die vorher versendeten Emails an.
In /var/log/mail steht dazu z.B. folgendes:

Code: Select all

Mar  6 19:16:34 pxxxxxxxx postfix/qmgr[470]: 2A5EC2EC08D: from=<blabla@domain.tld>, size=646, nrcpt=1 (queue active)
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
Contact:
 

Re: iptables lässt email empfangen aber nicht mehr versenden

Post by captaincrunch »

Zwei Sachen :
1. Bei den "Benötigten Ports" gibts du fast alles per TCP und UDP frei. Brauchst du nicht machen, da die Services, die du offen haben willst alle über TCP laufen ...

2. Wenn du Mails empfangen, aber nicht versenden kannst, hängt das mit an Sicherheit grenzender Wahrscheinlichkeit nach nicht mit den IPTables zusammen, da Port 25 schließlich offen ist.
Das Problem wir eher irgendwo beim Postfix zu suchen sein.
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
spirit
Posts: 11
Joined: 2003-03-02 16:18
 

Re: iptables lässt email empfangen aber nicht mehr versenden

Post by spirit »

CaptainCrunch wrote:Zwei Sachen :
1. Bei den "Benötigten Ports" gibts du fast alles per TCP und UDP frei. Brauchst du nicht machen, da die Services, die du offen haben willst alle über TCP laufen ...

2. Wenn du Mails empfangen, aber nicht versenden kannst, hängt das mit an Sicherheit grenzender Wahrscheinlichkeit nach nicht mit den IPTables zusammen, da Port 25 schließlich offen ist.
Das Problem wir eher irgendwo beim Postfix zu suchen sein.
Zu 1. ok, werde ich ausprobieren
Zu 2. das Problem tritt aber nur auf sobald ich mit dem Script die Regeln aktiviere, ohne iptables geht empfangen und versenden einwandfrei.
Obendrein sind die Zugänge im allgemeinen (ssh/ftp/mail etc.) alle beim Login sehr sehr langsam, teilweise wartet man fast eine Minute bis man eingeloggt ist, und auch das nur solange die Regeln aktiv sind.
spirit
Posts: 11
Joined: 2003-03-02 16:18
 

Re: iptables lässt email empfangen aber nicht mehr versenden

Post by spirit »

Postfix versucht den Mailserver des Empfänger "rauszufinden", ich weiß nicht wie, vielleicht eine Art Ping.

Code: Select all

Mar  9 21:31:59 pxxxxxxxx postfix/smtp[719]: 8E5652EC08D: to=<blabla@domain.tld>, relay=none, delay=57, status=deferred (Name service error for domain.tld: Host not found, try again)
Wenn Iptables nicht aktiv ist kommt diese Meldung:

Code: Select all

Mar  9 21:27:06 pxxxxxxxx postfix/smtp[443]: 5D7862EC08D: to=<blabla@domain.tld>, relay=mail.domain.tld[61.140.xxx.xxx], delay=924, status=sent (250 2.0.0 h29KR5H18551 Message accepted for delivery)
Wegen der Meldung "Name service error" habe ich mal die Ports für den DNS (53) geöffnet (ist bei mir noch keiner installiert).
Doch das war es auch nicht.
Ich habe noch verschiedene andere Dinge probiert, wie z.B. die Ports über 1024 zu öffnen für INPUT und OUTPUT aber nichts funktioniert.
Hat nicht jemand zufällig eine ähnliche Zusammenstellung - Postfix - Iptables - Suse8.1 und kann mir sein Script für Iptables zusenden oder hier posten?
thunderrole
Posts: 7
Joined: 2003-03-09 15:00
 

Re: iptables lässt email empfangen aber nicht mehr versenden

Post by thunderrole »

Hallo,

geb mal den Port 53 frei, wegen DNS Querries.
spirit
Posts: 11
Joined: 2003-03-02 16:18
 

Re: iptables lässt email empfangen aber nicht mehr versenden

Post by spirit »

Wegen der Meldung "Name service error" habe ich mal die Ports für den DNS (53) geöffnet (ist bei mir noch keiner installiert).
Doch das war es auch nicht.
Hab ich doch :'-(
thunderrole
Posts: 7
Joined: 2003-03-09 15:00
 

Re: iptables lässt email empfangen aber nicht mehr versenden

Post by thunderrole »

Ich sehe da keinen Port 53 offen......
spirit
Posts: 11
Joined: 2003-03-02 16:18
 

Re: iptables lässt email empfangen aber nicht mehr versenden

Post by spirit »

Thunderrole wrote:Ich sehe da keinen Port 53 offen......
Na mittlerweile habe ich etwas rumprobiert und der Port ist geöffnet.

Code: Select all

$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 53 -j allowed
thunderrole
Posts: 7
Joined: 2003-03-09 15:00
 

Re: iptables lässt email empfangen aber nicht mehr versenden

Post by thunderrole »

hm. Das DIng bekommt aber offensichtlich keine Verbindung raus, gehen Webseiten Aufrufe?
spirit
Posts: 11
Joined: 2003-03-02 16:18
 

Re: iptables lässt email empfangen aber nicht mehr versenden

Post by spirit »

Korrektur:
Mit w3m nach draussen geht nicht, von aussen erreiche ich meine Domain, allerdings bekomme ich von Confixx eine Fehlermeldung wenn ich die Domain ohne www erreichen will, selbst wenn ich in Confixx eine andere Zieladresse für die Domain ohne www einstelle geht das nicht.
Aber ich glaube nicht das dies etwas damit zu tun hat.

Port 80 ist auf jeden Fall offen auf tcp.
thunderrole
Posts: 7
Joined: 2003-03-09 15:00
 

Re: iptables lässt email empfangen aber nicht mehr versenden

Post by thunderrole »

Hallo,

da nach draussen nicht geht denke ich haben wir das Problem, deine OUTPUT Regeln werden nicht sitmmen.
spirit
Posts: 11
Joined: 2003-03-02 16:18
 

Re: iptables lässt email empfangen aber nicht mehr versenden

Post by spirit »

Die Output-Regeln sind die selben geblieben wie oben.

Code: Select all

# Output-Table 
$IPTABLES -A OUTPUT -p tcp -j bad_tcp_packets 
$IPTABLES -A OUTPUT -p ALL -s $LO_IP -j ACCEPT 
$IPTABLES -A OUTPUT -p ALL -s $LAN_IP -j ACCEPT 
$IPTABLES -A OUTPUT -p ALL -s $INET_IP -j ACCEPT 
Post Reply