AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Server Socket absichern?
Thema durchsuchen
Ansicht
Themen-Optionen

Server Socket absichern?

Ein Thema von ph0g · begonnen am 26. Apr 2011 · letzter Beitrag vom 27. Apr 2011
Antwort Antwort
ph0g

Registriert seit: 14. Dez 2010
21 Beiträge
 
#1

Server Socket absichern?

  Alt 26. Apr 2011, 21:27
Guten Tag,
ich verwende in einer VCL Anwendung ein Server Socket und verbinde mich mit einem Client Socket (von einem anderen Programm). Jetzt habe ich mal per telnet eine Verbindung zu diesem Server socket aufgebaut und das hat auch geklappt, klar soll es auch.

Nur mir ist es nun ein Dorn im Auge, wenn man da einfach per telnet drauf kann. Gibt es eine Möglichkeit, das so abzusichern, dass man nur mit meinem eigenen Programm draufkommt, und alle anderen Verbindungen irgendwie abgebrochen werden?

Grüße,
ph0g
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#2

AW: Server Socket absichern?

  Alt 26. Apr 2011, 21:37
Du kannst doch einen Account einbauen?!

Telnet ist aber trotzdem unverschlüsselt, soweit ich weiß. SSH wäre hier eine sinnvollere Alternative.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Hobby-Programmierer

Registriert seit: 19. Jan 2006
Ort: München
392 Beiträge
 
Delphi XE Starter
 
#3

AW: Server Socket absichern?

  Alt 26. Apr 2011, 21:37
Jo, das geht. Der Client muss sich innerhalb einer bestimmten Zeit beim Server autorisieren. Das Thema hatten wir schonmal vor einiger Zeit, finde den Thread aber im Mom. nicht. Oder aber du verwendest ein eigenes Protokoll. Mit der Suche sollte sich da einiges finden lassen.
Mario
'Lesen Sie schnell, denn nichts ist beständiger als der Wandel im Internet!'
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.004 Beiträge
 
Delphi 2009 Professional
 
#4

AW: Server Socket absichern?

  Alt 26. Apr 2011, 21:45
Nur mir ist es nun ein Dorn im Auge, wenn man da einfach per telnet drauf kann. Gibt es eine Möglichkeit, das so abzusichern, dass man nur mit meinem eigenen Programm draufkommt, und alle anderen Verbindungen irgendwie abgebrochen werden?
Eigentlich kann man da wenig machen: wenn ein Client das Protokoll einhält, ist der Server nicht in der Lage einen Angreifer von einem gutwilligen Benutzer zu unterscheiden.

Man kann aber z.B. ein Clientzertifikat verwenden. Der Server erwartet dann, dass jede Nachricht mit einem Code signiert ist, den nur ein vertrauenswürdiger Client erzeugen kann. Das Clientzertifikat muss man dann natürlich einmalig separat an den Client übermitteln, auf einem sicheren Weg.

Daneben gibt es noch Transport Layer Security, hier ein Link: http://de.wikipedia.org/wiki/Transport_Layer_Security
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat
ph0g

Registriert seit: 14. Dez 2010
21 Beiträge
 
#5

AW: Server Socket absichern?

  Alt 26. Apr 2011, 21:48
Vielen Dank schonmal,
ich habe mich eben etwas weiter eingelesen, und festgestellt dass man anscheinend mit Socket.Data irgendwie variablen übertragen kann oder?

Dann würde es ja sinn machen, wenn ich z.b. bei jedem Client Socket.Data.MEINEVARIABLE:='vertrauenswuerdig'; einstelle, und das einfach überprüfe. Nur die Frage ist, wie ich die Daten übergeben und verarbeiten kann...

Jemand ne Idee?
  Mit Zitat antworten Zitat
Hobby-Programmierer

Registriert seit: 19. Jan 2006
Ort: München
392 Beiträge
 
Delphi XE Starter
 
#6

AW: Server Socket absichern?

  Alt 26. Apr 2011, 22:35
Damit die net langweilig wird , hier noch was zu lesen.
Mario
'Lesen Sie schnell, denn nichts ist beständiger als der Wandel im Internet!'
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#7

AW: Server Socket absichern?

  Alt 27. Apr 2011, 04:52
Wenn du wirklich sicher gehen willst, dass man über Telnet etc. keine Befehle senden kann, die missinterpretiert werden können, musst du schon in public key Verfahren, wie beispielsweise SRP (gibt es von negah hier eine Implementation) verwenden.

Die Kommunikation läuft nach Authentifizierung verschlüsselt ab, weshalb die Chance, dass man mit Telnet einen Befehl der etwas bewirkt schicken kann, gleich 0 ist.

Allerdings musst du dich fragen, ob der Aufwand das Ergebnis wert ist. Wenn du nicht davon ausgehst, dass irgendjemand absichtlich deine Anwendung analysiert und gazielt angreifen will, reicht garantiert auch eine Verschlüsselung mit festen Key als Schutz vor versehentlichen falschen Clienten aus.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz