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
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