moin!! wir verwenden SuSE 7.3 als gateway (tdsl) für unser netzwerk. es läuft so weit auch alles zufriedenstellend, jedoch funktioniert der zugang mittels ssh nicht. wir können zwar aus dem internen netz nach draußen aber weder von innen noch von außen auf das gateway per ssh zugreifen. wäre nett, wenn uns jemand helfen könnte. gruß markus brettschneider - - - - - - - - - ruleset - - - - - - - - - - #!/bin/bash #=====================================# # global # #=====================================# IPTABLES=/usr/sbin/iptables EXTERN=ppp0 INTERN=eth0 INTERN2=eth1 p_high=1024:65535 p_ssh=1000:1023 DNS=(217.5.115.77 194.25.2.129) #tonline SMTP=(217.72.192.157) #web.de IMAP=(217.72.192.135) #web.de POP3=(217.72.192.134) #web.de ICQ=(64.12.162.57) IRC=(209.9.44.200) #=====================================# # und los... # #=====================================# echo -n "" echo "" echo -n "bitoxin: Starte Firewall... " echo "" modprobe ip_conntrack #=======================================# # default-policies # #=======================================# echo -n "bitoxin: Setze 'default policies'... " $IPTABLES -F $IPTABLES -t nat -F $IPTABLES -X $IPTABLES -Z $IPTABLES -P INPUT DROP $IPTABLES -P FORWARD DROP $IPTABLES -P OUTPUT DROP echo "OK" #=======================================# # spoofing # #=======================================# echo -n "bitoxin: Setze Kernel-Parameter... " echo "1" > /proc/sys/net/ipv4/tcp_syncookies echo "1" > /proc/sys/net/ipv4/conf/all/log_martians echo "0" > /proc/sys/net/ipv4/conf/all/accept_redirects echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts echo "OK" #=======================================# # scan # #=======================================# echo -n "bitoxin: Starte 'Scan Protection'... " $IPTABLES -A INPUT -p icmp --icmp-type echo-request\ -m limit --limit 5/minute -j LOG\ --log-prefix '#### Ping Scan ####' $IPTABLES -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST\ -m limit --limit 1/s --limit-burst 5 -j LOG\ --log-level info\ --log-prefix '#### Stealth Scan ####' $IPTABLES -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH\ -m limit --limit 5/m -j LOG\ --log-level info\ --log-prefix '#### XMAS Scan ####' $IPTABLES -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST\ -m limit --limit 5/m -j LOG\ --log-level info\ --log-prefix '#### SYN/RST Scan ####' $IPTABLES -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN\ -m limit --limit 5/m -j LOG\ --log-level info\ --log-prefix '#### SYN/FIN Scan ####' echo "OK" #=======================================# # flooding etc. # #=======================================# echo -n "bitoxin: Starte flood-, fragment-, etc. protection ... " # we allow 4 TCP connects per second, no more $IPTABLES -N syn-flood $IPTABLES -A INPUT -p tcp --syn -j syn-flood $IPTABLES -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN $IPTABLES -A syn-flood -j DROP # new connections that have no syn set are most probably evil $IPTABLES -A INPUT -p tcp ! --syn -m state --state NEW -j DROP # invalid packets $IPTABLES -A INPUT -p tcp -m state --state INVALID\ -m limit --limit 10/m -j LOG\ --log-level info\ --log-prefix "### Invalid Packet ###" $IPTABLES -A INPUT -p tcp --tcp-option 64 -m limit\ --limit 5/m -j LOG --log-level info\ --log-prefix "### Bad TCP FLAG(64) ###" $IPTABLES -A INPUT -p tcp --tcp-option 128 -m limit\ --limit 5/m -j LOG --log-level info\ --log-prefix "### Bad TCP FLAG(128) ###" echo "OK" #=====================================# # masquerading # #=====================================# echo -n "bitoxin: Starte MASQUERADING... " $IPTABLES -t nat -A POSTROUTING -o $EXTERN -j MASQUERADE echo "1" > /proc/sys/net/ipv4/ip_forward echo "1" > /proc/sys/net/ipv4/ip_dynaddr echo "OK" #=====================================# # verbindungen erhalten # #=====================================# echo -n "bitoxin: Offene Verbindungen erlauben... " $IPTABLES -A OUTPUT -m state --state ESTABLISHED,RELATED\ -j ACCEPT $IPTABLES -A FORWARD -i $INTERN -o $EXTERN -m state\ --state ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED\ -j ACCEPT $IPTABLES -A INPUT -m state --state NEW,INVALID -j DROP $IPTABLES -A FORWARD -i $EXTERN -o $INTERN -m state\ --state ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A FORWARD -i $EXTERN -o $INTERN -m state\ --state NEW,INVALID -j DROP echo "OK" #=======================================# # PING # #=======================================# echo -n "bitoxin: ICMP (in) verbieten... " echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all $IPTABLES -A INPUT -p ICMP --icmp-type echo-request -j DROP echo "OK" echo -n "bitoxin: ICMP (out) erlauben... " $IPTABLES -A OUTPUT -p ICMP --icmp-type echo-request -j ACCEPT $IPTABLES -A FORWARD -p ICMP --icmp-type echo-request -j ACCEPT echo "OK" #=======================================# # loopback # #=======================================# echo -n "bitoxin: Loopback zulassen... " $IPTABLES -A OUTPUT -o lo -j ACCEPT $IPTABLES -A INPUT -i lo -j ACCEPT echo "OK" echo -n "bitoxin: Erlaube Services..." echo "" #=======================================# # DNS # #=======================================# echo -n " dns(out)... " $IPTABLES -A OUTPUT -m state --state NEW -p UDP\ --sport $p_high -d $DNS --dport domain -j ACCEPT $IPTABLES -A OUTPUT -m state --state NEW -p TCP\ --sport $p_high -d $DNS --dport domain -j ACCEPT $IPTABLES -A FORWARD -o $EXTERN -m state --state NEW\ -p UDP --sport $p_high -d $DNS --dport domain -j ACCEPT $IPTABLES -A FORWARD -o $EXTERN -m state --state NEW\ -p UDP --sport $p_high -d $DNS --dport domain -j ACCEPT echo "OK" #=======================================# # HTTP / HTTPS # #=======================================# echo -n " http(out)... " $IPTABLES -A OUTPUT -o $EXTERN -m state --state NEW -p TCP\ --sport $p_high --dport http -j ACCEPT $IPTABLES -A FORWARD -o $EXTERN -m state --state NEW -p TCP\ --sport $p_high --dport http -j ACCEPT echo "OK" echo -n " https(out)... " $IPTABLES -A FORWARD -o $EXTERN -m state --state NEW -p TCP\ --sport $p_high --dport https -j ACCEPT echo "OK" #=======================================# # MAIL # #=======================================# echo -n " smtp(out)... " $IPTABLES -A FORWARD -o $EXTERN -m state --state NEW -p TCP\ --sport $p_high -d $SMTP --dport smtp -j ACCEPT echo "OK" echo -n " imap(out)... " $IPTABLES -A FORWARD -o $EXTERN -m state --state NEW -p TCP\ --sport $p_high -d $IMAP --dport imap -j ACCEPT echo "OK" echo -n " pop3(out)..." $IPTABLES -A FORWARD -o $EXTERN -m state --state NEW -p TCP\ --sport $p_high -d $POP3 --dport pop3 -j ACCEPT echo "OK" #=======================================# # SSH # #=======================================# echo -n " ssh(out)... " $IPTABLES -A FORWARD -o $EXTERN -m state --state NEW \ -p TCP --sport $p_high --dport ssh \ -j ACCEPT $IPTABLES -A INPUT -i $INTERN -p TCP --sport $p_high --dport ssh \ -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A OUTPUT -o $INTERN -p TCP --dport $p_high --sport ssh \ -m state --state ESTABLISHED,RELATED -j ACCEPT # $IPTABLES -A INPUT -p TCP --dport ssh -j ACCEPT # $IPTABLES -A INPUT -p TCP --sport ssh -j ACCEPT # $IPTABLES -A OUTPUT -p TCP --dport ssh -j ACCEPT # $IPTABLES -A OUTPUT -p TCP --sport ssh -j ACCEPT # $IPTABLES -A INPUT -p UDP --dport ssh -j ACCEPT # $IPTABLES -A INPUT -p UDP --sport ssh -j ACCEPT # $IPTABLES -A OUTPUT -p UDP --dport ssh -j ACCEPT # $IPTABLES -A OUTPUT -p UDP --sport ssh -j ACCEPT echo "OK" #=======================================# # telnet # #=======================================# $IPTABLES -A FORWARD -o $EXTERN -m state --state NEW \ -p TCP --sport $p_high --dport telnet \ -j ACCEPT #=======================================# # FTP # #=======================================# echo -n " ftp(out)... " $IPTABLES -A FORWARD -o $EXTERN -p TCP --dport ftp\ --sport $p_high -m state --state NEW -j ACCEPT $IPTABLES -A FORWARD -o $EXTERN -p TCP --dport $p_high\ --sport $p_high -m state --state NEW -j ACCEPT $IPTABLES -A OUTPUT -p TCP --dport ftp \ --sport $p_high -m state --state NEW -j ACCEPT $IPTABLES -A INPUT -p TCP --dport $p_high\ --sport $p_high -m state --state NEW -j ACCEPT echo "OK" #=======================================# # ICQ # #=======================================# echo -n " icq(out)... " $IPTABLES -A FORWARD -p TCP -d $ICQ\ --dport 5190 -j ACCEPT $IPTABLES -A FORWARD -p TCP --dport 5190 -j ACCEPT echo "OK" #=======================================# # IRC # #=======================================# echo -n " irc(out)... " $IPTABLES -A FORWARD -p TCP -d $IRC\ --dport 6667 -j ACCEPT echo "OK" #=======================================# # realaudio # #=======================================# echo -n " realaudio... " $IPTABLES -A FORWARD -o $EXTERN -p TCP --sport 1024:65535 --dport 554 -j ACCEPT $IPTABLES -A FORWARD -o $EXTERN -p tcp --sport 1024:65535 --dport 7070 -j ACCEPT $IPTABLES -A FORWARD -o $EXTERN -p UDP --sport 1024:65535 --dport 6970:7170 -j ACCEPT echo "OK" echo -n "bitoxin: Firewall bereit." echo "" echo -n "" echo "" exit 0
Hallo Gordon, * Gordon E. schrieb am 26 Jan 2002:
moin!!
wir verwenden SuSE 7.3 als gateway (tdsl) für unser netzwerk. es läuft so weit auch alles zufriedenstellend, jedoch funktioniert der zugang mittels ssh nicht. wir können zwar aus dem internen netz nach draußen aber weder von innen noch von außen auf das gateway per ssh zugreifen.
wäre nett, wenn uns jemand helfen könnte.
gruß markus brettschneider
- - - - - - - - - ruleset - - - - - - - - - -
#!/bin/bash
#=====================================# # global # #=====================================# IPTABLES=/usr/sbin/iptables
EXTERN=ppp0 INTERN=eth0 INTERN2=eth1
p_high=1024:65535 p_ssh=1000:1023
Also, wenn ich mich richtig erinnere, benutzt ssh Version 2 schon die Ports ab 500. Damit solltest Du 'p_ssh=500:1023' eintragen. Hast Du ssh mit -P gestartet? Gruß Sören --
Am Sonntag, 27. Januar 2002 10:29 schrieb Sören Mindorf:
Hallo Gordon,
* Gordon E. schrieb am 26 Jan 2002:
moin!!
wir verwenden SuSE 7.3 als gateway (tdsl) für unser netzwerk. es läuft so weit auch alles zufriedenstellend, jedoch funktioniert der zugang mittels ssh nicht. wir können zwar aus dem internen netz nach draußen aber weder von innen noch von außen auf das gateway per ssh zugreifen.
wäre nett, wenn uns jemand helfen könnte.
gruß markus brettschneider
- - - - - - - - - ruleset - - - - - - - - - -
#!/bin/bash
#=====================================# # global # #=====================================# IPTABLES=/usr/sbin/iptables
EXTERN=ppp0 INTERN=eth0 INTERN2=eth1
p_high=1024:65535 p_ssh=1000:1023
Also, wenn ich mich richtig erinnere, benutzt ssh Version 2 schon die Ports ab 500. Damit solltest Du 'p_ssh=500:1023' eintragen.
Hast Du ssh mit -P gestartet?
Gruß
Sören
Hallo , bei mir hats funktioniert als ich den p_ssh gegen den p_high ausgetauscht habe. Scheinbar funktioniert der clientseitige SSH Aufbau mit ganz normalen unterpriviligierten Ports. (1024:65535) Gruss Georg
Hi Gordon, On 26 Jan 2002 at 23:58, Gordon E. wrote:
wir verwenden SuSE 7.3 als gateway (tdsl) für unser netzwerk. es läuft so weit auch alles zufriedenstellend, jedoch funktioniert der zugang mittels ssh nicht. wir können zwar aus dem internen netz nach draußen aber weder von innen noch von außen auf das gateway per ssh zugreifen. [...]. #=======================================# # SSH # #=======================================# echo -n " ssh(out)... " $IPTABLES -A FORWARD -o $EXTERN -m state --state NEW \ -p TCP --sport $p_high --dport ssh \ -j ACCEPT [...].
$UP='1024:65535' $IPTABLES -A INPUT -i $INTERN -s $ADMIN_IP -p TCP --sport $UP \ --dport ssh -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A OUTPUT -o $INTERN -d $ADMIN_IP -p TCP --dport \ $UP --sport ssh -m state --state ESTABLISHED,RELATED -j ACCEPT für das erste und die nachfolgenden Packete von Innen auf das Gateway. Telnet, würde ich generell unterbinden, auch 'nur' forwarding. Geht alles ja mit ssh ;) Wenn Du die iptables abschaltest geht ssh? PS.: Es war nicht wirklich nötigt, Eure ganzen Regeln hier zu posten. mit freundlichen Grüßen Jörg Zimmermann ------------------------------------------- .xsiteing agentur für netzkommunikation 42117 wuppertal - friedrich-ebert-str. 141b tel: 0202/3097070 - fax: 0202/3097072
participants (4)
-
Gordon E.
-
Jörg Zimmermann
-
SabineGeorg@t-online.de
-
Sören Mindorf