Fragen zu einem Client/Server System und der Sicherheit

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Creative
User
Beiträge: 22
Registriert: Sonntag 11. Juni 2006, 01:35

Freitag 18. August 2006, 19:24

Hy Leutz,
ich hab mir seit längerem mal wieder vorgenommen was an meinen Python kentnissen zu machen.
Ich wollte einen Client schreiben (server ist gerade im bau auf php basis über socket müssten ja beide sprachen mit einander kominzieren können geht eh nur über den Austausch von strings ) mich beschäftigen aber noch folgende Themen da die Daten recht sensibel sind:
  • 1.Welche relative sichere zwei weg Verschlüsselung gibt es die man in Python und php nutzen kann ?
    2.ist das Socket Modul schon im Python Standard Paket oder muss ich das erst Installen und wo kriege ich ne gute deutsche doc für python und ggf. das socket modul(alla php.net wenn es geht)?
    3.Noch eine frage wie würdet ihr das mit der Sicherheit machen?
    ich habe mir gedacht der user kriegt in einem kleine Admin Interface auf
    dem Server eine 30stellige zufällige Zeichenkette die er dann
    einmal(beim ersten Start des Client oder neu Installation des Servers) im
    Client eingeben muss zusätzlich zu dem normalen Login auf dem Server.
Ich hoffe ihr könnt mir helfen
Creative
murph
User
Beiträge: 622
Registriert: Freitag 14. April 2006, 19:23
Kontaktdaten:

Samstag 19. August 2006, 22:04

als verschlüsselung ist ssl zu empfehlen, wenn es auch unter python noch nicht ausgereift ist, dh warten^^
versuche mal in der python-command "import sockets" einzugeben. :-)
dannwirste schon sehen, dass die batteries included sind.
http://www.cs.unm.edu/~dlchao/flake/doom/
Creative
User
Beiträge: 22
Registriert: Sonntag 11. Juni 2006, 01:35

Samstag 19. August 2006, 23:29

hmm warten ist schlecht wollte nächste/über nächste loslegen

so wie du das mit den sockets beschrieben hast würd ich mal sagen die sind cho drin wa?:D

hmm...gibt et vllt sonst noch ne art die strings zu verschlüsseln?
man könnte doch auf dem server ne bestimmte zeichenfolge generien für jeden buchstaben und der server packt die in ne config datei für das programm bzw. bietet diese datei zum download an so das man die in die config hinzufügen kann und der von dort an wird jeder buchstabe dan damit "verschlüsselt" naja da ist die frage ist das sichergenung?^^
bzw. das dürfte die performance gut nach unten ziehen?

wie lange ist ssl in python den noch ca. von ner annehmbaren version/stabilität entfernt weisst du das zufällig?
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Samstag 19. August 2006, 23:39

Hi Creative!

PHP kann XMLRPC. Python kann XMLRPC hervorragend. XMLRPC dürfte so ziemlich die einfachste Möglichkeit sein, die beiden miteinander kommunizieren zu lassen.

Wenn es etwas schneller sein soll, dann gibt es auch noch "asyncore" http://docs.python.org/lib/module-asyncore.html und "asynchat" http://docs.python.org/lib/module-asynchat.html
Damit ist es ein bischen einfacher, als mit dem Modul "socket". http://docs.python.org/lib/module-socket.html Allerdings lohnt sich der Aufwand wirklich nur dann, wenn Geschwindigkeit das Wichtigste ist. Wenn nicht, dann würde ich sofort XMLRPC verwenden.

Ich kenne das Umfeld nicht in welchem du die Verbindung zwischen den beiden Computern aufbauen willst. Was allerdings die Sichereheit angeht, gibt es ja auch die Möglichkeit, die Verbindung zwischen den Computern abzusichern und nicht unbedingt auf der Anwendungsschicht für die Verschlüsselung des Datenstromes zu sorgen. Mein liebstes Produkt für solche Zwecke ist im Moment OpenVPN. http://openvpn.net/

Eine andere Möglichkeit ist z.B. die Verbindung per SSH. http://cheeseshop.python.org/pypi/pyXMLRPCssh/

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Creative
User
Beiträge: 22
Registriert: Sonntag 11. Juni 2006, 01:35

Samstag 19. August 2006, 23:57

hier haben wir einen webserver mit nem cms drauf + den server

auf der anderen seite haben wir nen rechner mit dem python programm was ich vorhabe zu schreiben

ich will dem server z.b. einige mysql befhle senden die er dan ausführen soll damit man nicht jedesmal in der config vom server rumhantieren muss damit zugriff auf die mysql db ausserhalb von dem localhost erlaubt werden (was oft auch nicht wirklich möglich ist bei den meisten hostern)

halt damit das programm auch von relativen trottel benutz werden kann *g* ohne alzuviel aufwand

sehr schnell muss es nicht sein aber sollte auch net sein das man sich zwischen durch ne mahlzeit machen kann ne

aber danke schonmal für die ganzen links ich werde mir das mal genauer angucken
Benutzeravatar
jens
Moderator
Beiträge: 8482
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Montag 21. August 2006, 10:24

Vielleicht in dem Zusammenhang interessant:
TLS Lite is a free python library that implements SSL 3.0, TLS 1.0, and TLS 1.1. TLS Lite supports non-traditional authentication methods such as SRP, shared keys, and cryptoIDs in addition to X.509 certificates. TLS Lite is pure Python, however it can access OpenSSL, cryptlib, pycrypto, and GMPY for faster crypto operations. TLS Lite integrates with httplib, xmlrpclib, poplib, imaplib, smtplib, SocketServer, asyncore, and Twisted.
http://trevp.net/tlslite/

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten