• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Brauche ich eine Firewall?

Also bei mir schaut es wie folgt aus:

|Internet| -> |router| -> |monowall(firewall)| -> |Mailserver| -> |zich millionen Clients :)|

Meine Frage Brauche ich auf dem Mailserver eine Firewall?
Oder sollte ich IPTABLES irgendwie einstellen?
Ist es ratsam eine Firewall hinter einer Firewall aufzustellen?
 
Na der Mailserver ist ja ein eigenes System - da kann eine Firewall nicht schaden. Weniger um sich in Richtung Internet abzusichern als gegenüber den eigenen Clients. Die meisten Angriffe auf ein Netzwerk kommen sowieso von innen (gelangweilte oder gefrustete Mitarbeiter - Spieltrieb ...).
 
ja das sehe ich als einen Grund:

Also ich hätte dann ein McFirewall für folgendes Bitte :) :

smpt (Ganz wichtig) (Port 25)
pop3, Imap (Nicht wirklich wichtig)

ssh (port 22)
telnet (port 23)
ftp (port 21)
dns (port 53?)

und internet verbindung für einige Programme
razor (tcp: 7 ; 2703)
DCC ( UDP Port 6277)
pyzor (TCP Port 24441)
____________________________________________________

Ich hätte es wie folgt gemacht (ich kann es nicht wirklich):
iptables -F
iptables -N FIREWALL
iptables -F FIREWALL
iptables -A INPUT -j FIREWALL
iptables -A FORWARD -j FIREWALL
iptables -A FIREWALL -p tcp -m tcp --dport 25 --syn -j ACCEPT
iptables -A FIREWALL -p tcp -m tcp -s 192.168.100.0/24 --dport 22 --syn -j ACCEPT
iptables -A FIREWALL -p tcp -m tcp -s 192.168.100.0/24 --dport 23 --syn -j ACCEPT
iptables -A FIREWALL -i lo -j ACCEPT
iptables -A FIREWALL -p udp -m udp --sport 53 -j ACCEPT
iptables -A FIREWALL -p tcp -m tcp --sport 53 -j ACCEPT
iptables -A FIREWALL -p tcp -m tcp --sport 23 -j ACCEPT
iptables -A FIREWALL -p tcp -m tcp --sport 21 -j ACCEPT
iptables -A FIREWALL -p tcp -m tcp --sport 7 -j ACCEPT
iptables -A FIREWALL -p tcp -m tcp --sport 2703 -j ACCEPT
iptables -A FIREWALL -p udp -m udp --dport 123 -j ACCEPT
iptables -A FIREWALL -p udp -m udp --sport 6277 -j ACCEPT
iptables -A FIREWALL -p udp -m udp --sport 24441 -j ACCEPT
iptables -A FIREWALL -p tcp -m tcp --syn -j REJECT
iptables -A FIREWALL -p udp -m udp -j REJECT
iptables-save > /etc/firewall-rules
iptables-restore < /etc/firewall-rules


