AVM Fritz!Box debranden, TR-069 deaktivieren und VoIP Accounts hinzufügen

Hallo,

heute zeige ich euch, wie ihr eure Fritz!Box 7360, 7390 und 7490 von eurem Provider wie Mnet, O2, Wilhelmtel und Ewetel von allen Beschränkungen befreit, das Remote Management deaktiviert (TR-069) welches potentiell als Einfallstor zu betrachten ist und bei Mnet zB. die Möglichkeit gibt eigene VoIP Telefonnummern hinzuzufügen. Den Status eures Anbieters, könnt ihr euch hier einsehen https://avm.de/service/freie-routerwahl/

Solltet ihr bedenken haben wegen Support https://forum.m-net.de/viewtopic.php?p=92445#p92445 Mnet bittet euch also nur, die Box von eurem Backup wiederherzustellen. Nach dem Support könnt ihr eure modifizierte Konfiguration also wieder aufzuspielen.

Bitte die Anleitung einmal komplett durchlesen und verstehen. Bei Fragen könnt ihr gerne in den Kommentaren um Rat fragen. Email geht auch, Tipps sind natürlich auch gerne gesehen. Da ich nur eingeschränkten Support leisten kann und nichts dafür kann wenn ihr durch die Anleitung doch die Box kaputt macht bitte ich euch dennoch Vorsicht walten zu lassen. Als Editor bitte auf Windows zwingend Notepad++ verwenden. Der eingebaute Editor wird euch die Datei evtl. kaputt machen und die Box damit kurzzeitig auch.

Ich bitte euch auch ein Backup vom Backup der Box zu machen falls etwas kaputt geht. Also nicht das Original editieren sonder den .export aus dem Download Ordner auf den Desktop kopieren und dort editieren.

Die Mnet Box hat bei dem einen fehlgeschlagenen Versuch nach ca. 5 Minuten die Einstellungen auf Werkseinstellungen wiederhergestellt. Einfach warten und darauf achten, dass ihr mit DHCP die IP bezieht – ist in der Regel der Fall wenn ihr es nicht geändert habt – dann wisst ihr es aber. Die Boxen der Provider richten sich ja alle selbst ein also sollte es nach einiger Zeit wieder gehen.

Die Anleitung ist so aufgebaut, dass ihr nur hergehen müsst und die bestehenden Einträge entsprechend editiert. Keine Einträge kopieren, dass kann zu Formatierungsfehlern führen und die Box dann zum reset zwingen. Das meiste ist eh nur no zu yes und umgekehrt.

Beachtet auch, dass wenn ihr später auf der Shell (Telnet) der Box sein solltet keine Dateien editiert welche ihr nicht kennt. Ihr könnt die Boxen nicht mit dem AVM Recovery aus dem toten Zustand wiederherstellen.

Alles oben und unten stehende gelesen und verstanden? Gut dann weiter 🙂

Ihr könnt alle Einträge super mit Strg+F suchen erspart euch die Suche in der langen Datei 😉

  • Sicherung erstellen

Fritzbox Sicherung (c) AVM GmbH

  • Nach der Zeile Language=de einen Absatz (Enter) und folgendes einfügen NoChecks=yes

  • Dann folgende Zeilen entsprechend abändern – nur bei Mnet:

Die Box versucht einen TR-069 Server zu bekommen. Mnet erzwingt bei den VDSL neuverträgen das VLAN 40 wenn dass nicht dort eingetragen ist, kommt das Paket nie an weil Mnet es blockt.

Dann geht ihr zum Teil mit tr069cfg und ändert es wie folgt ab.

Damit hat die box keinen TR-069 Server mehr, meldet nichts mehr alle paar Stunden und es gibt euch die Möglichkeit wieder den Firmware Upload zu nutzen. Dort kannst du dann das Pseudo Image oder ein Downgrade uploaden bis 6.50 😉

Sucht noch nach webui {} und mache alles auf no. Das gibt dir die Kontrolle im Webinterface über alles zurück 🙂

Jetzt noch bei den Mnet Boxen die VoIP Einstellungen änderbar machen.
Sucht in Notepad++ einfach noch nach gui_readonly = yes und ersetze alle mit no.

Da die Box einen Prüfsummen Überprüfung macht, müssen wir diese nun noch erstellen. Das ganze findest du hier http://www.mengelke.de/Projekte/FritzBoxVBScript
Ganz am Anfang ist der Download, darin ist dann das vb_calcsum.vbs Script.
Auf den Desktop kopieren und mit Strg gedrückt die Rechte Maustaste anklicken. Danach auf Eingabeaufforderung. vb_calcsum.vbs Export Datei.export

Die Ausgabe muss dann an das Ende des Exports eingefügt werden. **** END OF EXPORT !!!DEINE NEUE CHECKSUMME!!! ****
=> http://www.almisoft.de/forum/viewtopic.php?f=15&t=2617 // http://www.mengelke.de/Blog/FritzboxHacken

Danach einfach noch die Datei als Backup wieder auf die Box spielen.

Erste Schritte mit Let’s Encrypt

Let’s Encrypt ist eine neue Zertifizierungsstelle (CA) welche gratis Zertifikate ausstellt. Dieses ist vor einiger Zeit in die öffentliche Beta gegangen. Ich wurde aber schon zur geschlossenen Beta eingeladen weshalb mein Zertifikat unter den ersten 120 zu finden ist https://crt.sh/?id=11766203. Die CA stellt nur Zertifikate aus welche 90 Tage gültig sind, was einen dazu zwingt, den ganzen Vorgang zu automatisieren. Hat den Vorteil, man muss sich nicht mehr darum kümmern und alles passiert vollautomatisch mit viel Magie 🙂

let's Encrypt Logo

Let’s Encrypt also lasst uns verschlüsseln

Es gibt viele Vorteile von Let’s Encrypt (LE) vor allem dass alles voll automatisiert passiert. Allerdings finde ich dass alte Zertifikat System etwas einfacher. Man sendete seinen Certificate Signing Request (CSR) an die CA welche einem eine Mail sendet, an die bei dem Domain Registrar hinterlegte Email und nach einer kurzen Überprüfung wird einem das Zertifikat erstellt. Bei LE muss man der CA vertrauen, dass sie keinen Unfug mit dem Code treibt. Bis ich dieses Zertifikat damals bekam, dauerte es mehrere Stunden. Es fehlt bis heute noch eine vernünftige Dokumentation über die Software. Da meine Seite mit HPKP abgesichert ist, muss ich hergehen und den vorhandenen Private Key nehmen.

Erstmal installieren wie den LE Client von Github https://github.com/letsencrypt/letsencrypt

Jetzt kopieren wir die OpenSSL Konfiguration. Dies wird aber nur benötigt, wenn man mehrere Domains und Subdomains in einem Zertifikat haben möchtet.

Tipp: Crtl+W in nano um nach [ req ] zu suchen und wir entfernen das # davor.

Wir suchen nun nach [ v3_req ] und schreibe folgendes rein.

Danach fügen wir wie unten gezeigt, alle Domains welche mit dem SAN/SNI Zertifikat abgedeckt werden sollen rein.

Solltest du noch kein HPKP nutzen, kannst du hiermit dein Zertifikat erstellen.

Nun erstellen wir den CSR und schauen ob alles stimmt.

Wenn schon HPKP verwendet wird, können wir hiermit überprüfen ob die Hashsummen zu unseren alten und jenen in den Headern passen.

Der Server von Let’s Encrypt erwartet die Daten im DER Format. Da unsere noch im PEM sind, müssen wir diese einmal umwandeln und prüfen die Ausgabe.

Nun richten wir Nginx so ein, das es die Anfragen vom Server auf Port 80 durchlässt.

Nun kommt der spannende Teil: Wir senden alles zur CA zur Überprüfung.

Während der Überprüfung, wird man aufgefordert bestimmte Daten in /PATH/TO/WEB/ROOT/.well-known/acme-challgenge/ bereit zu stellen. Die erforderlichen Befehle liefert der Client, wir benötigen nur eine eigene zweite Bash um sie auszuführen.

Nun stellen wir Nginx noch richtig ein. Vorher noch die Datei erstellen welche für die Forward Secrecy zuständig ist.

Let's Encrypt Zertifikat

Ihr solltet bei Qualys SSL Test nun ein A+ haben https://www.ssllabs.com/ssltest/

Hier könnt ihr auch euren Erfolg einmal testen https://ssldecoder.org/

Euer Zertifikat wird dann wie jedes andere hier zu finden sein https://crt.sh/?Identity=%25&iCAID=7395

WoSign Kostenloses SSL Zertifikat (SAN/UCC)

WoSign stellt kostenlose Multidomain SNI SSL Zertifikate mit sha256RSA mit einer Laufzeit von 3 Jahren aus.

Hier erkläre ich, wie man an ein Zertifikat kommt, wo die Tücken dabei sind und wo WoSign noch nachbessern muss. Zuerst sind gratis Zertifikate ja nun jetzt nichts neues auf dem Markt. StartCom stellt seit vielen Jahren, 1 Jahres Zertifikate aus, im September 2015 wird Let’s Encrypt kommen und CloudFlare verschlüsselt seit Ende September auch alles. Doch WoSign macht eines richtig, es stellt SNI Zertifikate nach rfc 6066 aus. Also 5 Domains passen auf ein Zertifikat, normalerweise müsste man dafür 5 eigenen IP Adressen buchen. Das ist bei den mehr und mehr ausgehenden IPv4 Adressen natürlich ein Problem. Auch ist das Zertifikat 3 Jahre gültig, man muss also nicht jedes Jahr an die Verlängerung denken. WoSign ist außerdem mit StartSSL Cross-signiert was es auf jedem System, welches StartSSL in seinem Trust Store hat gültig macht.

Wie bekomme ich das Zertifikat:

  • Besuche https://buy.wosign.com/free/
  • Schreibe in das Feld nun alle Domains und sub Domains welche Du in deinem Zertifikat haben möchtest. www.(*) ist in jedem Zertifikat automatisch enthalten.
  • Belasse alles auf den Standard Einstellungen. 3 Jahre Laufzeit, Englische Sprache und den SHA2 Algorithmus welches wichtig ist.
  • Bestätige nun, das die Domain(s) dir ist/sind durch eine Mail an den Webmaster oder das hochladen der .html Datei auf den Server.
  • Logge dich nun auf deinen Webserver per SSH an und generiere einen neuen SSL Schlüssel und den Certificate Signing Request (CSR). Dafür kannst du folgenden Befehl verwenden.
  • Wähle nun „Option 2:Generated by myself“ und kopiere dein Inhalt der .csr in das Feld. Benutzte bitte nicht das zweite Feld, mehr dazu unten.
  • Gebe nun deine Email Adresse in das Feld ein und ein sicheres Passwort – am besten mit einem Passwort Manager – falls du noch keinen Account hast.
  • Bestätige nun das Captcha und die Nutzungsbedingungen und klicke auf „Submit Request“.
  • Die nächste Seite bestätigt dir nun, das deine Anfrage bei WoSign eingegangen ist und man diese nun überprüfen wird. Beachte, das dies nur während den Geschäftszeiten von WoSign in Beijing passiert. Die ungefähre Uhrzeit steht aber auch auf der Bestätigungsseite.
  • Wenn deine Anfrage angesehen und bestätigt wurde von WoSign, erhälst du eine Email mit einem Link. Nach einem Klick auf den Link, siehst du nocheinmal die Daten deines Zertifikates und musst ein Captcha eingeben.
  • Nun erhälst du eine ZIP welche Ordner von Apach, Nginx und Co enthält. Je nach Webserver lädst du die .crt nun auf deinen Server hoch und richtest alles ein.

Warum nicht Option 1 und WoSign den Key erstellen lassen?

Das ist ganz einfach. Um das Zertifikat auf seinem Server verwenden zu können benötigt man diesen Key. Wenn nun WoSign den Key erstellt und daraus den CSR erstellt und diese beiden Dinge in die falschen Hände gelangen, hat jeder die Möglichkeit dieses Zertifikat zu verwenden. Wenn ihr den Key aber auf eurem Server erstellt und nur den CSR an WoSign übersendet, hat WoSign oder ein Angreifer keine Möglichkeit damit etwas anzufangen. Denn mit dem CSR kann man nur Zertifikate ausstellen sie aber nicht nutzen, das kann nur der mit dem richtigen Schlüssel zum Schloss 😉 Solltest du auf einem Sharehosting System sein frage bitte deinen Hoster ob er nicht so nett sei und für dich einen Schlüssel erstelle und das Zertifikat einbinde. Dies ist leider nicht immer kostenfrei und sollte einen vllt. zum wechseln anstoßen. Meine Empfehlung wäre hier Uberspace.de welcher einem eine Shell gibt und dazu viel Freiheit zu geringem Preis. Man muss allerdings gewillt sein das ganze auch zu lernen und zu verstehen. Ob dein Browser SNI unterstützt, kannst du übrigens hier testen sni.velox.ch.

Wo ist nun der Haken?

Jede Medaille hat zwei Seiten. WoSigns Server sind in China gelegen. Also in dem Teil der Welt wo Internetzensur groß geschrieben wird. Das ist ja soweit kein Problem StartCom hat seinen Sitz Israel. Das Problem ist nur, das deren Server und Routen dorthin recht langsam sind und bislang keine meiner OCSP Anfragen beantwortet haben. Zumindest ist meine Nginx Log recht Lang mit der Nachricht das ocsp6.wosign.com nicht oder zu lange benötigt zum antworten. Ein Freund hat herausgefunden, das man nicht zwangsläufig nur ein Zertifikat bekommt. Man kann auch hergehen und für jede Subdomain ein eigenes Beantragen. Die Limitierung dabei liegt bei lediglich 100 SNI Einträgen pro Zertifikat da es ansonsten einfach zu lange werden würde.

Meine Nginx SSL Konfiguration

Beachte, das du dies hier nur kannst wenn du deine Website auf deinem eigenen Server betreiben tust und nicht auf einem klassischen Share hoster dort bitte in die FAQ schauen oder solange nachfragen bis ihr SSL bekommt 😉

Hier findet ihr noch Mozillas Richtlinien um in den NSS zu kommen https://wiki.mozilla.org/CA:BaselineRequirements
Und hier findet ihr Mozillas Vorschläge für die perfekten SSL Server Einstellungen https://wiki.mozilla.org/Security/Server_Side_TLS

XPenology raw Disk image mounten

Mein HP Microserver Gen8 mit verschlüsselter Festplatte (dm-crypt – LUKS), Proxmox VE 3.4 und XPenology hatte vor ein paar Wochen seinen Abgang gemacht durch eine over provisioning der Festplatte. Daher hier die Anleitung wie ich es hinbekommen habe, das ganze auf eine externe Festplatte zu sichern da das System unbenutzbar wurde und währen dem kopieren die kvm sich verabschiedete oder das System die externe Platte trennte. Diese Anleitung ist nach besten Wissen erstellt, sollte es zu einem Fehler kommen der nachweislich mit der Anleitung zu tun hat, bitte ich um Meldung in den Kommentaren und verweise darauf das ich keine Haftung für etwaige Schäden oder Folgeschäden übernehme.

Ich verwende hier einen HP Microserver gen8 mit Proxmox 3.4, einem raw Image Container und XPenology DSM 5.1-5022 update 2.

Zugriff auf das XPenology wenn das Hauptsystem noch geht

Wenn das XPEnology noch geht man aber Zugriff auf die Daten möchte wenn keine Dienste laufen für einen fsck muss man folgendes auf der XPEnology in die Kommandozeile eingeben. Man sollte beachten, das auch der SSH Server beendet wird in der aktuellen Version. Man muss das ganze also zwingend mit Telnet machen und darauf achten, das die Verbindung nicht getrennt wird denn ein paar GB / TB zu kopieren kann seine Zeit dauern 😉

Zuerst werden alle Dienste und Programme beendet, dann das Raid und das Logic Volume wieder gestartet und dann kann man die Platte entweder einmal mit fsck prüfen oder sie mounten.

syno_poweroff_task
mkdir /etc/mdadm
mdadm –examine –scan >> /etc/mdadm/mdadm.conf
mdadm -A /dev/md2
vgchange -a y
fsck.ext4 -nv /dev/vg1000/lv
mount /dev/vg1000/lv

Zugriff auf das XPenology wenn das Hauptsystem nicht geht

Hier noch die Vorgehensweise, wie man mit Ubuntu Live 14.04.02 LTS die Daten vom XPEnology sichert. Zuerst wird die Festplatte gemountet, dann der .raw Image Container, das Raid wieder gestartet, die Volumen Group aktiviert und das ganze nach /volume1/ gemountet. Bei Bedarf kann man mit einem fsck noch versuchen defekte des Filesystems wieder zu reparieren. Wenn man wie ich das ganze mit der iLo von HP macht sollte man den Idle Connection Timeout unter Administration / Access Settings auf infinite stellen sonst trennt sich die Verbindung zur iso und das Live System macht seinen Abgang und etwas Zeit einplanen und evtl. ein paar Koffein Getränke 😉

apt-get install mdadm lvm2 screen
cryptsetup luksOpen /dev/sda5 lukscrpyt
root@ubuntu:~# vgs
VG  #PV #LV #SN Attr      VSize    VFree
pve 1       2     0      wz–n- 931,27g 0
vgchange -ay
2 logical volume(s) in volume group „pve“ now active
mkdir /mnt/pve-root
mount /dev/mapper/pve-root /mnt/pve-root
cd /mnt/pve-root/PFAD/ZUR/vm-100-disk-1.raw
losetup /dev/loop0 image.raw
Wenn losetup: /dev/loop0: device is busy kommt einfach eine andere Verwenden
kpartx -a /dev/loop0
mdadm –examine –scan >> /etc/mdadm/mdadm.conf
mdadm -Asf /dev/md2
mdadm: /dev/md2 has been started with 1 drive.
vgchange -ay vg1000
1 logical volume(s) in volume group „vg1000“ now active
mkdir /volume1/
mount /dev/mapper/lv1000-lv /volume1/
cd /volume1/ und schon sind die Daten da 🙂
rsync -avPE /volume1/ /media/ubuntu/My\ Passport/hp/syno/volume1/