Transparenz - Login & Sicherheit

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Transparenz - Login & Sicherheit

      Liebe Community,

      heute habe ich mich entschlossen einen weiteren Beitrag zum Thema Transparenz zu bringen. Der ein oder andere fragt sich sicher, wie Sicher die Server sind. Was passiert, falls doch wer auf den Servern einbrechen sollte?
      Dies ist ein recht sensibles Thema. Zunächst möchte ich einmal auf den Loginprozess zu sprechen kommen. Dieser schaut für das Forum so aus:

      [Blocked Image: http://files.dunewar.com/server/login.png]

      Wie sicher der ein oder andere weiß gibt es eine globale Datenbank. Beim Forum wird beim Login geschaut ob der User der sich einloggen möchte bereits angelegt ist. Ist er dies, und hat er das richtige Passwort eingegeben, so wird er in das Forum eingeloggt. Ansonsten verbindet sich mein umprogrammierter Login mit der globalen Datenbank und aktualisiert ggf. das Passwort oder legt den betreffenden Spieler in der Forendatenbank an.

      Soviel dazu erst einmal.

      Passwortsicherheit:
      Nun kommen wir zu den Passwörtern. Diese werden primär sicher, mit einem Salt versehen, mehrfach verschlüsselt abgespeichert. [Salted Hash]
      Dies ist eine ziemlich sichere Verschlüsselungsmethode und es ist praktisch unmöglich - im Falle des Datendiebstahls - diese Passwörter zurück zu rechnen und somit an die Klartextpasswörter zu kommen. Ebenfalls können hier keine Rainbowtables [Link] zum Einsatz kommen um dass Passwort im Klartext zu ermitteln.

      Sekundär werden allerdings noch die Passwörter auch noch einfach verschlüsselt als MD5 und SHA1 Hash gespeichert. Auf diese können im Zweifel die oben erwähnten Rainbowtables verwendet werden.
      Weil diese sekundäre Art und Weise Passwörter zu speichern mittlerweile sehr unsicher ist, wird dies in nächster Zukunft aus der Datenbank verschwinden und die Logins, die das bei meinen Spielen noch verwenden, werden dementsprechend angepasst werden.
      Diese einfache Art und Weise Passwörter zu speichern nutzen übrigens fast alle Spiele. Egal ob Client spiele wie World of Tanks & Eveonline oder Browsergames wie Ikariam & Ogame.
      Desertwar, Vendetta und Space4k hatten die Passwörter damals übrigens gar nicht verschlüsselt, was man daran erkennen konnte, dass man das gleiche Passwort bei "Passwort vergessen" zugeschickt bekommen hatte, wie man es auch vorher genutzt hatte.

      Serversicherheit:
      Zu der Serversicherheit ist zu sagen, dass heut zu Tage nahezu jeder Server, der sich irgendwo im Internet befindet von anderen angegriffen wird. So auch meiner. Allerdings kann man sich auch hiergegen schützen. Hierzu habe ich diverse Tools installiert (welche ich aus Sicherheitsgründen nicht näher benennen möchte) welche solche Angriffe aufdecken und die entsprechenden Angreifer aussperren.

      Auch werde ich über jeden erfolgreichen Login auf meinem Server per E-Mail informiert. Sprich, sollte ich mal ne Mail über einen Login bekommen, der ich nicht war, kann ich sofort handeln.

      Als weiteren Schutz habe ich ein weiteres Tool installiert, welches mich einmal täglich über neue Updates informiert, sofern denn welche vorhanden sind. Auch dies ermöglicht es mir bekannt gewordene Sicherheitslücken in installierter Server Software rechtzeitig zu erkennen und zu stopfen.

      Zusammenfassung Sicherheit:
      Sollte es doch einmal jemand schaffen auf die Server ein zu brechen, so bekomme ich dies ziemlich schnell mit und kann dagegen Maßnahmen unternehmen. Auch können "Einbrecher" mit den ggf. gestohlenen Daten praktisch nichts anfangen.

      Ich hoffe ich konnte euch einen kleinen Überblick verschaffen. Für Fragen, Wünsche & Anregungen stehe ich natürlich bereit.

      Viele Grüße
      RaVenC
    • Liebe Community,

      ich habe mich direkt dran gesetzt und den Code vom Spiel, Forum als auch von der Globalen Accountverwaltung (ravengames.de) so verändert, dass ich die MD5 und SHA1 verschlüsselten Passwörter aus der Datenbank entfernen konnte!

      Ebenfalls habe ich bei der globalen Accountverwaltung nun die Funktion reaktiviert sich ein neues Passwort generieren zu lassen.
      Wer also sein Passwort vergessen hat, hat nun die Chance sich ein neues zukommen zu lassen.

      Es gab auch noch ein paar weitere kleine Anpassungen am Spielcode, welche allerdings nicht weiter nennenswert sind.

      Viele Grüße
      RaVenC
    • Liebe Community,

      ein weiterer Plan in nächster Zukunft wird sein Apikeys einzuführen.
      Diese könnt ihr euch dann über die Globale Accountverwaltung (ravengames.de) erstellen und unter anderem auswählen, für was diese dann gültig sein werden. (Spiele und Funktionen die man damit aufrufen kann)

      Dieser Apikey, der dann an das Script übertragen wird, wird ein zufällig generierter Hash sein und aus 32 Buchstaben und zahlen bestehen (Hex) und ist auch nur gültig mit einer bestimmten API ID.
      Es gibt dann somit für jede API ID 16^32 Kombinationsmöglichkeiten (verdammt viele ^^), wodurch es praktisch unmöglich wird diese zu erraten, bzw durch ausprobieren heraus zu bekommen.

      Bei jeder API Anfrage muss dieser Apikey und die API ID mitgeliefert werden und wird auch dementsprechend bei der Globalen Accountverwaltung auf Richtigkeit und Zugriffsrechte überprüft.

      Was wird voraussichtlich möglich sein über die API zu erfahren:
      - Anzahl Städte/Gebäude/Planeten
      - Gebäude- bzw Raumstufen
      - Einheiten in der Stadt/Gebäude/Planeten
      - Forschungsstufen / Ausbildungen
      - Nachrichten
      - Gebäude-/Räume im Bau (ggf. später nur mit Premium)
      - Forschungen / Ausbildungen im Bau (ggf. später nur mit Premium)

      Was voraussichtlich nicht möglich sein wird:
      - eintreffende Einsätze

      Warum das ganze?
      Mit der API möchte ich es ermöglichen, dass 3. Tools für die Spiele entwickeln können um Informationen vom Spielserver zu verarbeiten.
      So können zB Desktop Apps oder Handyapps entwickelt werden, welche mit der API einen darauf hinweisen, dass neue Nachrichten eingegangen sind, bzw etwas dass im Bau war fertig geworden ist.

      Auch können dann zB Kampfsimulatoren direkt mit der eigenen Forschung kalkulieren und Rohstoffproduktion usw. überwacht werden.
      Die Möglichkeiten sind unerschöpflich :D

      Viele Grüße
      RaVenC