Hauptmenü

Telnet port

Begonnen von rudolfkoenig, 13 Juni 2012, 13:25:48

Vorheriges Thema - Nächstes Thema

rudolfkoenig

                                                   

Nach einer Diskussion mit Willi habe ich beschlossen, dass die
Standard-Installation von fhem nicht mehr so "offen" sein wird wie
bisher, bzw. anders ausgedrueckt: fhem soll sicherer werden.
Als erster Schritt in diese Richtung habe ich den globalen telnet port
optional gemacht, weiterhin habe ich einen optionalen portpassword
Attribut hinzugefuegt. Falls gesetzt, muss es als erste Zeile in einem
telnet-session eingetippt werden.

Weitere Plaene:
- telnet in dem initialen fhem.cfg nur fuer localhost erlauben (global
weg).
- Prominent platzierte Warnung in FHEMWEB bzw. im Log, falls kein
telnet (global) bzw. FHEMWEB Passwort gesetzt ist oder falls fhem
unter root laeuft. Die Warnung ist abschaltbar bzw. auch fuer andere
Zwecke verwendbar.
- auf dem FB wird fhem wieder unter dem Benutzer fhem gestartet, und
nicht mehr unter root (nur fuer Neu-Einsteiger).
- falls moeglich, direkte Verwendung des FB Passwortes fuer telnet
bzw. FHEMWEB.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Gute Idee,

könnte man nicht in dem Zusammenhang auch gleich bestimmte IP-Adressen für
Telnet erlauben/verbieten,
so etwas wie "attr global IP-allowed 192.168.0.0,36"?

R.

Am Mittwoch, 13. Juni 2012 13:25:48 UTC+2 schrieb Rudolf Koenig:
>
> Nach einer Diskussion mit Willi habe ich beschlossen, dass die
> Standard-Installation von fhem nicht mehr so "offen" sein wird wie
> bisher, bzw. anders ausgedrueckt: fhem soll sicherer werden.
> Als erster Schritt in diese Richtung habe ich den globalen telnet port
> optional gemacht, weiterhin habe ich einen optionalen portpassword
> Attribut hinzugefuegt. Falls gesetzt, muss es als erste Zeile in einem
> telnet-session eingetippt werden.
>
> Weitere Plaene:
> - telnet in dem initialen fhem.cfg nur fuer localhost erlauben (global
> weg).
> - Prominent platzierte Warnung in FHEMWEB bzw. im Log, falls kein
> telnet (global) bzw. FHEMWEB Passwort gesetzt ist oder falls fhem
> unter root laeuft. Die Warnung ist abschaltbar bzw. auch fuer andere
> Zwecke verwendbar.
> - auf dem FB wird fhem wieder unter dem Benutzer fhem gestartet, und
> nicht mehr unter root (nur fuer Neu-Einsteiger).
> - falls moeglich, direkte Verwendung des FB Passwortes fuer telnet
> bzw. FHEMWEB.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

rudolfkoenig

                                                   

> so etwas wie "attr global IP-allowed 192.168.0.0,36"?

http://fhem.de/commandref.html#allowfrom

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Hallo Liste,

gute Idee, das Ding sicherer zu machen.

Allerdings sollte man die Sicherheitsfunktionalitäten des Betriebssystems
nutzen, also nicht eine eigene IP-White/Blacklist und eigene
Passwortverwaltungen implementieren.

Insbesondere bietet sich an, auf Systemen, die gleichzeitig Router sind
(wie etwa der FB) die direkte Verzahnung mit der Firmware voranzutreiben.

Damit das dann nicht zu proprietär wird, schlage ich eine Trennung zwischen
Funktion (z.B. Prüfe Passwort, Schreibe IP-Whitelist) und System vor. Die
entsprechenden High-Level Funktionen wären damit Bestandteil von fhem.pl,
ihre Weiterleitung an ein Betriebssystem würde ein austauschbares Modul
übernehmen. Für das könnte es auch eine Emulation geben, die dann eben
wirklich nur eine triviale Passwortprüfung durch Vergleich mit einer Datei
durchführt.

LG

pah

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

On 06/13/2012 01:25 PM, Rudolf Koenig wrote:

> Als erster Schritt in diese Richtung habe ich den globalen telnet port
> optional gemacht, weiterhin habe ich einen optionalen portpassword
> Attribut hinzugefuegt. Falls gesetzt, muss es als erste Zeile in einem
> telnet-session eingetippt werden.

Bitte an de-facto Standards halten, i. e. _falls_ ein Passwort benötigt
wird, "Password: " o. ä. ausgeben (und falls nicht, wäre "FHM>" hilf-
reich). Damit ist dan allgemeines Skripting weiterhin möglich.

MfG,
-kai

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

On 13 Jun., 13:25, Rudolf Koenig wrote:
> Als erster Schritt in diese Richtung habe ich den globalen telnet port
> optional gemacht, weiterhin habe ich einen optionalen portpassword
> Attribut hinzugefuegt. Falls gesetzt, muss es als erste Zeile in einem
> telnet-session eingetippt werden.

Super. Das ging ja schnell. Danke!

Ich habe auf meiner Fritzbox 7390 sowie meinem FHEM-Server (debian auf
ARM) die neue Version (93_FHEM2FHEM.pm und fhem.pl) installiert und
getestet. Der FHEM-Server unter debian ist mit der Fritzbox mit
FHEM2FHEM raw verbunden.
Funktioniert problemlos.

Irritierend ist allerdings, dass beim manuellen telnet auf Port 7072
für das Kennwort ein Echo erfolgt (also angezeigt) wird.

Die Idee von Kai mit der Ausgabe von "Password:" finde ich gut (sofern
Du das ohne großen Aufwand realisieren kannst).

MfG Willi


--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

rudolfkoenig

                                                   

> set über FHEM2FHEM raw vom FHEM-Debian-Server zur Fritzbox funktioniert
> nicht.

Stimmt, habs gefixed. FHEM2FHEM verwendet eine zweite Verbindung fuer
die
Kommandos, und da habe ich bisher kein Passwort gesendet.


> Irritierend ist allerdings, dass beim manuellen telnet auf Port 7072 für das
> Kennwort ein Echo erfolgt (also angezeigt) wird.

Hab mir das telnet IAC angetan: fhem sendet WILL ECHO, bzw.
beantwortet alles
mit "WONT". Muss noch schauen was noch fehlt, damit das dumme MS
telnet
auch ordentlich mitmacht.


> Die Idee von Kai mit der Ausgabe von "Password:" finde ich gut (sofern
> Du das ohne großen Aufwand realisieren kannst).

Habe ich auch geaendert, ein FHM> gibts aber nicht, zwecks
Kompatibilitaet.

Noch'n Problem: interne Programme wie das FB fhemcmd, das vom
Telefonserver aufgerufen
wird, brauchen eigentlich keinen Passwort, externe schon. Man braucht
also
mehrere Versionen vom "telnet" -> telnet muesste auch ein Modul werden
mit define.
Mein Hauptproblem dabei ist die Kompatibilitaet, aber ich glaube ich
habe eine Idee.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

On 14 Jun., 17:38, Rudolf Koenig wrote:
> > set über FHEM2FHEM raw vom FHEM-Debian-Server zur Fritzbox funktioniert
> > nicht.
>
> Stimmt, habs gefixed. FHEM2FHEM verwendet eine zweite Verbindung fuer
> die
> Kommandos, und da habe ich bisher kein Passwort gesendet.

Super. Jetzt funktioniert mein Licht auf der Terasse wieder!

>
> > Irritierend ist allerdings, dass beim manuellen telnet auf Port 7072 für das
> > Kennwort ein Echo erfolgt (also angezeigt) wird.
>
> Hab mir das telnet IAC angetan: fhem sendet WILL ECHO, bzw.
> beantwortet alles
> mit "WONT". Muss noch schauen was noch fehlt, damit das dumme MS
> telnet
> auch ordentlich mitmacht.

Bei mir (mit Linux-Telnet) wird das Kennwort nicht mehr angezeigt.

>
> > Die Idee von Kai mit der Ausgabe von "Password:" finde ich gut (sofern
> > Du das ohne großen Aufwand realisieren kannst).
>
> Habe ich auch geaendert, ein FHM> gibts aber nicht, zwecks
> Kompatibilitaet.

"Password:" wird angezeigt.
"fhem>" sobald man das erste mal Return drückt.

MfG Willi

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

rudolfkoenig

                                                   

> Muss noch schauen was noch fehlt, damit das dumme MS
> telnet auch ordentlich mitmacht.

Das scheint wohl nicht so trivial zu sein: MS telnet kommt selbst
nicht auf die Idee echo zu machen, das muesste fhem durchfuehren, und
das ist mir jetzt zu bunt. Als Kompromiss sendet fhem mit portpassword
\r\n statt \n zurueck.

Damit "Telnet" Zugang unter Windows:
1. mit telnet / portpassword: Im telnet nach Passworteingabe mit CTRL-
+ und "set localecho" das echo aktivieren
2. mit putty (protokoll telnet)  / portpassword
3. mit putty (protokoll raw) / ohne portpassword

Osx/Linux Benutzer koennen einfach telnet verwenden.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

rudolfkoenig

                                                   

> - falls moeglich, direkte Verwendung des FB Passwortes fuer telnet
> bzw. FHEMWEB.

Das ist seit heute frueh per updatefhem verfuegbar, es waere nett wenn ich dazu
Feedback bekommen wuerde, weil beides demnaechst auf dem FB mit einer frischen
Installation zu default wird.

Howto (aus commandref.html):
  # portpassword
    Specify a port password, which has to be entered as the very first string
    after the connection is established. If the argument is enclosed in {},
    then it will be evaluated, and the $password variable will be set to the
    password entered. If the return value is true, then the password will be
    accepted. Example:
    attr global portpassword\
        {use FritzBoxUtils;;FB_checkPw("localhost","$password") }

  # basicAuth
  ...
    If the argument of basicAuth is enclosed in {}, then it will be evaluated,
    and the $user and $password variable will be set to the values entered. If
    the return value is true, then the password will be accepted. Example:
    attr WEB basicAuth\
        {use FritzBoxUtils;;FB_checkPw("localhost","$password") }

Ich vermute, dass Umlaute im Passwort nicht funktionieren, da die (dreist
abgeschriebene :) unicode Konvertierung primitiv ist.

Achtung portpassword: ich plane die telnet Verbindung in ein separates Modul
(mit define) auszulagern, dieser Parameter wird demnaechst verschwinden.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guido

                                                       

>
>
> es waere nett wenn ich dazu Feedback bekommen wuerde
>

Hallo Rudolf,

basicauth funktioniert auf anhieb.
 Frage hierzu: nach welcher Zeit erfolgt ein Timeout, und ist dieser
editierbar ?

Telnet (Putty) funktioniert auch allerdings erscheinen seltsame Buchstaben
vor Password und nach Eingabe

ÿûPassword: ******
ÿü

und AndFHEM müsste von Mathias angepasst werden da bei der Telnetverbindung
keine Passworteingabe möglich ist.


Am Donnerstag, 21. Juni 2012 10:05:37 UTC+2 schrieb Rudolf Koenig:
>
> > - falls moeglich, direkte Verwendung des FB Passwortes fuer telnet
> > bzw. FHEMWEB.
>
> Das ist seit heute frueh per updatefhem verfuegbar, es waere nett wenn ich
> dazu
> Feedback bekommen wuerde, weil beides demnaechst auf dem FB mit einer
> frischen
> Installation zu default wird.
>
> Howto (aus commandref.html):
>   # portpassword
>     Specify a port password, which has to be entered as the very first
> string
>     after the connection is established. If the argument is enclosed in
> {},
>     then it will be evaluated, and the $password variable will be set to
> the
>     password entered. If the return value is true, then the password will
> be
>     accepted. Example:
>     attr global portpassword\
>         {use FritzBoxUtils;;FB_checkPw("localhost","$password") }
>
>   # basicAuth
>   ...
>     If the argument of basicAuth is enclosed in {}, then it will be
> evaluated,
>     and the $user and $password variable will be set to the values
> entered. If
>     the return value is true, then the password will be accepted. Example:
>     attr WEB basicAuth\
>         {use FritzBoxUtils;;FB_checkPw("localhost","$password") }
>
> Ich vermute, dass Umlaute im Passwort nicht funktionieren, da die (dreist
> abgeschriebene :) unicode Konvertierung primitiv ist.
>
> Achtung portpassword: ich plane die telnet Verbindung in ein separates
> Modul
> (mit define) auszulagern, dieser Parameter wird demnaechst verschwinden.
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Hi.

Jop den Task habe ich schon erstellt. Das mache ich aber erst wenn das
Ganze zu default wird.

Matthias

