PDA

Bekijk Volledige Versie : ircd de ultime ddos magneet maar.....



ichat
08/12/10, 01:00
Beste allemaal,

omdat ik niet heel erg veel kaas heb gegeten van 'grote netwerken' met open verbindingen naar het boze web, wilde ik me hier via dit forum eens orienteren op de mogelijkheden van irc.

Er is mij ooit eens gevraagd hoe je nu een chat op moet zetten, (gewoon met een eigen p3 op je thuis netwerkje, en de snelste verbinding draait de hub - een no-ip.net account voor iedereen die aan het prutsen mee doet en je bent er .... toch??

Nou neej, zo simpel is het niet (helaas)

Wie begint aan er irc zal al snel merken dat zelfs op een thuisnetwerkje erg al 'vervelende' dingen kunnen gebeuren, mensen die gaan proberen een doss op te zetten zul je zelfs bij hobby-sites al tegen het lijf lopen, en dat is ook niet zo vreemd want waarom zouden zij HUN hobby niet ten uitvoer brengen?

Maar goed, je vergeet het hele idee en wordt volwassen, totdat het toch weer begint te kriebelen, een comunicatie platform dat je oude irc hart weer doet smelten, pfff al dat getwitter (echt compleet eenrichtings verkeer, en je lult tegen de muur en tegen de hele wereld tegelijk) boeit me totaal niet, dus een nieuw projectje 'is misschien een optie'

Dus wil ik het een keer goed aanpakken maar hoe,

Een licht aangepaste versie van inspircd (of unrealircd dat moet ik nog even zien) bleek met wat modules, en een mysql database een leuk begin.

ooit denk ik, wil ik nog een website bouwen, waar je een profiel kunt maken, of je openID (van bijv google) aan je chatnaam kunt hangen, een paar extra profielveldjes kunt toevoegen en vervolgens aan het gedoe kunt meedoen, op forums chat en elke andere online bezigheid die ik dan aan de praat krijg <smile?

Voor de beveiliging dacht ik als eerste stap aan een systeem waarbij je na je inlog een random key krijgt toegewezen (een sessie sleutel dus).

je MOET dan inloggen op een website, om via een random generator, een tijdelijke sleutel te krijgen, die je vervolgens samen met je userID gebruikt om verbinding met de ircd te kunne maken. dit is wellicht een leuke eerste beveiliging, maar de scriptkidds onder ons weten dat dit te omzeilen is ...

mijn vraag is nu hoe beveilig je nu verder.

Wat kun je doen om Denial of Service tegen te gaan
Hoe filter je gebruikers uit (ongewenste) geografische gebieden (bijv om de uiteindelijke kosten beheersbaar te houden...

En omdat het voor een hobby project is mag het natuurlijk niet(s?) te veel kosten.
volgende vraag (maar die post ik pas als ik hier genoeg antwoorden en ideeën op gehad heb) zou zijn - wie mij een aanbieding kan doen, Maar dat is voor later - en voor een ander forum...

PreServer
08/12/10, 03:14
Met services voor globals bans op alle servers en goede k-lines om gebieden te blocken kom je al een heel eind.

Sommige services killen of renamen je automatisch als je een nick van iemand anders gebruikt, meschien zou je die kunnen aanpassen dat je altijd in moet loggen oid ipv via een website, dan kunnen ze dat ook gewoon scripten in hun irc client.

maar tegen een goede (d)dos valt gewoon weinig te beginnen, zeker met geen/laag budget

ichat
08/12/10, 11:49
PreServer, allereerst dank voor je reactie,

Als icter (op sbs niveau), heb ik uit ervaring geleerd dat het voorkomen van een 'hack' begint bij het voorkomen dat er aanleiding is om jouw of je spullen iets aan te doen, maar op het grote boze web denk ik dat deze insteek minder lang zal standhouden dan wij hier met z'n allen zouden willen.

echter, heb ik het idee dat irc veel meer een ddos machneet is dan bijv. een game forum, een flashgames website (zoals spelletjes.nl) of "jan de buurman's ikhouvanvoetbal.goedkoopgehost.hier clubsite'

ik vraag me dus oprecht af, 'wat maakt ircd dan zoveel anders dan bijv, een gewone httpd, of de shoutcast van de <insert irritantie zanger> -fanclub die plat moet volgens de fans van <insert andere irritantie zanger>.

ofwel: welk functioneel verschil maakt een ircd zoveel vatbaarder dan al die andere services. of is het echt alleen een psychologisch verschil?

chielsen
08/12/10, 11:52
Ik denk omdat er meer techies op komen, en die graag willen showen naar hun vrienden, of concurrenten de loef af willen steken.
Ook is het een beetje territorium afbakenen.

PreServer
08/12/10, 14:22
Irc is niet echt meer of minder vatbaar voor ddos dan andere services, het is vooral psychologisch, en een slechte naam, wij draaien al jaren irc zonder al te veel problemen.

Het psychologisch gedeelte zal hem denk zitten in de mensen die eropaf komen, en de snelheid waarmee dingen gebeuren (bij een dos zie je gelijk mensen zeuren en disconnecten ed, dat is natuurlijk leuker dan een forum plat leggen en dan netzo als de rest van de gebruikers er niet meer op kunnen en de reacties erop niet kunnen lezen)

Ook stamt irc uit de tijd dat veel mensen nog via de telefoon op internet gingen en je met een kabelmodempje hele volkstammen telefoon interneters eraf kon flooden en met telnet windows95 een bsod kon geven)

ichat
08/12/10, 21:35
en wederom natuurlijk dank voor de reacties,

als ik het zo 'begrijp' zit er dus bijna niets anders op dan het gewoon te doen en ergens in de AV/ToS duidelijk aan te geven dat 'we er zijn ter ieders leering en de vermaak' en dat DDoS'en enkel zullen leiden tot nullrouting, en me er dan verder niet al te druk over maken?????

dit zou voor mij op zich (hobby enzo) best een acceptabele oplossing zijn, maar hoe gaan hosters hier mee om?...

Lite-On
08/12/10, 22:47
DDoS traffic richting IRCd servers zijn er in verschillende soorten en maten.
In bepaalde gevallen kan dit prima gefilterd worden, maar in veel gevallen gaat het om wat zwaarder traffic wat zich snel kan vormen tot overlast.

Er is en blijft een risico dat IRCd machines doelwit worden, en hier valt helaas weinig aan te doen.
Mede van dit risico zullen er vast en zeker wat hosters zijn welke IRCd daarom buiten het netwerk houden ;)

Blacky
09/12/10, 02:07
een kabelmodempje hele volkstammen telefoon interneters eraf kon flooden en met telnet windows95 een bsod kon geven
Hahaha, cool... dat was inderdaad nog een leuke tijd.:D

Een aantal jaren geleden hebben wij ook nog een ircd gehad. Weet al niet meer welke precies, maar het was geen Unreal want dat zou de volgende stap worden, overschakelen naar Unreal. Alleen is het daar toen niet meer van gekomen, maar die had wel wat uitgebreidere mogelijkheden en iets betere services als wij hadden draaien.

Er werd bij ons wel streng gecontroleerd op aanwezigheid van eggdrops, want een beetje slecht geconfigde eggdrop nodigt meteen ook al ddos uit. Da's misschien een van de dingen om wat rekening mee te houden.

Verder bijna alleen Nederlandse gebruikers, dus we hebben ooit een tijdlang heel die dip-t.dialin.net zooi (oftwel zo'n beetje driekwart Duitsland of meer) geblokkeerd. Dat was wel pret.
Achja... het kietelt inderdaad weer als er over gesproken wordt, maar zelf begin ik er niet meer mee, genoeg te doen zoals het nu al is.

PreServer
09/12/10, 03:04
Vroegah... winnuke op je provider range en je zag hele kanalen disconnecten met read errors, en weer een takeover, het leukste bleef altijd de reacties als ze weer terug kwamen :)

We gebruiken nog steeds irc als communicatie medium voor de medewerkers, werkt voor sommige dingen fijner dan email, msn en telefoon. We hebben zelfs klanten die nog via irc werken, maar dat is een uitstervend ras.

Ook gebruiken wij eggdrops voor dingen als nagios

Ieder zijn ding :)

ichat
09/12/10, 16:15
PreServer, klinkt alsof je er flink wat ervaring mee had,

Om het historisch in context te houden, ik ben dus van de generatie msn chat (niet messenger maar de mircosoft variant op irc) en was later zelf redelijk nauw betrokken bij het ontdekken dat je met mirc en wat sockets wel degelijk verbinding kon krijgen met hun ircd's.

In de tussen tijd leerde ik ook andere chats kennen, waardoor ik uberhaubt achter het bestaan van mirc, en irc in het algemeen kwam.

Die chan floods enzo heb ik ook mee gemaakt (ook al hadden wij toen al een kabel modem) maar wel vanuit het perspectief van een 'niets vermoedend' jongetje met een eigen laptop (die overigens bedoeld was voor school en niet voor chatten).

Door mijn voorliefde voor 'systemen' 'netwerken' en 'services' en het feit dat ik het in m'n vrije tijd voor elkaar kreeg als 15jarige, een complte online computer helpdesk op te zetten, leverde me dat intresse op van IRCops (maar daar was ik natuurlijk te jong voor) echter leverde dat wel regelmatig intressante gesprekken op als men dacht dat ik info had over mensen en hun intresse voor 'hacks op het netwerk' (waar ik overigens graag aan meewerkte)

Toen de msn scripts de pan uit begonnen te reizen en MS er uiteindelijk mee stopte (ergens in 2003 ofzo) ben ik me minder met chats gaan bezig houden en meer met forums, nieuwsgroepen (de niet bin versies). maar het 'gemis van live contacten, en direct reply is er toch nog steeds wel een beetje '

Later ben ik meermaals gevraagd om een msnchat clone op te zetten (een ircx (irc-extended) server met een grafische noob-vriendelijke en het gebruik van een 'gehackte webbased client in VB (dus een activeX aplet in IE)

Wegens het niet willen jatten van andermans programmatuur, copyrights, en de slechte documentatie van het protocol, en de nep-servers. heb ik daar altijd voor bedankt.

Nu goed allemaal minder intressante dingen over de motivatie die ik heb om er intresse in te hebben. en misschien wel de reden waarom ik ICT'er wilde worden.

Punt waar je dan bent aangekomen in je leven, is dat het 'nostagische besef van tegen echte mensen (ook al is het typend) praten toch je voorkeur heeft dan twitteren en hyvesen. en dat ik me uiteindelijk geen betere plek kon bedenken om over te praten dan dit forum. waar ik in de loop der lurkende jaren best redelijk vaak via google terecht ben gekomen.

waar ik overigens nog wel nieuwschierig naar ben is naar de kosten van zo'n ircd, en dan bedoel ik dus niet het aantal euro's dat ik ga betalen voor een linux vps (want daar is dit forum niet voor). maar de kosten in 'bandbreedt mbit/s, gemiddeld data verbruik (gbit/m) de systeembronnen (cores ram i/o). ik ben dus wel benieuwd naar wat 'algemene' stats over het vebruik van wat mensen. deels ook omdat ik wil overwegen om als ik irc zou gaan hosten, enkel de centrale userdatabase, de services, en de loadbalancer te hosten, evenals natuurlijk de webbased frontend etc. maar voor de users zoveel mogelijk gebruik te maken van zip-linken naar goedkopere 'leafs' (bijv op regfiber aansluitingen)

PreServer
09/12/10, 19:29
PreServer, klinkt alsof je er flink wat ervaring mee had,

waar ik overigens nog wel nieuwschierig naar ben is naar de kosten van zo'n ircd, en dan bedoel ik dus niet het aantal euro's dat ik ga betalen voor een linux vps (want daar is dit forum niet voor). maar de kosten in 'bandbreedt mbit/s, gemiddeld data verbruik (gbit/m) de systeembronnen (cores ram i/o). ik ben dus wel benieuwd naar wat 'algemene' stats over het vebruik van wat mensen. deels ook omdat ik wil overwegen om als ik irc zou gaan hosten, enkel de centrale userdatabase, de services, en de loadbalancer te hosten, evenals natuurlijk de webbased frontend etc. maar voor de users zoveel mogelijk gebruik te maken van zip-linken naar goedkopere 'leafs' (bijv op regfiber aansluitingen)

Je moet je toch op een of andere manier vermaken na/onder schooltijd ;)

Kosten vallen wel mee, protocol is redelijk geoptimaliseerd, en het blijft text :), hethangt vooral af van hoeveel gebruikers het netwerk heeft.
De services zijn wel het zwaarste, frontend draait meestal gewoon op de client (java irc oid)
voor de rest is het gewoon een website.

ichat
10/12/10, 11:02
kosten vallen wel mee.
vertel: hoeveel users heb je gemiddeld en hoe is dat op pieken,
wat kost het je aan data verkeer en hoe zit dat met bandbreedte,
wat zegt je systeembronmeter.

Ionstar
03/01/11, 17:43
Beetje late reactie, maar ik had dit topic nog niet gezien :)

Ik draai zelf al 11 jaar klein irc netwerkje (+- 400 gebruikers op elk moment van de dag) en heb tot nu toe weinig gemerkt van DDoS. We hebben 1 keer een zware gehad n.a.v. het perm bannen van een botnet host, en dat is ook meteen de zwakke plek van IRC. Script kiddies zijn nogal snel aangebrand als je ze aanspreekt op hun gedrag.

Zeker als je bent opgenomen in de mIRC server lijst ben je een magneet voor botnet hosts die je server proberen vol te laden met allerhande bots. Door onze kleine omvang is het vrij makkelijk te zien wanneer die bots verschijnen en daarop actie te ondernemen.

Qua load en traffic is een IRC server/netwerk als het onze verwaarloosbaar klein. Ik draai ze zelf op 2 dedicated servers in EU en USA, elk op een eigen vps van maar 512MB. Het trekt bijna geen load. Ik zal eens kijken of ik een cacti graph een weekje kan laten draaien om het inzichtelijk te maken.

ichat
03/01/11, 19:11
Beste Adonis, (haha +1 voor de naam by the way),

Ik zou graag ingaan op je aanbod, dergelijke stats lijken me een zeer welkome bron van informatie (zeker omdat ze recent zijn).
Vooral omdat ik uit ben op een community-based systeem, waarbij ik dus het IRCD gebeuren slechts als onderdeel zie van overige informatiesystemen.
en ik vooral geïnteresseerd ben om zo min mogelijk gehoste ruimte, aan irc te besteden - en ik dus net zo makkelijk zou willen kunnen kiezen voor enkele consumenten verbindinkjes, zoals verschillende Nederlandse fiber providers die inmiddels leveren, met slecht een centrale server om het netwerk 'beheer-' en beheersbaar te houden.

Het was me in ieder geval al wel redelijk duidelijk dat de hoge 'ddos' verwachting van IRC vooral iets psychologisch lijkt waar je dus ook met een goede gedragscode vooraf al heel wat aan kunt beperken...

Ionstar
03/01/11, 19:59
He dankje :) Ik moet die naam ooit nog eens laten aanpassen.

Ja, het is zeker iets psychologisch, maar je hebt ook direct contact met bepaalde negatieve elementen, zoals bijv die botnet hosts die je aanspreekt op hun gedrag. Dat zijn triggers die een DDoS kunnen laten ontstaan. Het risico is daarom wellicht wat hoger dan met een gewone website.

Het ruimte verbruik is ook niet zo heel hoog. De meeste ruimte ben je kwijt aan logfiles die je af en toe kunt verwijderen of archiveren. CPU verbruik is ook verwaarloosbaar. Ik weet ook uit ervaring dat je IRC netwerk bevolkt te krijgen ook niet makkelijk is, net als met fora denk ik. Ik heb maanden bijna alleen gezeten in het begin.

Mark17
04/01/11, 13:33
Is het mogelijk niet handiger om het IRC deel aan een (klein) bestaand netwerk over te laten en enkel een simpele interface te bieden richting dat netwerk? Fear.FM deed/doet het op die methode als ik het goed heb.

ichat
04/01/11, 13:49
Dank voor je reactie Mark,

Het probleem, zou zijn als je wat verregaande intergratie dingetjes met het netwerk zou willen zoals bijv: een koppeling tussen, website en Ircd of IRC-services (ik kies het liefste voor het eerste met iets als mod_sqlauth (inspircd of unrealircd)

Om een community sense op te bouwen waar blogs forums en live chats dus wat meer met elkaar te maken hebben, en er daarnaast liefst koppelingen komen met al Bestaande facebook twitter etc dingen (voor zover hun api's dat toestaan)

Dat zou uiteindelijk kunnen betekenen dat ik er wellicht zelfs voor zou kiezen om niet elk type irc client per definitie toe te laten, waardoor de animo voor een dergelijk project ook minder groot zal zijn, (op korte termijn).

Maar mocht er een klein netwerkje zijn dat interesse heeft om te praten over innovatie waarbij mijn toekomstig in te richten server in dat netwerk zou worden opgenomen valt er natuurlijk prima te praten.

JMB
04/01/11, 14:10
Is het mogelijk niet handiger om het IRC deel aan een (klein) bestaand netwerk over te laten en enkel een simpele interface te bieden richting dat netwerk? Fear.FM deed/doet het op die methode als ik het goed heb.

Wij gebruiken gewoon een flash client die we met een aantal settings laden + een bot in het kanaal. Denk bv aan <userid>@hostname en dan de site username als default chat username. Zo kan je heel simpel mensen traceren.

Het systeem waar wij naar toe willen is dmv een eigen IRC client in de website (Het APE project is een heel mooi systeem daarvoor) die zich dmv een eenmalige token bij de bot registreert. Ban je iemand op de chat kan je dit automatisch doorvoeren op de website, rechten kan je aan de rollen op je site koppelen etc.

Voor dit alles hoef je niet het aanpassen van het IRC systeem op je nek te halen. Wij maken gewoon gebruik van een klein, bevriend IRC netwerk. Normaal 30 man ofzo maar vorige week was er opeens 1000 man zonder problemen als ddos'en etc.

ichat
04/01/11, 15:50
Er zijn idd wel wat webclients die goed te gebruiken zijn, het zei via flash, of ia ajax. en die zal ik waarschijnlijk ook wel gaan gebruiken.

Waar voor mij het punt ligt is dat ik graag zie de IRCD en de forums of andere webdiensten gewoon netjes samenwerken. dat een forum Moderator ook (indien gewenst) chanop is in een live versie van de discussie. en dan zie ik die Database koppeling liever dan bij een losse bot die dit moet aansturen.

Softwarematig is het feitelijk weinig anders dan het opzetten en GOED implementeren van een 'te kiezen' systeem, maar de implicaties zijn dat het betreffende irc netwerk iets anders wordt beheerd dan gebruikelijk. en daarmee vanuit standaard irc oogpunt minder open is.

Om te koppelen moet je dan maar net iemand vinden die al gebruik maakt van een netwerk waar nickserv registratie verplicht is (of mag worden), en dan ook nog wel wat ziet in de 'andere' diensten die je mogelijk zou kunnen willen inbouwen.

The-BosS
04/01/11, 16:10
Ik snap heel goed wat ichat wil bereiken, ik ken een community die ook zijn eigen irc heeft met de grootste en voornaamste reden dat enkel leden van de community (forum) ook kunnen inloggen op de irc. Klopt hun nick en paswoord niet dan zelf de nickService deze persoon niet toelaten op de volledige irc server. En dan gaan ze hier met kanalen ook nog verder op in, enkel als je via de community lid bent van een bepaald forum gedeelte krijg je ook toegang tot dat kanaal. Om een account aan te maken op hun forum krijg je een code die je dan moet terug sms'en etc.

Dit zijn dus dingen die je niet kunt integreren in een bestaan irc netwerk, zeker niet als je bvb enkel community leden toegang wil geven en je nickServices en ChanServices wil linken aan je bestaande databases.

Correct me if i'm wrong maar is dit zo een beetje wat je ook in gedachten hebt ichat?

Ionstar
04/01/11, 16:59
Ik geloof dat de nieuwste Anope services een gedeeltelijke 2-weg koppeling heeft tussen IRC en MySQL. Dit betekent dus dat je daarmee ook een koppeling tussen IRC en andere web diensten, zoals een community, kunt maken. Een wijziging in de MySQL database heeft dan meteen effect op IRC, en andersom.

ichat
04/01/11, 19:44
dat zou goed kunnen, UnrealIRCD en inspircd kunnen daarnaast ook gebruik maken van modulles die verbindingen leggen met een mysql-db

waarbij je bij user/pass combinaties kunt gebruiken bij het inloggen
(mirc: /server <hostname/ip>:<port> <user> <pass> waarbij je zelfs zove kunt gaan dat je die sql modules gelijk de juiste usermode kunnen setten waardoor je effectief geen services meer nodig hebt.

het nadeel daarvan is dan weer dat als je sql db plat gaat niemand nog kan inloggen - het voordeel is echter dat je een auth token kunt gebruiken, waardoor je geen ssl nodig hebt om de sessie 'relatief' veilig te houden

het is allemaal niet wereld schokkend, maar je moet maar net een netwerk hebben die daar heil in ziet, anders kun je dat linken (zoals hierboven werd geopperd) wel vergeten.

ichat
04/01/11, 20:46
Ik snap heel goed wat ichat wil bereiken, ik ken een community die ook zijn eigen irc heeft met de grootste en voornaamste reden dat enkel leden van de community (forum) ook kunnen inloggen op de irc. Klopt hun nick en paswoord niet dan zelf de nickService deze persoon niet toelaten op de volledige irc server. En dan gaan ze hier met kanalen ook nog verder op in, enkel als je via de community lid bent van een bepaald forum gedeelte krijg je ook toegang tot dat kanaal. Om een account aan te maken op hun forum krijg je een code die je dan moet terug sms'en etc.

Dit zijn dus dingen die je niet kunt integreren in een bestaan irc netwerk, zeker niet als je bvb enkel community leden toegang wil geven en je nickServices en ChanServices wil linken aan je bestaande databases.

Correct me if i'm wrong maar is dit zo een beetje wat je ook in gedachten hebt ichat?

Dat zijn idd zo'n beetje de dingen die ik zou overwegen,
het idee is dan dat je behalve dan primium service (dat 0900 nummer wat je noemt) ook meer kunt met user data (de google methode), gerichtere reclame (en dus inkomsten) en user-gegenereerde content. - waaruit je uiteindelijk ten minste je hosting kosten moet kunnen terug verdienen (als het mee wil zitten)

overigens tegenwordig zou ik niet zo snel meer kiezen voor 'een nummer sms'en maar gewoon een ideal transactie (kost je nog geen 40ct - en werkt technisch veel eenvoudiger).

Hoe dat dan met paypall zit (als je dat ook wilt bieden weet ik nie maar volgens mij was dat wel wat duurder)