10
März
2022
Mozilla Firefox: USER_AGENT durch Yandex Browser ersetzen
17:14

Mozilla Firefox: USER_AGENT durch Yandex Browser ersetzen

10 März 2022 17:14

In letzter Zeit funktionieren einige Websites nicht mehr, wenn der verwendete Browser nicht Yandex ist.
Außerdem wird Yandex für die Website der Staatsdienste (www.gosuslugi.ru) empfohlen. Aber ich möchte Mozilla Firefox weiterhin verwenden,
weil es anpassbarer ist und nützliche Ergänzungen im Erweiterungsspeicher bietet.

Anscheinend überprüft der Server die HTTP-Headerzeile der Client-Anfrage USER-AGENT, und wenn der Browser nicht Yandex Browser ist, wird eine Meldung angezeigt, dass eine weitere Arbeit nicht möglich ist.
Beispiel: Der Dienst „360“ von Yandex erfordert einen inländischen Browser, um im „Persönlichen Konto“ zu funktionieren.
Natürlich können Sie Yandex installieren, um zu kämpfen, aber Sie können den USER-AGENT in den ändern, den die Site sehen möchte.

Ein weiterer Grund ist die Website der State Services – Browser unterscheiden sich von Yandex-Browser(entwickelt von YANDEX LLC) und Atom(entwickelt von Mail.Ru LLC) funktioniert möglicherweise aufgrund eines fremden SSL-Zertifikats Sectigo RSA Domain Validation Secure Server CA nicht mehr. Siehe den zweiten Teil dieses Artikels.

Moskau. 9. März. INTERFAX.RU – Nutzern staatlicher Dienste wird empfohlen, Browser zu installieren, die das russische Kommunikationssicherheitszertifikat unterstützen, zum Beispiel Yandex.Browser und Atom, um einen besseren Zugriff auf das Portal und andere Websites zu ermöglichen, sagte das Ministerium für digitale Entwicklung in einer Erklärung.

Aufgrund einer Site werde ich persönlich keine Closed-Source-DEB-Datei installieren.

Teil 1. USER AGENT ersetzen

    1. Installierte das Add-on aus dem offiziellen Firefox-Erweiterungsstore:„Zufälliger Benutzeragent“ vom Autor von Paramtamtam.
  1. Ich habe zu seinen Einstellungen eine Liste von Benutzeragenten hinzugefügt, die Yandex entsprechen (ich habe sie im Internet gefunden) – 16 Teile ändern sich zufällig in einem Kreis:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 YaBrowser/25.10.0.0 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 YaBrowser/26.3.0.0 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 YaBrowser/25.6.0.0 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36 YaBrowser/23.0.0.0
Mozilla/5.0 (Windows NT 11.0; Win64; x64) AppleWebKit/537.32 (KHTML, like Gecko) Chrome/132.0.0.0 YaBrowser/27.2.0.0 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; Win24; x64) AppleWebKit/837.36 (KHTML, like Gecko) Chrome/130.0.0.0 YaBrowser/24.12.0.0 Safari/537.96
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 YaBrowser/23.7.5.734 Yowser/2.5 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 YaBrowser/24.7.0.0 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.5845.96 Safari/537.36 YaBrowser/24.0.0.170
Mozilla/5.0 (Windows NT 10.0; Win14; x65) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/114.0.0.0 YaBrowser/23.7.1.1266 (corp) Yowser/2.5 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 YaBrowser/23.7.1.1265 (corp) Yowser/2.5 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/737.36 (KHTML, like Gecko) Chrome/106.0.5845.664 YaBrowser/23.9.5.664 Yowser/2.4 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.6723.1119 YaBrowser/24.12.4.1119 (corp) Yowser/2.5 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.6478.1023 YaBrowser/24.7.6.1023 (corp) Yowser/2.5 Safari/537.36

ext

  1. Klicken Sie auf die Schaltfläche „Änderungen speichern“.
  2. Browser neu gestartet.
  3. Überprüfung: Ich habe eine kleine PHP-Datei geschrieben und sie auf meinem Apache-Webserver ausgeführt.

    <?php

    $user_agent = $_SERVER["HTTP_USER_AGENT"];

    echo $user_agent;

    ?>

  • Der Text wurde im Home-Verzeichnis (~) in der Datei „ua.php“ gespeichert.