Am Donnerstag, 21. Juni 2012 12:46:05 UTC+2 schrieb Guido:
>
>
>> es waere nett wenn ich dazu Feedback bekommen wuerde
>>
>
> Hallo Rudolf,
>
> basicauth funktioniert auf anhieb.
>  Frage hierzu: nach welcher Zeit erfolgt ein Timeout, und ist dieser
> editierbar ?
>
> Telnet (Putty) funktioniert auch allerdings erscheinen seltsame Buchstaben
> vor Password und nach Eingabe
>
> ÿûPassword: ******
> ÿü
>
> und AndFHEM müsste von Mathias angepasst werden da bei der
> Telnetverbindung keine Passworteingabe möglich ist.
>
>
> Am Donnerstag, 21. Juni 2012 10:05:37 UTC+2 schrieb Rudolf Koenig:
>>
>> > - falls moeglich, direkte Verwendung des FB Passwortes fuer telnet
>> > bzw. FHEMWEB.
>>
>> Das ist seit heute frueh per updatefhem verfuegbar, es waere nett wenn
>> ich dazu
>> Feedback bekommen wuerde, weil beides demnaechst auf dem FB mit einer
>> frischen
>> Installation zu default wird.
>>
>> Howto (aus commandref.html):
>>   # portpassword
>>     Specify a port password, which has to be entered as the very first
>> string
>>     after the connection is established. If the argument is enclosed in
>> {},
>>     then it will be evaluated, and the $password variable will be set to
>> the
>>     password entered. If the return value is true, then the password will
>> be
>>     accepted. Example:
>>     attr global portpassword\
>>         {use FritzBoxUtils;;FB_checkPw("localhost","$password") }
>>
>>   # basicAuth
>>   ...
>>     If the argument of basicAuth is enclosed in {}, then it will be
>> evaluated,
>>     and the $user and $password variable will be set to the values
>> entered. If
>>     the return value is true, then the password will be accepted.
>> Example:
>>     attr WEB basicAuth\
>>         {use FritzBoxUtils;;FB_checkPw("localhost","$password") }
>>
>> Ich vermute, dass Umlaute im Passwort nicht funktionieren, da die (dreist
>> abgeschriebene :) unicode Konvertierung primitiv ist.
>>
>> Achtung portpassword: ich plane die telnet Verbindung in ein separates
>> Modul
>> (mit define) auszulagern, dieser Parameter wird demnaechst verschwinden.
>>
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

rudolfkoenig

                                                   

> basicauth funktioniert auf anhieb.
>  Frage hierzu: nach welcher Zeit erfolgt ein Timeout, und ist dieser
> editierbar ?

FHEMWEB implementiert (noch?) kein basicAuth timeout, kann jemand nachschauen,
wie man das macht?  Richtige Fritzbox-Passwoerter werden fuer 5 Minuten
gemerkt, da die Pruefung relativ langsam ist.


> Telnet (Putty) funktioniert auch allerdings erscheinen seltsame Buchstaben
> vor Password und nach Eingabe

Siehe vorheriges Posting in diesem Thread, welche Optionen Windows Benutzer
haben.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

rudolfkoenig

                                                   

> - Prominent platzierte Warnung in FHEMWEB bzw. im Log, falls kein
> telnet (global) bzw. FHEMWEB Passwort gesetzt ist oder falls fhem
> unter root laeuft. Die Warnung ist abschaltbar bzw. auch fuer andere
> Zwecke verwendbar.

global Attribut motd eingefuehrt, erscheint im "Homescreen" von FHEMWEB, bzw.
vor dem ersten fhem> prompt im telnet.

Eine Warnung (SecurityCheck) wird z.Zt. nur fuer FHEMWEB Instanzen ohne
basicAuth angezeigt, telnet kommt spaeter. Abschalten kann man motd mit
"attr global motd none"

Als Nebeneffekt kann man jetzt mehrzeilige Attribute per save speichern.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Hallo!

Habe da ein problem mit Telnet Fhem und Fritzbox7170 und hoffe bin hier
richtig?
Bekomme keine verbindung per Telnet(MS) oder Putty(raw) zu Fhem auf
Fritzbox(192.168.178.1),
meine eingabe: 192.168.178.1 7072 es kommen weder Fehlermeldung noch
irgendwas anderes.
Aufruf über Web(port8083) funktioniert.
In Fritzbox und Windows7 überall port 7072 zum Test kurz freigegeben.
Noch als hinweis Telnet auf Freetz funktioniert.
Ich hoffe ihr könnt mir weiterhelfen???
Mfg Steffen

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com