Es klappt auch nicht wirklich :(
 
Also müssten meine Firewall einstellungen wie folgt aussehen?:

Code:
[size=1]IPTABLES=/sbin/iptables 
HIGHPORT=1024:65535 

//Policy setzen - es wird alles verworfen 
$IPTABLES -P INPUT DROP 
$IPTABLES -P OUTPUT DROP 
$IPTABLES -P FORWARD DROP 

//Eingehende SSH Verbindung erlauben 
//Pakete vom Client zum Server 
$IPTABLES -A INPUT -p tcp --dport 22 --sport $HIGHPORT -m state --state NEW,ESTABLISHED -j ACCEPT; 
//Pakete vom SErver zum Client 
$IPTABLES -A OUTPUT -p tcp --sport 22 --dport $HIGHPORT -m state --state ESTABLISHED -j ACCEPT;


//Eingehende Telnet Verbindung erlauben 
//Pakete vom Client zum Server 
$IPTABLES -A INPUT -p tcp --dport 23 --sport $HIGHPORT -m state --state NEW,ESTABLISHED -j ACCEPT; 
//Pakete vom SErver zum Client 
$IPTABLES -A OUTPUT -p tcp --sport 23 --dport $HIGHPORT -m state --state ESTABLISHED -j ACCEPT;


//Eingehende SMTP Verbindung erlauben 
//Pakete vom Client zum Server 
$IPTABLES -A INPUT -p tcp --dport 25 --sport $HIGHPORT -m state --state NEW,ESTABLISHED -j ACCEPT; 
//Pakete vom SErver zum Client 
$IPTABLES -A OUTPUT -p tcp --sport 25 --dport $HIGHPORT -m state --state ESTABLISHED -j ACCEPT;


//Eingehende FTP Verbindung erlauben 
//Pakete vom Client zum Server 
$IPTABLES -A INPUT -p tcp --dport 21 --sport $HIGHPORT -m state --state NEW,ESTABLISHED -j ACCEPT; 
//Pakete vom SErver zum Client 
$IPTABLES -A OUTPUT -p tcp --sport 21 --dport $HIGHPORT -m state --state ESTABLISHED -j ACCEPT;


//Eingehende DNS Verbindung erlauben 
//Pakete vom Client zum Server 
$IPTABLES -A INPUT -p tcp --dport 53 --sport $HIGHPORT -m state --state NEW,ESTABLISHED -j ACCEPT; 
//Pakete vom SErver zum Client 
$IPTABLES -A OUTPUT -p tcp --sport 53 --dport $HIGHPORT -m state --state ESTABLISHED -j ACCEPT;

//Eingehende HTTP Verbindung erlauben (Zum download spezifischer SARules)
//Pakete vom Client zum Server 
$IPTABLES -A INPUT -p tcp --dport 80 --sport $HIGHPORT -m state --state NEW,ESTABLISHED -j ACCEPT; 
//Pakete vom SErver zum Client 
$IPTABLES -A OUTPUT -p tcp --sport 80 --dport $HIGHPORT -m state --state ESTABLISHED -j ACCEPT;

//Eingehende Razor Verbindung erlauben 
//Pakete vom Client zum Server 
$IPTABLES -A INPUT -p tcp --dport 7 --sport $HIGHPORT -m state --state NEW,ESTABLISHED -j ACCEPT; 
//Pakete vom SErver zum Client 
$IPTABLES -A OUTPUT -p tcp --sport 7 --dport $HIGHPORT -m state --state ESTABLISHED -j ACCEPT;
//Pakete vom Client zum Server 
$IPTABLES -A INPUT -p tcp --dport 2703 --sport $HIGHPORT -m state --state NEW,ESTABLISHED -j ACCEPT; 
//Pakete vom SErver zum Client 
$IPTABLES -A OUTPUT -p tcp --sport 2703 --dport $HIGHPORT -m state --state ESTABLISHED -j ACCEPT;


//Eingehende DCC Verbindung erlauben
//Pakete vom Client zum Server 
$IPTABLES -A INPUT -p udp --dport 6277 --sport $HIGHPORT -m state --state NEW,ESTABLISHED -j ACCEPT; 
//Pakete vom SErver zum Client 
$IPTABLES -A OUTPUT -p udp --sport 6277 --dport $HIGHPORT -m state --state ESTABLISHED -j ACCEPT;


//Eingehende pyzor Verbindung erlauben
//Pakete vom Client zum Server 
$IPTABLES -A INPUT -p tcp --dport 24441 --sport $HIGHPORT -m state --state NEW,ESTABLISHED -j ACCEPT; 
//Pakete vom SErver zum Client 
$IPTABLES -A OUTPUT -p tcp --sport 24441 --dport $HIGHPORT -m state --state ESTABLISHED -j ACCEPT;[/size]

Das mit dem HIGHPORT hab ich noch nicht so ganz verstanden?
Wozu brauch ich den?
darf/muss der der bei Allen anwendungen gleich sein?

Den DNS? brauch ich den? hatte das mal irgendwo gelesen
und HTTP download ist auch richtig?
 
Was Du jetzt konfiguriert hast sagt aus, dass die Maschine auf der die Firewall läuft keine einzige Verbindung starten darf. Nur annehmen. D.h. Du musst hier und da die Regeln umdrehen. Bei HTTP vermute ich will der Mailserver was downloaden und DNS liefert der Server vermutlich auch nicht.

Der Highport ist immer die andere Seite der Kommunikationsverbindung. Der Server hört auf einen Port aber der Client fragt von einem bestimmten Port an. Dieses Ports liegen immer Bereich 1024-65535. Die nennt man Highports.
 
Ob man in der OutPUT chain überhaupt filtern sollte ist Ansichtssache. Ich meine im allgemeinen ist es nicht notwendig.

Falls der Rechner DNS-Server ist dann dport 53 für TCP UND UDP öffnen.
 
Oben