PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mein iptables.sh script in ordnung ?



planetmax
18.02.06, 19:57
Hallo,

Ich hab heute für meinen vServer ein .sh Script mit iptables regeln geschrieben.
Da ich kein Profi in Sachen iptables bin... würde ich gerne wissen ob mein script in Ordnung ist oder nicht und was es noch zu verbessern gibt.



#!/bin/sh

iptables -F
iptables -F INPUT


#### BANNED IPs and Domains ####

iptables -A INPUT -s <IP> -p icmp -j REJECT

#### / BANNED IPs and Domains ####


#### ACCEPT ####

# HTTP
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# HTTPS
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# MYSQL
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
# FTP
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
# FTP PASSIV-MODE
iptables -A INPUT -p tcp --dport 50000:50050 -j ACCEPT
# SMTP
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
# AUTH
iptables -A INPUT -p tcp --dport 113 -j ACCEPT
# POP
iptables -A INPUT -p tcp --dport 110 -j ACCEPT
# BIND
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
# SSH
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# LOCAL
iptables -A INPUT -d <vSERVER IP> -s 127.0.0.1 -j ACCEPT
# PING
iptables -A INPUT -p icmp -j ACCEPT

#### / ACCEPT ####


#### DROP ####

# ALL
iptables -A INPUT -d <vSERVER IP> -j DROP

#### / DROP ####

echo "Firewall started/ reloaded :-)"


Danke

DaGrrr
18.02.06, 20:44
Hi,

deine Default Policy ist auf ACCEPT gesetzt, diese sollte auf DROP gesetzt sein.


iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

Brauchst du all diese Dienste, die du in deinem Script freigeben möchtest?

Falls du eine gute Lösung brauchst empfehle ich dir den
iptables generator: http://harry.homelinux.org

Dieses Script kannst du einsetzen und während dessen dich in iptables einlesen, falls du ein eigenes Script einsetzen möchtest.

Grüße
DaGrrr

planetmax
18.02.06, 22:50
Hallo,

Ja diese Dienste brauche ich.
Wenn ich INPUT, OUTPUT und FORWARD auf DROP setzte bekomme ich keine Verbindung mehr zu meinem Server.

Den Generator hab ich auch schon getestet, dieser setzt auch INPUT, OUTPUT und FORWARD auf DROP.

MfG

DaGrrr
18.02.06, 23:20
So wie dein Script jetzt aussieht, brauchst du kein script, weil es eh keine Wirkung hat.

Wenn du keine Verbindung mehr bekommst, weil die Policys auf DROP sind, dann hast du was falsch gemacht.

fuffy
23.02.06, 14:21
Hi!


Ja diese Dienste brauche ich.
Muss MySQL unbedingt von anderen Rechnern aus erreichbar sein?


Wenn ich INPUT, OUTPUT und FORWARD auf DROP setzte bekomme ich keine Verbindung mehr zu meinem Server.
Das ist auch kein Wunder, weil dann bei dir die Antwortpakete nicht zurückgeschickt werden können. Du solltest schon ne Regel einbauen, die Pakete mit State ESTABLISHED oder RELATED rauslässt.


Den Generator hab ich auch schon getestet, dieser setzt auch INPUT, OUTPUT und FORWARD auf DROP.
Selbstverständlich. Alles andere wäre auch hirnrissig.

Gruß
fuffy

DaGrrr
23.02.06, 14:33
die Pakete mit State ESTABLISHED oder RELATED rauslässt.

... dieses wird auch beim iptables Generator genutzt, daher denke ich das du irgendwo einen Fehler gemacht hast evtl. beim manuellen editieren?

Grüße
DaGrrr