[Guide] Tricks und Kniffe für den sicheren Server

    • [Guide] Tricks und Kniffe für den sicheren Server

      Hallihallo liebe PServer Community von MMORPG-Core,

      ich habe seit ich in die PServer Szene von FlyFF einstieg schon unzählige schlechte Server gesehen...
      Jedoch sind die Server, bei denen ich mir am ehsten die Hand aufs Gesicht schlage, diejenigen, die die Grundvoraussetzungen von Sicherheit noch nicht verstanden haben.

      Dieser Guide richtet sich an die eher unerfahreneren Serverbetreiber, was grundlegende Sicherheit angeht, wobei einige 'alte Hasen' hier eventuell noch etwas neues finden könnten.
      Garantieren kann ich aber für nichts! :>

      _____________________________________________


      1. Die Datenbank:

      Schon bei vielen Servern scheitert die Sicherheit an der Datenbank...
      Beispielsweise versuchen Leute, die eurem Server Schaden zufügen wollen, in der Regel dies über die Datenbank zu machen.
      Wählt eure Passwörter also nicht nach Kriterien, wie z.Bsp.: 'Leicht zu merken.' aus!
      Optimal ist es, ein Passwort aus über 16 Stellen mit groß und klein geschriebenen Buchstaben, Zahlen und Sonderzeichen zu wählen.
      Optimal ist es, wenn von allen dieser Zeichen eine ähnliche Häufigkeit und zufällige Verteilung besteht!
      (NICHT: Er34§$...)
      Wer hier ganz sicher gehen will, und wem es nichts ausmacht, die DB ausschließlich per Remotedesktop von dem Root aus zu regeln, kann in den MSSQL Optionen nur Logins von dem eigenen PC (IP 127.0.0.1 oder auch localhost) anzunehmen.

      Eine ebenfalls oft genutzte Sicherheitslücke der Datenbanken sind schlechte Registrationsseiten, welche SQL-Injections erlauben.
      Den Begriff SQL-Injection zu erklären sprengt hier den Rahmen...
      Daher erkläre ich nur, was man damit machen kann:
      Da man die Struktur der Datenbank kennt, kann man sie BELIEBIG modifizieren!
      Ist das nicht eine ziemliche Sicherheitslücke?
      Und ebenso leicht ist es sie zu fixen!
      Man muss lediglich mit funktionen wie 'eregi' per PHP VOR der SQL-Query Hochkommas, Strichpunkte und andere Sonderzeichen herausfiltern, welche in SQL-Querys benutzt werden können.
      Am besten ist es, wenn man lediglich groß- und klein- Buchstaben sowie Zahlen für Passwort und Username erlaubt.
      Somit ist man sicher vor SQL-Injections. ;)

      Wichtiger Hinweis von TwiLight:
      Man sollte immer sicherstellen, dass xp_cmdshell entweder deaktiviert, oder klug umbenannt wurde. So ist man dann selbst bei einer vorhandenen SQL Injection noch sicher genug, um vor einer Rootadmin Attacke sicher zu sein.


      -----------------------


      2. Die Firewall:

      So manche werden sich nun Fragen:
      Was ist eine Firewall?
      In diesem Fall ist es gut, dass ihr diesen Thread lest, denn ohne eine richtige Konfiguration der Firewall geht nichts!

      Eine Firewall blockiert alle Netzwerkverbindungen, die nicht den vorgegebenen Bedingungen entsprechen.
      Das bedeutet, ihr dürft in der Firewall AUSSCHLIEßLICH die Server freigeben, die für den Client als Verbindungs-Anlaufstelle gelten.

      Hier eine Liste der Server, welche freigegeben werden müssen!
      Kein weiterer Server, als die hier genannten!
      - Certifier (Einloggen) - Port 23000
      - Login Server (Charactere verwalten) - Port 28000
      - Cache Server (Über diesen verbindet ihr euch mit den World Servern) - Port 15400

      Oft wird der Fehler gemacht, dass die World Server ("wie bei Caali Files"), die Account Server ("könnte ja auch zum Login notwendig sein"), oder der Core Server / Database Server (Habe hier noch kein passendes Zitat bekommen :( ) in der Firewall freigegeben sind.
      Ist das der Fall, so kann man:
      - Eure server CRASHEN.
      - Andere Bugs, wie Massen Disconnect benutzen.


      -----------------------


      3. Die Admin bzw. GM Accounts:

      Hier ist wie auch bei der Datenbank eines gefragt:
      Sicherheit bei Passwörtern geht vor!
      Gebt niemals eure Accountdaten weiter, auch nicht an gute Freunde.
      (Ich wurde z.Bsp. schon einmal von meinem Cousin gescammt... kein schönes Erlebnis. ;))

      Von den Accounts selber mal abgesehen:
      Fallt niemals auf Leute herein, die es auf GM- bzw Adminrechte abgesehen haben.
      Solche sind meistens die Art Person, welche keine Bewerbung schreiben will, jedoch eine 'Testphase' als GM haben möchte.
      Vertraut ihnen nicht!
      Verlangt STETS eine Bewerbung, nehmt diese NUR an, falls sie wirklich gelungen ist, und die Person TATSÄCHLICH für den Job geeignet ist.
      (Eventuell eine Testphase OHNE GM Rechte.)
      Und lasst euch um Gottes Willen nicht von ihren Überredungskünsten überzeugen! ;)
      Soetwas kann böse Folgen für den Server haben.


      -----------------------


      Wer diese wichtigen 3 Punkte beachtet, kann sich eigentlich nur noch vor den schädlichen Bugs der Offi-Files fürchten.
      Einen Missbrauch dieser zu verhindern ist schon ein ganzes Stück schwerer und erfordert ein größeres Stück Arbeit.
      Wenn ihr euch jedoch mit der Materie auseinandersetzt und ein Team mit einigen Fähigkeiten zusammenbekommt, sollte das kein Problem mehr darstellen!

      Ich hoffe dieser Guide hilft so einigen Einsteigern in der FlyFF PServer Szene.

      ______________________


      Ach, frohes Neues und einen guten Rutsch!

      Gruß
      -Tom
    • Werbung zur Unterstützung des Forums ( Bitte AddBlocker deaktivieren )

    • Der Accountserver muss nicht freigegeben werden x3

      Nur Certifier (23000), Login Server (28000) und Cache Server (15400 ist standard).
      Accountserver ist einer der Internen Server, die für die Leute außen nicht benötigt wird, von daher : Port zu!

      Noch mal zur Erläuterung :

      [COLOR="DeepSkyBlue"]Server, dessen Ports offen sein müssen:[/COLOR]
      • Certifier (Port 23000)
      • Login Server (Port 28000)
      • Cache Server (Port 15400)


      [COLOR="DeepSkyBlue"]Server, dessen Ports zu sein sollten:[/COLOR]
      • Account Server (Port 12000, 12001, 29000)
      • Database Server (Port 7000, 7200, 24000)
      • Core Server (Port 4000, 4001, 4002)
    • TwiLight;67483 schrieb:

      Der Accountserver muss nicht freigegeben werden x3

      Nur Certifier (23000), Login Server (28000), Cache Server (15400 is standard) und den jeweiligen Worldserver (glaube ich ._.)

      Accountserver ist einer der Internen Server, die für die Leute außen nicht benötigt wird, von daher : Port zu!


      Danke für den Hinweis, habe natürlich direkt beim ersten Guide nen Fehler gemacht! ;D
      Muss natürlich in Login Server geändert werden....
      Im Satz direkt darunter steht ja, dass Account Server zu sein muss. :p


      EDIT:
      Sooo, Fehler ausgebessert, danke nomma. ^^

      EDIT2:
      Nochmal nachgeprüft:
      World server müssen nicht freigegeben sein.
      -> Was nicht muss und dennoch ist, bringt mehr Sicherheitslücken mit sich. ;)
    • Tom94;67486 schrieb:

      Danke für den Hinweis, habe natürlich direkt beim ersten Guide nen Fehler gemacht! ;D
      Muss natürlich in Login Server geändert werden....
      Im Satz direkt darunter steht ja, dass Account Server zu sein muss. :p


      EDIT:
      Sooo, Fehler ausgebessert, danke nomma. ^^

      EDIT2:
      Nochmal nachgeprüft:
      World server müssen nicht freigegeben sein.
      -> Was nicht muss und dennoch ist, bringt mehr Sicherheitslücken mit sich. ;)


      Hab mich selbst auch nochmal verbessert ;)
      Ich poste immer erst und edite nach und nach ;DD

      EDIT: Noch ein wichtiger Hinweis : Man sollte immer sicherstellen, dass xp_cmdshell entweder deaktiviert, oder klug umbenannt wurde. So ist man dann selbst bei einer vorhandenen SQL Injection noch sicher genug, um vor einer Rootadmin Attacke sicher zu sein.
    • TwiLight;67491 schrieb:

      Noch ein wichtiger Hinweis : Man sollte immer sicherstellen, dass xp_cmdshell entweder deaktiviert, oder klug umbenannt wurde. So ist man dann selbst bei einer vorhandenen SQL Injection noch sicher genug, um vor einer Rootadmin Attacke sicher zu sein.


      Hoffe, es macht nichts aus, dass ich das gerade eben noch hinzugefügt habe... :>


      @ alle Anderen:

      Ich bin nicht perfekt!
      Falls jemand außer TwiLight Ergänzungen oder Verbesserungsvorschläge hat, nur her damit! :p
    • SouLBlooD;67678 schrieb:

      [COLOR="White"]Tom wenn du der Tom bist von BuBBle Fly und denkst der Server ist besser als alle anderen,da hast du dich jedoch geschnitten!Dein Server ist Scheiße,da kommt keiner rauf kein CE ist benutzbar ? XDDDDMan du bist ja jetzt echt cool,dein AntiHack kann man umgehen.Nur so nebenbei xD.Ich find dein Server echt lw 15 Exp Rates glaub ich mal xD2 Monate für HERO? oder wie soll das sein.Dein Server ist grottenschlecht,keine Besonderheiten,also nur wenns deiner ist xD[/COLOR]


      Ich bin der Tom, der den Antihack von Bubble FlyFF gemacht hat, jedoch habe ich nichts mit dem Server zu tun.
      Bubble FlyFF hat meinen Antihack gekauft, mehr nicht.
      Außerdem ist von Anfang an klar (und zwar auf beiden Seiten), dass der Clientseitige Antihack umgehabr ist.
      Er hat lediglich den Grund, die Anzahl Hacker ingame um vlt 90% zu dezimieren.

      Ansonsten bitte ich einen Moderator diesen Mist zu löschen....
      Diese Script Kiddys, die meinen sie seien Gangster gehen einem echt auf'n Senkel. =/


      EDIT:
      Da ich hier keine Beiträge löschen kann, lass ich das hier einfach mal so stehen, auch wenn mein Vorposter bereits gelöscht wurde. ;>
    • derdingsbums;81517 schrieb:

      Wenn du eine Feste IP Adresse hast würde ich auch einstellen, das nur du Zugriff auf dem Root-Server hast.

      Oder benutz Vnc Server, wenn mal denn richtig einstellt dann ist es auch ziemlich sicher.

      Weil ich sehe viele Flyff Server wo jeder auf Remotedesktop zugreifen kann, sprich der Port für alle ist offen.


      IP-Range+Subnetz tuts auch...
      VNC geht, VPN ist besser.