shutdown mit callmonitor

franzb

Neuer User
Mitglied seit
13 Sep 2005
Beiträge
40
Punkte für Reaktionen
0
Punkte
0
Hallo,

es funktioniert einwandfrei, meinen Linux-Rechner hinter einer Fritzbox per Callmonitor zu wecken. Was jetzt noch angenehm wäre ist, eben diesen Rechner wieder herunterfahren zu können, ohne mich mittels ssh einloggen zu müssen, am besten mit Mobiltelefon und Callmonitor.

Hat sowas jemand von euch schon mal umgesetzt oder eine Idee, wie ein Skript aussehen müsste, dass es, auf der Fritzbox gestartet, einen Rechner im LAN herunterfährt?

LG, Franz

[edit]: gelöst, siehe Wiki
 
Zuletzt bearbeitet:
Dazu gab es mal einen Thread. Quintessenz aber war, dass es ohne Eingriff an dem Rechner nicht gehen wird.
 
genau, und wir konnten uns nicht einigen, womit wir es machen. Ich war für den Einsatz von telnet, andere hatten ssh mit Zertifikaten bevorzugt. Es war auch eine Idee netcat dafür zu nehmen. Also, am besten suchst du nach diesem Thread und informierst dich da.
Wie Silent-Tears zu Recht sagt, war aus der Diskussion und Überlegungen rausgekommen, dass man "shutdown"-Command dafür lokal auf dem Rechner nutzen würde. shutdown gibt es sowohl für Windows, als auch für Linux. Dann braucht man eine Brücke (netcat, ssh, telnet), um auf dem Netzwerk zu lauschen. Die Box schickt dann irgendwas und darauf hin wird lokal "shutdown" ausgeführt. Das ist grob die Idee.

Übrigens, du kannst basierend auf dieser Lösung es sehr leicht für einen Linux/MAC-Rechner realisieren. Du musst lediglich den Aufruf innerhalb von ssh in "shutdown" mit seinen Parametern abändern. Und schon wird es gehen.

MfG
 
Danke für den Ansatz. Das sieht vielversprechend aus.

LG, Franz
 
Funktioniert einwandfrei. Kleines Howto für Interessierte:

Voraussetzungen: Freetz mit den Paketen "dropbear" und "callmonitor", ersteres inklusive ssh-client.

1. Auf Fritzbox einloggen und Keys erzeugen:
Code:
dropbearkey -t rsa -f rsakey_box

2. Public-Key extrahieren:
Code:
dropbearkey -y -f rsakey_box | grep ssh > rsakey_box.pub

3. Public-Key auf Zielrechner kopieren und authorisieren (evt. root durch /home/<benutzername> ersetzen, dann auch dafür sorgen, dass dieser Benutzer die Rechte hat, den Rechner runterzufahren):
Code:
cat rsakey_box.pub >> /root/.ssh/authorized_keys

4. Auf Fritzbox Datei (etwa shutdown_rechner.sh) mit folgendem Inhalt erzeugen:
Code:
ssh -i /<pfad_zum_rsakeyfile>/rsakey_box root@<ip_rechner> "shutdown -h now"

5. Folgende Zeile zu den Listenern des Callmonitors hinzufügen:
Code:
in:request ^<abgangsrufnummer> ^<eingangsrufnummer> HOME=/mod/root && /<pfad_zum_file>/shutdown_rechner.sh

6. Dafür sorgen, dass der herunterzufahrende Rechner in /mod/root/.ssh/known_hosts eingetragen ist. Am einfachsten erreichst du das dadurch, dass du dich schlicht einmal von der Box aus mit dem Rechner über ssh verbindest.

Hinweis: habe alle Dateien auf einem angeschlossenen USB-Stick abgelegt, sollten die Dateien im Flashspeicher der Box abgelegt werden muss dafür gesorgt werden, dass sie beim Neustart nicht verlorengehen.

Franz
 
Zuletzt bearbeitet:
Gutes Howto. WIKI-würdig. Kannst du es bitte in FREETZ-Wiki unter howtos eintragen?
Mit dem Flash der Box. Wenn es schon drin ist, dann muss man um nichts sorgen :) Im Ernst: Man kann überlegen diese (oder ähnliche) Funktion in das Paket WOL-CGI einzubauen.

MfG
 
Herunterfahren funktioniert für Linux- und Windows-Rechner. Das Howto ist ab sofort im Wiki.

LG, Franz
 
Eine gute Anleitung. Soweit ich da aber informiert bin, kann openssh in seiner offenen Version kaum mit Benutzer unter Windows umgehen. Sprich, es kann nur root alias administrator sein. Mag sein, dass meine Infos etwas veraltet sind. D.h. derjenige, der sich über openssh auf dem Windows-Rechner einlogt hat vollen Administrator-Zugriff. Ich will nicht meckern. Nur, dass es jedem bewußt ist. Dies sehe ich als eine potentielle Sicherheitslücke von diesem Verfahren. Gelingt jemanden aus welchem Grund auch immer auf die Box zu gelangen, kann er sich mittels abgelegter Keys mit admin-Rechten auf allen Rechner im Subnetz verbinden, die an diesem shutdown teilnehmen.
Deswegen hatten wir im zitierten Thread die Möglichkeiten diskutiert, die Rechte von dieser shutdown-Lücke (und das ist eine Lücke!) möglichst gering zu halten. Unter Linux könnte man z.B. einen speziellen Benutzer anlegen, der nur das darf. Dem Benutzer könnte man als shell z.b. shutdown-Skript verpassen. Damit wäre die Sicherheitslücke wenigstens halbwegs geschlossen.

MfG
 
Stimmt, bei Windows-Rechnern ist das nicht astrein. Wenn jedoch in der Datei sshd_config PasswordAuthentication auf "no" gesetzt wird, kann sich niemand einloggen, ohne im Besitz des Private-Key zu sein.

Und wenn der ssh-Port von der Fritzbox nicht auf den herunterzufahrenden Rechner forgewarded wird (das ist für das Herunterfahren auch gar nicht nötig), kann die Gefahr ausschließlich aus dem LAN kommen. Das dürfte dann in der Regel auch ohne oben genannten Eintrag in sshd_config kein Risiko darstellen.

LG, Franz
 
Die Gefahr die ich meinte hast du nicht ganz verstanden. Wenn jemand deine Box knackt und per ssh oder was auch immer auf der shell der Box ist, dann hat er Zugriff zu deinen Keys für die Rechner im Lan. Denn die Keys liegen ja auf der Box. Von der Box aus kann er die Rechner wecken und dann mit dem Key ungehindert als Admin sich auf dem Rechner anmelden. Deswegen war die Idee die shell auf dem herunterzufahrenden Client verbieten. Wo kein shell da ist, kann der Angreifer nichts machen.
Die Wahrscheinlichkeit ist zwar gering, man muss aber nicht unnötig Löcher im Sicherheitssystem bohren.

MfG
 
Ich sehe, was du meinst. Vielleicht mag ja jemand mal austesten, inwieweit die Rechte eingeschränkt werden können, sodass es trotzdem noch möglich ist, den Windows-Rechner runterzufahren.

LG, Franz
 
Die Idee in dem zitierten Thread ging eigentlich in die Richtung irgendeinen kleinen telnet- oder ssh-Server zu nehmen. Diesen Server so zu präparieren, dass nur shutdown möglich ist (shutdown als shell) und dann nur für die shutdown-Zwecke als Dienst laufen lassen. Ideal wäre ein OpenSource-Server, den man sowohl für Linux als auch für Windows nehmen könnte und auf Nötigste abspecken konnte.

Dein Ansatz geht aber schon in die richtige Richtung. Man könnte es nach und nach verbessern. Als Nächstes könnte man z.B. irgendwie versuchen bei openssh als shell eine bat-Datei mit shutdown-Befehl einzutragen. Das Selbe sollte unter Linux relativ leicht durch Rechte machbar sein.

MfG
 
Die Frage bleibt, wie viel Sicherheit jemand braucht. Mir jedenfalls reicht sie so aus und wenn man darauf achtet, übers Internet nur verschlüsselt mit der Fritzbox zu kommunizieren (https, ssh), dann ist in meinen Augen das Risiko, dass sich ein Unbefugter Zutritt verschaffen kann, gering.

Franz
 
Ich versuche es nochmals klar zu stellen. Mir ging es nicht um Kiddies, die versuchen dein Verkehr abzuhören, oder die Passwörter auszuprobieren, sondern um etwas weiter fortgeschrittene Angriffe. Als Beispiel sage ich nur tr069. Es können auch diverse Fehler in dropbear selbst oder https passieren, sodass einer auf deiner Box drauf ist. Im Normalfall wird er da lediglich deine Zugangsdaten zu deinem Anbieter sehen und das wars dann auch. Die Daten kannst du ändern und nichts ist geschehen.
Wenn du aber auf der Box direkt die Schlüssel von diversen Rechner liegen hast, mit denen jeder alles machen kann was er will, ist es nicht gut. Es ist so, als ob du in der Garage sämtliche Schlüssel von deinem Haus inklusive Tresor mit einem Haufen Gold bewahrst und hoffst, dass die Einbrecher das Garagentor nicht knacken. Haben sie es in die Garage geschafft, so stehen ihnen dann alle Türe offen. Das machen zwar viele auch im tatsächlichen Leben. Die Frage ist nur, ob es sinnvoll ist.

MfG
 
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.