TAN-Erweiterung für VDR Admin ( vdradmin , vdradmind , vdradmind.pl )

  • Hallo,


    mein Weihnachtsgeschenk an die VDR-Community ist eine Erweiterung von VDR Admin (Version 0.96) um eine TAN-Abfrage, um die Sicherheit zu verbessern.
    Ist natürlich nur relevant, wenn man vom Internet auf den VDR zugreifen will.


    Folgende Features habe ich eingebaut:

    • TAN-Abfrage
    • max. Anzahl aufeinanderfolgender Fehlversuche
    • Lebenszeit einer TAN

    Bitte unbedingt erst die Datei LIESMICH_TAN lesen!


    Zweck der Erweiterung:
    Die Sicherheit soll verbessert werden. Bei der Bedienung von VDR Admin werden Benutzername und Paßwort im Klartext übertragen. Aus diesem Grund verzichten wohl die meisten auf das verlockende Feature, den eigenen VDR aus dem Internet zu kontaktieren bzw. dies freizuschalten. Durch die Abfrage einer zusätzlichen TAN mit begrenzter Lebensdauer wird potentiellen Angreifern das Leben erschwert. Denkbare Angriffsszenarien wären Keylogger, Abhören des Netzverkehrs, Brutforce-Attacken, ...


    Voraussetzungen:
    Die Erweiterung basiert auf der Version 0.96 von VDR Admin. Andere Versionen wurden nicht getestet. Die Kenntnis von VDR Admin wird vorausgesetzt.


    Installation und Konfiguration:
    Falls noch nicht erfolgt, VDR Admin 0.96 installieren. Danach wird nur der Webserver vdradmind.pl ausgetauscht und eine neue Konfigurationsdatei erzeugt.

      [1] vdradmind.pl beenden
      [2] Sichern des Webserevers vdradmind.pl und der Konfigurationsdatei vdradmind.conf
      [3] Ersetzen von vdradmind.pl
      [4] "vdradmind.pl -c", generiert eine neue Konfigurationsdatei
      [5] "vdradmind.pl -tc", generiert eine neue TAN-Liste
      Es entstehen die Dateien "tan.md5" and "tan_print_and_delete.txt". Nur die erste wird vom Webserver benötigt, die zweite ist Ihre TAN-Liste. Drucken Sie die TAN-Liste aus und löschen Sie danach die Datei.
      [6] vdradmind.pl starten

    Das ist alles.


    Funktion und Details:
    Die folgenden zusätzlichen Einträge in der Datei vdradmind.conf ändern das bekannte Verhalten von VDR Admin.

    • AUTH=[pwd|tan]
      pwd - Benutzer und Paßwort wie bisher
      tan - Benutzer und Paßwort und TAN werden abgefragt
      Paßwort und TAN werden im Paßwortfeld, getrennt durch ":", erwartet
    • MAX_BAD_LOGONS=[0|N]
      0 - keine Überprüfung von Fehlversuchen
      N - maximal N aufeinanderfolgende Fehlversuche erlaubt
      Überschreiten des Limits beendet den Webserver dauerhaft. Ein Neustart ist nur möglich, nach Löschen der Datei bad_logons.cnt, in der die Fehlversuche festgehalten werden.
    • MAX_TAN_INACTIVITY=[N]
      N - maximale inaktive Zeit in Sekunden einer Session
      Bei Überschreiten wird die TAN ungültig und eine neue TAN wird verlangt.
    • MAX_TAN_LIFETIME=[N]
      N - absolute Lebenszeit in Sekunden einer TAN
      Bei Überschreiten wird die TAN ungültig und eine neue TAN wird verlangt.

    Bedienung:
    Beachten Sie bei der Paßwortabfrage den Text in der Aufforderung. Hier wird mitgeteilt, welche TAN erwartet wird und wieviele TAN's noch verfügbar sind. Bei erschöpftem Vorrat an TAN's sollte rechtzeitig mit "vdradmind.pl -tc", eine neue Liste generiert werden.
    Paßwort und TAN im Passwortfeld, durch ":" getrennt eingeben PWD:TAN


    Tipps und Probleme:

    • Firefox hat einen Bug. Bei einer neuen Abfrage einer TAN, ignoriert er die neu eingegebene und sendet die erste wieder. Startet man Firefox komplett neu, funktioniert es wieder, solange bis eine neue TAN gebraucht wird. Internet Explorer zeigt dieses Verhalten nicht.
    • vdradmind.pl arbeitet mit 3 zusätzlichen Dateien (tan.md5, tan_print_and_delete.txt, bad_logons.cnt) und muß in diese auch schreiben können. Achten Sie deshalb auf die Rechte!

    Abschließend:
    Für manch einen ist alles folgende bereits bekannt, trotzdem möchte ich darauf hinweisen, daß Nichts auf dieser Welt Sicher ist. Die ganze Komunikation erfolgt immer noch im Klartext. Dies kann man natürlich mit einem ssh-Tunnel umgehen, allerdings muß dann auf dem "fremden" Rechner mitgebrachte Software ausgeführt werden, was meist nicht möglich ist und die Gefahr eines Keyloggers bestünde weiterhin. Der Webserver ist in Perl (und nicht von mir) geschrieben und von ihm und Perl selber hängt die Sicherheit natürlich auch ab.
    Noch ein paar Empfehlungen zum eigenen VDR: vdradmind.pl mit eingeschränktem Benutzer ausführen (nicht als root), Port im fünfstelligen Bereich verwenden. Ganz wichtig, nur diesen einen Port nach draußen öffnen bzw. vom Router Pakete für diesen Port an VDR Admin forwarden.



    Einen Wunsch hätte ich noch: vielleicht übersetzt jemand (der besser als ich Englisch kann) die Datei LIESMICH_TAN nach README_TAN, damit auch englischsprachige Benutzer eine Anleitung erhalten.


    @admin des Forums: Ist dies die passende Stelle? Ich habe keine Homepage, um das Skript da zur Verfügung zu stellen. Vielleicht an die passendere Stelle schieben.


    Grüsse,
    Walter

  • Hallo wla,


    da haste dir ja richtig Arbeit gemacht.
    Sicherlich benutzen viele den einfachen und sicheren Weg über einen ssh-Tunnel - da wird nichts im Klartext übermittelt.


    Viele Grüße
    NoTape



    --------------------------------------
    Animation Start/Stop für LinVDR
    Animation Filesystem Check

  • Beide Methoden ssh sowie ssl wären mögliche Opfer von Keyloggern, wenn man davon ausgeht, daß auch von öffentlichen Rechnern zugegriffen wird. Außerdem, wie soll der ssh-Tunnel von einem fremden Rechner aufgebaut werden, wenn nur der Browser zugänglich ist?


    Mit dem TAN-Verfahren kann man zwar mitlesen, aber dies macht mir nichts aus.


    SSL+TAN würde aus meiner Sicht ein hohes Maß an Sicherheit bieten. Leider bin ich nur Gelegenheitsprogrammierer und mir fehlt die Zeit dies umzusetzen, aber vielleicht mag jemand anders? Die TAN-Routinen können auf jeden Fall leicht übernommen werden, wie ein Blick in vdradmind.pl zeigt.

  • Quote

    Original von wla
    Hm, dachte daß viele auf dieses Feature gewartet haben ;-?
    Hab' mich wohl getäuscht (9 Downloads seit Weihnachten - waren wohl zu viele Weihnachtsgeschenke ;-)


    Also bei mir (der kein riesiges Heimnetzwerk mit Servern etc. betreibt) stellt sich einfach die Frage: Wie wichtig ist die zusätzliche Absicherung eines Gerätes, welches genau eine Fuktion hat: Fernsehsendungen aufzuzeichnen? Also wenn wirklich jemand mein VDR Passwort mitloggt oder abhört, welchen Schaden kann er schlimmstenfalls anrichten, wenn ich im Router nur den Port zu vdradmin offen habe?


    Mit grosser Wahrscheinlichkeit kann er wohl kaum mehr machen als mir ein paar Aufnahmen und Timer zu löschen. Klar, wäre ärgerlich, aber rechtfertigt das wirklich das ständige rumschleppen einer TAN Liste?


    Und im sehr unwahrscheinlichen Fall, dass man doch über irgendwelche Perl-Lücken ins System kommt und dass ein Hacker sich ausgerechnet einen VDR Rechner dafür aussucht, statt einen viel interessanteren Rechner auf dem vielleicht eher Homebanking Infos etc sind: Ich habe ein Image Backup auf DVD welches ich in 4 Minuten wieder einspielen kann.


    Ich verstehe, dass User mit grösseren Heimnetzwerken da eher eine Gefahr sehen, für mich übersteigt der Aufwand einfach den Nutzen.

  • Hallo,


    also an sich finde ich es schon mal toll das du dir die Arbeit gemacht hast, sowas zu realisieren.
    Was deine Aspekte angeht, das auch ein SSH Tunnel mittels eines Keyloggers unsicher wird, muss ich dir völlig recht geben.


    Wenn ich unterwegs bin greife ich selbst auch via SSH Tunnel auf mein Netzwerk zuhause zu, allerdings nicht nur auf VDRadmin, sondern auch auf andere Geschichten, wie allgemein SSH oder verschiedene Webinterfaces, die normal nur aus dem internen Netz zugänglich sind.
    Somit bräuchte ich ja für jedes dieser Dienste die Möglichkeit, das TAN Verfahren einzusetzen. Das wäre allerdings etwas aufwändig.


    Das nonplusultra wäre doch ein SSH Server der mit einem PIN bzw. Passwort/TAN verfahren arbeitet, sodass man nicht für jeden Dienst, den man via SSH erreichen will eine eigene TAN braucht, sondern nur eine einzige zu Beginn der Verbindungsaufbaus.


    Ich kann leider nicht sagen, ob sowas so ohne weiteres möglich ist, da man ja hier einige Änderungen SSH Server vornehmen müsste. Kennt sich damit zufällig jemand aus?


    Ich habe selbst schon mal an einer Lösung für dieses Problem gearbeitet. Damals habe ich versucht, das Passwort des Remote Users nach jedem Login automatisch via Script zu ändern (Nach einem bestimmten Schema, welches mir natürlich bekannt war). Somit konnte ich mir von unterwegs sozusagen mein nächstes Passwort wieder "ausrechnen".
    Das hat sich aber bei mir nie so richtig durchgesetzt, hat leider auch nie so richtig funktioniert ;).
    Wäre aber sicher auch ne gute Lösung.


    Vllt könnt ihr ja irgendwas in der Art zusammenbasteln ;)


    Tuxer

    Server
    Software: Debian Lenny, VDR 1.6.0, vdradmin-am, streamdev-server, femon. epgsearch
    Hardware: Chenbro RM314, ABit AV8, AMD64 3200+, 512MB RAM, 4x Seagate 250GB@RAID5, 3ware 8500-4 SATA, Hauppauge dvb-s rev1.6+Nova-S


    Wohnzimmer VDR
    Software: Debian Lenny, VDR 1.6.0, dvd, remote, games, femon, streamdev-client
    Hardware: MSI Hermes 845GL, Hauppauge Nexus-S rev2.1, Nova-T FB, NEC DVD-Brenner

    The post was edited 1 time, last by Tuxer ().

  • Hi, so was ähnliches gibt es schon:


    http://www.omniti.com/~jesus/SecurID/


    Das Passwort besteht, soweit ich weiß, aus einem Präfix, das immer gleich ist und der Zahl die auf dem Token steht. Diese ändert sich alle paar Minuten.


    Gruß
    Roland

    Software: VDR 1.4.3, mp3, osdpip, streamdev-server, femon, wapd, X11, Wireless Keyboard Kernel: 2.6.18
    Hardware: 1x DVB-S v 1.3, 1x Skystar 2, Celeron@2GHz, 256 MB RAM, 4 HDs Raid1/5, Total: 600 GB, Asus P4S533 cmi8738 & LAN on board 6 PCI
    40" Sammelbestellungs-LCD an ATI Radeon 9550 DVI-Out + tvtime, 70 cm TV an J2-RGB-Out
    Organisator der ersten und zweiten VDR-Sanitizer Sammelbestellung.
    In progress: POV-ION 330 - MediaPointer MP-S2 - vdr 1.7.9 - vdr-xine(vdpau)


  • Hi,


    diese Teile kenne ich schon, haben wir bei uns auf der Arbeit.
    Sowas ist auch ne super Sache, mit einem einzigen Nachteil für den Normalverbraucher.
    Die Teile kosten ein schweine Geld, wenn man nicht zufällig noch irgendwo eines von den alten findet. Die neuen kann man nicht bezahlen.


    Aber man muss ja ned alles haben ;)


    Das es sowas auch schon open source gibt habe ich noch nciht gewusst.
    Danke für den Tipp.
    Mal sehn, vllt findet man mal was günstiges.


    Gruß


    Tuxer

    Server
    Software: Debian Lenny, VDR 1.6.0, vdradmin-am, streamdev-server, femon. epgsearch
    Hardware: Chenbro RM314, ABit AV8, AMD64 3200+, 512MB RAM, 4x Seagate 250GB@RAID5, 3ware 8500-4 SATA, Hauppauge dvb-s rev1.6+Nova-S


    Wohnzimmer VDR
    Software: Debian Lenny, VDR 1.6.0, dvd, remote, games, femon, streamdev-client
    Hardware: MSI Hermes 845GL, Hauppauge Nexus-S rev2.1, Nova-T FB, NEC DVD-Brenner