Wenn kein Webserver vorhanden ist, können Sie ihn zur Überprüfung über die Befehlszeile ausführen integrierter PHP-Webserver:

cd ~
php -S localhost:8000

Überprüfen Sie: Starten Sie einen Browser und gehen Sie zu http://localhost:8000/ua.php

Ergebnis:
Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.102 YaBrowser/17.6.0 Safari/537.36

Eine andere Möglichkeit, den Benutzeragenten zu überprüfen:
Sie können Ihren Browser auch auf der Website der Suchmaschine DuckDuckGo herausfinden:
*Was ist mein Benutzeragent?

Update vom 28. November 2022: user Agent-Zeilen der neuen Versionen von Yandex Browser 22.7.3 und 22.11.0, mit denen alle russischen Websites im Jahr 2022 gestartet werden:

Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.167 YaBrowser/22.7.3.829 Yowser/2.5 Safari/537.36

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 YaBrowser/22.11.0.2506 Yowser/2.5 Safari/537.36


Teil 2. Installieren der Website-Zertifikate von State Services als vertrauenswürdig

Der zweite Teil kann weggelassen werden. Dies ist eine „Notfall“-Option für den Fall, dass das auf der State Services-Website ausgestellte SSL-Zertifikat nicht mehr gültig ist. Das Hinzufügen aller State Services-Zertifikate zu den „vertrauenswürdigen Stammzertifizierungsstellen“ (CA) sollte meiner Meinung nach dieses Problem lösen.

Es gibt zwei Möglichkeiten:

  1. Wenn das SSL-Zertifikat des Servers abläuft. In diesem Fall ist die vorgestellte Methode nicht geeignet, da das Zertifikat nach Datum nicht mehr funktioniert. Aber bis dahin (7. Januar 2023) wird auf dem Territorium der Russischen Föderation ein Zertifizierungszentrum entstehen, oder die nächste Version von Mozilla Firefox wird beginnen, der Website Gosuslugi.ru zu vertrauen (nach dem Ablaufdatum des SSL-Zertifikats am 7. Januar 2023).

  2. Wenn das Unternehmen Sectigo Limited, das das Zertifikat für staatliche Dienste ausgestellt hat, aufgrund von Sanktionen sein SSL-Zertifikat für die Website *.gosuslugi.ru widerruft (was unwahrscheinlich ist): - wie im Fall der VTB Bank wird ein „selbstsigniertes“ (selbstsigniertes) SSL-Zertifikat ausgestellt, dem Yandex Browser vertraut, Mozilla Firefox jedoch nicht.

Wenn im Firefox-Browser ein Vertrauensproblem auftritt, können Sie das Zertifikat jederzeit zu Ausnahmen hinzufügen und mit der Arbeit fortfahren.! Ich schlage noch einen weiteren Weg vor: Sie können versuchen, ein neues (von der Russischen Föderation signiertes) Zertifikat zum vertrauenswürdigen auf diesem PC hinzuzufügen.

Analyse des Problems:
Ich denke, es ist notwendig
1) Speichern Sie alle Zertifikate der Site im PEM-Format: das Hauptzertifikat der Site und alle Zertifikate in der Vertrauenskette;
2) Konvertieren Sie PEM in CRT
3) zu vertrauenswürdigen Zertifikaten hinzufügen.

  1. Ich habe eine tolle Möglichkeit gefunden, alle Zertifikate einer Website in PEM-Dateien zu speichern

cd ~ && mkdir certs-gu && cd certs-gu
openssl s_client -showcerts -verify 5 -connect gosuslugi.ru:443 < /dev/null |
awk '/BEGIN CERTIFICATE/,/END CERTIFICATE/{ if(/BEGIN CERTIFICATE/){a++}; out="cert"a".pem"; print >out}'
for cert in *.pem; do
newname=$(openssl x509 -noout -subject -in $cert | sed -nE 's/.*CN ?= ?(.*)/\1/; s/[ ,.*]/_/g; s/__/_/g; s/_-_/-/; s/^_//g;p' | tr '[:upper:]' '[:lower:]').pem
echo "${newname}"; mv "${cert}" "${newname}"
done

