Ich denke nicht, dass Sie dies mit S3 tun können, aber Sie können IP-Adressen verbieten , die mit CloudFront voreingestellte Grenzwerte überschreiten . Richten Sie CloudFront einfach so ein, dass S3-Inhalte bereitgestellt werden, und blockieren Sie den direkten Zugriff auf S3. Ihre Kosten können sich geringfügig verringern, sie steigen möglicherweise etwas an, aber es sollte keinen großen Einfluss auf Ihre Kosten haben.
Wie implementiere ich Anti-Scraping-Mechanismen für meine Amazon S3-basierte Site?
Ich habe ein paar statische Webseiten, die auf Amazon S3 gehostet werden und sehr häufig aktualisiert werden. Ich möchte ein paar Anti-Scraping-Mechanismen implementieren, wie das Verbot von IPs, die zu viele Anfragen machen oder Anfragen erscheinen, die als Roboter erscheinen. Ich weiß, dass nichts dumm ist, aber ich möchte ihnen nur etwas Widerstand bieten und ihre Arbeit schwierig machen. Ich habe verstanden, dass es eine Möglichkeit gibt, IP-Adressen in der Bucket-Policy auf die schwarze Liste zu setzen, aber es gibt eine dynamische Möglichkeit, dies zu implementieren, z es für eine bestimmte Zeit. Oder sowas ähnliches.
3 Antworten auf die Frage
Ich habe es nie probiert, aber ich denke, es ist machbar. Es wird jedoch kein einfaches Kontrollkästchen sein.
Folgendes müssen Sie tun:
- Aktivieren Sie "Server Access Logging" für Ihren S3-Bucket.
Erstellen Sie eine Lambda-Funktion und planen Sie, dass sie alle x Minuten (Rate) oder auf einem Cron ausgeführt wird. Diese Funktion muss:
- Durchforsten Sie diese Protokolle, und zählen Sie, wie oft eine IP-Adresse in einem bestimmten Zeitraum auf eine bestimmte Ressource (Datei oder einen Bucket) zugegriffen hat, oder die IP-Adresse, die 404 ... usw. erhält.
- Entscheiden Sie abhängig von einem von Ihnen definierten Schwellenwert, ob Sie diese IP blockieren möchten oder nicht.
- Ändern Sie die Richtlinie Ihres S3-Bucket (Sie können Boto3 dafür nutzen) und fügen Sie die IP hinzu, die Sie zuvor für die Blockierung beschlossen haben (NotIpAddress ist Ihr Freund).
Der AWS-Dienst, der für diesen Job am besten geeignet erscheint, ist WAF, die Web Application Firewall.
Aus dem Abschnitt Sicherheitsautomatisierung ihrer Dokumentation:
Bots und Scraper: Betreiber von öffentlich zugänglichen Webanwendungen müssen darauf vertrauen können, dass sich die auf ihre Inhalte zugreifenden Kunden genau identifizieren und Dienste bestimmungsgemäß verwenden. Einige automatisierte Clients, z. B. Content Scraper oder schlechte Bots, stellen sich jedoch falsch dar, um Einschränkungen zu umgehen. Diese Lösung hilft Ihnen, fehlerhafte Bots und Scraper zu erkennen und zu blockieren.
Verwandte Probleme
-
5
Time Machine Backup auf S3
-
5
Ein anständiger S3-Bucket-Manager für Ubuntu
-
1
Eingeschränkter Zugriff auf Amazon S3-Buckets
-
1
Amazon S3-Bucket: Laden Sie nur bestimmte Dateien herunter
-
5
Cloud-basierte Backup-Lösungen basierend auf offenen Standards?
-
3
Bedeutung von FDSize in / proc / PID / status
-
4
Amazon S3 Wiederherstellen der gelöschten Datei
-
1
Ich habe Heritrix Web Crawler installiert und ausgeführt. Es speichert Daten in .arc.gz-Dateien
-
3
Speichern Sie Teile einer Website als reinen Text
-
1
Suchen Sie nach einem Web Spider / Download-Programm, das vorhandene Browser-Cookies verwenden und J...