B
boss3D
Guest
Hi @ all!
Ich muss für folgende Firewall Policy ein iptables Script schreiben:
Hier noch der zugehörige Netzplan:
^^ Ich habe für jedes System inkl. der Firewall selbst eine VM bekommen (insg. also 6), nur kann ich die jetzt nicht mehr zum Testen verwenden, weil mir mein Router zuhause und der VMware Player alles über den Haufen geschmissen haben. Jetzt stimmen die IPs nicht mehr und die LAN Segmente auch nicht. Ich darf das Script jetzt also quasi "blind" fertig schreiben ...
Na ja, Hauptproblem sind für mich die DNS Queries und der eine gewünschte Ping in Regel #14. Da bräuchte ich bitte Hilfe. Und ich wäre auch sehr dankbar, wenn mir jemand über meine bereits erstellten Regeln drüber schauen könnte und mir sagen könnte, ob das so stimmt. Wie gesagt, testen ist ja leider nicht mehr möglich. Ich weiß z.B. nicht, ob ich nach --dport einfach den Dienst angeben darf, oder wirklich die Portnummer hinschreiben muss. Etc.
Hier mein bisheriges Ergebnis:
BTW: VMware Workstation hätte ich zwar hier (da könnte man ja schön die LAN Segmente wieder richtig zuweisen), allerdings kann ich darin die VMs nicht starten und bekomme folgende Fehlermeldung: "This virtual machine is configured for 64-bit guest operating systems. However, 64-bit operation is not possible. This host does not support Intel VT-x."
^^ K. A. was der Mist soll. Ich habe hier Win7 x64 und einen i3 2120 der laut CPU-Z VT-x unterstützt! Und im Player kann ich die VMs ja auch ausführen ...
Danke für baldige Antworten!
Ich muss für folgende Firewall Policy ein iptables Script schreiben:
Hier noch der zugehörige Netzplan:
^^ Ich habe für jedes System inkl. der Firewall selbst eine VM bekommen (insg. also 6), nur kann ich die jetzt nicht mehr zum Testen verwenden, weil mir mein Router zuhause und der VMware Player alles über den Haufen geschmissen haben. Jetzt stimmen die IPs nicht mehr und die LAN Segmente auch nicht. Ich darf das Script jetzt also quasi "blind" fertig schreiben ...
Na ja, Hauptproblem sind für mich die DNS Queries und der eine gewünschte Ping in Regel #14. Da bräuchte ich bitte Hilfe. Und ich wäre auch sehr dankbar, wenn mir jemand über meine bereits erstellten Regeln drüber schauen könnte und mir sagen könnte, ob das so stimmt. Wie gesagt, testen ist ja leider nicht mehr möglich. Ich weiß z.B. nicht, ob ich nach --dport einfach den Dienst angeben darf, oder wirklich die Portnummer hinschreiben muss. Etc.
Hier mein bisheriges Ergebnis:
Code:
#!/bin/bash
### IPTABLES SCRIPT ###
# Load modules
modprobe ip_tables
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe iptable_nat
# activate port forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
# anti-spoofing
echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
# activate TCP-SYN-Cookies
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
# iptables
IPT=/sbin/iptables
# Firewall settings
# IPs
IP_FIREWALL=83.164.138.158
IP_FIREWALL_LAN=10.0.2.0
IP_FIREWALL_DMZ=10.0.1.0
# Interfaces
IF_INTERNET=eth0
IF_LAN=eth1
IF_DMZ=eth2
# LAN Network
# IPs
RANGE_LAN=10.0.2.0/24
IP_CLIENT=10.0.2.10
IP_NS2=10.0.2.254
# DMZ Network
# IPs
RANGE_DMZ=10.0.1.0/24
IP_NS1=10.0.1.30
IP_MAIL=10.0.1.20
IP_WWW=10.0.1.10
# Delete all rules
$IPT -F
$IPT -t nat -F
$IPT -t mangle -F
### Filter ###
# 1
$IPT -A FORWARD -i $IF_LAN -o $IF_INTERNET -s $IP_CLIENT -p tcp --dport 80 -j ACCEPT
$IPT -A FORWARD -i $IF_LAN -o $IF_INTERNET -s $IP_NS2 -p udp --dport 53 -j ACCEPT
$IPT -A FORWARD -m state --state ESTABLISHED -j ACCEPT
$IPT -A FORWARD -i $IF_LAN -o $IF_INTERNET -s $IP_CLIENT -p tcp --dport 443 -j ACCEPT
$IPT -A FORWARD -i $IF_LAN -o $IF_INTERNET -s $IP_CLIENT -p tcp --dport ftp -j ACCEPT
# 2
$IPT -A FORWARD -i $IF_LAN -o $IF_DMZ -p tcp -s $IP_CLIENT -d $IP_NS1 --dport ssh -j ACCEPT
# 3
$IPT -A FORWARD -i $IF_LAN -o $IF_DMZ -p tcp -s $IP_CLIENT -d $IP_WWW --dport http -j ACCEPT
$IPT -A FORWARD -i $IF_LAN -o $IF_DMZ -p udp -s $IP_CLIENT -d $IP_WWW --dport 20 -j ACCEPT
$IPT -A FORWARD -i $IF_LAN -o $IF_DMZ -p tcp -s $IP_CLIENT -d $IP_WWW --dport 21 -j ACCEPT
$IPT -A FORWARD -i $IF_LAN -o $IF_DMZ -p tcp -s $IP_CLIENT -d $IP_WWW --dport ssh -j ACCEPT
# 4
$IPT -A FORWARD -i $IF_LAN -o $IF_DMZ -p tcp -s $IP_CLIENT -d $IP_MAIL --dport smtp -j ACCEPT
$IPT -A FORWARD -i $IF_LAN -o $IF_DMZ -p tcp -s $IP_CLIENT -d $IP_MAIL --dport pop3 -j ACCEPT
$IPT -A FORWARD -i $IF_LAN -o $IF_DMZ -p tcp -s $IP_CLIENT -d $IP_MAIL --dport imap -j ACCEPT
$IPT -A FORWARD -i $IF_LAN -o $IF_DMZ -p tcp -s $IP_CLIENT -d $IP_MAIL --dport ssh -j ACCEPT
# 5
$IPT -A FORWARD -i $IF_LAN -o $IP_FIREWALL -p tcp -s $IP_CLIENT --dport ssh -j ACCEPT
# 6
# 7
# 8
# 9
# 10
$IPT -A FORWARD -i $IF_INTERNET -o $IF_DMZ -d $IP_WWW -p tcp --dport http -j ACCEPT
$IPT -A FORWARD -i $IF_INTERNET -o $IF_DMZ -d $IP_WWW -p udp --dport 20 -j ACCEPT
$IPT -A FORWARD -i $IF_INTERNET -o $IF_DMZ -d $IP_WWW -p tcp --dport 21 -j ACCEPT
$IPT -A FORWARD -i $IF_INTERNET -o $IF_DMZ -d $IP_WWW -p tcp --dport ssh -j ACCEPT
# 11
$IPT -A FORWARD -i $IF_INTERNET -o $IF_DMZ -d $IP_MAIL -p tcp --dport smtp -j ACCEPT
$IPT -A FORWARD -i $IF_INTERNET -o $IF_DMZ -d $IP_MAIL -p tcp --dport ssh -j ACCEPT
# 12
# 13
$IPT -A FORWARD -i $IF_DMZ -o $IF_INTERNET -p tcp --dport http -j ACCEPT
$IPT -A FORWARD -i $IF_DMZ -o $IF_INTERNET -p tcp --dport https -j ACCEPT
# 14
$IPT -A FORWARD -i $IF_INTERNET -o $IP_FIREWALL -p tcp --dport ssh -j ACCEPT
# 15
$IPT -A FORWARD -i $IP_FIREWALL -o $IF_INTERNET -p tcp --dport http -j ACCEPT
$IPT -A FORWARD -i $IP_FIREWALL -o $IF_INTERNET -p tcp --dport https -j ACCEPT
### NAT ###
$IPT -t nat -A POSTROUTING -o $IF_INTERNET -j MASQUERADE
# Log all other packets
$IPT -A INPUT -j LOG --log-prefix "Bad INPUT packet"
$IPT -A OUTPUT -j LOG --log-prefix "Bad OUTPUT packet"
$IPT -A FORWARD -j LOG --log-prefix "Bad FORWARD packet"
# Default policies
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP
^^ K. A. was der Mist soll. Ich habe hier Win7 x64 und einen i3 2120 der laut CPU-Z VT-x unterstützt! Und im Player kann ich die VMs ja auch ausführen ...
Danke für baldige Antworten!
Zuletzt bearbeitet: