Asterisk-Server hinter Horstbox Pro

gnampf

Neuer User
Mitglied seit
23 Nov 2010
Beiträge
2
Punkte für Reaktionen
0
Punkte
0
Hallo,

gleich noch ein Thema.

1. Vorgeschichte:

Ich betreibe hinter der Horstbox Pro einen Linux-Server. Auf diesem habe ich auch Asterisk 1.4 laufen. Dieser funktioniert als Call-Back-, Call-Through und Fax-Lösung.

Das funktioniert auch alles sehr gut. Eigentlich will ich auch einen VoIP-Zugang über das Internet erreichen. Bis lang sind alle Versuche gescheitert SIP-Anfragen auf diesen Server weiterzuleiten.

Daher hatte ich dies dann erst mittels der Horstbox Pro realisiert. Da dies sehr gut funktioniert hatte, habe ich zu diesem Thema auch nicht weiter geforscht.

Jetzt musste ich erkennen, dass die Horstbox Pro bzgl. SIP-Anmeldung zu unsicher ist. Jemand hat es durch einen Angriff geschafft sich an dieser anzumelden. Durch die geführten Gesprächen nach Sierra Leone und in die Antarktis hat er mir Kosten in Höhe von ca. 350 Euro verursacht. :mad:

Daher habe ich bei dem Asterisk-Server ein paar Überraschungen eingebaut. :wippe:
Auch das Log wird dadurch viel aussagekräftiger.


2. Was habe ich bis lang herausgefunden:

2.1 Konfiguration

Der Astrisk-Server hinter der Horstbox ist in der Lage sich als VoIP-Telefone an der Horstbox Pro anzumelden, und kann damit via ISDN übers Festnetz Telefonate initiieren. Damit das so funktionieren kann habe ich auf der Horstbox Pro für jede MSN ein VoIP-Telefon-Kontenpunkt konfiguriert.

Es ist mir aufgefallen, dass es unter dem Punkt Internet->Firewall folgende Möglichkeit gibt: "Anmeldung von SIP-Telefonen aus dem externen Netzwerk blockieren ".

Mit dieser Option komme ich aus dem Internet bzgl. SIP-Protokoll nicht an der HBX vorbei. Ohne diese Option ist lediglich der Interne Asterisk-Server über das Internet erreichbar.

Unabhängig von dieser Option habe ich mir mittels "iptabel" auf "Herta" folgendes ausgeben lassen:

Code:
# /sbin/iptables -t nat -L --line-numbers
Chain PREROUTING (policy ACCEPT)         
num  target     prot opt source               destination         
1    ACCEPT     all  --  anywhere             anywhere            
2    bpack      all  --  anywhere             anywhere            
3    bpack      all  --  anywhere             anywhere            
4    bpack-voice  all  --  anywhere             anywhere           
5    vserver    all  --  anywhere             anywhere             

Chain POSTROUTING (policy ACCEPT)
num  target     prot opt source               destination         
1    ACCEPT     all  --  anywhere             anywhere            
2    lan        all  --  anywhere             anywhere            
3    lan        all  --  anywhere             anywhere            
4    dsl        all  --  anywhere             anywhere            

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination         

Chain bpack (2 references)
num  target     prot opt source               destination         
1    bpack-horst  all  --  anywhere             192.0.2.2          
2    bpack-horst  all  --  anywhere             192.0.2.1          
3    bpack-horst  all  --  anywhere             mygateway1.ar7     

Chain bpack-admin (1 references)
num  target     prot opt source               destination         
1    DNAT       tcp  --  anywhere             anywhere           tcp dpt:443 to:192.0.2.2 
2    DNAT       tcp  -- !192.0.2.2            anywhere           tcp dpt:ssh to:192.0.2.2 

Chain bpack-ftp (1 references)
num  target     prot opt source               destination         
1    DNAT       tcp  --  anywhere             anywhere           tcp dpt:ftp to:192.0.2.2 

Chain bpack-horst (3 references)
num  target     prot opt source               destination         
1    bpack-voice  udp  --  anywhere             anywhere           
2    bpack-admin  tcp  --  anywhere             anywhere           
3    bpack-ssh  tcp  --  anywhere             anywhere             
4    bpack-smbd  tcp  --  anywhere             anywhere            
5    bpack-nmbd  udp  --  anywhere             anywhere            
6    bpack-ftp  tcp  --  anywhere             anywhere             
7    bpack-printserv  tcp  --  anywhere             anywhere           
8    bpack-tapi  tcp  --  anywhere             anywhere                
9    bpack-ntp  udp  --  anywhere             anywhere                 

