Posts Tagged ‘Google’

Montag, 3. April 2023

OAuth gegen Google Kalender hat sich geändert

Ich habe mir auf einem Linux-Server verschiedene Cron-Jobs eingerichtet, welche Python-Scripts gegen Google Kalender ausführen.

Das eine Script sendet mir und meiner Frau Hinweise per Email, wenn sich in der letzten Stunde bis 30 Tage in der Zukunft liegende Kalendereinträge geändert haben. Ein anderes Script schaltet Kalendereinträge, die ich aus dem SBB-Fahrplan eingetragen habe, auf die Standardsichtbarkeit (anstelle „Privat“).

Letzte Woche funktionierten beide Scripts nicht mehr. Ursache: Google hat die OAuth-Authentifizierung angepasst, und sicherer gemacht (Migrationsanleitung). Das von mir aus dem Internet zusammenkopierte, in Trial & Error zum Funktionieren gebrachte Login-Verfahren funktioniert nicht mehr:

Nach ein wenig Herumpröbeln schaut so die Lösung aus:

...
from googleapiclient.discovery import build
from httplib2 import Http
from oauth2client import file, client, tools

# Added 2023-03
from google.auth.transport.requests import Request
from google.oauth2.credentials import Credentials
from google_auth_oauthlib.flow import InstalledAppFlow
...
googleCredentialsFile = scriptdir + '/token-readonly.json'
SCOPES = ['https://www.googleapis.com/auth/calendar.readonly']
...
creds = None
if os.path.exists(googleCredentialsFile):
    creds = Credentials.from_authorized_user_file(googleCredentialsFile, SCOPES)
if not creds or not creds.valid:
    if creds and creds.expired and creds.refresh_token:
        creds.refresh(Request())
    else:
        flow = InstalledAppFlow.from_client_secrets_file("credentials.json", SCOPES)
        creds = flow.run_local_server(port=0)
    with open(googleCredentialsFile, "w") as token:
        token.write(creds.to_json())

service = build('calendar', 'v3', credentials=creds)
...

Nebenbemerkung: Beim Debuggen der (nun nicht mehr funktionierenden) Original-Routine stolperte ich auch noch über folgendes Problem: Why is oauth2client run_flow giving an Argparse error?

Tags: , , , , , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Dienstag, 8. August 2017

Chrome Sync härten

Gemäss den Empfehlungen im Artikel Hardening Google Chrome habe ich die Sync-Einstellungen meines Desktop-Browsers folgendermassen eingeschränkt:

Und auf iOS-Geräten sehen meine Einstellungen so aus:

Tags: , , , , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Dienstag, 8. August 2017

Google Chrome wieder nützliche Informationen über TLS-Verschlüsselung anzeigen lassen

Als Security Officer befasst man sich gelegentlich auch mit TLS-Zertifikaten von Web-Sites. Wenn man die Zertifikate und die Verschlüsselung einer im öffentlichen Internet ansprechbaren Web-Site bewerten lassen möchte, verwendet man dazu am Besten Qualys SSL Server Test.

Manchmal aber sind Web-Applikationen nur im Intranet erreichbar, oder manchmal möchte man einfach nur ganz rasch in Erfahrung bringen, welche Verschlüsselung eine Web-Site einsetzt.

Bis vor kurzem ging das in Chrome ganz flott: In der URL-Bar klickte man auf das Schloss-Symbol und erhielt mit ein, zwei Klicks alle nötigen Informationen präsentiert. Spätestens seit Version 59 klappt das nicht mehr.

In Version 60 haben die Chrome-Entwickler das Problem resp. den Kundenwunsch erkannt und ermöglichen es neu, die Funktionalität mittels einer Konfigurationseinstellung wieder zu reaktivieren:

  1. Chrome starten
  2. Die URL chrome://flags/#show-cert-link ansurfen
  3. Enable anklicken
  4. Chrome neu starten

Via: Configure Google Chrome to display certificates directly

Und ab sofort gibt es mit Klick auf das Schlosssymbol einer Web-Site wieder den Eintrag „Certificate“:

Mit Klick auf Valid öffnet sich danach ein os-spezifisches Fenster mit Informationen zum Zertifikat:

Tags: , , , , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 5. Februar 2017

imapfilter wechselnde Zertifikats-Fingerabdrücke ignorieren lassen

imapfilter funktioniert bei mir wunderbar, um in meiner INBOX eintreffende Mails automatisiert in Unterordner zu verschieben.

Dann und wann bricht das per Cron aufgerufene Script seine Arbeit aber ab, weil das Zertifikat des Mail-Servers gewechselt wurde:

imapfilter: certificate mismatch in non-interactive mode

imapfilter muss in einem solchen Fall interaktiv gestartet und das neue Zertifikat permanent akzeptiert werden.

Wen dieses Verhalten stört und die eindeutige Identifikation seiner Gegenseite weniger wichtig ist als ein sauber durchlaufendes Script, fügt oben an seine imapfilter-Regeln folgende Zeile ein:

...
options.certificates = false
...

Quelle: Ignore certificate fingerprint mismatch

Ich habe das bei mir nur für ein kaum genutztes Gmail-Konto aktiviert.

Das Problem könnte mit den hier geschilderten zwei gleichzeitig aktiven, unterschiedlichen Gmail-Zertifikaten zusammenhängen.

Tags: , , , , ,
Labels: Linux

1 Kommentar | neuen Kommentar verfassen

Mittwoch, 21. September 2016

Irrtümlich gelöschte Google Kalender-Einträge wiederherstellen

Das geht ganz einfach: Auf der Web-Oberfläche klickt man auf den Pfeil-Button, um ein Dropdown mit den Eigenschaften des Kalenders anzuzeigen:

google-kalender-eigenschaften

Dort klickt man auf „Papierkorb ansehen“ und erhält eine Liste der in den letzten 30 Tagen gelöschten Einträge:

google-kalender-papierkorb

Einzelne Einträge kann man mit Klick auf die Checkbox links und dem Button „Ausgewählte Termine wiederherstellen“ am Ende der Liste wiederherstellen.

Tags: , , , , , ,
Labels: IT

3 Kommentare | neuen Kommentar verfassen

Freitag, 12. August 2016

Nicht alle Google-Kalender werden in Calendar.app auf iOS angezeigt

In solchen Fällen lohnt es sich, mit dem Browser als erstes folgende URL aufzurufen:

calendar.google.com/calendar/iphoneselect

Dort überprüft man, ob man den gewünschten Kalender tatsächlich zur Synchronisation mit iOS-Geräten (iPhone oder iPad) ausgewählt hat.

Quelle: HOW TO SYNC MULTIPLE GOOGLE CALENDARS TO YOUR IPHONE OR IPAD

Tags: , , , , , , ,
Labels: Apple

11 Kommentare | neuen Kommentar verfassen

Sonntag, 22. Mai 2016

Wo speichert Apple iCloud-Daten?

In der Branche ein offenes Geheimnis:

iCloud Photos googleapis

Derzeit greift Apple auf einen Mix von Amazon, Microsoft Azure sowie Googles Cloud zurück, um seine Internet-Dienste zur Verfügung zu stellen. Obiger Screenshot einer Meldung der Firewall Little Snitch belegt dies.

Tags: , , , ,
Labels: Apple

Keine Kommentare | neuen Kommentar verfassen

Donnerstag, 30. April 2015

Google Updater unter OS X effektiv abwürgen

Um den Google Updater unter OS X effektiv und permanent abzuwürgen, empfiehlt sich folgendes Vorgehen:

$ cd ~/Library/LaunchAgents
$ chmod 0 com.google.keystone.agent.plist

Quelle: MacBook Pro keeps freezing, could Google Update be the cause?

Tags: , , , ,
Labels: Apple

Keine Kommentare | neuen Kommentar verfassen

Montag, 15. Dezember 2014

Googles 2-Step-Verification funktioniert nicht mehr

Heute morgen wurde ich von einem Angehörigen zu einem Supportfall gerufen: Er könne sich auf der Arbeit nicht mehr in sein Google-Konto einloggen, weil er die SMS mit den Zwei-Faktor-Codes aus unbekannten Gründen nicht mehr auf das Telefon zugesendet erhielt.

Googles Zwei-Faktor-Authentifizierung hatte ich ihm vor einigen Wochen eingeschaltet, nachdem gerade wieder Horror-Stories mit gekaperten Gmail- und Apple-Konten die Runden machten.

Es folgte ein halbstündiger Versuch von Fernsupport per iMessage, der mich fast zur Verzweiflung brachte: Als erstes erörtete ich die Möglichkeiten, dem Hilferufenden den SMS-Code über einen anderen Weg zu übermitteln — ein automatisierter Telefonanruf anstelle des SMS-Codes scheint für Schweizer Mobilfunknummern nicht angeboten zu werden. Die Option, 3 bis 5 Arbeitstage auf eine Rücksetzung des Kontos zu warten schlug ich ebenfalls aus.

Ich wendete mich deshalb dem Mobiltelefon zu: Wieso zum Teufel erhielt es die SMS nicht zugestellt? Die SIM-Karte stammt von Coop Mobile mit Prix Garantie, d.h. der Pre-Paid-Option. Coop Mobile ist ein MVNO, welcher über das Mobilfunknetz von Orange operiert. Ich weiss von bei mir eingerichteten Kalender-Alarmen, dass Google SMS aus dem Vereinigten Königreich versendet. Könnte es sein, dass Google die SMS derart krude oder illegal versendet, dass sie von Coop Mobile geblockt werden?

Google-Recherchen förderten ein älteres Problem mit einem rumänischen Mobilfunkanbieter zu Tage, bezüglich Coop Mobile/Orange fand ich aber keinen einzigen Beitrag.

Oder war die SMSC (SMS-Center-Konfiguration) des Handys etwa am Arsch?

Als erstes googelte ich nach Möglichkeiten, die SMSC-Konfiguration des iPhones anzuzeigen. Ich stiess dabei auf den Knowledgebase-Artikel Change or add the SMSC number to apple iPhone, welcher dem interessierten Frickler folgenden Code anbot:

*#5005*7672#

Ich probierte den Code auf meinem Gerät aus, erstellte Screenshots und versendete diese per iMessage an den Hilfesuchenden. Ich forderte meinen Angehörigen auf, diese Nummer einzugeben und anrufen. Als Antwort erschien auf dessen Display:

Abfrage der Einstellung fehlgeschlagen. Für Dienstcenter

Er fragte mich daraufhin, ob „mobile netz“ eingeschalten sein müsste. Ich klarifizierte, dass Mobile Daten für den Empfang und Versand von SMS nicht benötigt würden. Doch diese Frage regte meine Gehirnwindungen an: „Wird oben links eigentlich Orange CH angezeigt?“ — „Nein, nur VPN“ — „Ja, schon klar, du bist auf der Arbeit, aber … links davon, steht da Orange CH?“ — „Nein, dort steht SIM gesperrt“.

Ich nahm deshalb mein iPhone zur Hand und rief auf dessen Nummer an. Und tatsächlich erhielt ich die Meldung: „Der Teilnehmer ist momentan nicht erreichbar“. Voilà, kein Wunder kommen keine SMS an!

Wie sich herausstellte hatte die Person letzte Woche iOS 8.1.2 auf seinem Gerät installiert. Nach dem Neustart des iPhones wurde er zwar aufgefordert, die SIM-Karte zu entsperren, da er den Code aber nicht zur Hand hatte, vernachlässigte er die Meldung. Da er offenbar selten Telefonanrufe und SMS-Nachrichten erhält und im heimischen Netzwerk und im WLAN auf der Arbeit iMessage und alle anderen Internetdienste funktionierten, wurde die Person nicht misstrauisch.

Diese Anekdote ist wieder einmal eine Mahnung an uns Generation Internet und Smartphone: Die mobilen Technologien bringen eine ungeheure Komplexität mit sich, welche die älteren Benutzer weiterhin stark überfordert. Wenn das nur gut ausgeht …

Tags: , , , , , , , ,
Labels: Leben

1 Kommentar | neuen Kommentar verfassen

Donnerstag, 13. November 2014

Google Maps in eigene Web-Site integrieren

Damit man Google Maps-Karten in die eigene Web-Site integrieren kann, benötigt man ein Google-Konto und Zugriff auf die Google Developers Console.

Dort findet man im Menupunkt APIs & Auth in der Unterrubrik APIs die „Google Maps Embed API“, welche man dort auch gleich für die Verwendung aktiviert.

Um Missbrauch zu verhindern, sollte man zudem im Menupunkt Credentials unter Public API Access einen API Key für die Google Maps Embed API erstellen und bei Referers dann die Domainnamen erfassen, von welchen die Requests für Kartendaten kommen dürfen (Referer lassen sich selbstverständlich fälschen, aber ich gehe davon aus, dass Google Gegenmassnahmen in seinen serverseitigen Embed-Code eingebaut hat).

Auf der eigenen Web-Site fügt man dann das iFrame beispielsweise folgendermassen ein:

<iframe
  width="850"
  height="550"
  frameborder="0"
  style="border:0"
  class="map"
  src="https://www.google.com/maps/embed/v1/place?key=%ApiKey%&q=Bern+Switzerland&zoom=10">
</iframe>

Quelle: Google Maps Embed API

Tags: , , , , , ,
Labels: Web

Keine Kommentare | neuen Kommentar verfassen