Telnet und Sicherheit

    Telnet und Sicherheit

    Hallo!

    Da mir das Thema Sicherheit sehr am Herzen liegt, musste ich natürlich mal schauen, wie (un-)sicher ein Telnet-Protokol eigentlich ist!

    Das Problem ist, bei Telnet wird alles in Klartext übertragen, und wenn nun jemand beabsichtigt, das ServerQuery Passwort Abhören zu wollen, dann wird dies auch sicher nicht schwer sein?!

    Was meint ihr dazu? Wie kann ich dieses Problem lösen? VPN-Server zwischen schalten? Oder gar nur mehr den ServerQuery Lokal lauschen lassen (sehr nachteilig wegen Steuerung)?
    Hallo,
    telnet ist so "outdated", dass es null Sicherheit bietet, da es eben nur im Klartext Daten überträgt.

    Um die Sicherheit zu erhöhen, musst du entweder über einen dir vertrauenswürdigen VPN die Daten übertragen, dich per SSH auf deinen Server einloggen und von dort aus mit Hilfe des Befehls "telnet" dich als ServerQuery einloggen oder du sagst deinem TeamSpeak Server, dass es sowieso nur lokal darauf lauschen soll.

    Warum die Lösung mit SSH? Ganz einfach: Hier wird eine gesicherte Verbindung zum Host aufgebaut, worüber die Kommandos/Eingaben dann laufen.

    Eine richtige "Alternative" gibt es nicht.
    Viele Grüße,
    Sebbo
    -----------------
    TS3tools - Software & Managed Service: www.ts3-tools.info
    4G-Server - Dein günstiger Prepaid Hoster: www.4g-server.eu
    Sag mal Sebbo, das is mir gestern spät am Abend noch gekommen:

    Man kann die Verbindung also nur Abhören, wenn es Connections übers WAN gibt? Oder nur die Abhören, die nach aussen gehen, und die Lokalen nicht?

    Mir geht's ja eher drum, dass man die Lokalen Verbindungen (localhost) nicht abhören kann.

    Mit VPN wird das schätz ich auch mal komplizierter? Hab da leider nicht so viel Erfahrung mit VPN. Möcht auch ned für die Leute den Query deaktivieren.
    Hallo,

    wenn du es nur Local nutzt, bist du ja nicht ans Internet angeschlossen. Dann kannst du halt auch nur von jemandem gehackt werden der Local angeschlossen ist. Wenn du jetzt allerdings Local in dem Sinne meinst, das du die Private IP benutzt, trotzdem aber noch im Internet bist, dann wäre ich wieder Vorsichtig.

    Zum Thema VPN: Das ist im Prinzip nichts anderes als ein Locales Netzwerk übers Internet (grob gesagt). Wie du ein VPN einrichtest, steht alles bei Google.

    Allerdings ist ein VPN auch dann wieder Unsinnig, wenn du Kunden Zugang geben möchtest. Denn spätestens da ist das VPN wieder öffentlich.

    Grüße
    Die einfachste Methode wäre wohl das ganze über einen SSH Tunnel zu machen und den Serverquery zugang nur über localhost laufen zu lassen. (einfach in google putty ssh tunnel eingeben, findet sich genug).

    Jedoch müsstest du den Kunden dann einen SSH zugang geben, was nicht gerade sehr praktisch ist. Die Andere möglichkeit wäre ein HTTPs Tunnel.

    (auch eine möglichkeit wäre es ein PHP Script zu schreiben dass über eine HTTPS verbindung zum Server die Daten an den apache sendet und dieser die Daten dann weiterleitet über 127.0.0.1, und den Kunden dann zugang zu dieser Seite geben. So etwas müsste man dann aber erst programmieren)

    Ansonsten wird mann wohl das unsichere Telnet nutzen müssen,

    Gruß,
    RootsWin

    // Edit by Sebbo: HTTPs Tunnel, nicht HTTP. Hat er einen Buchstaben vergessen ;)
    Gute vServer, Root Server oder Dedicated Server gesucht?

    Die findest du hier:
    (5% Rabatt mit dem Rabattcode "TSConnNewcomer" )

    Noon-Server.de



    Hallo,

    so ganz weis ich immer noch nicht was du vor hast. Geht es dir darum das du dem Kunden allgemein ein Query Zugang geben möchtest (z.B für Bots, oder ähnlichem) oder geht es dir um eine bestimmte Sache (ein Webinterface z.B)?

    Wenn es dir um Bots geht, wirst du wohl oder übel Telnet zulassen müssen. Denn momentan laufen alle Bots, die ich kenne, Standartmäßig über den Query. Wenn du dem Kunden also nun sagst das er einen SSH Tunnel oder meinetwegen auch einen HTTPs Tunnel benutzen soll, wird das sehr problematisch mit den Bots.

    Wenn es dir nur um ein Webinterface geht, programmiere es selber und mach es so wie mein Vorredner (natürlich nur HTTPs!).

    Grüße

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Pagian“ ()

    Bei mir ist es so, dass es ein Webinterface (Psychokiller) gibt und sie darüber alles steuern können.

    Zusätzlich besteht die Möglichkeit, auch Telnet zu verwenden, da das den Laien jedoch sowieso zu unschön und kompliziert ist, verwendet es im Normalfall sowieso keiner.

    Um mehr Sicherheit zu gewährleisten, kannst du den Standardport 10011 ja auf einen anderen legen, damit er nicht durch Port-Sniffing oder sowas direkt abgehört werden kann. Die Mühe, den Port zu finden, machen sich nämlich nur sehr wenige bis gar keine - siehe SSH Port. :)
    Viele Grüße,
    Sebbo
    -----------------
    TS3tools - Software & Managed Service: www.ts3-tools.info
    4G-Server - Dein günstiger Prepaid Hoster: www.4g-server.eu
    Das is halt so eine sache mit Port-Nummer wechseln...

    Das macht mir alles Kopfweh ^^

    Ich möchte ja auch die Server nicht aus einigen TS-Serverlisten "bannen". D.h. da würde die VPN eh nicht hinhauen, da man ja nen eigenen Clienten braucht :/
    Zudem sollen die User ruhig das Telnet verwenden, auf eigene Gefahr (da ja unverschlüsselt). Mir geht's eher darum, dass keiner mein serveradmin Passwort "mitlauschen" kann. Der rest is mir egal ob der mitgehört wird :D

    Lösung 1: Mir wäre da noch ne Idee gekommen, aba ich denke, da würde das mitlauschen wieder funktionieren: Verbinde vom selbem Server auf das Telnet via localhost aber via Port z.b. 20022 iptables regel leitet dann alles von 20022 weiter nach 10011. Port 20022 ist nur lokal erreichbar. Jemand ne Idee ob das dann "abhör sicher" ist?
    Problem wäre dann halt noch, wenn ich per Webinterface (liegt am Webserver, wo kein TS drauf ist; schön getrennt halten ;) ) mich per shell_exec (PHP) via ssh verbinde, wirds denk ich problematisch, das alles zu übertragen?

    Lösung 2:
    Ich glaub, wird auch nicht funktionieren, denn wenn ja mal jemand mitlauscht, wird er denk ich auch, die Verbindung übernehmen können? Meine Idee:
    IPTABLES regex verwenden und verbindungen blockieren, die sich via login serveradmin einloggen zu probieren, und nur meine dafür eigenen Serverip's zulassen.

    Ihr denkt wahrscheinlich, ich bin krank... aba die Sicherheit liegt mir halt schon auch sehr am Herzen, ich möchte ja keinen Server haben, der dann gekapert wird :(

    P.S.: Bot läuft auf dem TS lokal.
    Hallo,

    Aredon schrieb:

    Lösung 1: Mir wäre da noch ne Idee gekommen, aba ich denke, da würde das mitlauschen wieder funktionieren: Verbinde vom selbem Server auf das Telnet via localhost aber via Port z.b. 20022 iptables regel leitet dann alles von 20022 weiter nach 10011. Port 20022 ist nur lokal erreichbar. Jemand ne Idee ob das dann "abhör sicher" ist?
    Problem wäre dann halt noch, wenn ich per Webinterface (liegt am Webserver, wo kein TS drauf ist; schön getrennt halten ) mich per shell_exec (PHP) via ssh verbinde, wirds denk ich problematisch, das alles zu übertragen?


    RootsWin schrieb:

    Die einfachste Methode wäre wohl das ganze über einen SSH Tunnel zu machen und den Serverquery zugang nur über localhost laufen zu lassen. (einfach in google putty ssh tunnel eingeben, findet sich genug).


    Ansonsten kannst du auch ein Webinterface nutzen, es auf den Server installieren auf dem Teamspeak läuft und dich dann über HTTPs auf das Webinterface verbinden. Das Webinterface muss dann natürlich auf dem Server Local laufen.

    Grüße
    Krank? Naja. Ich finde Sicherheit eines der geilsten Thema in der IT Welt, allerdings ist das auch sehr komplex. :)

    Zu Lösung 1: Wird nicht funktionieren. Wenn der ServerQuery nur lokal erreichbar ist, wird er nur auf 127.0.0.0/8 lauschen, wodurch deine Port-Weiterleitung eiskalt fehlschlagen wird, denn die ist nicht in diesem Netz, sondern in einem anderen. Zudem wäre dieser Lösungsvorschlag eine einfache Port-Weiterleitung und am Ende hat es genau die selben Lücken/Probleme whatever wie, wenn du es einfach direkt angehst. So gehst du nur einen Verbindungsschritt mehr ein.

    Zu Lösung 2: iptables arbeitet auf OSI Schicht 3 (IP), wodurch es nicht möglich ist, das OSI Layer 5 (Session/Sitzung) bzw. 7 (Application/Anwendung) abzufragen. Somit ist das, was du da beschreibst unmöglich.
    Mehr Details zum OSI-Modell: OSI-Modell – Wikipedia

    Für die Sicherheit empfehle ich einfach eine regelmäßige Änderung des serveradmin Passworts: ServerQuery Passwort ändern
    Viele Grüße,
    Sebbo
    -----------------
    TS3tools - Software & Managed Service: www.ts3-tools.info
    4G-Server - Dein günstiger Prepaid Hoster: www.4g-server.eu

    Sebbo schrieb:

    Krank? Naja. Ich finde Sicherheit eines der geilsten Thema in der IT Welt, allerdings ist das auch sehr komplex. :)


    Danke :D Jep, das stimmt wiederum...

    Sebbo schrieb:

    Zu Lösung 2: iptables arbeitet auf OSI Schicht 3 (IP), wodurch es nicht
    möglich ist, das OSI Layer 5 (Session/Sitzung) bzw. 7
    (Application/Anwendung) abzufragen. Somit ist das, was du da beschreibst
    unmöglich.


    Nichts ist unmöglich: Hab's grad beim testen... funktioniert, sobald man den befehl "login serveradmin" eingibt, wird man geblockt. Auch das mit den "Whitelist IP's" Funktioniert.
    Hehe das dachte ich mir jetzt, dass das kommt ;)

    Wir sind ja ne nette Gemeinschaft, da teile ich sowas schließlich auch gerne:

    Quellcode

    1. iptables -N QUERY
    2. iptables -A QUERY -s 127.0.0.1 -j ACCEPT #IP, die sich mit dem Query als serveradmin einloggen darf als beispiel jetzt nur die lokale ip hier eingetragen
    3. iptables -A QUERY -p tcp --dport 10011 -m string --string "login serveradmin" --algo bm --icase -j DROP
    4. iptables -A QUERY -j RETURN
    5. iptables -A INPUT -m comment --comment "Query Regel" -j QUERY