Chain bpack-nmbd (1 references)
num  target     prot opt source               destination         
1    DNAT       udp  --  anywhere             anywhere           udp dpts:137:138 to:192.0.2.2 

Chain bpack-ntp (1 references)
num  target     prot opt source               destination         
1    DNAT       udp  --  anywhere             anywhere           udp dpt:ntp to:192.0.2.2 

Chain bpack-printserv (1 references)
num  target     prot opt source               destination         
1    DNAT       tcp  --  anywhere             anywhere           tcp dpt:9100 to:192.0.2.2 

Chain bpack-smbd (1 references)
num  target     prot opt source               destination
1    DNAT       tcp  --  anywhere             anywhere           tcp dpt:139 to:192.0.2.2
2    DNAT       tcp  --  anywhere             anywhere           tcp dpt:445 to:192.0.2.2

Chain bpack-ssh (1 references)
num  target     prot opt source               destination
1    DNAT       tcp  --  anywhere             anywhere           tcp dpt:222 to:192.0.2.2:22

Chain bpack-tapi (1 references)
num  target     prot opt source               destination
1    DNAT       tcp  --  anywhere             anywhere           tcp dpt:5038 to:192.0.2.2

Chain bpack-voice (2 references)
num  target     prot opt source               destination
1    DNAT       udp  --  anywhere             anywhere           udp dpt:5060 to:192.0.2.2
2    DNAT       udp  --  anywhere             anywhere           udp dpts:10000:12000 to:192.0.2.2

Chain dsl (1 references)
num  target     prot opt source               destination
1    MASQUERADE  all  --  anywhere             anywhere

Chain lan (2 references)
num  target     prot opt source               destination
1    SNAT       udp  --  192.0.2.2            anywhere           udp spts:10000:12000 to:192.168.0.1
2    ACCEPT     all  --  anywhere             anywhere

Chain vserver (1 references)
num  target     prot opt source               destination
1    DNAT       tcp  --  anywhere             anywhere           tcp dpt:XXXX to:192.168.0.199
2    DNAT       udp  --  anywhere             anywhere           udp dpt:5060 to:192.168.0.199
3    DNAT       tcp  --  anywhere             anywhere           tcp dpt:XXXX to:192.168.0.200:XXXX
4    DNAT       tcp  --  anywhere             anywhere           tcp dpt:XXXX to:192.168.0.199:80
5    DNAT       udp  --  anywhere             anywhere           udp dpts:10000:20000 to:192.168.0.199:10000
6    DNAT       udp  --  anywhere             anywhere           udp dpt:XXXX to:192.168.0.199:5060
#


2.2 Versuche

Da ich weltweit Telefonate auch über diesen Asterisk-Server führen können möchte, habe ich versucht die UDP-Ports 5060 und 10000-20000 auf diesen Asterisk-Server umzulenken. Bis lang habe ich dies nicht zum laufen bekommen. Eine SSH-Verbindung über das Internet klappt hingegen über diesen Weg.

Versuchaufbau I (udp):

Internet (5060 udp) -> HBX ...-> Asterisk-Server (5060)


Versuchaufbau II (udp):

Internet (XXXX) -> HBX (XXXX->5060) -> AS (5060)


Versuchaufbau III (udp)

Internet (XXXX) -> HBX ... -> AS (XXXX -> 5060)


Wireshark, welches auf dem Asterisk-Server lief konnte keine einzige Anfrage erkennen.




Wenn ich die Regel 1 von bpack-voice entferne

iptables -t nat -D bpack-voice 1

kann ich nicht mehr per WLAN eine SIP-Anmeldung bei der Horstbox vornehmen. Das Problem hierbei ist nur, dass die alten Einstellung nach ein paar Minuten wieder vorhanden war. Spätestens nach einem Reboot dürfte die Veränderung ebenfalls wieder verschwunden sein.


3. Ergebnis (Aktueller Stand)

Es sieht für mich so aus, als würden grundsätzlich alle SIP anfragen zuerst an Herta-Weitergereicht. Es war auch egal, ob ich dies über andere UDP-Ports versucht habe. Es war immer das das gleiche. SIP-Anfragen werden port-unbhängig von Horst abgefangen und bearbeitet. D-Link teilte mir mit, dass die HBX Pro nicht für solche Anwendungen konzipiert sei.

Ich könnte mir vorstellen, dass es mit "iptables" schon der richtige Weg ist. Vielleicht habt Ihr auch schon eine einfachere Lösung, die auch dauerhaft funktioniert.

Vielen Dank im Voraus.

MfG

gnampf


PS: Gibt es bzgl. des HBX-Missbrauchs vielleicht eine Datenbank, bei der man die gewählten Rufnummern etc. sammelt ?
 
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.