NEWS
google api - Einschränkung auf IP
-
Hallo,
Ich möchte meine google maps api einschränken auf eine IP.
Nur welche IP muss da genommen werden.
Hintergrund:
Ich lasse mir maps in iob anzeigen mit google maps widget.
Hier habe ich den api key eingegeben.
Klappt auch.
Nun möchte ich halt den api beschränken.Frage:
Wie gehe ich vor ?
Welche IP muss bei google eingeben werden, damit ich weiter in iob die maps angezeigt bekomme.Bitte mal Rückinfo.
Vielleicht habe ich mich mangels Kenntnis auch falsch ausgedrückt.mfg
Dieter -
hast du den eine feste ip? ansonsten wird es schwierig, da dir sonst dein provider
immer wieder mal eine neue ip gibt.dann ist noch die frage ob der request als ipv4 oder ipv6 rausgeht.
hier siehst du bspw deine ip adressen, wie andere dienste dich im internet sehen.
https://www.whatismyip.com/de/
nach aussen werden nur die ip-adressen deines routers gesehen. -
Wie oben geschrieben habe ich mir die google api mal eingerichtet um
- per JS in iob directions script laufen zu lassen
- maps darzustellen
- etc.
Kann man diese api irgendwie anders sinnvoll beschränken.
Oder sollte man diese einfach offen lassen
(davon wird ja überall abgeraten, ist aber auch jahrelang nix passiert)
-
eigentlich ist da kein (großes) problem.
google sichert mit oauth ab.
der api key den du hast wird nur dafür verwendet ein
session token zu holen. damit werden die ganzen requests dann durchgeführt. das ist nur eine gewisse zeit gültig und muss dann wieder erneuert werden.
die übertragung erfolgt ja per https, also kann niemand mitlesen, da die verbindung ende zu ende verschlüsselt ist.falls jetzt jemand tatsächlich alle möglichen api tokens durchprobiert (google wird wohl nach ein par Fehlversuchen dich dann auch bremsen oder sperren)
das folgende hab ich auch nachgelesen
es gibt welche mit 128,256 und 512 bit länge.
bei 128bits wäre es ein string von 16 zeichen. an jeder stelle können bis zu 64 verschiedene zeichen stehen (A-Za-z0-9 und noch 2 extra ascii Zeichen.
Also hast du 16^64 Möglichkeitenhier noch ein netter vergleich:
bei 256bit (2^80) hast du ungefähr soviele Möglichkeiten wie es Atome im bekannten Universum gibt.also ich würde sagen, es ist sicher.
im profibereich habe die server dann auch feste ip adressen und dann kann man das wirklich ganz fix eingrenzen.und dann muss man sich am ende auch immer fragen, lohnt sich das wegen einem api key für google maps?
wer geocoding/routing günstig haben will, muss sich halt eine eigene openstreetmaps instanz aufbauen. da kann man soviel geocoden und routing machen wie man will. -
@oliverio sagte in google api - Einschränkung auf IP:
habe die server dann auch feste ip adressen und dann kann man das wirklich ganz fix eingrenzen.
bin zwar kein Profi, aber hab eine fixe IP.
Wie grenz ich das ein?
Bekomm dauernd von Tante Google die Mail wegen[Action Required] Secure unrestricted API keys immediately to avoid extra billing charges
-
hab mal chat gpt befragt.
es hat mich überraschst, das man auch interne ip adressen eingeben kann.
also dann tragst du die ip deines iobrokers ein oder das gerät das deine google maps seite ausliefert
Kurzfassung: Auch wenn du die Google-Maps-API „nur im LAN“ nutzt, kann ein unbeschränkter (unrestricted) API-Key missbraucht werden. Sichere ihn so, dass er nur von deinen Geräten/Seiten und nur für die genutzten APIs funktioniert.
So gehst du vor (Cloud-Konsole → APIs & Dienste → Anmeldedaten → deinen Key öffnen):
- Application restrictions setzen
- Für Browser-Nutzung (Maps JavaScript API in einer HTML-Seite im LAN): HTTP-Referrer beschränken.
Trage alle internen Hosts/IPs ein, von denen die Seite geladen wird – mit Protokoll und Wildcard-Pfad, z. B.:
http://192.168.1.10/*
http://intranet.lan/*
(ggf. auchhttps://…/*
eintragen, falls du intern HTTPS nutzt).
Hintergrund & Anleitung: Google „API-Sicherheit – Best Practices“ und „HTTP-Referrer-Beschränkungen“. ([Google for Developers][1]) - Für reine Server-Side-Calls (z. B. Distance Matrix vom Backend): IP-Adressbeschränkung verwenden und die öffentliche Absender-IP (bzw. NAT-IP) deines Servers whitelisten. Kein Referrer hier. ([Google Cloud][2])
- API restrictions setzen
- Unter API-Beschränkungen den Key nur für die tatsächlich genutzten Dienste freigeben (z. B. „Maps JavaScript API“, „Geocoding API“, „Distance Matrix API“). Das minimiert Missbrauch. ([Google Cloud][2])
- Key aufräumen & rotieren
- Nicht benötigte Keys löschen, produktive und dev/test Keys trennen, Keys periodisch rotieren. ([Google Help][3])
- Kostenkontrollen aktivieren
- In „Abrechnung“ Budgets/Alarme setzen und bei den betroffenen APIs Kontingente (Quotas) begrenzen.
- Typische Stolpersteine
- Referrer-Patterns: Wildcards sind nur am Subdomain-Anfang oder im Pfad erlaubt (z. B.
*.example.lan/*
oder/path/*
), nicht mitten im Hostnamen. Trage für jeden genutzten internen Host/IP einen Eintrag ein. ([Google Cloud][4]) - Wenn die Seite sowohl über Hostname und IP aufgerufen wird, beides eintragen.
- Ports und HTTP/HTTPS können je nach Setup variieren – im Zweifel jeweils separate Einträge anlegen.
Optional, falls du Google gar nicht brauchst: Für reine Anzeige im LAN kannst du auch Leaflet + OpenStreetMap-Tiles nutzen und so den Google-Key ganz vermeiden.
-
@negalein sagte in google api - Einschränkung auf IP:
Secure unrestricted API keys immediately to avoi
Ja, diese bekomme ich auch !
Habe z.B. widget "map-google map"
Und dort trage ich die api Schlüssel ein, damit das widget ja funktioniert.
Wenn jetzt jemand diesen Schlüssel hat, was ist dann ?
Oder muss man dies sehen, wie bei jedem Kennwort auch:
Wenn jemand den iob pro Schlüssel hat, dann kommt er halt auch rein.mfg
Dieter -
ja, und wenn ich deine geldkarte und deinen PIN habe könnte ich auch Geld abheben.
Deswegen muss man diese Schlüssel privat haltenDas map widget das du verwendest ist nicht für Sicherheit umgesetzt.
Jeder der sich die Karte anzeigen lassen kann, kann sich den API über die web developer konsole anzeigen lassen (falls er nicht schon in den vis-editor kommt).