Umgehung der DoS Sperre für eigene Portale

Hier finden YaCy User Hilfe wenn was nicht funktioniert oder anders funktioniert als man dachte. Bei offensichtlichen Fehlern diese bitte gleich in die Bugs (http://bugs.yacy.net) eintragen.
Forumsregeln
In diesem Forum geht es um Benutzungsprobleme und Anfragen für Hilfe. Wird dabei ein Bug identifiziert, wird der thread zur Bearbeitung in die Bug-Sektion verschoben. Wer hier also einen Thread eingestellt hat und ihn vermisst, wird ihn sicherlich in der Bug-Sektion wiederfinden.

Umgehung der DoS Sperre für eigene Portale

Beitragvon Orbiter » Do Jan 08, 2009 11:42 am

Um YaCy Suchnetze in Portalen einzubinden darf in dem addressierten YaCy-Netz nicht die DoS-Sperre anspringen. Wir haben in YaCy ja eine Statistik, die mitzählt wie oft ein Client in den letzten Sekunden und Minuten Suchabfragen abgeschickt hat, und bei zu vielen wird gesperrt. Das muss sein um das Netz vor Überfällen schützen zu können.

Wenn man aber nun ein Portal machen will, so braucht man eine Umgehung der Sperrung. Ich habe hier eine Idee dazu, und bitte um Kommentare, damit das ganze auch sicher wird:

Lösung: Bestimmung einer Client-IP, die beliebig oft anfragen kann, und Setzen der IP in der Netzkonfiguration. Das ermöglicht einerseits, das man dies schnell für alle Peers eines Netzes machen kann, ohne diese einzeln zu konfigurieren. Man hat auch kein Passwort, das man Abfangen/Klauen/Verraten könnte.
Gibts da einen Denkfehler? Oder ist das das richtige hier?
Orbiter
 
Beiträge: 5798
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Umgehung der DoS Sperre für eigene Portale

Beitragvon dulcedo » Do Jan 08, 2009 12:02 pm

Ich denke du meinst u.a. auch den Einsatz in Wordpress. Das könnte natürlich auch erklären warum die Suchfunktion dann von fremden Peers oft unterschiedliche oder gar keine Ergebnisse liefert.
Das Portal dürfte in den meisten Fällen statisch adressierbar sein, aber zur Sicherheit könnte man die ip noch auflösen und dann ein provider-alias zulassen. (z.b. Apache-Vhosts die keine eigene IP haben).

Ich denke das könnte funktionieren, nicht natürich bei Anbindung über dyndns. Aber wer lässt seine Seite schon hosten und leitet dann dyndns-adressen dort hin, ich wenn, dann nur zum Testen.
Dürfte also funktioniern, wen ich nichts vergessen habe.

Konkreter Anwendungsfall:
-Suchpeer dulcedo (dyndns)
-Suchportal: search.itgrl.com (statisch, teilt sich aber ip)

Also müsste die ip der Maschine die hostet oder halt zur Sicherheit das alias angegeben werden. Hätte dann nur ein "Nachbar" auf diesem Server die Chance einen Angriff zu starten.

Edit: war ein Gedankensprung von mir, deshalb evtl. verwirrend: DynDNS geht deswegen nicht weil sich diese Adressen (namen) faken lassen, wer DoSen mag weiss wie...
Ausserdem wäre bei solch einem Trust-System (statischer-server < - > dynamischer peer) dann auch ssl-verschlüsselung zum Peer möglich, wäre dann nur noch der Weg der Suchanfrage vom Browser zum Suchportal nachvollziehbar.
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Umgehung der DoS Sperre für eigene Portale

Beitragvon Orbiter » Do Jan 08, 2009 5:23 pm

ok, an diese Anwendung hatte ich gar nicht gedacht, muss hier aber auch passen. Ich hatte an eine Integration von sciencenet beipielsweise in metager gedacht, das hatten ja beide Parteien zumindest zum Testen mal vorgeschlagen, so weit ich weiss.

Zu deinem Beispiel fallen mir aber nun noch einige Kriterien ein, die beachtet werden müssten:
- wenn der suchpeer dulcedo im freeworld Netz ist, kann der sich zwar selber eine netzdefinition 'faken', in dem die IP von search.itgrl.com steht, das würde aber im DoS-Fall dazu führen, dass die remote peers aus freeworld sich verweigern. Aus 2 Gründen:
* sie haben nicht die gleiche Netzdefinition
* wenn sie diese hätten, müsstest du die IP des anfragenden Clients übermitteln, was schlecht wäre weil es gegen die Privatsphäre des Clients geht.

- wenn der suchpeer dulcedo ein robinson ist, müsstest du der Robinson-Konfiguration auch eine IP für das DoS-Protection übergeben können.

Hier muss also noch ein Konzept her für diese Fälle:
- bei der remote Suche schlage ich vor, einen md5 der client-IP zu übermitteln. Die kann man nicht zurückrechnen, und man kann sie mit dem md5 einer IP in der Netzdefinition vergleichen, so dass das ganze Netz eine DoS-Freischaltung bekäme, auch für Suchanfragen innerhalb des Netzes, weil die Peers dann wissen das sie von einer erlaubten domäne aus ausgelöst worden ist.
- bei der Robinson-Konfiguration fehlt dann noch ein Feld für die erlaubten IPs
Orbiter
 
Beiträge: 5798
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Umgehung der DoS Sperre für eigene Portale

Beitragvon lisema » Do Jan 08, 2009 9:20 pm

Orbiter hat geschrieben:Hier muss also noch ein Konzept her für diese Fälle:
- bei der remote Suche schlage ich vor, einen md5 der client-IP zu übermitteln. Die kann man nicht zurückrechnen, und man kann sie mit dem md5 einer IP in der Netzdefinition vergleichen, so dass das ganze Netz eine DoS-Freischaltung bekäme, auch für Suchanfragen innerhalb des Netzes, weil die Peers dann wissen das sie von einer erlaubten domäne aus ausgelöst worden ist.
- bei der Robinson-Konfiguration fehlt dann noch ein Feld für die erlaubten IPs


Space Time Tradeoff. IPs sind zu kurz.Rainbowtables dafür relativ klein und schnell berechnet. Nur so als Einwurf.
lisema
 
Beiträge: 110
Registriert: So Dez 14, 2008 8:06 pm

Re: Umgehung der DoS Sperre für eigene Portale

Beitragvon Orbiter » Do Jan 08, 2009 9:28 pm

hab mir auch schon gedacht dass der md5 zu leicht zu knacken wäre. wie macht man das mit einem salt? den müsste ja jeder peer auch kennen, dann müsste der salt in der Netzdefinition sein, und dann bringt das nix. Ideen?
Orbiter
 
Beiträge: 5798
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Umgehung der DoS Sperre für eigene Portale

Beitragvon lisema » Do Jan 08, 2009 9:43 pm

Salts übers Netz verteilen ist Mist, kennt jeder.
Im schlimmsten Fall berechne ich mit Salt alles vor. Auf einem Quad hatten wir relativ schnell grosse Mengen an Krypto Daten verarbeitet.

Es gibt aber in der Krypto gute Verfahren, kosten aber alle Rechenzeit. Wie wichtig sind solche Dinge aber?
Und der ganze, wirklich der ganze, Entwurf muss sowas berücksichtigen. Leider habe ich momenten wenig Zeit um dort viel zu machen und recherchieren. Aber ich meine es gab für sowas Verfahren.



EDIT:
Ach ich depp.

Triviale Lösung:
signieren. Dann braucht man aber eine PKI.
lisema
 
Beiträge: 110
Registriert: So Dez 14, 2008 8:06 pm

Re: Umgehung der DoS Sperre für eigene Portale

Beitragvon Orbiter » Do Jan 08, 2009 10:16 pm

die pki hätten wir längst, wenn wir uns mal überwunden hätten sichere peer hashes zu bauen (signierte).

Die Idee war: statt den peer-hash aus einer Zufallszahl zu berechnen, berechnet man ihn aus dem public key eines key-pairs. Dann kann jeder die identität eines Peers überprüfen, indem er dem Peer einen challenge sendet, den man ihn mit seinem eigenen public key verschlüsselt hat. Nur derjenige, dessen peer-hash autentisch ist kann dann den private key haben, um den challenge zu decrypten.

Scheint also so zu sein, das wir das brauchen. Allerdings brauchen wir dann auch session keys, weil public-key Verfahren für die Suche zu langsam sind.
Orbiter
 
Beiträge: 5798
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Umgehung der DoS Sperre für eigene Portale

Beitragvon lisema » Do Jan 08, 2009 10:27 pm

die PKI ist nur das eine. Wenn ein Peer sucht und sich bei X peers erst authentifiezieren muss, ist das langsam.

Wie sicher muss es sein?
Man könnte vertrauenswürde Session Server einrichten. Dort muss/kann sich der Peer registrieren, und authentifizieren. Normale Peers verbinden sich, und kriegen Timestamp, Session ID, YaCy ID und IP:Port von anderen Peers. Sessions laufen nach 1 Stunde aus.
Vorteil: Dort muss nicht jeder Peer alle anderen Peers authentifizieren, es besteht nur eine (permanente Verbindnug)
lisema
 
Beiträge: 110
Registriert: So Dez 14, 2008 8:06 pm

Re: Umgehung der DoS Sperre für eigene Portale

Beitragvon PCA42 » Do Jan 08, 2009 11:14 pm

lisema hat geschrieben:die PKI ist nur das eine. Wenn ein Peer sucht und sich bei X peers erst authentifiezieren muss, ist das langsam.

Kann man das nicht mir dem Peer-Ping und den Seed-Daten kombinieren?
PCA42
 
Beiträge: 621
Registriert: Mi Jan 23, 2008 4:19 pm
Wohnort: @Home

Re: Umgehung der DoS Sperre für eigene Portale

Beitragvon lisema » Do Jan 08, 2009 11:39 pm

Die frage ist, will man wirklich jeden Peer mit jedem Peer authen? Bei jedem reconnect?
Das mag gehen wenn das Netz "nur" 100 Peers hat, was aber wenn es wirklich mal tausend, und dann ein paar tausend sind.

Wenn ich dort Verbindung mit einigen Mastern Servern habe, duerfte das wesentlich entspannter sein dort ein Heartbeat zu schicken und von dem als Antwort packete von Authentifizierten Peers mit deren IDs zu kriegen.
lisema
 
Beiträge: 110
Registriert: So Dez 14, 2008 8:06 pm

Re: Umgehung der DoS Sperre für eigene Portale

Beitragvon dulcedo » Fr Jan 09, 2009 3:36 am

Der Anwendungsfall von dem ich rede dient ja der Verbreitung von YaCy, Integration in andere Seiten, ohne eigenen Peer.
Und dieses Trust-Konzept muss ja dann weitgehend ohne Benutzereingriff funktionieren.

Seitenquellcode/Widget runterladen, sich grob über das Konzept schlaumachen, Suchseite statisch online stellen, und dann fängt die Suchseite an sich einen peer zu suchen, ähnlich wie ein YacY-peer sich seine Ansprechpartner sucht, ich stecke da im Detail nicht drin und will es auch nicht.

Der Anwender kann natürlich hinterher wählen welchen peer er bevorzugt, im Versuch klappt es aber einfach eine liste durchzugehen bis ein peer sich meldet.

So wäre das sehr einfach zu integrieren, das sharing leidet natürlich darunter, aber wer sich fürs Konzept interessiert fängt sicher bald an auch damit zu experimentieren, ein eigener peer bringt ja auch erheblichen Nutzwert. NUR erkennen den viele, wie ich, erst nach einer Weile Arbeit damit, und zu dem Zeitpunkt wohl die meisten schon wieder abgesprungen, da zu kompliziert.
In meinem Fall hab ich einfach eine Mitarbeiterin drangesetzt: da mach mal, Spielwiese, als aus dem Urlaub zurück stand das Widget.
So kommen durch normale Anwender auch frische Ideen in das Projekt.
Aus der Phase, in der man das nur Entwicklern zumuten konnte, ist YaCy ja längst raus.
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Umgehung der DoS Sperre für eigene Portale

Beitragvon Orbiter » Fr Jan 09, 2009 3:23 pm

mir ist heute in der S-Bahn eine Lösung eingefallen:
eigentlich muss so ein Suchnetz, das einem Portal als Index dient als trusted-net angesehen werden, das heisst das die Peers voreinander keine Geheimnisse haben müssen weil sie eh alle den gleichen Administrator haben (gilt natürlich nicht für freeworld!). Wenn es denn kein trusted network wäre, dann könnten alle Authentifizierungsmethoden die wir uns hier ausdenken auch von einem 'evil peer' dazu genutzt werden, um so auch DoS zu machen. Also müssen alle Ideen zu gegenseitigen Autentifizierung in die Tonne und wenn man von der Restannahme ausgeht, das alle Peers in so einem Fall nur einen Admin haben, dann kann der ja die IPs der Peers auch in der Netzkonfig per Wildcard zur Freischaltung angeben. Dann wäre das Portal und die IPs der Peers frei von DoS-Beschränkung, und der Schutz besteht weiterhin.

dulcedo hat geschrieben:Der Anwendungsfall von dem ich rede dient ja der Verbreitung von YaCy, Integration in andere Seiten, ohne eigenen Peer.
Und dieses Trust-Konzept muss ja dann weitgehend ohne Benutzereingriff funktionieren.

ja richtig.

dulcedo hat geschrieben:Seitenquellcode/Widget runterladen, sich grob über das Konzept schlaumachen, Suchseite statisch online stellen, und dann fängt die Suchseite an sich einen peer zu suchen, ähnlich wie ein YacY-peer sich seine Ansprechpartner sucht, ich stecke da im Detail nicht drin und will es auch nicht.

Der Anwender kann natürlich hinterher wählen welchen peer er bevorzugt, im Versuch klappt es aber einfach eine liste durchzugehen bis ein peer sich meldet.

ich bin bislang davon ausgegangen das du und itgrl eine spezielle Konstruktion habt, aber wenn du das so generisch realisiert hast ist auch gut. Das ist ein schöner Anwendungsfall für YaCy, und die wenigen zusätzlichen Suchanfragen über die Blogs werden auch durchgehen ohne das der DoS Schutz zieht.

dulcedo hat geschrieben:Aus der Phase, in der man das nur Entwicklern zumuten konnte, ist YaCy ja längst raus.

das müsste man ein wenig propagieren..
Orbiter
 
Beiträge: 5798
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Umgehung der DoS Sperre für eigene Portale

Beitragvon Huppi » Fr Jan 09, 2009 9:16 pm

[OFFTOPIC]
Boah, die itgrl-Blog-Einträge sind ja prima :-)
Frage zu search.itgrl.com
Läuft der Peer auf Port 80?
Huppi
 
Beiträge: 898
Registriert: Fr Jun 29, 2007 9:49 am
Wohnort: Kürten

Re: Umgehung der DoS Sperre für eigene Portale

Beitragvon dulcedo » Sa Jan 10, 2009 8:47 am

Huppi, das ist kein peer, eine http(s)-seite die sich irgendwie einen peer sucht und die anfragen an ihn weiterleitet, wenn möglich auch per ssh.

Orbiter: es gibt keinen besseren Weg irgendwas zu propagieren als über blogs.
Ist kein Zufall dass solche Blogs gerne von "seos" zum google zuspammen benutzt werden.

Bau dir mal ein kleines Script das Google-Crawler mit yacy-Suchergebnissen füttert, seinen eigenen index kennt google ^^
Will das nicht weiterspinnen...
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Umgehung der DoS Sperre für eigene Portale

Beitragvon Orbiter » Mo Jan 12, 2009 12:01 pm

Die Lösung ist jetzt in SVN 5475 drin.
Die whitelist ist in den Netzdefinitionsfiles in
network.unit.access.whitelist
konfiguriert, und enthält per default alle Intranet-Adressen. Das auch für alle Use Cases, ich hoffe ich habe da keinen Denkfehler drin.
Orbiter
 
Beiträge: 5798
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main


Zurück zu Fragen und Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste