Remote SSH (Dropbear) problem, Ports tunneln - forwardrules?

tilllt

Neuer User
Mitglied seit
24 Jul 2005
Beiträge
15
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich weiss das dieses Thema viel und ausgiebig diskutiert wurde aber ich habe meiner Meinung nach die verschiedenen Anleitung ausprobiert und nichts davon hat funktioniert.

Ich möchte auf eine Fritzbox 7050 mit AVM Firmware 14.04.33 über SSH einige Ports tunneln. Ich habe das Dropbear-Mod von the-construct installiert und über DynDNS die Box von aussen erreichbar gemacht. Lokal funktioniert das, inklusive SSH Tunnel auf Ports lokaler Geräte etc. Allerdings kriege ich weder mit virtuellem Interface, noch der häufig beschriebenen Änderung an den Forwardrules hin, die Fritzbox von aussen erreichbar zu machen.

Ich habe mit dem FBEditor die ar7.cfg editiert und zurückgeladen, Box startet neu, der Eintrag in den Forwardrules scheint drin zu sein, aber auch nmap sagt port 22 (oder andere Ports die ich probiert habe) sind nicht offen. Hat noch jemand eine Idee?


Auszug ar7.cfg
-----
Code:
**** FRITZ!Box Fon WLAN 7050 (UI) CONFIGURATION EXPORT
Password=xxx
FirmwareVersion=14.04.33
CONFIG_INSTALL_TYPE=ar7_ubik2_4MB_2eth_3ab_isdn_nt_te_pots_wlan_50494
OEM=1und1
Country=049
**** CFGFILE:ar7.cfg
/*
 * /var/flash/ar7.cfg
 * Fri Feb 20 23:04:00 2009
 */

