iptables Script, für Rootserver tauglich?

D

DiWoWo

Grünschnabel
Ich hab mal bissl gegoogelt, nach einem passenden Script, welches ich auf meinem Rootserver gerne als Firewall einsetzen würde. Gefunden hab ich unter anderem dieses "Tutorial".

Dort habe ich jetzt mal das Script einwenig angepasst, wie ich denke daß es funktionieren würde.

Hier erst mal mein Ergebnis:

Code:
#!/bin/sh

# Flushen, Löschen, Neuerstellung - nicht vergessen im Script! #
################################################################
iptables -F
iptables -F -t nat

iptables -F sperre
iptables -X sperre
iptables -N sperre
iptables -F sperre

# first contact #
#################
iptables -A sperre -i tun0 -s ! 10.8.0.0/255.255.255.255 -j DROP # Alles aus tun0 ohne passende IP wegwerfen
iptables -A sperre -i eth0 -j ACCEPT # Sonst alles von eth0 erlauben
iptables -A sperre -i lo -s 127.0.0.1/255.0.0.0 -j ACCEPT # Für Loopback wir immer alles erlaubt ausser von nicht 127.0.0.1

# acceptstuff #
###############
iptables -A sperre -p tcp --dport 21 -j ACCEPT # ftp erlauben
iptables -A sperre -p tcp --dport 22 -j ACCEPT # SSH
iptables -A sperre -p tcp --dport 80 -j ACCEPT # Apache
iptables -A sperre -p tcp --dport 443 -j ACCEPT # Apache/SSL
iptables -A sperre -p udp --dport 1194 -j ACCEPT # openVPN
## .....hier würden dann noch weitere Ports folgen, falls nötig!

# Antworten zulassen #
######################
iptables -A sperre -m state --state ESTABLISHED,RELATED -j ACCEPT

# Alles andere abweisen (RFC-konform) #
# folgende Zeilen garantieren RFC-konforme Antworten. (Port geschlossen), aber Antworten sind Antworten. Jedes Paket kann Informationen beinhalten, 
# also ist ein DROP an dieser Stelle sicherer, allerdings wird ein DROP von Portscannern als gefiltert erkannt und macht den rechner interessanter,
# REJECT, wie es unten angeführt ist, als geschlossen. Jeder möge selbst entscheiden..
#######################################
iptables -A sperre -p tcp -j REJECT --reject-with tcp-reset
iptables -A sperre -p udp -j REJECT --reject-with icmp-port-unreachable

# sperre aktivieren #
#####################
iptables -A INPUT -j sperre
iptables -A FORWARD -j sperre
iptables -P INPUT DROP
iptables -P FORWARD DROP

iptables -P OUTPUT ACCEPT # output immer annehmen (nochmal ein Trojanerhinweis...)
iptables -P OUTPUT ACCEPT -t nat

echo "Firewall laeuft......"

Jetzt wäre meine Frage, ob es denn für einen Rootserver in der Form tauglich wäre, bzw auch in seiner Funktion korrekt ist.

Über schnelle Antworten würd ich mich freuen.
 
Naja, etwas Lückenhaft. Schau dir mal meine Einstellungen an. Ein Beispiel kannst du leider nicht 1:1 übernahmen, weil es immer davon abhängt was du machen willst...

Code:
set -e

echo 0 > /proc/sys/net/ipv4/ip_forward
([ -f /var/lock/subsys/ipchains ] && /etc/init.d/ipchains stop) >/dev/null 2>&1 || true
(rmmod ipchains) >/dev/null 2>&1 || true
/sbin/iptables -F
/sbin/iptables -X
/sbin/iptables -Z
/sbin/iptables -P INPUT DROP
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A INPUT -p tcp ! --syn -j REJECT --reject-with tcp-reset
/sbin/iptables -A INPUT -m state --state INVALID -j DROP
/sbin/iptables -P OUTPUT DROP
/sbin/iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp ! --syn -j REJECT --reject-with tcp-reset
/sbin/iptables -A OUTPUT -m state --state INVALID -j DROP
/sbin/iptables -P FORWARD DROP
/sbin/iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A FORWARD -p tcp ! --syn -j REJECT --reject-with tcp-reset
/sbin/iptables -A FORWARD -m state --state INVALID -j DROP
/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A OUTPUT -o lo -j ACCEPT
/sbin/iptables -A FORWARD -i lo -o lo -j ACCEPT
/sbin/iptables -t mangle -F
/sbin/iptables -t mangle -X
/sbin/iptables -t mangle -Z
/sbin/iptables -t mangle -P PREROUTING ACCEPT
/sbin/iptables -t mangle -P OUTPUT ACCEPT
/sbin/iptables -t mangle -P INPUT ACCEPT
/sbin/iptables -t mangle -P FORWARD ACCEPT
/sbin/iptables -t mangle -P POSTROUTING ACCEPT
/sbin/iptables -t nat -F
/sbin/iptables -t nat -X
/sbin/iptables -t nat -Z
/sbin/iptables -t nat -P PREROUTING ACCEPT
/sbin/iptables -t nat -P OUTPUT ACCEPT
/sbin/iptables -t nat -P POSTROUTING ACCEPT

/sbin/iptables -A INPUT -p tcp --dport 8443 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 8880 -j ACCEPT

/sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 443 -j ACCEPT

/sbin/iptables -A INPUT -p tcp --dport 21 -j ACCEPT

/sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT

/sbin/iptables -A INPUT -p tcp --dport 25 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 465 -j ACCEPT

/sbin/iptables -A INPUT -p tcp --dport 110 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 995 -j ACCEPT

/sbin/iptables -A INPUT -p tcp --dport 143 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 993 -j ACCEPT

/sbin/iptables -A INPUT -p tcp --dport 106 -j ACCEPT

/sbin/iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

/sbin/iptables -A INPUT -p tcp --dport 5432 -j ACCEPT

/sbin/iptables -A INPUT -p tcp --dport 9008 -j DROP
/sbin/iptables -A INPUT -p tcp --dport 9080 -j DROP

/sbin/iptables -A INPUT -p udp --dport 137 -j DROP
/sbin/iptables -A INPUT -p udp --dport 138 -j DROP
/sbin/iptables -A INPUT -p tcp --dport 139 -j DROP
/sbin/iptables -A INPUT -p tcp --dport 445 -j DROP

/sbin/iptables -A INPUT -p udp --dport 1194 -j ACCEPT

/sbin/iptables -A INPUT -p udp --dport 53 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 53 -j ACCEPT

/sbin/iptables -A INPUT -p icmp --icmp-type 8/0 -j ACCEPT

/sbin/iptables -A INPUT -j ACCEPT

/sbin/iptables -A OUTPUT -j ACCEPT

/sbin/iptables -A FORWARD -j DROP

echo 1 > /proc/sys/net/ipv4/ip_forward

In diesem Sinne
 

Ähnliche Themen

Port Forwarding mit iptables

ip6tables Problem

iptables verständniss frage, xrdp nicht erreichbar.

[SOLVED][CentOS 7] Samba server nicht erreichbar trotz firewall regeln.

iptables blocke nur von bestimmter ip

Zurück
Oben