Schlagwort-Archive: OpenSSL Verschlüsselung

OpenSSL umfasst Implementierungen der Netzwerkprotokolle und verschiedener Verschlüsselungen sowie das Programm openssl für die Kommandozeile zum Beantragen,

Browser User Agent Einstellung ändern

Browser User Agent Änderung mit User Agent Switcher

Was ist ein User Agent?

Unter dem User Agent versteht man einen Teil des HTTP-Headers, der bei einem HTTP-Request übermittelt wird. Der User Agent übermittelt dem Server Informationen, diese umfassen meistens den verwendeten Browser und dessen Version sowie das Betriebssystem des Benutzers.

Wenn man den Eindruck erwecken möchte, dass die Web-Anfrage von einem anderen Browser stammt, als dass man tatsächlich einsetzt, ist dies möglich. Um beispielsweise über den Webserver einer Website mitzuteilen, mit welchen Browser man die Seite gerade öffnet. Bei der Entwicklung von Webseiten bietet sich damit eine hilfreiche Möglichkeit, die Kompatibilität der Webseite für unterschiedliche Browser zu überprüfen. Hierzu verfügen alle gängigen Browser über ein integrierten User Agent Switcher, sodass man den User Agent ändern kann, ohne dass eine Erweiterung installiert werden muss.

Websites identifizieren Browser anhand des User Agent. Wenn man den Benutzeragenten eines Browsers ändert, wird der besuchten Website mitgeteilt, dass es sich um einen anderen Browser handelt. Auf diese Weise kann man Webseiten Testen, ob diese für unterschiedliche Browser oder sogar für verschiedene Geräte wie Smartphones und Tablets ausgelegt sind.

Google Chrome

Der User Agent Switcher von Chrome ist Teil der Entwicklertools. Öffne hierzu das Chrome Menü Einstellungen und gehe zu Weitere Tools und Entwicklertools, oder durch drücken der Tastenkombination Strg + Umschalt + I auf der Tastatur.

Die Option im Register Network conditions erreicht man über das Register Network und links das drei Punkte Menü.

Bei User agentSelect automatically deaktivieren und Custom wählen, in das Feld kann nun ein beliebiger String für den User Agent eingetragen werden, oder ein User Agent aus der Liste wählen.

Mozilla Firefox

Bei Mozilla Firefox befindet sich diese Option auf der about:config Seite.

Um auf die Seite zu kommen gibt man about:config in die Adresszeile von Firefox ein und drückt die Eingabetaste. Es wird eine Warnung angezeigt, Hier endet möglicherweise die Gewährleistung, mit klick auf ich bin mir der Gefahren bewusst! geht es weiter.

Hier gibt man general.useragent.override in das Suchfeld ein und drückt die Eingabetaste, dann String wählen und Rechts auf das Plus + klicken.

Zu dem neu erstellten Eintrag general.useragent.override als Wert ein String für den User Agent in das Feld einfügen.

Nach dem eintragen eines String-Wert für den gewünschten User Agent auf den Hacken klicken und den Browser neu starten.

  Der Standard User Agent String von Mozilla Firefox 79 bei Windows 10 ist wie folgt:

Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:79.0) Gecko/20100101 Firefox/79.0

Einige Beispiele für den User Agent String verschiedener Betriebssysteme (Betriebssystem : User Agent String):

Windows XP IE 8.0 : Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
Windows 7 IE 11.0 : Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
Windows 8.1 Chrome: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36
WinSrv 2012 IE 11 : Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko
WinSrv 2016 Chrome: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36
Windows 10 Firefox: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0
Windows 10 Chrome : Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36
Windows 10 Edge 42: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134
Fedora 30 Firefox : Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:66.0) Gecko/20100101 Firefox/66.0
Fedora 30 Chrome  : Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36
Ubuntu Bionic Lynx: Lynx/2.8.9rel.1 libwww-FM/2.14 SSL-MM/1.4.1 OpenSSL/1.1.1b
CentOS (Core) Lynx: Lynx/2.8.8dev.15 libwww-FM/2.14 SSL-MM/1.4.1 OpenSSL/1.0.1e-fips    
Android 8.0 Chrome: Mozilla/5.0 (Linux; Android 8.0.0; SM-G930F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.136 Mobile Safari/537.36
iPhone iOS 12.1   : Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605,1.15 (KHTML, like Gecko) Version/12.1 Mobile/15E148 Safari/605.1
Linux Mint Firefox: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:66.0) Gecko/20100101 Firefox/66.0
Linux Mint Chrome : Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36
Raspberry Chromium: Mozilla/5.0 (X11; Linux armv7l) AppleWebKit/537.36 (KHTML, like Gecko) Raspbian Chromium/65.0.3325.181 Chrome/65.0.3325.181 Safari/537.36

Um nun den User Agent seines Browser zu verifizieren, zeigt dies die Abfrage hier.

Mit xrdp Remote-desktop auf Linux

XRDP Installation für Ubuntu

XRDP auf Linux für Windows Remotedesktop Clients

Mit xrdp können Windows-Benutzer genauso einfach auf Linux-Systeme grafisch zugreifen wie auf andere Windows-Maschinen, und zwar am besten noch mit ein und derselben Anwendung. mit mstsc.exe, dem Windows Remotedesktop Client.

Bei xrdp handelt es sich um eine Open-Source-Implementierung des Remote-Desktop-Protokolls, das die Windows Terminal Services (RDS) verwenden, um sich mit Windows-Desktops zu verbinden. Das xrdp-Paket bringt das RDP-Protokoll auf den Linux-Rechner, indem es einen X-Server bereitstellt, der Verbindungen vom Windows-Terminalserver-Clients (mstsc) akzeptiert.

Nachdem sich der Anwender verbunden und authentifiziert hat, erhält er auf dem Windows Computer einen virtuellen X11-Desktop. Der Vorteil an der xRDP-Lösung ist, dass es keinen X-Server auf dem Windows-Rechner erfordert, und das kein zusätzlicher Client benötigt wird, wie beispielsweise der VNC Viewer.

Der xrdp-Server kann mit den Packet-Manager apt-get und yum oder dnf für die entsprechenden Linux Distribution aufgesetzt werden. sudo apt-get install xrdp

Dies sind die Schritte zur Installation von xrdp aus dem Git Repository von neutrinolabs. Der Build Prozess hier beschrieben auf Ubuntu 17.10 (Artful Aardvark).

INSTALLATION

Erst wird das Linux-System vorbereitet, hier ist es Ubuntu Mate 17.10, es werden die Abhängigkeiten installiert: (alles auf einer Zeile)

sudo apt-get install -y git autoconf libtool pkg-config gcc g++ make libssl-dev libpam0g-dev libjpeg-dev libx11-dev libxfixes-dev libxrandr-dev flex bison libxml2-dev intltool xsltproc xutils-dev python-libxml2 g++ xutils libfuse-dev libmp3lame-dev nasm libpixman-1-dev xserver-xorg-dev

Die Source-Pakete aus den Github Quellen holen:

BD=`pwd`
mkdir -p "${BD}"/git/xrdpbuild
cd "${BD}"/git/xrdpbuild
wget https://github.com/neutrinolabs/xrdp/releases/download/v0.9.5/xrdp-0.9.5.tar.gz
wget https://github.com/neutrinolabs/xorgxrdp/releases/download/v0.2.5/xorgxrdp-0.2.5.tar.gz

Erzeugen und installieren der xrdp-Server Binaries:

cd "${BD}"/git/xrdpbuild
tar xvfz xrdp-0.9.5.tar.gz
cd "${BD}"/git/xrdpbuild/xrdp-0.9.5
./bootstrap
./configure --enable-fuse --enable-mp3lame --enable-pixman
make
sudo make install
sudo ln -s /usr/local/sbin/xrdp{,-sesman} /usr/sbin

Erstellen und installieren von xorgxrdp:

cd "${BD}"/git/xrdpbuild
tar xvfz xorgxrdp-0.2.5.tar.gz
cd "${BD}"/git/xrdpbuild/xorgxrdp-0.2.5
./bootstrap
./configure
make
sudo make install

Den Daemon xrdp-Server starten:

sudo systemctl enable xrdp
sudo service xrdp start

Ebenso kann xrdp aus dem Github Source installieren werden. Build mit Git clone:

git clone --recursive https://github.com/neutrinolabs/xrdp
cd xrdp
./bootstrap
./configure
make
sudo make install

Die Konfiguration kann ggf. angepasst werden:

sudo vi /etc/xrdp/xrdp.ini
sudo vi /etc/xrdp/sesman.ini

Die Remotedesktop Verbindung zum Linux xrdp-Server kann nun aufgebaut werden:

ANHANG

Da Xorg X11 nicht mehr als root gestartet wird, den X11/Xwrapper von console auf anybody wechseln.

sudo sed -i 's/allowed_users=console/allowed_users=anybody/' /etc/X11/Xwrapper.config

Dies kann auch mit dem dpkg Console-UI bewerkstelligt werden.

sudo dpkg-reconfigure xserver-xorg-legacy

Möchte man eine andere Desktop Umgebung, kann der Session-Manager gewechselt werden. Hier die X11 Konfiguration für die Mate Desktop Umgebung.

echo mate-session> ~/.Xclients
chmod +x ~/.Xclients
systemctl restart xrdp.service

Zurvor muss die alternative Desktop Umgebung installiert werden, hier bei fedora.

dnf install @mate-desktop

TROUBLESHOOTING

Beim Troubleshooting können die Log-Protokolle geöffnet werden:

sudo tail -f /var/log/xrdp.log -f /var/log/xrdp-sesman.log
systemctl status xrdp.service -l
journalctl -xe

Bei Abbruch oder einfrieren der RDP Session, kann allow_channels=true auf false gesetzt werden.

sudo sed -i 's/allow_channels=true/allow_channels=false/' /etc/xrdp/xrdp.ini
service xrdp restart

Zu Testzwecke kann SELinux deaktiviert werden.

sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
/usr/sbin/getenforce

Falls die Firewall den RDP Port verwirft muss der port für RDP zugelassen werden.

firewall-cmd --permanent --zone=public --add-port=3389/tcp
firewall-cmd --reload

Firewall soll RDP Ports durchlassen.

sudo ufw allow 3398
sudo ufw allow 5901

Erscheint nach der Anmeldung ein schwarzer Bildschirm gefolgt mit Error Meldung:

connection to sesman ip 127.0.0.1 port 3350
sesman connect ok
sending login info to session manager, please wait...
login successful for display 11
VNC started connecting
VNC connecting to 127.0.0.1 5911
VNC error - problem connecting
some problem

Hilft das anlegen eines neuen Benutzers, anschließend mit diesem über RDP anmelden.

useradd newuser
passwd secret

Das erzeugen eines neuen Zertifikates kann ebenfalls nützlich sein.

cd /etc/xrdp
openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 365

Hinweis: Als Common Name der aktuell gültige hostname verwenden.

Das Zertifikat in der xrdp Konfiguration /etc/xrdp/xrdp.ini aktivieren.

security_layer=negotiate
crypt_level=high
certificate=cert.pem
key_file=key.pem
ssl_protocols=TLSv1, TLSv1.1, TLSv1.2

Quellen Link: github.com/neutrinolabs/xrdp/