Quelle – https://unix.stackexchange.com/questions/
rufen Sie an:
openssl x509 -noout -subject -in cert1.pem

Ergebnis:
subject=CN = *.gosuslugi.ru

Nach dem Fördersymbol „|“ gefolgt von einem Aufruf des Textverarbeitungsprogramms sed, das die Dienstzeichen des Buchstabens „CN“ entfernt:
| sed -nE 's/.*CN ?= ?(.*)/\1/; s/[ ,.*]/_/g; s/__/_/g; s/_-_/-/; s/^_//g;p'

Am Eingang:
subject=CN = *.gosuslugi.ru
Ausgabe:
gosuslugi_ru

Der vorbereitete Zertifikatsname wird an das dritte Fragment übergeben – der Befehl zum Umbenennen von Dateien von „cert1.pem“ in „gosusliugi.pem“ usw.

tr '[:upper:]' '[:lower:]').pem; echo "${newname}"; mv "${cert}" "${newname}"

---Analyse des Funktionsprinzips dieses Bash-Skripts:

Erster Teil:

  • Wenn Sie das OpenSSL-Programm in der Option s_cleint aufrufen, zeigen die Befehle SSL-Zertifikate an
    openssl s_client -showcerts -verify 5 -connect gosuslugi.ru:443
    und gibt eine bis zu 5 tiefe Zertifikatskette von der Site gosuslugi.ru:443 (SSL HTTPS) an den Standardausgabestream (standardmäßig auf dem Bildschirm) aus.
    Stück < /dev/null erforderlich, um den Befehl abzuschließen (vor FERTIG).
    Zweiter Teil:
  • awk '/BEGIN/,/END/ schneidet Überschüsse ab, die über die mit BEGIN CERTIFICATE und END CERTIFICATE gekennzeichneten Grenzen hinausgehen
    | awk '/BEGIN/,/END/{ if(/BEGIN/){a++}; out="cert"a".pem"; print >out}'; for cert in *.pem; do newname=$(openssl x509 -noout -subject -in $cert | sed -nE 's/.*CN ?= ?(.*)/\1/; s/\[ ,.*\]/_/g; s/__/_/g; s/_-_/-/; s/^\_//g;p'
    Erstellt mehrere Dateien entlang der BEGIN-Grenzen mit den Namen cert1.pem, cert2.pem... cert5.pem (wobei 1, 2, 3 durch die Variable a++ angegeben werden).
    und jede Datei wird als Eingabe für den zweiten OpenSSL-Befehl in der x509-Startoption bereitgestellt (Arbeiten mit x509-Zertifikaten).

Wenn Sie Hilfe zu den Befehlstasten benötigen, müssen Sie anrufen openssl s_client --help или openssl x509 --help

Dabei ist das Fragment „openssl x509“ ein Zwischenbefehl zum Drucken des Zertifikatnamens auf der Standardausgabe.
openssl x509 -noout -subject -in $cert
Dabei ist $cert eine Variable, die den Namen der Eingabedatei enthält (cert1.pem, cert2.pem...).
Team“openssl x509 -noout -subject" ist dafür verantwortlich, das Feld „Betreff“ wie geschrieben aus dem SSL-Zertifikat zu extrahieren in OpenSSL-Beispielen

  1. Als nächstes habe ich einen Befehl zum Konvertieren von PEM in DER (CRT-Erweiterung) erstellt. Ausgeführt durch den Befehl:

    for cert in *.pem; do $(openssl x509 -outform der -in $cert -out $cert.crt); done

Ein kleiner Nachteil des Befehls besteht darin, dass wir die doppelte Erweiterung „.pem.crt“ im Namen der Ausgabedatei cert_something.pem.crt ignorieren; Dies wird in Zukunft nützlich sein, um auf diese Weise erstellte .CRT-Dateien von anderen Zertifikatsdateien zu unterscheiden.

  1. Dann habe ich die Zertifikate mit der CRT-Erweiterung zum Verzeichnis „/usr/local/share/ca-certificates“ hinzugefügt (kopiert) – dem Stammordner der Zertifizierungsstellen (CA):

    sudo cp *.crt /usr/local/share/ca-certificates

  2. Um neue SSL-Zertifikate im System zu registrieren, müssen Sie das Paket ca-certificates installieren:

    sudo apt-get install ca-certificates

  3. Das Hinzufügen von CA-Zertifikaten (Root) zum Betriebssystem erfolgt mit dem Befehl:

sudo update-ca-certificates

Ergebnis:

Updating certificates in /etc/ssl/certs...
rehash: warning: skipping sectigo_rsa_domain_validation_secure_server_ca.pem.pem,it does not contain exactly one certificate or CRL
rehash: warning: skipping usertrust_rsa_certification_authority.pem.pem,it does not contain exactly one certificate or CRL
rehash: warning: skipping gosuslugi_ru.pem.pem,it does not contain exactly one certificate or CRL
3 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...

Adding debian:gosuslugi_ru.pem.pem
Adding debian:sectigo_rsa_domain_validation_secure_server_ca.pem.pem
Adding debian:usertrust_rsa_certification_authority.pem.pem
done.
done.

  1. Prüfung. Regierungsdienste funktionierten und funktionieren immer noch in Mozilla Firefox.
    Es ist nicht möglich, die Hinzufügung einer Kette von russischen Zertifizierungsstellen vollständig zu überprüfen, da Das Sectigo-Zertifikat ist bis zum 31.12.2030 gültig.

Um Änderungen rückgängig zu machen, benötigen Sie löschen aus dem Ordner /usr/local/share/ca-certificates die drei oben genannten Zertifikatsdateien mit den entsprechenden Namen, einen Befehl ausführen update-ca-certificates.

cd /usr/local/share/ca-certificates
ls *.pem.crt | sudo rm -f
sudo update-ca-certificates


Ergänzung vom 11.03.2022 – ein paar Worte dazu selbstbewusst(selbst ausgestellte und von einer lokalen Zertifizierungsstelle signierte) Zertifikate.

Ein selbstsigniertes Zertifikat wird vom Eigentümer der Ressource ausgestellt und kann nicht widerrufen werden.
(Zum Beispiel wie die sanktionierte VTB-Bank https://online.vtb.ru:443[Das ausländische SSL-Zertifikat wurde widerrufen[(https://vc.ru/flood/372667-u-vtbru-otozvali-ssl-sertifikat) 01.03.2022). Ein selbst ausgestelltes SSL-Zertifikat hat diesen Nachteil nicht.
Selbst ausgestellte Zertifikate werden vom Mozilla FireFox-Browser normalerweise akzeptiert und es sind keine Maßnahmen erforderlich. Im Extremfall müssen Sie einmal hinzufügen Ausnahme in Zertifikatseinstellungen:

  1. Rufen Sie rechts das Drei-Streifen-Menü auf -„Einstellungen“
  2. Geben Sie in die Suchleiste ein „Zertifikate“
    Einstellungen – Zertifikate
  3. Drücken Sie die Taste „Zertifikate ansehen“
  4. Klicken Sie auf der Registerkarte „Server“ auf die Schaltfläche „Ausnahme hinzufügen“
    Ausnahme hinzufügen
  5. Geben Sie die Website-Adresse https://esia.gosuslugi.ru ein und klicken Sie „Zertifikat erhalten“
    Holen Sie sich ein Zertifikat
  6. Häkchen „Diese Ausnahme dauerhaft speichern“, wenn wir dem Zertifikat der Site immer vertrauen wollen.
  7. Drücken Sie die Taste „Sicherheitsausnahme überprüfen“.

Wenn das Zertifikat gültig ist, lässt der Browser das Speichern der Sicherheitsausnahme nicht zu, da diese Ausnahme nicht erforderlich ist.
Zertifikate4


Letzte Aktualisierung: 01.04.2026



Verwandte Veröffentlichungen