ar7cfg {
        mode = dsldmode_router;
        tsdisabled = no;
        igddenabled = yes;
        igdd_control_enabled = yes;
        wan_bridge_with_dhcpc = yes;
        wan_bridge_gateway = 0.0.0.0;
        dhcpc_use_static_dns = no;
        ethmode = ethmode_bridge;
        StatisticStartOfMonth = 1;
        macdsl_override = 00:00:00:00:00:00;
        ethinterfaces {
                name = "eth0";
                dhcp = no;
                ipaddr = 192.168.178.1;
                netmask = 255.255.255.0;
                dstipaddr = 0.0.0.0;
                dhcpenabled = yes;
                dhcpstart = 0.0.0.0;
                dhcpend = 0.0.0.0;
        } {
                name = "eth0:0";
                dhcp = no;
                ipaddr = 169.254.1.1;
                netmask = 255.255.0.0;
                dstipaddr = 0.0.0.0;
                dhcpenabled = yes;
                dhcpstart = 0.0.0.0;
                dhcpend = 0.0.0.0;
        } {
                name = "eth1";
                dhcp = no;
                ipaddr = 192.168.181.1;
                netmask = 255.255.255.0;
                dstipaddr = 0.0.0.0;
                dhcpenabled = yes;
                dhcpstart = 0.0.0.0;
                dhcpend = 0.0.0.0;
        } {
                name = "usbrndis";
                dhcp = no;
                ipaddr = 192.168.179.1;
                netmask = 255.255.255.0;
                dstipaddr = 0.0.0.0;
                dhcpenabled = yes;
                dhcpstart = 0.0.0.0;
                dhcpend = 0.0.0.0;
        } {
                name = "wlan";
                dhcp = no;
                ipaddr = 192.168.182.1;
                netmask = 255.255.255.0;
                dstipaddr = 0.0.0.0;
                interfaces = "tiwlan0", "wdsup0", "wdsdw0", "wdsdw1", 
                             "wdsdw2", "wdsdw3";
                dhcpenabled = yes;
                dhcpstart = 0.0.0.0;
                dhcpend = 0.0.0.0;
        }
        brinterfaces {
                name = "lan";
                dhcp = no;
                ipaddr = 192.168.178.1;
                netmask = 255.255.255.0;
                dstipaddr = 0.0.0.0;
                interfaces = "eth0", "usbrndis", "eth1", "tiwlan0", "wdsup0", 
                             "wdsdw0", "wdsdw1", "wdsdw2", "wdsdw3";
                dhcpenabled = yes;
                dhcpstart = 0.0.0.0;
                dhcpend = 0.0.0.0;
        } {
                name = "lan:0";
                dhcp = no;
                ipaddr = 169.254.1.1;
                netmask = 255.255.0.0;
                dstipaddr = 0.0.0.0;
                dhcpenabled = yes;
                dhcpstart = 0.0.0.0;
                dhcpend = 0.0.0.0;
        }
        dslinterface {
                name = "dsl";
                dhcp = no;
                ipaddr = 169.254.2.1;
                netmask = 255.255.255.255;
                dstipaddr = 169.254.2.1;
                dhcpenabled = yes;
                dhcpstart = 0.0.0.0;
                dhcpend = 0.0.0.0;
        }
        dslinterface_metric = 2;
        ipbridge {
                enabled = no;
        }
        pppoefw {
                interfaces = "usbrndis", "eth0", "eth1", "tiwlan0", "wdsup0", 
                             "wdsdw0", "wdsdw1", "wdsdw2", "wdsdw3";
                nofirewall = yes;
                ipnetbiosfilter = yes;
                dnsfilter_for_active_directory = yes;
                hostuniq_filter = "";
                dpconfig {
                        security = dpsec_host;
                        lowinput {
                                policy = "reject";
                                accesslist = 
                                             "permit ip any any connection outgoing-related", 
                                             "permit ip any any connection incoming-related", 
                                             "permit icmp any any";
                        }
                        lowoutput {
                                policy = "permit";
                        }
                        highinput {
                                policy = "permit";
                        }
                        highoutput {
                                policy = "permit";
                                accesslist = 
                                             "reject ip any 242.0.0.0 255.0.0.0", 
                                             "deny ip any host 255.255.255.255", 
                                             "reject ip any 169.254.0.0 255.255.0.0", 
                                             "reject udp any any eq 135", 
                                             "reject tcp any any eq 135", 
                                             "reject udp any any range 137 139", 
                                             "reject tcp any any range 137 139", 
                                             "reject udp any any range 161 162", 
                                             "reject udp any any eq 520", 
                                             "reject udp any any eq 111", 
                                             "reject udp any any eq 22289", 
                                             "reject udp any any eq 1710", 
                                             "reject udp any any eq 1048", 
                                             "reject udp any any eq 158", 
                                             "reject udp any any eq 515", 
                                             "reject icmp any 149.1.1.0 255.255.255.0";
                        }
                        shaper = "globalshaper";
                }
        }
        budget {
                Enabled = no;
                Period = 2;
                VolumeLow = 0;
                VolumeHigh = 0;
                ConnectionTime = 0;
                WarnOnly = yes;
        }
        vccs {
                VPI = 1;
                VCI = 32;
                traffic_class = atm_traffic_class_UBR;
                pcr = 0;
                scr = 0;
                priority = 0;
                dsl_encap = dslencap_pppoe;
                ipbridgeing = no;
                pppoeforwarding = no;
                connections = "internet", "voip";
        }
        mcupstream = "internet";
        voip_forwardrules = "udp 0.0.0.0:5060 0.0.0.0:5060", 
                            "tcp 0.0.0.0:5060 0.0.0.0:5060", 
                            "udp 0.0.0.0:7078+32 0.0.0.0:7078";
        tr069_forwardrules = "tcp 0.0.0.0:8089 0.0.0.0:8089";
        dslifaces {
                enabled = yes;
                name = "internet";
                dsl_encap = dslencap_inherit;
                dslinterfacename = "dsl";
                no_masquerading = no;
                no_firewall = no;
                pppoevlanauto = no;
                pppoevlanauto_startwithvlan = no;
                ppptarget = "internet";
                etherencapcfg {
                        use_dhcp = yes;
                        ipaddr = 0.0.0.0;
                        netmask = 0.0.0.0;
                        gateway = 0.0.0.0;
                        dns1 = 0.0.0.0;
                        dns2 = 0.0.0.0;
                        mtu = 0;
                }
                is_mcupstream = yes;
                stay_always_online = no;
                only_route_when_connected = no;
                redial_delay_after_auth_failure = 1m;
                redial_limit = 3;
                redial_after_limit_reached = 10m;
                redial_after_limit_reached_variance = 5m;
                username_prefix_after_auth_failure = "";
                redial_delay_after_low_error = 10s;
                routes_only_for_local = no;
                dsldpconfig {
                        security = dpsec_firewall;
                        lowinput {
                                policy = "permit";
                                accesslist = 
                                             "deny ip any 242.0.0.0 255.0.0.0", 
                                             "deny ip any host 255.255.255.255", 
                                             "deny udp any any eq 135", 
                                             "deny tcp any any eq 135", 
                                             "deny udp any any range 137 139", 
                                             "deny tcp any any range 137 139", 
                                             "deny udp any any range 161 162", 
                                             "deny udp any any eq 520", 
                                             "deny udp any any eq 111", 
                                             "deny udp any any eq 22289", 
                                             "deny udp any any eq 1710", 
                                             "deny udp any any eq 1048", 
                                             "deny udp any any eq 158", 
                                             "deny udp any any eq 515";
                        }
                        lowoutput {
                                policy = "permit";
                        }
                        highinput {
                                policy = "permit";
                        }
                        highoutput {
                                policy = "permit";
                                accesslist = 
                                             "reject ip any 242.0.0.0 255.0.0.0", 
                                             "deny ip any host 255.255.255.255", 
                                             "reject ip any 169.254.0.0 255.255.0.0", 
                                             "reject udp any any eq 135", 
                                             "reject tcp any any eq 135", 
                                             "reject udp any any range 137 139", 
                                             "reject tcp any any range 137 139", 
                                             "reject udp any any range 161 162", 
                                             "reject udp any any eq 520", 
                                             "reject udp any any eq 111", 
                                             "reject udp any any eq 22289", 
                                             "reject udp any any eq 1710", 
                                             "reject udp any any eq 1048", 
                                             "reject udp any any eq 158", 
                                             "reject udp any any eq 515", 
                                             "reject icmp any 149.1.1.0 255.255.255.0";
                        }
                        forwardrules = "udp 0.0.0.0:5060 0.0.0.0:5060", 
                                       "tcp 0.0.0.0:22 0.0.0.0:22 0 # SSH";
                        shaper = "globalshaper";
                }
        } {
                enabled = yes;
                name = "voip";
                dsl_encap = dslencap_inherit;
                dslinterfacename = "dsl";
                no_masquerading = no;
                no_firewall = no;
                pppoevlanauto = no;
                pppoevlanauto_startwithvlan = no;
                ppptarget = "voip";
                etherencapcfg {
                        use_dhcp = yes;
                        ipaddr = 0.0.0.0;
                        netmask = 0.0.0.0;
                        gateway = 0.0.0.0;
                        dns1 = 0.0.0.0;
                        dns2 = 0.0.0.0;
                        mtu = 0;
                }
                is_mcupstream = no;
                stay_always_online = yes;
                only_route_when_connected = no;
                redial_delay_after_auth_failure = 1m;
                redial_limit = 3;
                redial_after_limit_reached = 10m;
                redial_after_limit_reached_variance = 5m;
                username_prefix_after_auth_failure = "";
                redial_delay_after_low_error = 10s;
                routes_only_for_local = no;
                tcclassroutes = "sipdns", "sip", "rtp";
                dsldpconfig {
                        security = dpsec_firewall;
                        lowinput {
                                policy = "permit";
                                accesslist = "permit udp any any", 
                                             "permit icmp any any", 
                                             "deny ip any host 255.255.255.255", 
                                             "reject ip any any";
                        }
                        lowoutput {
                                policy = "permit";
                        }
                        highinput {
                                policy = "permit";
                        }
                        highoutput {
                                policy = "permit";
                                accesslist = "permit udp any any", 
                                             "reject ip any any";
                        }
                        forwardrules = "udp 0.0.0.0:5060 0.0.0.0:5060";
                        shaper = "globalshaper";
                }
        }
 
Zuletzt bearbeitet von einem Moderator:
Hast Du es auch schon ohne 0 und ohne Kommentar versucht?

Code:
"tcp 0.0.0.0:22 0.0.0.0:22 [B][COLOR="Red"]0 # SSH[/COLOR][/B]"

EDIT:

Mein dropbear lauscht z. B. auf dem Port 35286. Ohne Forwardrule in der ar7.cfg kann ich keine Verbindung zur FritzBox über die dyndns-Adresse aufbauen. Mit der rule "tcp 0.0.0.0:35286 0.0.0.0:35286" und mit "ssh -oPort=35286 root@<dyndns-Adresse>" kommt dann auch eine Verbindung zustande, aber nicht auf der Virtual-IP, sondern auf dsl mit der IP 169.254.2.1.
Aus "netstat -a":
Code:
tcp        0      0 0.0.0.0:35286           0.0.0.0:*               LISTEN
tcp        0     48 169.254.2.1:35286       <my-dyndns-adresse>:58529 ESTABLISHED

Code:
dsl       Link encap:Point-to-Point Protocol
          inet addr:169.254.2.1  P-t-P:169.254.2.1  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP ALLMULTI MULTICAST  MTU:1500  Metric:1
          RX packets:381 errors:0 dropped:0 overruns:0 frame:0
          TX packets:365 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:40230 (39.2 KiB)  TX bytes:129122 (126.0 KiB)

Im LAN und VPN funktioniert die ssh-Verbindung über die Virtual-IP.
 
Zuletzt bearbeitet:
jo. das wars.

Danke fuer den Tip mit der 0 und dem Kommentar, ich weiss nicht genau ob ich noch einen anderen Fehler gemacht hatte den ich mit der von Dir vorgeschlagenen Änderung auch korrigiert habe, auf jeden fall funktioniert es jetzt. Kann mich Remote einloggen und Ports, z.B. auf die Fritzbox Konfigurationsseite oder einen im lokalen ip netz befindlichen digitalen WLAN Bilderrahmen tunneln - was das ursprüngliche Ziel der Aktion war, weil die Honks von Kodak es noch nichtmal für nötig halten die Konfigurationsseite des Bilderrahmens Passwort zu schützen... Für SSH port forwarding gibts unter Mac OS X übrigens ein kleines praktisches Tool namens SSH Tunnel Manager (http://projects.tynsoe.org/en/stm/ ), wenn man wie ich zu faul ist Man-Pages zu lesen.

Habe den Server mal auf Port 22 gelassen, wie sieht es denn heutzutage mit der Sicherheit von SSH gegen Brute-Force attacken aus bzw. Exploits von Dropbear? Ich meine wenn jemand sich wirklich dransetzt das Ding zu hacken wird er ja eh vorher einen Portscan machen und dann ist es ja wohl auch egal auf welchen Port man SSH laufen hat?
 
Ich meine wenn jemand sich wirklich dransetzt das Ding zu hacken wird er ja eh vorher einen Portscan machen und dann ist es ja wohl auch egal auf welchen Port man SSH laufen hat?

Ganz egal ist es nicht. I. d. R. werden nicht alle 65565 Ports gescannt. Wenn Du den dropbear nicht zwingend auf Port 22 lauschen lassen musst, dann wähle ein Port ab, z. B. 20000.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.