Autor Beitrag
oOXTCOo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 141

Windows XP Prof. 3
Delphi 7
BeitragVerfasst: Mo 01.02.10 00:23 
user profile iconALF hat folgendes geschrieben Zum zitierten Posting springen:
genau!!!!

und Du hast ne Falsche Reienfolge verwendet!!!
du hast das Socket schon zugelassen und wolltest dann erst abfragen!
Wenn Du also 10 sockets zulässt sind bei attack abfragen immer alle 10 sockest belegt,
bevor Du irgenwelche Schlüssel oder Pws abgefragt hast!

okay, das mit dem anmelden und den hashen der passwörter usw. bekomme ich hin, das habe ich schon öfter gemacht und habe denke ich auch einige fertige sources die ich fast 1:1 nehmen könnte.


aber das mit dem einreihen geht mir nicht ein. damit ich mit dem clienten kommunizieren kann und ihm abfragen kann, muss er doch einen socket bekommen...

wenn ich zb. versuche im OnGetSocket ereignis zu entscheiden ob gut oder böse, dann müsste ich ja schon in der lage sein daten mit dem auszutauschen... das geht aber hier noch nicht...

Moderiert von user profile iconNarses: Überflüssige Zeilenumbrüche/Leerzeilen entfernt.
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Mo 01.02.10 00:29 
user profile iconoOXTCOo hat folgendes geschrieben Zum zitierten Posting springen:
aber das mit dem einreihen geht mir nicht ein.
damit ich mit dem clienten kommunizieren kann und ihm abfragen kann,
muss er doch einen socket bekommen...

Eben nicht.

Ein Socket bekommt erstmal JEDE Verbindung, die zu dir aufgebaut wird. Aber Zugriff auf die SmartCard wird nur für erfolgreich authentifizierte Clients vergeben. D.h. Solange ein Client nicht Authentifiziert ist, belegt er zwar ein paar Resourcen, aber blockiert die Smartcard nicht.

user profile iconoOXTCOo hat folgendes geschrieben Zum zitierten Posting springen:
wenn ich zb. versuche im OnGetSocket ereignis zu entscheiden ob gut oder böse,
dann müsste ich ja schon in der lage sein daten mit dem auszutauschen...
das geht aber hier noch nicht...

Im OnGetSocket kannst Du maximal generische Prüfungen wie IP-Sperren oder Rate-Limiting machen. Um zu entscheiden, ob ein Client dein Protokoll spricht und korrekte Logindaten hat, musst du mit ihm sprechen.

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
oOXTCOo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 141

Windows XP Prof. 3
Delphi 7
BeitragVerfasst: Mo 01.02.10 00:33 
Moderiert von user profile iconNarses: Komplett-Zitat des letzten Beitrags entfernt.

und ist es egal wiviele sockets die nun belegen?

ich muss den socket dann einfach nur überspingen? gibts da kein limit?
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Mo 01.02.10 00:35 
Der RAM ist das Limit; aber vernünftige Betriebssysteme haben mit >2k Verbindungen kein Problem.

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
ALF
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1085
Erhaltene Danke: 53

WinXP, Win7, Win10
Delphi 7 Enterprise, XE
BeitragVerfasst: Mo 01.02.10 00:43 
Natürlich hatt der client schon eine Verbindung mit dem server, aber!
Der client fragt dich doch, ob er eine Verbindung bekommen kann! nicht der Server. :wink:
Mit dieser Verbindung könntest Du nun den Schlüssel senden wieder abfragen und bei bestätigung socket zulassen. Ist aber keine Gute Idee!!!!
Der client sollte immer eine Eingabe machen müssen! Egal ob es der Schlüssel ist den Du sendest oder ein Privates PW .
Bei Privates PW muss es bei Dir auch vorhanden sein(kleiner Nachteil).

Und was die Reihenfolge betrifft:
Wenn er sich mit PW eingeloggt hatt und die Socketverbindung steht,
hatt Dir user profile iconBenBE schon geschrieben!

_________________
Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
oOXTCOo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 141

Windows XP Prof. 3
Delphi 7
BeitragVerfasst: Mo 01.02.10 00:58 
jaja, die datenbank mit den usern + passwört sind auch am server... auf die kann ich zugreifen.
somit wäre das kein problem...
oOXTCOo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 141

Windows XP Prof. 3
Delphi 7
BeitragVerfasst: Mo 01.02.10 03:33 
VIELEN VIELEN DANK LEUETE!!!

ich habs jetzt hin bekommen... dank einger sources von ASTAT.

jetzt läufts perfekt... sogar keine overflaw bugs mehr ;o)

die hacker bemerken jetzt auch nicht das sie schon lengst gesperrt sind, da es für die noch immer so aussieht als würden sie alles blockieren.

sind ja noch immer drann... sind connected seit 30 minuten und ich konnte schon 20 mal hintereinander auth´s machen ohne störungen ;o)


im moment wird die ip automatisch geblockt wenn der gewünschte string nicht innerhalb einer sekunde gesendet wird (ich weis, ist aber eine notlösung derweilen). oder wenn die ip schneller als 20 sekunden wieder versucht zu connected. dann wird sie in die blacklist aufgenommen und im connect erreignis habe ich dann die GUT oder BÖSE routine... sprich hir wird getestet ob der client in die userliste zur weiteren bearbeitung aufgenommen wird, oder ob er erst gar nicht eingetragen wird...

ich hoffe nur das ich keine probleme bekomme wenn die ewig connected bleiben und das immer mehr connections werden... aber dafür habe ich auch schon eine idee.

das ist mal eine notlösung, bis ich morgen dann die authorisierung mache, mit zugangsdaten check.
werde das von BENBE gennante verfahren anwenden.

bin ich froh das es jetzt läuft, viele vielen dank nochmals für die guten tipps.

ps: einzelne clients disconnecten ohne das alle disconnected werden habe ich nicht hin bekommen... er disconnected mir dann einfach alle bzw. kann man dann überhaupt nicht mehr connected before ich wieder socket auf active setze. aber das schaue ich mir morgen an...


grüße
hari

Moderiert von user profile iconNarses: Überflüssige Zeilenumbrüche/Leerzeilen entfernt.