Suche Firewallskript, welches ...

F

flugopa

Paranoide nicht besser schreiben könnten.

Kernel 2.6.18-92.1.13.el5
iptables v1.3.5

Evtl. habt Ihr gute und praktische Links zu Hardening?
 
Nun, das kann ich mir eigentlich nicht erklären. Das "Programm" ist ein einfaches Shellskript, das aus dem Frage und Antwortspiel Regeln für iptables generiert.

Irgendwelche Abhängigkeiten wären mir dabei nicht aufgefallen...
 
Für ganz paranoide:

Code:
# Alle Pakete verwerfen 
iptables --policy INPUT DROP
iptables --policy OUTPUT DROP
iptables --policy FORWARD DROP

# alle bestehenden Regeln zurücksetzen
iptables --flush INPUT
iptables --flush OUTPUT
iptables --flush FORWARD

# NAT Tabelle löschen
iptables --table nat --flush
scnr

Ist eigtl nicht so schwer, erstmal alles blocken dann nur bestimmte Sachen zulassen und anfügen:

Code:
# Lokale Schleife: ein- und ausgehenden Verkehr zulassen
iptables --append INPUT -i lo --jump ACCEPT
iptables --append OUTPUT -o lo --jump ACCEPT

# Ping erlauben
iptables --append INPUT -p icmp --icmp-type echo-request --jump ACCEPT
iptables --append OUTPUT -p icmp --icmp-type echo-request --jump ACCEPT

# custom: get Proxy-access to Internet (squid)
iptables --append INPUT -p tcp --sport 3128 --jump ACCEPT
iptables --append OUTPUT -p tcp --dport 3128 --jump ACCEPT

# custom: allow ssh
iptables --append INPUT -p tcp --dport 22 --jump ACCEPT
iptables --append OUTPUT -p tcp --sport 22 --jump ACCEPT

# Logging aktivieren, alles was abgewiesen wird
iptables --append INPUT -s 0.0.0.0/0 -d 0.0.0.0/0 --jump LOG --log-level 7 
iptables --append OUTPUT -s 0.0.0.0/0 -d 0.0.0.0/0 --jump LOG --log-level 7 
iptables --append FORWARD -s 0.0.0.0/0 -d 0.0.0.0/0 --jump LOG --log-level 7 

# Löschen der abgewiesenen Pakete
iptables --append INPUT -s 0.0.0.0/0 -d 0.0.0.0/0 --jump DROP
iptables --append OUTPUT -s 0.0.0.0/0 -d 0.0.0.0/0 --jump DROP
iptables --append FORWARD -s 0.0.0.0/0 -d 0.0.0.0/0 --jump DROP

# Liste der Regeln
iptables -L
 
Zuletzt bearbeitet:
Also das hat mir dieses Quicktables erstellt. Mehr oder minder ist das die Speicherung via iptables, die bei jedem Start geladen wird.
Code:
# Generated by iptables-save v1.4.0 on Fri Jul 18 11:31:22 2008
*filter
:INPUT DROP [7:3820]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [694:41699]
-A INPUT -p icmp -m icmp --icmp-type 18 -j DROP 
-A INPUT -p icmp -m icmp --icmp-type 17 -j DROP 
-A INPUT -p icmp -m icmp --icmp-type 10 -j DROP 
-A INPUT -p icmp -m icmp --icmp-type 9 -j DROP 
-A INPUT -p icmp -m icmp --icmp-type 5 -j DROP 
-A INPUT -i lo -j ACCEPT 
-A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -p icmp -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -i eth0 -p icmp -m icmp --icmp-type 8 -j DROP 
-A INPUT -p tcp -m tcp --dport 9090 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 3517 -j ACCEPT 
-A INPUT -i eth0 -p tcp -m tcp -j DROP 
-A INPUT -i eth0 -p udp -m udp -j DROP 
-A OUTPUT -o lo -j ACCEPT 
-A OUTPUT -p icmp -m state --state NEW -j ACCEPT 
COMMIT
 
Hallo, hatte auch noch was rumzuliegen, weiß aber nicht ob das für CentOS geht, soll nur ein Bespiel darstellen, du müsstest dir schon selber die Arbeit machen, die anzupassen oder eigene zu schreiben. Einfach nur nach nem Script zu fragen ist meiner Meinung nach etwas dreißt....

Code:
#!/bin/sh
echo "Initialisiere Firewall ..."
modprobe ip_conntrack
iptables -F
iptables -X
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
iptables -Z
iptables -N MYDDROP
iptables -N MYACCEPT
#
# Lokale Kommunikation
#
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
#
# Statefull Inspection
#
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state INVALID -j MYDDROP
iptables -A OUTPUT -m state --state ESTABLISHED -j ACCEPT
#
# Eigene Chains und Logging
#
iptables -A MYDDROP -j LOG --log-level 3 --log-prefix "FW-DROP: "
iptables -A MYDDROP -j DROP
iptables -A MYACCEPT -j LOG --log-prefix "FW-ACCEPT: "
iptables -A MYACCEPT -j ACCEPT
#
# SSH Server
#
iptables -A INPUT -p tcp --dport 44 -s 192.168.0.0/24 -j MYACCEPT
#
# ICMP
#
iptables -A INPUT -p icmp -s 192.168.0.0/24  -j MYACCEPT
iptables -A OUTPUT -p icmp  -d 192.169.0.0/24 -j MYACCEPT
#
# SAMBA
#
iptables -A INPUT -p udp -m multiport --destination-port 137,138 -s 192.168.0.0/24 -j MYACCEPT
iptables -A INPUT -p tcp -m multiport --destination-port 139,445 -s 192.168.0.0/24 -j MYACCEPT
iptables -A OUTPUT -p udp -m multiport --destination-port 137,138 -d 192.168.0.0/24 -j MYACCEPT
iptables -A OUTPUT -p tcp -m multiport --destination-port 139,445 -d 192.168.0.0/24 -j MYACCEPT
#
# DHCP-CLIENT
#
iptables -A OUTPUT -p udp --dport 68 -j MYACCEPT
#
# NTOP
iptables -A INPUT -p tcp --dport 3000 -s 192.168.0.0/24 -j ACCEPT
#
# Cups
iptables -A INPUT -p udp --dport 631 -s 192.169.0.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 631 -s 192.168.0.0/24 -j ACCEPT
#
#
echo "Firewall ist konfiguriert und aktiv"
 
meine derzeitige Lösung

Code:
iptables --append INPUT -i $ETH0 -p tcp --sport 5000:65535 --syn --dport 873 -m connlimit --connlimit-above 1 -j ACCEPT
iptables --append INPUT -i $ETH1 -p tcp -s $Meine_IP --dport 80 -m connlimit --connlimit-above 3 -m time --timestart 06:30 --timestop 21:00 -j ACCEPT
iptables --append INPUT -i $ETH1 -p tcp -s $Meine_IP --dport 22 -m connlimit --connlimit-above 3 -m time --timestart 10:00 --timestop 15:00 -j ACCEPT

Was könnte man noch verbessern?
 

Ähnliche Themen

Router einbinden bei Webauth?

Telefoninterview (Wie sich auf Bash-Shell-Fragen vorbereiten?)

Linux "vergisst" Dateisystem?

Broadcom 5715 verursacht grosse Probleme mit POE-Switch

Mit VIM Dateien vergleichen und Unterschiede sichtbar machen

Zurück
Oben