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.
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:
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 ?
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.
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 ?