Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Programmsicherheit verbessern (https://www.delphipraxis.net/165817-programmsicherheit-verbessern.html)

Schorschi5566 17. Jan 2012 20:51

Programmsicherheit verbessern
 
Hallo zusammen,

ich habe gerade ein kleines Projekt an der Backe bei dem einige Mitarbeiter möglichst einfachen Remotezugriff auf das Firmennetzwerk erhalten sollen.
Vorgabe ist RDP, was ja auch weiter kein Problem ist.

Ich verfolge im Moment den Ansatz über einen SSH-Tunnel, bei dem der Verbindungsaufbau ausschließlich über public/private Keys abläuft. Das Ganze wird über einen Aufruf (CreateProcess) von Plink.exe realisiert und dazu habe ich eine Frage:

Kann der Aufruf von CreateProcess mit einschlägigen Tools "abgefangen" werden? Könnte ein eher unbedarfter Angreifer darüber an die Aufrufparameter von Plink gelangen?

Oder kennt jemand 'ne Delphi-Unit oder Komponente, die SSH mit public/private Keys beherrscht und open source oder wenigstens frei erhältlich ist?

Das Programm wird zwar kein öffentlich zugängliches Programm sein, ich möchte aber den Fall etwas absichern, dass jemand den USB-Stick mit diesem Zugangsprogramm verliert. Wenn ich vom Verlust des Programms erfahre, ist das Ganze kein Problem und ich ändere einfach die Keys aber wenn nicht wäre mir wohler, wenn man wenigstens 'nen Disassembler auspacken muss und nicht gleich mit 'nem Wald- und Wiesentool Zugriff auf's Netzwerk bekommt. :wink:


Viele Grüße,
Uwe

mkinzler 17. Jan 2012 20:58

AW: Programmsicherheit verbessern
 
Das stzellt sich die Frage, ob nicht fertige Lösungen am Markt die bessere Alternative wären (HOB VPN, Citrix, ...)

RWarnecke 17. Jan 2012 21:04

AW: Programmsicherheit verbessern
 
OpenVPN wäre auch noch eine alternative und dann ganz normal RDP machen.

mkinzler 17. Jan 2012 21:11

AW: Programmsicherheit verbessern
 
Geht bei den anderen auch. Obwohl die RDP-Verbindung dann nur vom Gateway zum Server besteht.

BUG 17. Jan 2012 21:43

AW: Programmsicherheit verbessern
 
Das Problem scheint ja zu sein, dass der Schlüssel bzw. das Zertifikat mit dem Programm mitgegeben werden muss.
Die einzige wirkliche Lösung ist denn den Nutzter zum Eingeben eines Passworts zu zwingen.

An Kommandozeilen-Parameter von Programmen kommt man zB. mit dem Process Explorer ran.

himitsu 17. Jan 2012 22:38

AW: Programmsicherheit verbessern
 
Zitat:

Zitat von BUG (Beitrag 1146384)
An Kommandozeilen-Parameter von Programmen kommt man zB. mit dem Process Explorer ran.

Geht auch einfach ... der Win7-Task-Manager zeigt mir Diese auch an.

Schorschi5566 17. Jan 2012 22:50

AW: Programmsicherheit verbessern
 
Hallo,

die Frage war ja eher, ob man den Prozessaufruf von Plink.exe über CreateProcess belauschen kann. Wie kann man denn die Parameter im Taskmanager anzeigen lassen? Also über einen Prozessdump bekommt man zwar die Kommandozeile aber plink ist wohl offenbar so schlau und patched das Passwort raus. Da das Passwort lang genug gewählt ist (32-stellig), würde das schonmal nicht so einfach sein.

Gäbe es noch andere Methoden um CreateProcess abzufangen? Also Hooks oder so?


Grüße,
Uwe

himitsu 17. Jan 2012 23:36

AW: Programmsicherheit verbessern
 
Prozesse > Ansicht > Spalten auswählen ... > Befehlszeile

Furtbichler 18. Jan 2012 06:30

AW: Programmsicherheit verbessern
 
Der Verwandschaftsgrad zwischen Bequemlichkeit und Sicherheit ist mit "diametral" am ehesten beschrieben.

Schorschi5566 18. Jan 2012 18:28

AW: Programmsicherheit verbessern
 
Hallo,

interessante Option im Taskmanager. Kannte ich noch gar nicht. :)

Also Passwort einfach übergeben fällt damit natürlich flach.

Ich schicke es deshalb im Moment über StdIn an Plink, was ja auch geht.Im Processdump und im Taskmanager taucht das Passwort damit zumindest nicht mehr auf.
Schöner wäre natürlich 'ne SSH-Library für Delphi aber da habe ich bisher nichts gefunden, was man mal auf die Schnelle ausprobieren könnte.

Gut an der SSH-Lösung finde ich, dass man in der Firewall pro SSH-Server nur einen Port öffnen muss und vor allem nicht 3389. Mit OpenVpn habe ich bisher keine Erfahrungen gemacht. Gäbe es dafür denn Lösungen reinrassig in Delphi? Also clientseitig meine ich.


Danke für Eure Antworten.


Grüße,
Uwe


Alle Zeitangaben in WEZ +1. Es ist jetzt 00: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