-
go Gentoo!
IPTables Script ok?
Hallo,
Ich hab mich nun ein wenig mit IPTables beschäftigt.
Also ich habe einen Router hier stehen. Der Router routet einerseits 2 Rechner ins Internet.
Er hat eine NIC, die sich via DSL ins Internet einwählt. Mit der 2. NIC ist er am LAN.
Der Router ist mit Debian 3.x ausgestattet und soll Intern auch noch Dienste wie Samba etc. erlauben.
Intern und Extern soll er zugriff auf FTP,HTTP etc erlauben.
Weiterhin wird nun von einem Rechner im LAN eDonkey,SoulSeek und ICQ genutzt. Nun habe ich ein paar Einträge in der NAT Table gemacht. ICQ kann nun auch an Chats wieder teilnehmen und auch File-transfers empfangen und senden.
Nur läuft eDonkey sehr langsam...hab ich da evtl was vergessen oder ist das normal? ( so ca. 7kb/s)
Ports, wie die für Sub7, Netbus etc werden geloggt und gedroppt.
Nun meine Frage an euch. Ist das so wohl ok? Wäre nett, wenn ihr euch das mal anseht und mir sagt, ob es so wohl ok wäre, bzw was ich vergessen hab.
tnx!
-------------------------------------------
IPTABLES SCRIPT
--------------------------------------------
#!/bin/bash
##### Devices zuweisen #####
# Loopback-Interface
LO="lo"
# Loopback-IP-Adresse
LO_IP="127.0.0.1"
# LAN-IP-Adresse, Die IP-Adresse des Routers
LAN_IP="192.168.100.1"
# Die Netzwerkadresse des LANs
LAN_IP_RANGE="192.168.100.0/24"
# Die Broadcast-Adresse des LANs
LAN_BCAST_ADDR="192.168.100.255"
# Die Interne Schnittstelle/Netzwerkkarte
INT="eth0"
# Die Internetverbindung
EXT="ppp0"
# IPTables, das Firewallprogramm
IPT="iptables"
# Alle. Jeglich denkbare Adresse im Internet
ANY="0.0.0.0/0"
# PC, auf dem ICQ/ED2K etc laeuft
CLIENT="192.168.100.23"
# Samba Ports
SMB_PORTS="137:139"
# Die ICQ-Message-Ports
ICQ_MSG_PORT="5190"
# Die ICQ-Filetransfer-Ports
ICQ_FT_PORTS="24500:24505"
# Die eDonkey TCP Ports
ED2K_TCP="4661:4662"
# Die eDonkey UDP Ports
ED2K_UDP="4672"
# SLSK TCP Ports
SLSK_TCP="2234:2239"
# SLSK UDP Ports
SLSK_UDP="2234:2239"
# Deepthroat Port
DEEPTHROAT_PORT="6670"
# Sub Seven Ports
SUB7_PORTS="6711:6713"
# Netbus Ports
NETBUS_PORTS="12345:12346"
# Netbus Ports 2
NETBUS_PORTS2="20034"
# BackOrifice Ports
BACK_ORIFICE_PORTS="31337"
# X-Windows-Port
X_WINDOWS_PORT="6000"
# Alle Ports
PORT_ALL="1:65535"
# Die ersten 1024 Ports
PORT_LOW="1:1023"
# Alle restlichen Ports
PORT_HIGH="1024:65535"
##### Kerneldienste aktivieren #####
# Forwarding wird aktiviert
echo "1" > /proc/sys/net/ipv4/ip_forward
# Dynamische IP Adresse (Vom Provider gesetzt)
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
##### Alte Regeln loeschen (flushen) #####
# Filter Table flushen
$IPT -F
# NAT Table flushen
$IPT -t nat -F
# Mangle Table flushen
$IPT -t mangle -F
# Filter Table loeschen
$IPT -X
# NAT Table loeschen
$IPT -t nat -X
# Mangle Table loeschen
$IPT -t mangle -X
# Default Regeln setzen (Default Policy) #####
# Alles eingehende loeschen
$IPT -P INPUT DROP
# Alles rausgehende loeschen
$IPT -P OUTPUT DROP
# Alles, was geforwardet werden soll, loeschen
$IPT -P FORWARD DROP
##### Defekte Pakete verwerfen #####
# Defekte eingehende Pakete loeschen
$IPT -A INPUT -m state --state INVALID -j DROP
# Defekte rausgehende Pakete loeschen
$IPT -A OUTPUT -m state --state INVALID -j DROP
# Defekte Pakete, die geforwardet werden sollen, loeschen
$IPT -A FORWARD -m state --state INVALID -j DROP
##### Loopbackregeln #####
$IPT -A INPUT -i $LO -j ACCEPT
$IPT -A OUTPUT -o $LO -j ACCEPT
# Pakete, die aus dem Internet kommen und sich als
# Lan Pakete ausgeben verwerfen
#$IPT -A INPUT -i $EXT -s 192.168.0.0/16 -j DROP
#$IPT -A INPUT -i $EXT -s 10.0.0.0/8 -j -j DROP
#$IPT -A INPUT -i $EXT -s 172.16.0.0/12 -j DROP
#$IPT -A INPUT -i $EXT -s 224.0.0.0/4 -j DROP
#$IPT -A INPUT -i $EXT -s 240.0.0.0/5 -j DROP
##### LAN komplett freigeben #####
# Bekannte Verbindungen erlauben
$IPT -A INPUT -i $INT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# Zugriff aller Protokolle aus dem LAN ueber das LAN Interface erlauben
$IPT -A INPUT -p all -i $INT -s $LAN_IP_RANGE -j ACCEPT
# Broadcast ueber das LAN Interface zulassen
$IPT -A INPUT -p all -i $INT -s $LAN_BCAST_ADDR -j ACCEPT
# Rausgehend ueber das LAN Interface in das LAN alles erlauben
$IPT -A OUTPUT -p all -o $INT -d $LAN_IP_RANGE -j ACCEPT
##### Ports freigeben #####
# HTTP
$IPT -A INPUT -p tcp -s $ANY --dport 80 -j ACCEPT
$IPT -A OUTPUT -p tcp --sport 80 -j ACCEPT
# SSL
$IPT -A INPUT -p tcp -s $ANY --dport 443 -j ACCEPT
$IPT -A OUTPUT -p tcp --sport 443 -j ACCEPT
# Webmin
$IPT -A INPUT -p tcp -s $LAN_IP_RANGE --dport 10000 -j ACCEPT
$IPT -A OUTPUT -p tcp -o $INT -j ACCEPT
# FTP
$IPT -A INPUT -p tcp -s $ANY --dport 20 -j ACCEPT
$IPT -A INPUT -p tcp -s $ANY --dport 21 -j ACCEPT
$IPT -A OUTPUT -p tcp --sport 20 -j ACCEPT
$IPT -A OUTPUT -p tcp --sport 21 -j ACCEPT
# ICMP Typen erlauben
$IPT -A INPUT -p icmp -s $ANY --icmp-type 0 -j ACCEPT
$IPT -A INPUT -p icmp -s $ANY --icmp-type 3 -j ACCEPT
$IPT -A INPUT -p icmp -s $ANY --icmp-type 4 -j ACCEPT
$IPT -A INPUT -p icmp -s $ANY --icmp-type 8 -j ACCEPT
$IPT -A INPUT -p icmp -s $ANY --icmp-type 11 -j ACCEPT
$IPT -A INPUT -p icmp -s $ANY --icmp-type 12 -j ACCEPT
$IPT -A OUTPUT -p icmp --icmp-type 0 -j ACCEPT
$IPT -A OUTPUT -p icmp --icmp-type 3 -j ACCEPT
$IPT -A OUTPUT -p icmp --icmp-type 4 -j ACCEPT
$IPT -A OUTPUT -p icmp --icmp-type 8 -j ACCEPT
$IPT -A OUTPUT -p icmp --icmp-type 11 -j ACCEPT
$IPT -A OUTPUT -p icmp --icmp-type 12 -j ACCEPT
# Ports fuer Sub7, BackOrifice etc komplett dicht machen und loggen
$IPT -A INPUT -p tcp --dport $DEEPTHROAT_PORT -m limit -j LOG --log-prefix "Deepthroat_scan"
$IPT -A INPUT -p tcp --dport $DEEPTHROAT_PORT -j DROP
$IPT -A INPUT -p tcp --dport $SUB7_PORTS -m limit -j LOG --log-prefix "Sub7_scan"
$IPT -A INPUT -p tcp --dport $SUB7_PORTS -j DROP
$IPT -A INPUT -p tcp --dport $NETBUS_PORTS -m limit -j LOG --log-prefix "Netbus_scan"
$IPT -A INPUT -p tcp --dport $NETBUS_PORTS -j DROP
$IPT -A INPUT -p tcp --dport $NETBUS_PORTS2 -m limit -j LOG --log-prefix "Netbus_scan"
$IPT -A INPUT -p tcp --dport $NETBUS_PORTS2 -j DROP
$IPT -A INPUT -p tcp --dport $BACK_ORIFICE_PORTS -m limit -j LOG --log-prefix "Back_Orifice_scan"
$IPT -A INPUT -p tcp --dport $BACK_ORIFICE_PORTS -j DROP
$IPT -A INPUT -p tcp --dport $X_WINDOWS_PORT -m limit -j LOG --log-prefix "X_Windows_Port"
$IPT -A INPUT -p tcp --dport $X_WINDOWS_PORT -j DROP
##### Forward #####
# Alle Ports von LAN ins INET forwarden
$IPT -A FORWARD -i $INT -o $EXT -s $LAN_IP_RANGE -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# Bestehende Verbindungen von EXT an INT halten
$IPT -A FORWARD -i $EXT -o $INT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Den ICQ-Message-Port forwarden
$IPT -A FORWARD -p tcp --dport $ICQ_MSG_PORT -j ACCEPT
# Die ICQ-Filetransfer-Ports forwarden (ACHTUNG! Ports sind selbst gesetzt
# und muessen in ICQ vermerkt werden!)
$IPT -A FORWARD -p tcp --dport $ICQ_FT_PORTS -j ACCEPT
# Die eDonkey TCP Ports forwarden
$IPT -A FORWARD -p tcp --dport $ED2K_TCP -j ACCEPT
# Die eDonkey UDP Ports forwarden
$IPT -A FORWARD -p udp --dport $ED2K_UDP -j ACCEPT
# Die SLSK TCP Ports forwarden
$IPT -A FORWARD -p tcp --dport $SLSK_TCP -j ACCEPT
# DIE SLSK UDP Ports forwarden
$IPT -A FORWARD -p udp --dport $SLSK_UDP -j ACCEPT
# Nat
# ICQ weiterleiten zum Client, MSG- und FT- Ports
$IPT -t nat -A PREROUTING -i $EXT -p tcp --dport $ICQ_MSG_PORT -j DNAT --to-destination $CLIENT
$IPT -t nat -A PREROUTING -i $EXT -p tcp --dport $ICQ_FT_PORTS -j DNAT --to-destination $CLIENT
# eDonkey weiterleiten zum Client, TCP- und UDP- Packets
$IPT -t nat -A PREROUTING -i $EXT -p tcp --dport $ED2K_TCP -j DNAT --to-destination $CLIENT
$IPT -t nat -A PREROUTING -i $EXT -p udp --dport $ED2K_UDP -j DNAT --to-destination $CLIENT
# SLSK weiterleiten zum Client, TCP- und UDP- Packets
$IPT -t nat -A PREROUTING -i $EXT -p tcp --dport $SLSK_TCP -j DNAT --to-destination $CLIENT
$IPT -t nat -A PREROUTING -i $EXT -p udp --dport $SLSK_UDP -j DNAT --to-destination $CLIENT
# Masquerading
$IPT -t nat -A POSTROUTING -o $EXT -j MASQUERADE
-
TUX Liebhaber
kommst du mit deinem router auf z.b deutschebank.de
??
und klappt auch onlinebanking bei dir?
-
ich hab nur ueberflogen und kann sagen, statefull firewalls sind schoener als stateless.
Such mal unter dem Stichwort und verbessere Deine Regeln gegebenenfalls. Es soll auch einen iptables Generator auf Harrys Linux Seite oder so aehnlich geben(keine Erfahrungen daher auch keine Ahnung ob die statefull sind).
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen