Hi Leute, ich hab mir mal vorgenommen für die Serverbesitzer, die meist keine ahnung haben von DDoS Protection o.ä. etwas beihilfe zu leisten, mit diesem Thread. Zuallererst beginnen wir mit der eindämmung von Layer4 angriffen.
Gegen UDP attacken seid ihr ziemlich "gearscht". Manche angriff wie; snmp,ntp,chargen, und DNS können geblockt werden. Aber für reine UDP floods seid ihr ziemlich am arsch außer euer provider kann sich um den UDPstream kümmern. (Wie Hardware-Level protection "Cisco Catalyst 6500+ Protection" - wer das Geld hat, was unter anderem extrem viel ist, da sprechen wir von vierstelligen Zahlen, aber ist sehr gut gesichert dagegen.
Ich nehme keine haftung, dass euer server dagegen 100%ig geschützt ist, support bringe ich auch keinen, es sollte lediglich als kleine hilfe gegen die meisten angriffe dienen.
Welches Programm ihr hauptsächlich benötigt? Wireshark wäre empfohlen und als beispiel für das IP:Port sniffen nutzen wir WPE Pro - Wireshark(Sniffing Tools sollten waehrend eines DDoS grundsätzlich immer laufen damit man dann die angreifee abblocken kann.
Das werde ich auch noch ins TUT reinschreiben, wie alles funktioniert.
Installieren von ipTables
Redhat, Fedora, CentOS.
Debian, Ubuntu.
Wenn ihr damit fertig seid, beginnen wir mit den nächsten schritten.
IP Adressen blockieren mit ipTables
Mehrere IP Adressen mit ipTable blockieren
Unnötige SYN-Pakete blockieren
Jetzt kommen wir zum nächsten Teil dieses Guides. Layer7.
In diesem Teil fokussieren wir uns komplett auf den Webserver, der, wie bei den meisten nicht wirklich gut konfiguriert ist, eher sehr scheiße wie ich gesehen und selbst ausgetestet hatte.
Erstmals, ich bevorzuge eher Nginx, da man damit die welt zu füßen hat.
Falls ihr das nicht benutzt, überspringt diesen Teil einfach.
In eurer Nginx Config datei solltet ihr" client_body_buffer_size." finden. Jetzt kümmern wir uns darum, dies zu bearbeiten.
Im moment sollte es so aussehen.
Bearbeitet es um in
Das wird euch helfen, Traffic in kürzerer Zeit zu halten und damit Slowloris attacken einzudämmen. Jetzt kommen wir zum nächsten.
Bestimmte anzahl an gleichen IPs auf einer Seite.
Sucht diese Zeile:
Nun editiert es zu 2. Bestenfalls 3. Also
---- ---- ---- stahp ---- ----- -----
Jetzt kümmern wir uns um die richtigen idioten, die totalen vollpfostis.
Die leute die mit LOIC, HTTPDDoS tools angreifen.
User-agents blockieren.
Dies blockiert die User-agents die meist bei bösartigen Tools, die zum angriff benutzt werden auf websiten, also die spezifischen.
Jetzt kümmern wir uns um die GET Floodattacks.
Damit blockieren wir die ganz schnellen GET zugriffe. Die sehr schnell versuchen die Seite down zu machen, durch extrem schnelle verbindungen.
Jetzt solltet ihr soweit gewappnet sein
~~ ~ ~ ~ DDoS Protections ~ ~ ~ ~~
Website protection (free):
Incapsula
Cloudflare
Website protection (notfree):
Amazon AWS
Internap
Netdna
MaxCDN
(ich empfehle Amazon AWS.)
Gegen UDP attacken seid ihr ziemlich "gearscht". Manche angriff wie; snmp,ntp,chargen, und DNS können geblockt werden. Aber für reine UDP floods seid ihr ziemlich am arsch außer euer provider kann sich um den UDPstream kümmern. (Wie Hardware-Level protection "Cisco Catalyst 6500+ Protection" - wer das Geld hat, was unter anderem extrem viel ist, da sprechen wir von vierstelligen Zahlen, aber ist sehr gut gesichert dagegen.
Ich nehme keine haftung, dass euer server dagegen 100%ig geschützt ist, support bringe ich auch keinen, es sollte lediglich als kleine hilfe gegen die meisten angriffe dienen.
Welches Programm ihr hauptsächlich benötigt? Wireshark wäre empfohlen und als beispiel für das IP:Port sniffen nutzen wir WPE Pro - Wireshark(Sniffing Tools sollten waehrend eines DDoS grundsätzlich immer laufen damit man dann die angreifee abblocken kann.
Das werde ich auch noch ins TUT reinschreiben, wie alles funktioniert.
Installieren von ipTables
Redhat, Fedora, CentOS.
Code:
yum install iptables
Code:
apt-get install iptables
IP Adressen blockieren mit ipTables
Code:
iptables -A INPUT -s 192.168.1.5 -j DROP
Code:
iptables -A INPUT -s 192.168.1.0-255 -j DROP
Code:
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
---- Damit hätten wir den Layer4 attacken erstmal einwenig eindämmung verschafft. ----Quote:
(Optional, und funktionstüchtigkeit ist nicht gewährleistet, indem ihr jetzt folgende services blockiert(port))
Für mehr informationen "disabling SERVICENAME on OSNAME".Code:Chargen: iptables -A INPUT -s *.*.*.* --dport 19 -j DROP DNS: iptables -A INPUT -s *.*.*.* --dport 53 -j DROP SNMP: iptables -A INPUT -s *.*.*.* --dport 161 -j DROP NTP: iptables -A INPUT -s *.*.*.* --dport 123 -j DROP
Jetzt kommen wir zum nächsten Teil dieses Guides. Layer7.
In diesem Teil fokussieren wir uns komplett auf den Webserver, der, wie bei den meisten nicht wirklich gut konfiguriert ist, eher sehr scheiße wie ich gesehen und selbst ausgetestet hatte.
Erstmals, ich bevorzuge eher Nginx, da man damit die welt zu füßen hat.
Falls ihr das nicht benutzt, überspringt diesen Teil einfach.
In eurer Nginx Config datei solltet ihr" client_body_buffer_size." finden. Jetzt kümmern wir uns darum, dies zu bearbeiten.
Im moment sollte es so aussehen.
Code:
client_body_buffer_size 1K; client_header_buffer_size 1k; client_max_body_size 1k; large_client_header_buffers 2 1k;
Code:
client_body_timeout 15; client_header_timeout 15; keepalive_timeout 5 5; send_timeout 15;
Bestimmte anzahl an gleichen IPs auf einer Seite.
Sucht diese Zeile:
Code:
limit_conn slimits 5;
Code:
limit_conn slimits 3;
Jetzt kümmern wir uns um die richtigen idioten, die totalen vollpfostis.
Die leute die mit LOIC, HTTPDDoS tools angreifen.
User-agents blockieren.
Code:
if ($http_user_agent ~* ddosbot) { return 403; }
Jetzt kümmern wir uns um die GET Floodattacks.
Damit blockieren wir die ganz schnellen GET zugriffe. Die sehr schnell versuchen die Seite down zu machen, durch extrem schnelle verbindungen.
Code:
iptables -A INPUT -p tcp --dport HTTPPORT -i INTERFACE -m state --state NEW -m recent --set iptables -A INPUT -p tcp --dport HTTPPORT -i INTERFACE -m state --state NEW -m recent --update --seconds 60 --hitcount 15 -j DROP service iptables save
~~ ~ ~ ~ DDoS Protections ~ ~ ~ ~~
Website protection (free):
Incapsula
Cloudflare
Website protection (notfree):
Amazon AWS
Internap
Netdna
MaxCDN
(ich empfehle Amazon AWS.)
[WEITERE KLEINE TUTORIALS, GUTZUWISSENPOSTS, SOWIE GUIDES HIER]
(Gut zu wissen, wie funktioniert DHCP?)
DHCP
Dynamic Host Configuration Protocol (DHCP) Clients erhalten ihre Netzwerk konfiguration durch den Server. Im grunde genommen eine PnP funktion. (Plug and Play) also, folgenderweise, wenn ihr draußen seid, offline und euch wieder einloggen wollt möchtet ihr wohl nicht gern manuell euren laptop/pc's internet verbindungskonfigurationen konfigurieren.
DHCP Server
Der DHCP Server läuft im Hintergrund und wartet, bei dem darauffolgenden Port 67 auf Client anfragen.
also hat er eine Konfigurationsdatei die alle möglichen informationen von den Adress-Pools, subnets masks, DNS Gateway sowie von dem Lokalen Gateway.
Der Server arbeitet in drei verschiedenen modi's.
"Manuelles Zuordnen (1)"
"Automatisches Zuteilen (2)"
"Dynamisches Zuteilen (3)"
1. Manuelles Zuordnen
Also auch Statisches DHCP. Die IP Adressen sind verbunden mit den MAC Adressen der Clients.
also können keine zusätzlichen (selben) clients im Netzwerk verbunden sein. Macht irgendwie auch sinn, wenn ihr unter einer IP adresse etwas starten wollt.
2. Automatisches Zuteilen
Der IP bereich definiert den DHCP Server von den adressen, die den DHCP Clients zugewiesen sind, für eine gewisse zeit. Die verteilten IP Addressen sind in einer Tabelle gespeichert. Ist die IP-Range vertilgt, können keine weitere Clients mehr hinzugefügt werden. Selbst wenn der Computer nicht wirklich aktiv ist, die addressen können nicht weitergegeben werden und sind im Cache vom DHCP Server.
[WIRD NOCH BEARBEITET]
Dynamic Host Configuration Protocol (DHCP) Clients erhalten ihre Netzwerk konfiguration durch den Server. Im grunde genommen eine PnP funktion. (Plug and Play) also, folgenderweise, wenn ihr draußen seid, offline und euch wieder einloggen wollt möchtet ihr wohl nicht gern manuell euren laptop/pc's internet verbindungskonfigurationen konfigurieren.
DHCP Server
Der DHCP Server läuft im Hintergrund und wartet, bei dem darauffolgenden Port 67 auf Client anfragen.
also hat er eine Konfigurationsdatei die alle möglichen informationen von den Adress-Pools, subnets masks, DNS Gateway sowie von dem Lokalen Gateway.
Der Server arbeitet in drei verschiedenen modi's.
"Manuelles Zuordnen (1)"
"Automatisches Zuteilen (2)"
"Dynamisches Zuteilen (3)"
1. Manuelles Zuordnen
Also auch Statisches DHCP. Die IP Adressen sind verbunden mit den MAC Adressen der Clients.
also können keine zusätzlichen (selben) clients im Netzwerk verbunden sein. Macht irgendwie auch sinn, wenn ihr unter einer IP adresse etwas starten wollt.
2. Automatisches Zuteilen
Der IP bereich definiert den DHCP Server von den adressen, die den DHCP Clients zugewiesen sind, für eine gewisse zeit. Die verteilten IP Addressen sind in einer Tabelle gespeichert. Ist die IP-Range vertilgt, können keine weitere Clients mehr hinzugefügt werden. Selbst wenn der Computer nicht wirklich aktiv ist, die addressen können nicht weitergegeben werden und sind im Cache vom DHCP Server.
[WIRD NOCH BEARBEITET]
[SOCIAL TIPS]
Wie verwalte ich meinen Server, damit ich viel Spieler bekomme?
Dies schreib ich mit gutem gewissen und mit spaß dabei.
Wie verwaltet man seinen Server bestens um viel spieler zu bekommen?
ZUALLERERST, ihr müsst Seriös wirken, kein anderer Server soll so gut sein wie eurer, setzt euch das immer in den Kopf, versetzt euch tief in die sache, denn wenn ihr erst einen server gekauft habt, gibt es kein zurück mehr. Zuallererst solltet ihr euch einen Designer suchen, gibt viele hier auf epvp, offshore auch. Danach einer, der anständig Web-development drauf hat, benutzt bloß! nicht dieses MaX CMS, wenn ihr unseriös wirken wollt, dann go ahead. Aber wenn ihr, wie z.B. Frozen eine Website habt die wundervoll aussieht, keine lücken besitzt und sauber gecoded ist, steht euch nichtsmehr im wege, es sei denn euer Content ist mies am arsch. Jedoch würde ich keine 600 Euro für das Web-development ausgeben, sucht euch einen loyalen. Das sind immer die besten, mit loyalen webdeveloper könnt ihr vieles erreichen. Jetzt kommen wir zum gameserver, ihr wollt viele spieler stimmts? Dann solltet ihr die gamebreaking contents erstmals removen, das ist das erste ding, sollte dies geschafft sein, schaut euch mein guide für ddos eindämmung an. Besorgt euch das nötigste, was euer Budget wirklich zulässt, scheut keine kosten für einen server. UND bietet den spielern was einzigartiges, nutzt nicht immer alles aus, schaut nicht von anderen servern ab, dann wird die LC-Community grau und öde. Jeder mag neues, neues bestimmt uns. Von alten sachen verlieren die spieler die lust und genau dadurch bekommt ihr keine spieler, von alten sachen. Indem ihr euch neue sachen einfallen lässt, kommen neugierige Spieler und sollte es gut ankommen(jenachdem was es ist) dann go ahead! Ein kollege von dem spieler kommt, ein kollege von dem kollege des spielers, ein kollege des kollege eines kolleges..usw. wird noch bearbeitet
Wie verwaltet man seinen Server bestens um viel spieler zu bekommen?
ZUALLERERST, ihr müsst Seriös wirken, kein anderer Server soll so gut sein wie eurer, setzt euch das immer in den Kopf, versetzt euch tief in die sache, denn wenn ihr erst einen server gekauft habt, gibt es kein zurück mehr. Zuallererst solltet ihr euch einen Designer suchen, gibt viele hier auf epvp, offshore auch. Danach einer, der anständig Web-development drauf hat, benutzt bloß! nicht dieses MaX CMS, wenn ihr unseriös wirken wollt, dann go ahead. Aber wenn ihr, wie z.B. Frozen eine Website habt die wundervoll aussieht, keine lücken besitzt und sauber gecoded ist, steht euch nichtsmehr im wege, es sei denn euer Content ist mies am arsch. Jedoch würde ich keine 600 Euro für das Web-development ausgeben, sucht euch einen loyalen. Das sind immer die besten, mit loyalen webdeveloper könnt ihr vieles erreichen. Jetzt kommen wir zum gameserver, ihr wollt viele spieler stimmts? Dann solltet ihr die gamebreaking contents erstmals removen, das ist das erste ding, sollte dies geschafft sein, schaut euch mein guide für ddos eindämmung an. Besorgt euch das nötigste, was euer Budget wirklich zulässt, scheut keine kosten für einen server. UND bietet den spielern was einzigartiges, nutzt nicht immer alles aus, schaut nicht von anderen servern ab, dann wird die LC-Community grau und öde. Jeder mag neues, neues bestimmt uns. Von alten sachen verlieren die spieler die lust und genau dadurch bekommt ihr keine spieler, von alten sachen. Indem ihr euch neue sachen einfallen lässt, kommen neugierige Spieler und sollte es gut ankommen(jenachdem was es ist) dann go ahead! Ein kollege von dem spieler kommt, ein kollege von dem kollege des spielers, ein kollege des kollege eines kolleges..usw. wird noch bearbeitet
Wie mache ich den Spielern das spielen auf meinem Server so angenehm wie möglich?
Erstens, wenig Downtime, hört sich schwer an, das ist verständlich aber jeder sollte erst einen Server machen, wenn er wirklich ahnung davon besitzt. Wer keine ahnung davon hat, sollte garnicht erst anfangen, das lockt nur feinde und trolle an, aber allerdings auch posthunter. Downtime bestimmt das Spielerlebnis auf eurem Server, ich glaube nicht ihr würdet es mögen, wenn ihr, während ihr irgendetwas wirklich gerne zockt jede 15te Minute einen Disconnect hat. Dann müsst ihr euch auch dementsprechend um die Hardware kümmern UND MERKT EUCH! Erst einen server machen wenn ihr die geduld, erfahrung, geld, zeit besitzt. Denn ein eigener Server ist kein zuckerschlecken. wird noch bearbeitet
Wieviel GMs brauch ich? Was macht ein Developer?
Die GM anzahl ist irrelevant, es variiert immer mit den dort derzeitigen Spielern, wenn es mehr GMs wie spieler auf einem server gibt, wisst ihr, dass es ein ganz schlechter server sein könnte.(KÖNNTE!). Aber maximal 4 und ein HeadGM. Das fehlt nämlich, ein GM, der die GMs verwaltet und auf sie achtet.
Der Developer allerdings kümmert sich um die grundlegenden Details, jenachdem wie groß der server ist müssten die Developer eingeteilt werden, so kann es von einem HauptDev, zu einem MySQL-Dev entwickeln. Ihr müsst darauf achten, was für stärken euer Developer hat.
Der Developer allerdings kümmert sich um die grundlegenden Details, jenachdem wie groß der server ist müssten die Developer eingeteilt werden, so kann es von einem HauptDev, zu einem MySQL-Dev entwickeln. Ihr müsst darauf achten, was für stärken euer Developer hat.
Free cash oder nicht?
Ihr müsst euch bei diesem ding ganz selbst entscheiden. Free Cash lockt eine masse an, kein free cash jedoch die andere. Manche Leute mögen es, wenn es nichts free gibt, wenn jeder sich etwas anarbeiten muss, manche wollen sich mit ihren 200 euronen hochpushen. Das liegt ganz bei euch.
Ich hab keine ahnung von garnichts, will aber einen server machen!
Ganz einfach. LASS ES BLEIBEN!
Ich werd den GUIDE Thread tagtäglich updaten. Wennsch zeit hab
Wer kleinere informationen braucht (KEIN SUPPORT!) soll sich hier über pn melden
und da ich weiß, dass dies in null-komma-nix von kleineren whazzerts bei LCKB gepostet wird, werde ich sobald ich es auf lckb sehe, es sofort vom netz ziehen, dieses "LCKB".