Operator29
29.12.01, 18:58
Hi,
habe Samba bei mir installiert und immer wenn ich die Firewall starte kann ich von meinem Windows Rechner aus nicht mehr auf den Linux Rechner zugreifen weil die Firewall alles dicht macht. Für Squid und pop3 usw. sind Regeln erstellt damit er das trotzdem macht nur eben nicht für Samba. Könnt ihr Euch die Firewall mal anschauen und mir dann sagen welche Regel ich einfügen bzw. weglassen muss damit das auch wieder geht. Und das natürlich die restlichen Ports geschlossen sind. Danke
Hier mein Firewall Script:
#!/bin/tcsh
# IPTABLES FIREWALLSKRIPT
# copyright RAU-EDV Stuttgart
echo "Firewall wird gestartet...."
# 1.Teil: Variablen
set IPTABLES = /usr/sbin/iptables
# 2.Teil: spezielle Ports
set lowports = 1:1023 # priviligierte Ports
set highports = 1024:65535 # unpriviligierte Ports
# 3.Teil: Interfaces
set EXT = eth1
set INT = eth0
set IF = ($EXT $INT)
set ANY = 0.0.0.0/0 # Wildcard
# 4.Teil: IP Adressen der Hosts
set INTERN = 192.168.100.0/24
# set NS = 194.25.2.129 # IP Adresse(n) der/des Nameserver(s) hier eintragen
# set mail = mail.rau-edv.de # IP Adresse des Mailservers
# 5.Teil Grundkonfiguration dynamische Kernelparameter
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
# echo "5" > /proc/sys/net/ipv4/icmp_destunreach_rate
# echo "5" > /proc/sys/net/ipv4/icmp_echoreply_rate
# echo "5" > /proc/sys/net/ipv4/icmp_paramprob_rate
# echo "10" > /proc/sys/net/ipv4/icmp_timeexceed_rate
foreach if ($IF)
echo "1" > /proc/sys/net/ipv4/conf/$if/rp_filter
echo "0" > /proc/sys/net/ipv4/conf/$if/accept_redirects
echo "0" > /proc/sys/net/ipv4/conf/$if/accept_source_route
echo "0" > /proc/sys/net/ipv4/conf/$if/bootp_relay
echo "1" > /proc/sys/net/ipv4/conf/$if/log_martians
end
# 6.Teil: (Jetzt geht's los) Die Grundprinzipien und Flush
$IPTABLES -P INPUT DROP # default policy input
$IPTABLES -P FORWARD DROP # default policy forward
$IPTABLES -P OUTPUT DROP # default policy output
$IPTABLES -F # flush aller chains (Tabelle filter)
$IPTABLES -t nat -F # flush aller chains (Tabelle nat)
$IPTABLES -X # delete all userdefined chains (Tabelle filter)
# 7.Teil: Spoof protection
$IPTABLES -A INPUT -s $INTERN -i $EXT -j DROP
$IPTABLES -A INPUT -s 10.0.0.0/8 -i $EXT -j DROP
$IPTABLES -A INPUT -s 172.16.0.0/12 -i $EXT -j DROP
$IPTABLES -A INPUT -s 192.168.0.0/16 -i $EXT -j DROP
$IPTABLES -A INPUT -d 10.0.0.0/8 -i $EXT -j DROP
$IPTABLES -A INPUT -d 172.16.0.0/12 -i $EXT -j DROP
$IPTABLES -A INPUT -d 192.168.0.0/16 -i $EXT -j DROP
# 8.Teil: Lokale Prozesse wieder freigeben
$IPTABLES -A OUTPUT -o lo -j ACCEPT
$IPTABLES -A INPUT -i lo -j ACCEPT
# 9.Teil: DROP & LOG Chain
$IPTABLES -N my_drop
$IPTABLES -A my_drop -p ICMP -j LOG
$IPTABLES -A my_drop -p UDP -j LOG
$IPTABLES -A my_drop -p TCP -j LOG
$IPTABLES -A my_drop -j DROP
# 10. Teil: Masquerading
$IPTABLES -t nat -A POSTROUTING -o $EXT -j MASQUERADE
# Ausgehende Pakete bei bestehender Verbindung
$IPTABLES -A OUTPUT \
-m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $INT -o $EXT \
-m state --state ESTABLISHED,RELATED -j ACCEPT
# Eingehende Pakete zu bestehender Verbindung
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# $IPTABLES -A INPUT -m state --state NEW,INVALID -j my_drop
$IPTABLES -A FORWARD -i $EXT -o $INT \
-m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $EXT -o $INT \
-m state --state NEW,INVALID -j my_drop
# 11.Teil: jetzt kommen die Filterregeln für lokale Dienste
# ICMP
$IPTABLES -A OUTPUT -p ICMP --icmp-type echo-request -j ACCEPT # ausgehender ping wird erlaubt
$IPTABLES -A INPUT -p ICMP --icmp-type echo-request -j ACCEPT # eingehender ping wird beantwortet
# DNS
$IPTABLES -A OUTPUT -o $EXT -p UDP --dport 53 -j ACCEPT
# HTTP
$IPTABLES -A OUTPUT -o $EXT -p TCP --sport $highports --dport 80 -j ACCEPT
$IPTABLES -A OUTPUT -o $EXT -p TCP --sport $highports --dport 443 -j ACCEPT
# FTP
$IPTABLES -A OUTPUT -o $EXT -p TCP --sport $highports --dport 21 -j ACCEPT
$IPTABLES -A OUTPUT -o $EXT -p TCP --sport $highports --dport 20 -j ACCEPT
$IPTABLES -A OUTPUT -o $EXT -p TCP --sport $highports --dport $highports -j ACCEPT
# POP3
$IPTABLES -A OUTPUT -o $EXT -p TCP --sport $highports --dport 110 -j ACCEPT
# NTP
$IPTABLES -A OUTPUT -o $EXT -p UDP --sport $highports --dport 37 -j ACCEPT
$IPTABLES -A OUTPUT -o $EXT -p TCP --sport $highports --dport 37 -j ACCEPT
# Von Innen erlauben (Squid, Sendmail, pop3, Webmin und Telnet)
$IPTABLES -A INPUT -i $INT -s $INTERN -p TCP --sport $highports --dport 3128 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -i $INT -s $INTERN -p TCP --sport $highports --dport smtp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -i $INT -s $INTERN -p TCP --sport $highports --dport pop3 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -i $INT -s $INTERN -p TCP --sport $highports --dport 81 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -i $INT -s $INTERN -p TCP --sport $highports --dport 23 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -i $INT -s $INTERN -p UDP --sport $highports --dport 37 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -i $INT -s $INTERN -p TCP --sport $highports --dport 37 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# 12.Teil und nun Filterregeln für Forwarding
# 12.1 ICMP
$IPTABLES -A FORWARD -o $EXT -p ICMP --icmp-type echo-request -j ACCEPT # Ping nach außen kommt zurück
# 12.2 IDENT
$IPTABLES -A FORWARD -i $EXT -p TCP --dport auth --syn -j REJECT
# 12.3 DNS
$IPTABLES -A FORWARD -o $EXT -m state --state NEW \
-p UDP --sport $highports --dport domain -j ACCEPT
$IPTABLES -A FORWARD -o $EXT -m state --state NEW \
-p TCP --sport $highports --dport domain -j ACCEPT
# 12.4 SMTP, POP3 und IMAP
$IPTABLES -A FORWARD -o $EXT -m state --state NEW \
-p TCP --sport $highports --dport pop3 -j ACCEPT
$IPTABLES -A FORWARD -o $EXT -m state --state NEW \
-p TCP --sport $highports --dport smtp -j ACCEPT
$IPTABLES -A FORWARD -o $EXT -m state --state NEW \
-p TCP --sport $highports --dport imap -j ACCEPT
# 12.5 HTTP und HTTPS
$IPTABLES -A FORWARD -o $EXT -m state --state NEW \
-p TCP --sport $highports --dport http -j ACCEPT
$IPTABLES -A FORWARD -o $EXT -m state --state NEW \
-p TCP --sport $highports --dport https -j ACCEPT
# 12.6 Telnet und SSH
$IPTABLES -A FORWARD -o $EXT -m state --state NEW \
-p TCP --sport $highports --dport ssh -j ACCEPT
$IPTABLES -A FORWARD -o $EXT -m state --state NEW \
-p TCP --sport $highports --dport telnet -j ACCEPT
# 12.7 FTP und passives FTP
$IPTABLES -A FORWARD -o $EXT -m state --state NEW \
-p TCP --sport $highports --dport ftp -j ACCEPT
$IPTABLES -A FORWARD -o $EXT -m state --state NEW \
-p TCP --sport $highports --dport $highports -j ACCEPT
# 12.8 Lotus Notes
$IPTABLES -A FORWARD -o $EXT -m state --state NEW \
-p TCP --sport $highports --dport 1352 -j ACCEPT
# 12.9 Homebanking
$IPTABLES -A FORWARD -o $EXT -m state --state NEW \
-p TCP --sport $highports --dport 3000 -j ACCEPT
# 12.10 Webmin
$IPTABLES -A FORWARD -o $EXT -m state --state NEW \
-p TCP --sport $highports --dport 81 -j ACCEPT
# 12.11 VNC
$IPTABLES -A FORWARD -o $EXT -m state --state NEW \
-p TCP --sport $highports --dport 5800 -j ACCEPT
$IPTABLES -A FORWARD -o $EXT -m state --state NEW \
-p TCP --sport $highports --dport 5900 -j ACCEPT
# 12.12 NTP
$IPTABLES -A FORWARD -o $EXT -m state --state NEW \
-p UDP --sport $highports --dport 37 -j ACCEPT
$IPTABLES -A FORWARD -o $EXT -m state --state NEW \
-p TCP --sport $highports --dport 37 -j ACCEPT
# 13. Von außen erlauben (pop3)
$IPTABLES -A INPUT -i $EXT -p TCP --sport $highports --dport pop3 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# 14. Teil Ausputzen, d.h. den Rest sperren und loggen (catch all)
$IPTABLES -A FORWARD -j my_drop
$IPTABLES -A OUTPUT -j REJECT
echo "Passt. (Firewall Regeln sind aktiv)"
habe Samba bei mir installiert und immer wenn ich die Firewall starte kann ich von meinem Windows Rechner aus nicht mehr auf den Linux Rechner zugreifen weil die Firewall alles dicht macht. Für Squid und pop3 usw. sind Regeln erstellt damit er das trotzdem macht nur eben nicht für Samba. Könnt ihr Euch die Firewall mal anschauen und mir dann sagen welche Regel ich einfügen bzw. weglassen muss damit das auch wieder geht. Und das natürlich die restlichen Ports geschlossen sind. Danke
Hier mein Firewall Script:
#!/bin/tcsh
# IPTABLES FIREWALLSKRIPT
# copyright RAU-EDV Stuttgart
echo "Firewall wird gestartet...."
# 1.Teil: Variablen
set IPTABLES = /usr/sbin/iptables
# 2.Teil: spezielle Ports
set lowports = 1:1023 # priviligierte Ports
set highports = 1024:65535 # unpriviligierte Ports
# 3.Teil: Interfaces
set EXT = eth1
set INT = eth0
set IF = ($EXT $INT)
set ANY = 0.0.0.0/0 # Wildcard
# 4.Teil: IP Adressen der Hosts
set INTERN = 192.168.100.0/24
# set NS = 194.25.2.129 # IP Adresse(n) der/des Nameserver(s) hier eintragen
# set mail = mail.rau-edv.de # IP Adresse des Mailservers
# 5.Teil Grundkonfiguration dynamische Kernelparameter
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
# echo "5" > /proc/sys/net/ipv4/icmp_destunreach_rate
# echo "5" > /proc/sys/net/ipv4/icmp_echoreply_rate
# echo "5" > /proc/sys/net/ipv4/icmp_paramprob_rate
# echo "10" > /proc/sys/net/ipv4/icmp_timeexceed_rate
foreach if ($IF)
echo "1" > /proc/sys/net/ipv4/conf/$if/rp_filter
echo "0" > /proc/sys/net/ipv4/conf/$if/accept_redirects
echo "0" > /proc/sys/net/ipv4/conf/$if/accept_source_route
echo "0" > /proc/sys/net/ipv4/conf/$if/bootp_relay
echo "1" > /proc/sys/net/ipv4/conf/$if/log_martians
end
# 6.Teil: (Jetzt geht's los) Die Grundprinzipien und Flush
$IPTABLES -P INPUT DROP # default policy input
$IPTABLES -P FORWARD DROP # default policy forward
$IPTABLES -P OUTPUT DROP # default policy output
$IPTABLES -F # flush aller chains (Tabelle filter)
$IPTABLES -t nat -F # flush aller chains (Tabelle nat)
$IPTABLES -X # delete all userdefined chains (Tabelle filter)
# 7.Teil: Spoof protection
$IPTABLES -A INPUT -s $INTERN -i $EXT -j DROP
$IPTABLES -A INPUT -s 10.0.0.0/8 -i $EXT -j DROP
$IPTABLES -A INPUT -s 172.16.0.0/12 -i $EXT -j DROP
$IPTABLES -A INPUT -s 192.168.0.0/16 -i $EXT -j DROP
$IPTABLES -A INPUT -d 10.0.0.0/8 -i $EXT -j DROP
$IPTABLES -A INPUT -d 172.16.0.0/12 -i $EXT -j DROP
$IPTABLES -A INPUT -d 192.168.0.0/16 -i $EXT -j DROP
# 8.Teil: Lokale Prozesse wieder freigeben
$IPTABLES -A OUTPUT -o lo -j ACCEPT
$IPTABLES -A INPUT -i lo -j ACCEPT
# 9.Teil: DROP & LOG Chain
$IPTABLES -N my_drop
$IPTABLES -A my_drop -p ICMP -j LOG
$IPTABLES -A my_drop -p UDP -j LOG
$IPTABLES -A my_drop -p TCP -j LOG
$IPTABLES -A my_drop -j DROP
# 10. Teil: Masquerading
$IPTABLES -t nat -A POSTROUTING -o $EXT -j MASQUERADE
# Ausgehende Pakete bei bestehender Verbindung
$IPTABLES -A OUTPUT \
-m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $INT -o $EXT \
-m state --state ESTABLISHED,RELATED -j ACCEPT
# Eingehende Pakete zu bestehender Verbindung
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# $IPTABLES -A INPUT -m state --state NEW,INVALID -j my_drop
$IPTABLES -A FORWARD -i $EXT -o $INT \
-m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $EXT -o $INT \
-m state --state NEW,INVALID -j my_drop
# 11.Teil: jetzt kommen die Filterregeln für lokale Dienste
# ICMP
$IPTABLES -A OUTPUT -p ICMP --icmp-type echo-request -j ACCEPT # ausgehender ping wird erlaubt
$IPTABLES -A INPUT -p ICMP --icmp-type echo-request -j ACCEPT # eingehender ping wird beantwortet
# DNS
$IPTABLES -A OUTPUT -o $EXT -p UDP --dport 53 -j ACCEPT
# HTTP
$IPTABLES -A OUTPUT -o $EXT -p TCP --sport $highports --dport 80 -j ACCEPT
$IPTABLES -A OUTPUT -o $EXT -p TCP --sport $highports --dport 443 -j ACCEPT
# FTP
$IPTABLES -A OUTPUT -o $EXT -p TCP --sport $highports --dport 21 -j ACCEPT
$IPTABLES -A OUTPUT -o $EXT -p TCP --sport $highports --dport 20 -j ACCEPT
$IPTABLES -A OUTPUT -o $EXT -p TCP --sport $highports --dport $highports -j ACCEPT
# POP3
$IPTABLES -A OUTPUT -o $EXT -p TCP --sport $highports --dport 110 -j ACCEPT
# NTP
$IPTABLES -A OUTPUT -o $EXT -p UDP --sport $highports --dport 37 -j ACCEPT
$IPTABLES -A OUTPUT -o $EXT -p TCP --sport $highports --dport 37 -j ACCEPT
# Von Innen erlauben (Squid, Sendmail, pop3, Webmin und Telnet)
$IPTABLES -A INPUT -i $INT -s $INTERN -p TCP --sport $highports --dport 3128 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -i $INT -s $INTERN -p TCP --sport $highports --dport smtp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -i $INT -s $INTERN -p TCP --sport $highports --dport pop3 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -i $INT -s $INTERN -p TCP --sport $highports --dport 81 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -i $INT -s $INTERN -p TCP --sport $highports --dport 23 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -i $INT -s $INTERN -p UDP --sport $highports --dport 37 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -i $INT -s $INTERN -p TCP --sport $highports --dport 37 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# 12.Teil und nun Filterregeln für Forwarding
# 12.1 ICMP
$IPTABLES -A FORWARD -o $EXT -p ICMP --icmp-type echo-request -j ACCEPT # Ping nach außen kommt zurück
# 12.2 IDENT
$IPTABLES -A FORWARD -i $EXT -p TCP --dport auth --syn -j REJECT
# 12.3 DNS
$IPTABLES -A FORWARD -o $EXT -m state --state NEW \
-p UDP --sport $highports --dport domain -j ACCEPT
$IPTABLES -A FORWARD -o $EXT -m state --state NEW \
-p TCP --sport $highports --dport domain -j ACCEPT
# 12.4 SMTP, POP3 und IMAP
$IPTABLES -A FORWARD -o $EXT -m state --state NEW \
-p TCP --sport $highports --dport pop3 -j ACCEPT
$IPTABLES -A FORWARD -o $EXT -m state --state NEW \
-p TCP --sport $highports --dport smtp -j ACCEPT
$IPTABLES -A FORWARD -o $EXT -m state --state NEW \
-p TCP --sport $highports --dport imap -j ACCEPT
# 12.5 HTTP und HTTPS
$IPTABLES -A FORWARD -o $EXT -m state --state NEW \
-p TCP --sport $highports --dport http -j ACCEPT
$IPTABLES -A FORWARD -o $EXT -m state --state NEW \
-p TCP --sport $highports --dport https -j ACCEPT
# 12.6 Telnet und SSH
$IPTABLES -A FORWARD -o $EXT -m state --state NEW \
-p TCP --sport $highports --dport ssh -j ACCEPT
$IPTABLES -A FORWARD -o $EXT -m state --state NEW \
-p TCP --sport $highports --dport telnet -j ACCEPT
# 12.7 FTP und passives FTP
$IPTABLES -A FORWARD -o $EXT -m state --state NEW \
-p TCP --sport $highports --dport ftp -j ACCEPT
$IPTABLES -A FORWARD -o $EXT -m state --state NEW \
-p TCP --sport $highports --dport $highports -j ACCEPT
# 12.8 Lotus Notes
$IPTABLES -A FORWARD -o $EXT -m state --state NEW \
-p TCP --sport $highports --dport 1352 -j ACCEPT
# 12.9 Homebanking
$IPTABLES -A FORWARD -o $EXT -m state --state NEW \
-p TCP --sport $highports --dport 3000 -j ACCEPT
# 12.10 Webmin
$IPTABLES -A FORWARD -o $EXT -m state --state NEW \
-p TCP --sport $highports --dport 81 -j ACCEPT
# 12.11 VNC
$IPTABLES -A FORWARD -o $EXT -m state --state NEW \
-p TCP --sport $highports --dport 5800 -j ACCEPT
$IPTABLES -A FORWARD -o $EXT -m state --state NEW \
-p TCP --sport $highports --dport 5900 -j ACCEPT
# 12.12 NTP
$IPTABLES -A FORWARD -o $EXT -m state --state NEW \
-p UDP --sport $highports --dport 37 -j ACCEPT
$IPTABLES -A FORWARD -o $EXT -m state --state NEW \
-p TCP --sport $highports --dport 37 -j ACCEPT
# 13. Von außen erlauben (pop3)
$IPTABLES -A INPUT -i $EXT -p TCP --sport $highports --dport pop3 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# 14. Teil Ausputzen, d.h. den Rest sperren und loggen (catch all)
$IPTABLES -A FORWARD -j my_drop
$IPTABLES -A OUTPUT -j REJECT
echo "Passt. (Firewall Regeln sind aktiv)"