PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Suche Firewallskript, welches ...



flugopa
30.10.2008, 01:37
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?

hehejo
30.10.2008, 02:10
Vll. hilft dir ja dieses Skript.
Ich verlinke hier einfach mal ganz gemein auf meinen Blogeintrag:

http://blog.hehejo.de/360/regeln-fur-iptables-mit-quicktables/

flugopa
30.10.2008, 15:27
Vll. hilft dir ja dieses Skript.
Ich verlinke hier einfach mal ganz gemein auf meinen Blogeintrag:

http://blog.hehejo.de/360/regeln-fur-iptables-mit-quicktables/

Danke für Deine Mühe aber das Skript ist für CentOS nicht geeignet/bzw. es geht nicht.
z.B.: ist die Datei nicht vorhanden qblock

Ich suche ein Skript für eine CentOS-Kiste mit 2 NICs + iptables +SQUID.
Wer hat so etwas rumzuliegen?

hehejo
30.10.2008, 19:16
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...

aspire_5652
30.10.2008, 20:56
Für ganz paranoide:



# 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:



# 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

hehejo
30.10.2008, 23:00
Also das hat mir dieses Quicktables erstellt. Mehr oder minder ist das die Speicherung via iptables, die bei jedem Start geladen wird.


# 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

Subchannel
31.10.2008, 08:45
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....


#!/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"

flugopa
04.11.2008, 08:24
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?