Closed Lednerb closed 4 years ago
Der Crawler soll einmal nach der Verifizierung der Domain gestartet werden. Es ist klug, den Crawler nach einem Zeitinterval erneut zu starten und die Liste der URLs zu aktualisieren.
Ändert sich die Liste der zu scannenden Seiten, so ist es wahrscheinlich, dass sich auch der Gesamt-Score der Domain durch die Scan-Ergebnisse ändern wird.
Hierbei sollten wir den Nutzern deutlich mitteilen, bspw. über eine E-Mail Mitteilung, dass sich die zu untersuchenden URLs geändert haben und sich dadurch der Score evtl. anpasst.
Ein gewichteter Score ist bereits implementiert (#125) und steht für jeden Scan zur Verfügung. Es liegt nahe, den Gesamt-Score als arithmetisches Mittel über die gesamten Scans (bei 10 vorhandenen, gerawlten URLs + Haupt-URL = 11 Scans pro Domain) zu berechnen.
Momentan wird in v2
der BLA und der CA vorgegangen, wie eingangs in der Grafik aufgezeigt:
Die BLA sendet eine zu scannende URL an die CA und erhält ein Scan-Ergebnis zurück.
Scan
-Scores gebildet werden.~Scanner, die lediglich eine Domain (=Hostname) scannen und nicht eine URL individuell, sollten die Ergebnisse für eine Zeit von ca. 12 Stunden cachen und bei erneuter Anfrage lediglich das zwischengespeicherte Ergebnis zurückliefern, um den Zielserver nicht unnötig zu belasten und die allgemeine Scan-Zeit zu reduzieren.~
~Dadurch würden keine Änderungen an der BLA und CA im Umgang mit den Scannern erforderlich sein und die Scanner würden darüberhinaus im Einsatz außerhalb der SIWECOS-Infrastruktur eine bessere Performance aufweisen.~
Edit: Lösungsvorschlag von @SniperSister ist am besten geeignet: Die CA wird um einen optionalen Parameter erweitert, sodass nur bestimme Scanner gestartet werden können. Dies wird in der BLA hinterlegt und für URLs mit Außnahme der Haupt-URL genutzt.
MAIL
PORT
TLS
INI_S
Zeitpunkt des Crawlens Soll eine Mitteilung an die Nutzer erfolgen?
Wie verbinden wir eine Mitteilung über neue URLs mit der Low-Score Benachrichtigung Ich sehe die theoretische Möglichkeit, dass sich der Score durch die URL-Änderungen ändert, ich bin mir aber unsicher ob das Problem so groß ist, dass sich daraus die Notwendigkeit einer technischen Lösung (=Mitteilungsversand) ergibt. Vor allem im Zusammenhang mit der Low-Score-Benachrichtigung halte ich das auch technisch für nicht trivial.
Nutzer einer 3rd-Party Integration
Darum muss sich die 3rd-Party kümmern, das ist nicht unsere Baustelle.
Nach welchem Zeitintervall soll neu gecrawlt werden?
Ein mal pro Woche erscheint mir ausreichend.
Score-Berechnung über mehrere Scan-Ergebnisse Welche Methode soll zur Berechnung des Gesamt-Scores genutzt werden? Arithmetisches Mittel über die gesamten Scans (bei 10 vorhandenen, gerawlten URLs + Haupt-URL = 11 Scans pro Domain)
Eine Domain könnte weniger als 10 gecrawlte URLs aufweisen.
Kein Problem, wir verwenden ja den Durchschnitt
Sollen fehlgeschlagene Scans mit in den Gesamt-Score einberechnet werden? Falls ja, wie?
Wie behandeln wir das beim Score eines individuellen Scans? Analog sollte es imho dann auch beim Gesamtscore sein
Auszuführende Scanner bei gecrawlten URLs
Wir sind uns alle einig, dass die CA eine klare Aufgabenstellung hat: Auftrag erhalten, Scans dispatchen, Result zurückmelden. Gleiches gilt für die Scanner, auch hier ist die Aufgabe klar: Auftrag erhalten, Auftrag abarbeiten, Result zurückmelden. Die BLA aber soll ja genau den Teil der Businesslogik realisieren, der SIWECOS auszeichnet – und das schließt für mich die Frage, welche Scanner bei welcher URL-Art getriggert werden müssen, mit ein. Ich würde daher eher vorschlagen, der CA eine kleine Erweiterung zu verpassen, mit der die BLA auf Wunsch die zu verwendenden Scanner angeben kann. Die BLA kann dann, je nach URL-Art unterschiedliche Scanner ansprechen.
Frage zum "gewichteten Mittel" @Lednerb: Was meinst Du damit? Ich habe nur gefunden, daß ein Score bei 20 gekappt wird, sobald ein "Critical" gefunden wird. Meintest Du das damit?
Ich habe gewichtetes Mittel eher so verstanden:
@Skeeve ist genau so integriert:
Gewicht des Scanners lässt sich über Umgebungsvariablen anpassen, standardmäßig auf 1 für alle Scanner:
Durch @ic0ns Anpassungen und Erweiterungen des DomainValidators ist es möglich, komplett auf den siwecos-crawler zu verzichten.
Hierdurch sparen wir uns ein Modul zur Integration.
Der DomainValidator wird in jedem Fall benötigt, da dort die entsprechenden MX-Domain-Einträge für den Mail
-Scanner extrahiert werden müssen.
Der neue Ablauf wäre daher wie folgt:
v3
-EndpointsArbeiten sind abgeschlossen soweit.
@SniperSister
Die webapp kann nun in production
aktualisiert werden und somit dann das neue Frontend veröffentlicht werden.
Crawler-Integration Thread
Dieses Issue ist ein Sammel-Thread für alle Notizen / Fragen und Belange zum Thema Integration des Crawlers.
Es sollen die 10 potentiell interessantesten URLs einer Domain zusätzlich zur Haupt-URL gescannt werden.
Für die integration gilt der folgende aktualisierte Programmablauf:
CC @MacMic @y-ates