PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wo ist der Fehler?



der_angler
08.09.03, 19:19
Hallo,
ich habe einen Red Hat 9 Server mit 2 Netzwerken (192.168.0.0 & 192.168.1.0) der gleichzeitig Router ist. Folgendes Skript habe ich mir dann generieren lassen und auf 2 Netzwerke angelegt. Achja, SSH laß ich offen. Jetzt habe ich so einen Online Sicherheits Test machen lassen und da bekomme ich bei den UDP Port nur Fehler!
naja, zumindest sind die Ports nicht unerreichbar, sondern nur geschlossen. Das reicht doch nicht soweit ich weiß?
naja, deswegen wollte ich fragen ob das Skript so gut ist?

#!/bin/bash
# ---------------------------------------------------------------------
# Linux-iptables-Firewallskript, Copyright (c) 2003 under the GPL
# Autogenerated by iptables Generator v1.16 (c) 2002 by Harald BertramÂ_
# Please visit http://www.harry.homelinux.org for new versions of
# the iptables Generator (c).
#
# This Script was generated by request from:
# boehm@kraus-automaten.de on: 2003-9-8 11:8.58 MET.
#
# If you have questions about the iptables Generator or about
# your Firewall-Skript feel free to take a look at out website or
# send me an E-Mail to webmaster@harry.homelinux.org.
#
# My special thanks are going to Lutz Heinrich (trinitywork@hotmail.com) who
# made lots of Beta-Testing and gave me lots of well qualified
# Feedback that made me able to improve the iptables Generator.
# --------------------------------------------------------------------

case "$1" in
start)
echo "Starte IP-Paketfilter"

# iptables-Modul
modprobe ip_tables
# Connection-Tracking-Module
modprobe ip_conntrack
# Das Modul ip_conntrack_irc ist erst bei Kerneln >= 2.4.19 verfuegbar
modprobe ip_conntrack_irc
modprobe ip_conntrack_ftp

# Tabelle flushen
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X

# Default-Policies setzen
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

# MY_REJECT-Chain
iptables -N MY_REJECT

# MY_REJECT fuellen
iptables -A MY_REJECT -p tcp -m limit --limit 7200/h -j LOG --log-prefix "REJECT TCP "
iptables -A MY_REJECT -p tcp -j REJECT --reject-with tcp-reset
iptables -A MY_REJECT -p udp -m limit --limit 7200/h -j LOG --log-prefix "REJECT UDP "
iptables -A MY_REJECT -p udp -j REJECT --reject-with icmp-port-unreachable
iptables -A MY_REJECT -p icmp -m limit --limit 7200/h -j LOG --log-prefix "DROP ICMP "
iptables -A MY_REJECT -p icmp -j DROP
iptables -A MY_REJECT -m limit --limit 7200/h -j LOG --log-prefix "REJECT OTHER "
iptables -A MY_REJECT -j REJECT --reject-with icmp-proto-unreachable

# MY_DROP-Chain
iptables -N MY_DROP
iptables -A MY_DROP -m limit --limit 7200/h -j LOG --log-prefix "PORTSCAN DROP "
iptables -A MY_DROP -j DROP

# Alle verworfenen Pakete protokollieren
iptables -A INPUT -m state --state INVALID -m limit --limit 7200/h -j LOG --log-prefix "INPUT INVALID "
iptables -A OUTPUT -m state --state INVALID -m limit --limit 7200/h -j LOG --log-prefix "OUTPUT INVALID "
iptables -A FORWARD -m state --state INVALID -m limit --limit 7200/h -j LOG --log-prefix "FORWARD INVALID "

# Korrupte Pakete zurueckweisen
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A OUTPUT -m state --state INVALID -j DROP
iptables -A FORWARD -m state --state INVALID -j DROP

# Stealth Scans etc. DROPpen
# Keine Flags gesetzt
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j MY_DROP
iptables -A FORWARD -p tcp --tcp-flags ALL NONE -j MY_DROP

# SYN und FIN gesetzt
iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j MY_DROP
iptables -A FORWARD -p tcp --tcp-flags SYN,FIN SYN,FIN -j MY_DROP

# SYN und RST gleichzeitig gesetzt
iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j MY_DROP
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN,RST -j MY_DROP

# FIN und RST gleichzeitig gesetzt
iptables -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j MY_DROP
iptables -A FORWARD -p tcp --tcp-flags FIN,RST FIN,RST -j MY_DROP

# FIN ohne ACK
iptables -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j MY_DROP
iptables -A FORWARD -p tcp --tcp-flags ACK,FIN FIN -j MY_DROP

# PSH ohne ACK
iptables -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j MY_DROP
iptables -A FORWARD -p tcp --tcp-flags ACK,PSH PSH -j MY_DROP

# URG ohne ACK
iptables -A INPUT -p tcp --tcp-flags ACK,URG URG -j MY_DROP
iptables -A FORWARD -p tcp --tcp-flags ACK,URG URG -j MY_DROP

# Loopback-Netzwerk-Kommunikation zulassen
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# Maximum Segment Size (MSS) für das Forwarding an PMTU anpassen
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

# Connection-Tracking aktivieren
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i ! ppp0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# SSH
iptables -A INPUT -i ppp0 -m state --state NEW -p tcp --dport 22 -j ACCEPT

#
# IP-Adresse des LAN-Interfaces ermitteln eth0
#
LAN_IP1=$(ifconfig eth0 | head -n 2 | tail -n 1 | cut -d: -f2 | cut -d" " -f 1)

# NAT fuer HTTP
#iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 80 -j DNAT --to-destination
#iptables -t nat -A POSTROUTING -o eth0 -p tcp --dport 80 -j SNAT --to-source $LAN_IP1
#iptables -A FORWARD -i ppp0 -m state --state NEW -p tcp -d --dport 80 -j ACCEPT

# LAN-Zugriff auf eth0
iptables -A INPUT -m state --state NEW -i eth0 -j ACCEPT

#
# IP-Adresse des LAN-Interfaces ermitteln eth1
#
LAN_IP2=$(ifconfig eth1 | head -n 2 | tail -n 1 | cut -d: -f2 | cut -d" " -f 1)

# NAT fuer EDONKEY
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 4661 -j DNAT --to-destination 192.168.1.2
iptables -t nat -A POSTROUTING -o eth1 -p tcp --dport 4661 -j SNAT --to-source $LAN_IP2
iptables -A FORWARD -i ppp0 -m state --state NEW -p tcp -d 192.168.1.2 --dport 4661 -j ACCEPT

iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 4662 -j DNAT --to-destination 192.168.1.2
iptables -t nat -A POSTROUTING -o eth1 -p tcp --dport 4662 -j SNAT --to-source $LAN_IP2
iptables -A FORWARD -i ppp0 -m state --state NEW -p tcp -d 192.168.1.2 --dport 4662 -j ACCEPT

iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 4663 -j DNAT --to-destination 192.168.1.2
iptables -t nat -A POSTROUTING -o eth1 -p tcp --dport 4663 -j SNAT --to-source $LAN_IP2
iptables -A FORWARD -i ppp0 -m state --state NEW -p tcp -d 192.168.1.2 --dport 4663 -j ACCEPT

iptables -t nat -A PREROUTING -i ppp0 -p udp --dport 4665 -j DNAT --to-destination 192.168.1.2
iptables -t nat -A POSTROUTING -o eth1 -p udp --dport 4665 -j SNAT --to-source $LAN_IP2
iptables -A FORWARD -i ppp0 -m state --state NEW -p udp -d 192.168.1.2 --dport 4665 -j ACCEPT

iptables -t nat -A PREROUTING -i ppp0 -p udp --dport 4672 -j DNAT --to-destination 192.168.1.2
iptables -t nat -A POSTROUTING -o eth1 -p udp --dport 4672 -j SNAT --to-source $LAN_IP2
iptables -A FORWARD -i ppp0 -m state --state NEW -p udp -d 192.168.1.2 --dport 4672 -j ACCEPT

# LAN-Zugriff auf eth1
iptables -A INPUT -m state --state NEW -i eth1 -j ACCEPT

# Default-Policies mit REJECT
iptables -A INPUT -j MY_REJECT
iptables -A OUTPUT -j MY_REJECT
iptables -A FORWARD -j MY_REJECT

# Routing
echo 1 > /proc/sys/net/ipv4/ip_forward 2> /dev/null

# Masquerading
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

# SYN-Cookies
echo 1 > /proc/sys/net/ipv4/tcp_syncookies 2> /dev/null

# Stop Source-Routing
for i in /proc/sys/net/ipv4/conf/*; do echo 0 > $i/accept_source_route 2> /dev/null; done

# Stop Redirecting
for i in /proc/sys/net/ipv4/conf/*; do echo 0 > $i/accept_redirects 2> /dev/null; done

# Reverse-Path-Filter
for i in /proc/sys/net/ipv4/conf/*; do echo 2 > $i/rp_filter 2> /dev/null; done

# Log Martians
for i in /proc/sys/net/ipv4/conf/*; do echo 1 > $i/log_martians 2> /dev/null; done

# BOOTP-Relaying ausschalten
for i in /proc/sys/net/ipv4/conf/*; do echo 0 > $i/bootp_relay 2> /dev/null; done

# Proxy-ARP ausschalten
for i in /proc/sys/net/ipv4/conf/*; do echo 0 > $i/proxy_arp 2> /dev/null; done

# Ungültige ICMP-Antworten ignorieren
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses 2> /dev/null

# ICMP Echo-Broadcasts ignorieren
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts 2> /dev/null

# Max. 500/Sekunde (5/Jiffie) senden
echo 5 > /proc/sys/net/ipv4/icmp_ratelimit

# Speicherallozierung und -timing für IP-De/-Fragmentierung
echo 262144 > /proc/sys/net/ipv4/ipfrag_high_thresh
echo 196608 > /proc/sys/net/ipv4/ipfrag_low_thresh
echo 30 > /proc/sys/net/ipv4/ipfrag_time

# TCP-FIN-Timeout zum Schutz vor DoS-Attacken setzen
echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout

# Maximal 3 Antworten auf ein TCP-SYN
echo 3 > /proc/sys/net/ipv4/tcp_retries1

# TCP-Pakete maximal 15x wiederholen
echo 15 > /proc/sys/net/ipv4/tcp_retries2

;;

stop)
echo "Stoppe IP-Paketfilter"
# Tabelle flushen
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X
echo "Deaktiviere IP-Routing"
echo 0 > /proc/sys/net/ipv4/ip_forward

# Default-Policies setzen
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
;;

status)
echo "Tabelle filter"
iptables -L -vn
echo "Tabelle nat"
iptables -t nat -L -vn
echo "Tabelle mangle"
iptables -t mangle -L -vn
;;

*)
echo "Fehlerhafter Aufruf"
echo "Syntax: $0 {start|stop|status}"
exit 1
;;

Harry
08.09.03, 20:49
Hi,


Original geschrieben von der_angler
Hallo,
ich habe einen Red Hat 9 Server mit 2 Netzwerken (192.168.0.0 & 192.168.1.0) der gleichzeitig Router ist. Folgendes Skript habe ich mir dann generieren lassen und auf 2 Netzwerke angelegt. Achja, SSH laß ich offen. Jetzt habe ich so einen Online Sicherheits Test machen lassen und da bekomme ich bei den UDP Port nur Fehler!
naja, zumindest sind die Ports nicht unerreichbar, sondern nur geschlossen. Das reicht doch nicht soweit ich weiß?
naja, deswegen wollte ich fragen ob das Skript so gut ist?

das Skript ist besser, als Du zunächst lt. den Testergebnissen der online-Scanner annehmen kannst. Je nachdem, welchen online-Scanner Du nimmst, bekommst Du beliebig schlechte Vorschläge zur Sicherung Deiner Ports. Einige Scanner zeigen unsinnigerweise an, dass es besser sei, die Ports auf "stealthed" zu schalten, anstatt sie nur zu schließen. Der Scanner konnte in Deinem Fall nicht wissen, dass Du einen guten Paketfilter betreibst, der die Ports komplett schließt und dann so tut, als wäre auf diesem Host kein Paketfilter installiert. Für einen interessierten Angreifer erscheint Dein Host hinreichend uninteressant, da Du offensichtlich keine grösseren Schutzmaßnahmen zur Abwehr ergriffen hast; in diesem Fall ist der Paketfilter dennoch aktiv und beantwortet direkt die Anfragen an nicht geöffnete Ports.
Würdest Du die Ports dagegen "stealthen", dann sieht jeder halbwegs intelligente Scanner sofort, dass Du Deine Ports über einen Paketfilter geschlossen hast. In diesem Fall würde der Paketfilter beim Eintreffen von Anfragen auf nicht geöffnete Ports keine Antwort zurückgeben und das ist lt. den gängigen RFCs für IP, TCP und UDP kein reguläres Verhalten eines Netzwerkrechners. Interessierte Angreifer können so sofort annehmen "aha - hier gibt es etwas zu verbergen - also suchen wir weiter".

Um es nochmal kurz auf den Punkt zu bringen: Von Deinem Standpunkt aus bist Du mit diesem Skript genau so sicher, wie mit ge-"stealthten" Ports. Nur reagiert der Paketfilter auf Anfragen nach wie vor TCP/IP-RFC-konform.

Harry

der_angler
08.09.03, 22:08
Danke, dann bin ich ja mal froh :-) ... und danke für den iptables-Generator *g*

der_angler
09.09.03, 11:54
Hallo, ich hätte zu dem Thema noch 2 Fragen (RedHat9)

1.) Es existiert noch eine Datei names IPTABLES (Textdatei). Warum? Ist das ne Datei, in die ich meine Regeln fest einbauen kann? Brauch ich die überhaupt?

2.) Es gibt noch ein Shell-Script mit dem gleichen Namen, wofür ist das den da?

cane
09.09.03, 13:55
Wo existieren diese Dateien?
In einem Deiner Verzeichnisse oder wurden Sie dir vom Generator geschickt?
Normalerweise heißt das Firewallscript firewall.sh und wird in die entsprechenden Runlevel eingebunden...

cane

der_angler
09.09.03, 14:35
1.) Es existiert noch eine Datei names IPTABLES (Textdatei). Warum? Ist das ne Datei, in die ich meine Regeln fest einbauen kann? Brauch ich die überhaupt?
Die Datei befindet sich im Ordner "/etc/sysconfig" und folgendes steht in der Datei:


# Generated by iptables-save v1.2.7a on Wed Aug 6 10:44:34 2003
*nat
:PREROUTING ACCEPT [25:1380]
:POSTROUTING ACCEPT [9:540]
:OUTPUT ACCEPT [61:5126]
[61:5018] -A POSTROUTING -o ppp0 -j MASQUERADE
COMMIT
# Completed on Wed Aug 6 10:44:34 2003
# Generated by iptables-save v1.2.7a on Wed Aug 6 10:44:34 2003
*filter
:INPUT ACCEPT [1227:95870]
:FORWARD ACCEPT [123:26543]
:OUTPUT ACCEPT [1049:88744]
COMMIT
# Completed on Wed Aug 6 10:44:34 2003







2.) Es gibt noch ein Shell-Script mit dem gleichen Namen, wofür ist das den da?
Die Datei befindet sich in "/etc/rc.d/init.d" und hat folgenden Inhalt:


#!/bin/sh
#
# Startup script to implement /etc/sysconfig/iptables pre-defined rules.
#
# chkconfig: 2345 08 92
#
# description: Automates a packet filtering firewall with iptables.
#
# by bero@redhat.com, based on the ipchains script:
# Script Author: Joshua Jensen <joshua@redhat.com>
# -- hacked up by gafton with help from notting
# modified by Anton Altaparmakov <aia21@cam.ac.uk>:
# modified by Nils Philippsen <nils@redhat.de>
#
# config: /etc/sysconfig/iptables

# Source 'em up
. /etc/init.d/functions

IPTABLES_CONFIG=/etc/sysconfig/iptables

if [ ! -x /sbin/iptables ]; then
exit 0
fi

KERNELMAJ=`uname -r | sed -e 's,\..*,,'`
KERNELMIN=`uname -r | sed -e 's,[^\.]*\.,,' -e 's,\..*,,'`

if [ "$KERNELMAJ" -lt 2 ] ; then
exit 0
fi
if [ "$KERNELMAJ" -eq 2 -a "$KERNELMIN" -lt 3 ] ; then
exit 0
fi



if /sbin/lsmod 2>/dev/null |grep -q ipchains ; then
# Don't do both
exit 0
fi

iftable() {
if fgrep -qsx $1 /proc/net/ip_tables_names; then
iptables -t "$@"
fi
}

start() {
# don't do squat if we don't have the config file
if [ -f $IPTABLES_CONFIG ]; then
# If we don't clear these first, we might be adding to
# pre-existing rules.
chains=`cat /proc/net/ip_tables_names 2>/dev/null`
echo -n $"Flushing all current rules and user defined chains:"
let ret=0
for i in $chains; do iptables -t $i -F; let ret+=$?; done
iptables -F
let ret+=$?
if [ $ret -eq 0 ]; then
success
else
failure
fi
echo
echo -n $"Clearing all current rules and user defined chains:"
let ret=0
for i in $chains; do iptables -t $i -X; let ret+=$?; done
iptables -X
let ret+=$?
if [ $ret -eq 0 ]; then
success
else
failure
fi
echo

for i in $chains; do iptables -t $i -Z; done

echo -n $"Applying iptables firewall rules: "
grep -v "^[[:space:]]*#" $IPTABLES_CONFIG | grep -v '^[[:space:]]*$' | /sbin/iptables-restore -c && \
success || \
failure
echo
touch /var/lock/subsys/iptables
fi
}

stop() {
chains=`cat /proc/net/ip_tables_names 2>/dev/null`
echo -n $"Flushing all chains:"
let ret=0
for i in $chains; do iptables -t $i -F; let ret+=$?; done
iptables -F; let ret+=$?
if [ $ret -eq 0 ]; then
success
else
failure
fi
echo

echo -n $"Removing user defined chains:"
let ret=0
for i in $chains; do iptables -t $i -X; let ret+=$?; done
iptables -X; let ret+=$?
if [ $ret -eq 0 ]; then
success
else
failure
fi
echo
echo -n $"Resetting built-in chains to the default ACCEPT policy:"
iftable filter -P INPUT ACCEPT && \
iftable filter -P OUTPUT ACCEPT && \
iftable filter -P FORWARD ACCEPT && \
iftable nat -P PREROUTING ACCEPT && \
iftable nat -P POSTROUTING ACCEPT && \
iftable nat -P OUTPUT ACCEPT && \
iftable mangle -P PREROUTING ACCEPT && \
iftable mangle -P POSTROUTING ACCEPT && \
iftable mangle -P INPUT ACCEPT && \
iftable mangle -P OUTPUT ACCEPT && \
iftable mangle -P FORWARD ACCEPT && \
success || \
failure
echo
rm -f /var/lock/subsys/iptables
}

case "$1" in
start)
start
;;

stop)
stop
;;

restart)
# "restart" is really just "start" as this isn't a daemon,
# and "start" clears any pre-defined rules anyway.
# This is really only here to make those who expect it happy
start
;;

condrestart)
[ -e /var/lock/subsys/iptables ] && start
;;

status)
tables=`cat /proc/net/ip_tables_names 2>/dev/null`
for table in $tables; do
echo $"Table: $table"
iptables -t $table --list
done
;;

panic)
echo -n $"Changing target policies to DROP: "
iftable filter -P INPUT DROP && \
iftable filter -P FORWARD DROP && \
iftable filter -P OUTPUT DROP && \
iftable nat -P PREROUTING DROP && \
iftable nat -P POSTROUTING DROP && \
iftable nat -P OUTPUT DROP && \
iftable mangle -P PREROUTING DROP && \
iftable mangle -P OUTPUT DROP && \
iftable mangle -P POSTROUTING DROP && \
iftable mangle -P INPUT DROP && \
iftable mangle -P FORWARD DROP && \
success || failure
echo
echo -n "Flushing all chains:"
iftable filter -F INPUT && \
iftable filter -F FORWARD && \
iftable filter -F OUTPUT && \
iftable nat -F PREROUTING && \
iftable nat -F POSTROUTING && \
iftable nat -F OUTPUT && \
iftable mangle -F PREROUTING && \
iftable mangle -F OUTPUT && \
success || failure
echo
echo -n "Removing user defined chains:"
iftable iftable filter -X && \
iftable nat -X && \
iftable mangle -X && \
success || failure
echo
;;

save)
echo -n $"Saving current rules to $IPTABLES_CONFIG: "
touch $IPTABLES_CONFIG
chmod 600 $IPTABLES_CONFIG
/sbin/iptables-save -c > $IPTABLES_CONFIG 2>/dev/null && \
success $"Saving current rules to $IPTABLES_CONFIG" || \
failure $"Saving current rules to $IPTABLES_CONFIG"
echo
;;

*)
echo $"Usage: $0 {start|stop|restart|condrestart|status|panic|save}"
exit 1
esac

exit 0




Weiß jemand warum die da sind und für was??????
Nicht das die beiden Dateien meine schönen Regeln zerstören die ich in meiner "firewall.sh" habe.
Im übrigen starte ich das Skript "firewall.sh" (nachzulesen ganz oben) über die funktionen "ip-uo.local" und "ip-down.local" ... ist das richtig so?

cane
09.09.03, 15:59
Die Datei (firewall.sh) befindet sich in "/etc/rc.d/init.d" und hat folgenden Inhalt:

Das ist Dein firewallscript!
In init.d stehen nur Scripte die beim Hochfahren, Rebooten... gestartet/gestoppt werden.
Bei Red Hat gibt es aber auch einen grafischen Runleveleditor mit dem Du Dir anzeigen lassen kannst welcher Dienst in welchem Runlevel startet...

Ob die Textdatei eine .log Date des Scripts ist kann ich Dir nicht sagen, ich glaube jedoch nicht das das


Generated by iptables-save v1.2.7a

zu Harrys Script gehört - wills aber auch nicht ausschließen.
Denke eher es ist ein Script das die laufenden Iptables ausgibt...

cane

der_angler
09.09.03, 18:26
Hi,
hmm, du hast da irgendwas falsch verstanden ...

Die Datei (firewall.sh) befindet sich in "/etc/rc.d/init.d" und hat folgenden Inhalt: Das habe ich nie geschrieben. Die Datei in "/etc/rc.d/init.d" heißt "iptables" NICHT(!) "firewall.sh"
Meine "firewall.sh" liegt im root-Verzeichnis, und ja, ich weiß das die Datei firewall.sh meine 'firewall' ist. Genau deshalb wollte ich ja wissen, was das andere für Dateien sind. Den wenn du rechts hast, und das Ding in /etc/rc.d/init.d auch ein Firewall-Skript ist, dann habe ich das ganze ja doppelt oder? Einmal mit dem Red Hat eigenen Skript und einmal das Ding von Harry's iptables-Generator?
Irgendwie steht ich hier ganz schön auf dem Schlauch!
In dem Thread habe ich jetzt den Inhalt von 3 Dateien gepostet. Ganz oben meine eigentliche firewall (firewall.sh), und dann hier unten 2 andere Dateien (beide iptables). Es kann doch net sein das ich die alle 3 brauche oder?
Ich bin leider ein echter Linux Neuling und würde es gerne richtig machen, deshalb, bite, klär mich mal jemand auf was es mit diesen Dateien auf sich hat :)


In init.d stehen nur Scripte die beim Hochfahren, Rebooten... gestartet/gestoppt werden. Nein, ich mach das mit den Skripten "ip-up.local" und "ip-down.local" ... immer wenn der PC aus dem Internet ne IP erhält führt er alles aus was drin steht, entsprechend das gleiche wenn die IP wieder weg ist. Ist das Fehler? Macht das mein System unsicherer??

Belkira
09.09.03, 19:57
/etc/sysconfig/iptables enthält Regeln für Red Hats Firewall Umgebung. Es ist so eingerichtet, daß die Datei die Ausgabe des iptables-save Befehls enthält und die Regeln intern mit iptables-restore geladen werden.

/etc/init.d/iptables ist ein Initskript, mit dem Red Hats "iptables" Dienst in die verschiedenen Run-Level eingebunden wird und so z.B. beim Booten aktiviert wird oder mit den chkconfig, service oder graphischen Tools bearbeitet werden kann. Beispiel:

/sbin/service iptables status
/sbin/chkconfig iptables --list

Wenn Du eine separate Firewall verwendest, die nicht über Red Hats "iptables" Service eingebunden wird, empfehle ich, Du deaktivierst den iptables Service, löscht die iptables Config Datei und vermeidest so Konflikte:

/sbin/chkconfig iptables --level 2345 off
rm -f /etc/sysconfig/iptables

Dadurch entsteht kein Schaden.

linuxhanz
10.09.03, 12:05
hallo harry;

hab das Skript mal angetestet.


WARNING: OS didn't match until the try #3
Interesting ports on (192.168.10.74):
(The 1610 ports scanned but not shown below are in state: closed)
Port State Service
6000/tcp open X11

Remote operating system guess: Checkpoint SecurePlatform NG FP3
OS Fingerprint:
T1(Resp=N)
T2(Resp=N)
T3(Resp=N)
T4(Resp=Y%DF=Y%W=0%ACK=O%Flags=R%Ops=)
T5(Resp=Y%DF=Y%W=0%ACK=S++%Flags=AR%Ops=)
T6(Resp=Y%DF=Y%W=0%ACK=O%Flags=R%Ops=)
T7(Resp=N)
PU(Resp=Y%DF=N%TOS=C0%IPLEN=164%RIPTL=148%RID=E%RI PCK=E%UCK=E%ULEN=134%DAT=E)




Kompliment? Oder Blamage. Je nachdem was man von CHECKPOINT hält :ugly: :D

Harry
10.09.03, 12:25
Hi linuxhanz,

scheinbar hast Du einen Portscan durchgeführt - soweit kann ich Dein Posting interpretieren.
Jedoch: Was hast Du womit getestet? Das geht aus Deinem Posting nicht ganz klar hervor.


Original geschrieben von linuxhanz
hallo harry;

hab das Skript mal angetestet.

Harry