IoT-Geräte

Jedes in betrieb genommene IoT-Gerät wie IP-Kamera, smarte Stecker oder Leuchten etc. sollten von seinen Standard-Passwörtern befreit werden. Ändert soweit es geht Benutzernamen und Passwort für den Zugang zum Gerät.

Aktiviert,wenn möglich eine sichere Webverbindung über https und sichert den Webzugriff auf das Gerät per Passwort ab.

Aktualisiert, wenn möglich die Firmware regelmäßig.

Wenn nicht erforderlich, sperrt dem Gerät den Weg zum Internet.

Befreit IoT-Geräte von der fremden Cloud. Dies ist sicherer auch wenn man unter Umständen dann nicht mehr über alle Funktionen wie vom Hersteller vorgesehen verfügen kann.

 

interessante Links

Sicherheit-News

https://helpx.adobe.com/security.html

https://support.microsoft.com/de-de/help/4529964/windows-10-update-history

Smart Home

https://blakadder.github.io/templates/index.html

Editoren

https://github.com/cybertechniques/site/blob/master/analysis_tools/cff-explorer/index.md

https://notepad-plus-plus.org/downloads/

http://brackets.io/

Lernplattformen

https://www.basisbox.de

https://support.office.com/de-de/article/einrichten-ihres-kleinunternehmens-6ab4bbcd-79cf-4000-a0bd-d42ce4d12816?ui=de-DE&rs=de-DE&ad=DE

https://support.office.com/office-training-center?redirectSourcePath=%252farticle%252fb8f02f81-ec85-4493-a39b-4c48e6bc4bfb

Microsoft Office

https://getonetastic.com/download -> geniales Erweiterung-Tool für OneNote PC-Version

Tasmota Flash Convert

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5,00 out of 5)
Loading... 467 views

Tags

Gosund SP111/ NICE2 / Blitzwolf BW-SHP6 / Bseed WLan-Steckdose / Bseed WLan-Lichtschalter / NOUS A5T Steckdosenleiste / NOUS A1T Stecker

Vorwort

Von Gosund (Nachfolger NICE2) und Blitzwolf gibt es recht kleine Smart-Steckdosen, die man ohne Einbußen nebeneinander in eine Steckdosenleiste stecken kann.

Der Nachfolger NICE2 ist aufgebaut wie der Gosund SP111 kann aber keine Leistungsmessung für angeschlossene Geräte durchführen.

Der neue Nachfolger Gosund SP111 (EP2) lässt sich nicht mehr flashen!

Die Bseed Lichtschalter und Steckdosen hatten mich interessiert, weil diese auch als doppel- oder mehrfach-Rahmen bestellbar sind. So kann man z.B. in einem dreier-Rahmen den Lichtschalter, USB-Ladestation und eine Steckdose unterbringen. Von Bseed gibt es die Steckdosen und die (auch als Mehrwege)-Lichtschalter mit WLAN Unterstützung zum Einbinden in Alexa und Co.

Wie fast jeder dieser Smarten IoT-Geräte kommen diese mit einer eigenen Cloud und funktionieren auch nur, wenn man sich beim Anbieter einen Account anlegt und die smarten Geräte in das Internet lässt.

Wer, wie ich, die smarten Geräte in einem eigenen WLan hängen hat, der stellt schnelle fest, dass es leider nicht immer ausreicht, wenn die smarten Geräte nur Port 80/443 nutzen dürfen. In meinem Fall war es, dass Alexa mit dieser Portbeschränkung keine Gosund-Stecker gefunden hat. Über die Anbieter-App konnte ich (Internetverbindung vorausgesetzt) die smarten Geräte verwalten.

Auch die Einbindung an die Cloud bei Bseed und „SmartLife“-App funktioniert nicht, wenn nur Port 80/443 Richtung WAN offen sind.

Sprich ohne Anbieter-Cloud und funktionsfähiger Internetverbindung kann man die smarten Geräte nur  noch manuell direkt am Gerät ein/ausschalten.

Die Lösung?!

Einige smarte Geräte lassen sich flashen, das heißt es lässt sich eine andere Firmware (Betriebssystem) auf das Gerät installieren. Mit einer solchen neuen Firmware kann man die smarten Geräte von der Anbieter-Cloud entkoppeln. Es kann aber passieren, dass man danach wenigere Funktionen zur Verfügung hat, welche mit original Firmware noch möglich waren. Aber dafür funktioniert das ein/aus schalten dann auch im reinen Heimnetz ohne das die smarten Geräte ins Internet müssen und Alexa findet die Geräte für die Sprachsteuerung.

Flashen von Gosund SP111 / Blitzwolf BW-SHP6

Hierfür gibt es zum Stand des Beitrags zwei Varianten. Flashen direkt am Gerät mit PC oder Arduino oder über WLan mit einem Raspberry Pi der selber über Wlan verfügt. Ab Raspberry Pi3 ist LAN als auch WLan bereits im Gerät verfügbar.

Flashen mit einem Raspberry Pi

Neben dem Pi benötigt Ihr noch ein WLan-fähiges Gerät PC oder Smartphone, um später zum einem sich mit dem vTrust-WLan verbinden zu können und zum anderen, um sich auf den geflashten Stecker auf desses Weboberfläche einloggen zu können.

Ich habe in meiner Umgebung einen Rspberry Pi 4 mit internem WLan genutzt. Der Pi wird primäre über das Lan versorgt und betrieben, da wir später das WLan für den Flash-Access-Point benötigen. Den Pi habe ich mit einem aktuellen Image frisch in Betrieb genommen (2019-09-26-raspbian-buster-lite) und SSH aktiviert 😉

Nachdem ich nun über SSH auf dem Pi war, habe ich das Betriebssystem erstmal auf den aktuellsten Stand gebracht:

sudo apt-get update
sudo apt-get upgrade

Um danach das Repository klonen zu können, musste ich zuvor „git“ installieren

apt-get install git

Danach konnte ich mit folgenden Befehl das Repository clonen, installieren und starten:

git clone https://github.com/ct-Open-Source/tuya-convert
cd tuya-convert
sudo ./install_prereq.sh
sudo ./start_flash.sh

Für spätere Verwendung des Pi’s muss man nachdem einloggen sich nur in das tuya-Verzeichnis begeben und die Flash-Prozedur starten:

cd tuya-convert
sudo ./start_flash.sh

Nach dem Ausführen von „start_flash.sh“ und den mit „y“ zu bestätigenden zwei Fragen, sollte sich ein neues WLan mit dem Namen „vtrust-flash“ in der Nähe befinden. Es ist wichtig, dass man sich mit irgendeinem anderen Wlan-Gerät mit diesem WLan verbindet. Ich habe hierfür mein iPhone benutzt. Aber ein PC optimaler weise mit einem externen WLAN-Stick wäre besser, da man später diesen auch nutzen kann, um den Stecker zu konfigurieren. Das Eintragen der WLan-Daten geht mit Copy/Paste am PC deutlich einfacher 😉

Mit dem iPhone konnte ich mich nun mit dem „vtrust-flash“-Wlan verbinden und bekam eine Seite mit wenig Text angezeigt. Dies ähnelt sehr dem Prozedere, wenn man sich in ein öffentliches Wlan einwählt und die Nutzungsbedingungen bestätigen muss. Damit ich aber wirklich mich mit dem Wlan verbinden konnte, musste ich bei der Seiten auf Abbrechen gehen und die Option auswählen „ohne Internet verwenden“. Erst jetzt war oben links zu sehen, dass sich das iPhone im WLan befindet.

Normalerweise wurde ich bei den ersten Versuchen nicht nach einem WLan-Passwort gefragt. Aber es kam dennoch mal vor und ich verwendete dies als Passwort für „vtrust-flash“ -> flashmeifyoucan

Bei einigen Versuchen neue Stecker zu flashen ohne den Pi neuzustarten, aber neu starten der Scripte habe ich Probleme beim Verbinden mit dem „vtrust-flash“ WLan gehabt. Dies kann aber eventuell auf Apple/ iPhone zurückzuführen sein. Ich habe dann den Pi einfach neugestartet und vor dem Neustarten des Scripts geschaut, dass mein iPhone kein „vtrust-flsh“ WLan gefunden hat.

Erst jetzt steckt Ihr Eurer smartes Gerat wie den Gosund-Stecker in eine Steckdose in der Nähe und sorgt dafür, dass dieser permanent schnell blinkt. Meist muss man hierfür den ein/aus-Schalter etwas länger gedrückt lassen. Am Pi starten Ihr nun den Vorgang durch drücken von „Enter“. Es ist wichtig, dass das interne WLan vom Pi mit keinem Netz verbunden ist, da sonst der zu erstellende AccessPoint nicht korrekt funktioniert! Ich empfehle auch immer nur einen Stecker nach und nach zu flashen und nicht bereits alle Stecker gleichzeitig!

===============

Starting smart config

...

SmartConfig complete.

Resending SmartConfig Packets

...

IoT-device is online with ip 10.42.42.42

Fetching firmware backup

...

curl: Saved to filename 'firmware-dbd806.bin'

Getting Info from IoT-device

...

Ready to Flsh third party firmware!

...

Available options:

0) return to stock

1) flash espurna.bin

2) flash tasmota.bin

q) quit

...

Attempting to flash

..

HAVE FUN!

===============

Nach dem scheinbar erfolgreichen Flash fand ich nun ein neues WLan „Tasmota-xxx“ mit dem habe ich mich verbunden und konnte über „192.168.4.1“ die WLan’s eingeben. Hier habe ich bei WLAN1 mein Gäste-WLan von zu Hause eingetragen und als WLan2 das hauseigene. So sollte sich der Stecker in jedem Fall in einen der beiden Wlans einfinden.

Hin und wieder habe ich auch schon erlebt, dass beim ersten Versuch zu flashen der Hinweis „“ kam. Hier habe ich einfach den Stecker durch langes Drücken des Knopfes so aktiviert, dass diese im dauer Blinkzustand war und den Vorgang am Pi wiederholt.

WICHTIG! Verschreibt euch hier nicht! Falls man nur sein Passwort falsch eingetippt hat, aber noch ganz genau weiß was man als SSID eingetragen hat, dann gibt es einen kleinen Trick, um von einem über Schnittstellen basierenden Flash drumrum kommt. Nehmt Euer Fritzbox/Router und erstellt Euch ein WLAn mit dem was als SSID im Gerät eingtragen wurde und lasst das WLan offen, also ohne Passwort. So kann sich das Gerät nach Neustart auf den Router/Wlan einwählen und man hat wieder Zugriff auf das Gerät. Hier kann man dann die falschen Daten korrigieren.

Ich empfehle ebenso immer das zweite Backup-WLan auch auszufüllen. Z.B. wäre so ein schneller Wechsel zwischen Home und Arbeit denkbar.

Auf der Fritz!Box habe ich nun ein neues Gerät gefunden und habe mich via Browser darauf eingeloggt. Nun zeigt sich ein Menü zum Einstellen von Tasmota.

Configuration -> Configuration Other

Unter „Configuration Other“ habe ich das Template für „Gosund SP111 V1.1“ von „https://blakadder.github.io/templates/gosund_SP111_v1_1.html“ eingetragen und nach Neustart kann man das Gerät nun zu mindestens manuell ein/aus schalten.

Templates:

Gosund SP111 V1.1 {„NAME“:“Gosund SP111″,“GPIO“:[56,0,57,0,132,134,0,0,131,17,0,21,0],“FLAG“:0,“BASE“:18}
Gosund SP111 Plug {„NAME“:“Gosund SP111″,“GPIO“:[56,0,57,0,0,134,0,0,131,17,132,21,0],“FLAG“:0,“BASE“:18}
Gosund SP111 v2 Plug {„NAME“:“Gosund SP111 2″,“GPIO“:[57,0,56,0,132,134,0,0,131,17,0,21,0],“FLAG“:0,“BASE“:45}
Gosund SP111 V1.1 without Lights {„NAME“:“Gosund SP111″,“GPIO“:[255,0,255,0,132,134,0,0,131,17,0,21,0],“FLAG“:0,“BASE“:18}
NOUS A5T 3-fach-Tischverteiler

{„NAME“:“NOUS A5T“,“GPIO“:[0,3072,544,3104,0,259,0,0,225,226,224,0,32,4704],“FLAG“:0,“BASE“:18}

NOUS A1T Stecker

{„NAME“:“NOUS A1T“,“GPIO“:[32,0,0,0,2720,2656,0,0,2624,320,224,0,0,0],“FLAG“:0,“BASE“:49}

** der Stecker lässt sich nicht aufmachen **
** manuelles Flashen wird schwierig **

Bseed WLan-Steckdose

Diese Einstellung habe ich selbst herausgetüftelt, es funktioniert zu mindesten.

{„NAME“:“Bseed-Socket“,“GPIO“:[0,0,0,0,52,157,0,0,21,17,255,0,255],“FLAG“:15,“BASE“:18}

Base=1 geht auch

Led blinkt blau beim Start kurz, wenn Tasmota startet/neustartet.

Led blinkt ständig blau, wenn MQTT aktiviert wurde.

Led leuchtet rot, wenn Steckdose eingeschaltet ist, hierbei lässt sich die Dose über Amazon/Tasmota und am Knopf schalten.

Am Knopf leuchtet kurz die Led blau und wechselt je nach Zustand auf rot oder aus.

Durch Doppel-Drücken auf den Knopf (manchmal mehrmals hintereinander probieren) blinkt die Led blau und stellt sich auf geräteeigenes WLan um. Dies ist hilfreich, wenn sich das eigene WLan ändert und man es dem Gerät beibringen muss. Alle anderen Einstellungen wie das Template blieben erhalten.

ACHTUNG: Die Schalter von BSEED lassen sich nicht über tuya-convert flashen. Hier ist ein anderer Chip verbaut, so dass die Schalter nicht erkannt werden. In wie weit man nun mit einem händischen flashen weiterkommt, kann ich derzeit nicht sagen.

Über die Weboberfläche vom Gerät habe ich nun die Firmware auf Tasmota 8.1.0 (DE) aktualisiert und das alles ohne jemals das Gerät aufmachen zu müssen. Nachdem Upgrade gebt dem Stecker etwas Zeit seine neue Firmware zu initialisieren. Wenn Ihr zu schnell seit und die Weboberfläche aufruft, kommt der Hinweis, dass nur eine minimal Version installiert sei. Wartet noch etwas und schaut dann nochmal auf die Weboberfläche.

http://thehackbox.org/tasmota/release/

Backup

Da ich das ganze über Raspi und dem ct’Scripts umgesetzt hatte, habe ich auch ein Backup der original Firmware Version. Ich habe mir das gesamte Verzeichnis „tuya-convert“ extern gesichert. Dort sind neben dem Backup auch die erst Versionen von Tasmota 7.0.0.3 enthalten, die man theoretisch auch gleich durch die aktuellste ersetzen könnte. Aber Vorsicht! die bin-Datei darf nicht größer 512KB sein und daher muss immer mit der minimal Version begonnen werden.

Tasmota mit Alexa verbinden

Damit nun Alexa den neuen Stecker findet, muss man noch mal auf die Weboberfläche vom Gerät und eine Konfiguration unter „sonstige Konfiguration / Configuration Other“ -> Emulation = Belkin WeMo (Einzelnes Gerät) vornehmen und das Gerät nochmal neu starten. Diesen Optionspunkt findet Ihr erst, wenn Ihr auf die normale und nicht die minimal-Flash-Version upgraded.

Jetzt kann über Alexa ein neues „sonstiges“-Gerät gesucht werden. Es wird gefunden und kann wie jedes andere Gerät geschaltet werden. Ein Hub ist hierfür nicht erforderlich.

Sicherheit

Wenn dann alles wie gewünscht funktioniert, dass empfehle ich unbedingt die Weboberfläche vom Stecker mit einem Passwort zu schützen! Wer noch mehr Sicherheit haben möchte, der verbietet den IoT-Steckern den Gang ins Internet.

Fazit

Es funktioniert an sich recht stressfrei. Ich habe zwar ein, zwei Anläufe benötigt, weiß aber nun diese zu Händeln und kann nun innerhalb weniger Minuten ein smartes Gerät flashen.

Was mich stört und wo ich noch nicht weiß wie ich es Behebe ist, dass im AUS-Zustand die rote LED regelmäßig an- und aus geht. Jedoch habe ich dies nur beim ersten Stecker so vorgefunden.

*UPDATE* -> Das permanente blinkern der roten LED war dem aktivierten MQTT geschuldet. Deaktiviert man das, wenn man es nicht benötigt, dann blinkt auch die rote LED nicht mehr ständig. Das Blinken kann hierbei signalisieren, dass keine Verbindung zum eingetragenen MQTT-Server aufgebaut werden kann.

Console Outputs Install

pi@raspberrypi:~ $ sudo apt-get install git-core
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.       
Statusinformationen werden eingelesen.... Fertig
Hinweis: »git« wird an Stelle von »git-core« gewählt.
git ist schon die neueste Version (1:2.20.1-2).
Das folgende Paket wurde automatisch installiert und wird nicht mehr benötigt:
  point-rpi
Verwenden Sie »sudo apt autoremove«, um es zu entfernen.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
pi@raspberrypi:~ $ git clone https://github.com/ct-Open-Source/tuya-convert
Klone nach 'tuya-convert' ...
remote: Enumerating objects: 156, done.
remote: Counting objects: 100% (156/156), done.
remote: Compressing objects: 100% (109/109), done.
remote: Total 1086 (delta 93), reused 93 (delta 47), pack-reused 930
Empfange Objekte: 100% (1086/1086), 3.43 MiB | 2.15 MiB/s, Fertig.
Löse Unterschiede auf: 100% (675/675), Fertig.
pi@raspberrypi:~ $ cd tuya-convert
pi@raspberrypi:~/tuya-convert $ sudo ./install_prereq.sh
OK:1 http://raspbian.raspberrypi.org/raspbian buster InRelease
OK:2 http://archive.raspberrypi.org/debian buster InRelease
Paketlisten werden gelesen... Fertig
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.       
Statusinformationen werden eingelesen.... Fertig
build-essential ist schon die neueste Version (12.6).
curl ist schon die neueste Version (7.64.0-4).
git ist schon die neueste Version (1:2.20.1-2).
iw ist schon die neueste Version (5.0.1-1).
iw wurde als manuell installiert festgelegt.
net-tools ist schon die neueste Version (1.60+git20180626.aebd88e-1).
python-dev ist schon die neueste Version (2.7.16-1).
python-dev wurde als manuell installiert festgelegt.
python-setuptools ist schon die neueste Version (40.8.0-1).
python-setuptools wurde als manuell installiert festgelegt.
python-wheel ist schon die neueste Version (0.32.3-2).
python-wheel wurde als manuell installiert festgelegt.
python3-dev ist schon die neueste Version (3.7.3-1).
python3-dev wurde als manuell installiert festgelegt.
python3-setuptools ist schon die neueste Version (40.8.0-1).
python3-setuptools wurde als manuell installiert festgelegt.
python3-wheel ist schon die neueste Version (0.32.3-2).
python3-wheel wurde als manuell installiert festgelegt.
python-pip ist schon die neueste Version (18.1-5+rpt1).
python3-pip ist schon die neueste Version (18.1-5+rpt1).
Das folgende Paket wurde automatisch installiert und wird nicht mehr benötigt:
  point-rpi
Verwenden Sie »sudo apt autoremove«, um es zu entfernen.
Die folgenden zusätzlichen Pakete werden installiert:
  dns-root-data dnsmasq-base libev4 libhavege1 libutempter0 libuv1
  libwebsockets8
Vorgeschlagene Pakete:
  apparmor libssl-doc byobu | screenie | iselect
Die folgenden NEUEN Pakete werden installiert:
  dns-root-data dnsmasq dnsmasq-base haveged hostapd libev4 libhavege1
  libssl-dev libutempter0 libuv1 libwebsockets8 mosquitto screen
0 aktualisiert, 13 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Es müssen 3.579 kB an Archiven heruntergeladen werden.
Nach dieser Operation werden 10,5 MB Plattenplatz zusätzlich benutzt.
Holen:1 http://archive.raspberrypi.org/debian buster/main armhf dnsmasq-base armhf 2.80-1+rpt1 [400 kB]
Holen:2 http://debian.bio.lmu.de/raspbian/raspbian buster/main armhf hostapd armhf 2:2.7+git20190128+0c1e29f-6+deb10u1 [630 kB]
Holen:3 http://archive.raspberrypi.org/debian buster/main armhf dnsmasq all 2.80-1+rpt1 [16,5 kB]
Holen:4 http://debian.bio.lmu.de/raspbian/raspbian buster/main armhf libutempter0 armhf 1.1.6-3 [7.736 B]
Holen:5 http://debian.bio.lmu.de/raspbian/raspbian buster/main armhf screen armhf 4.6.2-3 [538 kB]
Holen:6 http://debian.bio.lmu.de/raspbian/raspbian buster/main armhf dns-root-data all 2019031302 [5.396 B]
Holen:7 http://debian.bio.lmu.de/raspbian/raspbian buster/main armhf libev4 armhf 1:4.25-1 [34,5 kB]
Holen:8 http://debian.bio.lmu.de/raspbian/raspbian buster/main armhf libssl-dev armhf 1.1.1d-0+deb10u2 [1.566 kB]
Holen:9 http://debian.bio.lmu.de/raspbian/raspbian buster/main armhf libuv1 armhf 1.24.1-1 [96,7 kB]
Holen:10 http://debian.bio.lmu.de/raspbian/raspbian buster/main armhf libwebsockets8 armhf 2.0.3-3 [85,6 kB]
Holen:11 http://debian.bio.lmu.de/raspbian/raspbian buster/main armhf mosquitto armhf 1.5.7-1+deb10u1 [143 kB]
Holen:12 http://debian.bio.lmu.de/raspbian/raspbian buster/main armhf libhavege1 armhf 1.9.1-7 [23,0 kB]
Holen:13 http://debian.bio.lmu.de/raspbian/raspbian buster/main armhf haveged armhf 1.9.1-7 [33,0 kB]
Es wurden 3.579 kB in 3 s geholt (1.087 kB/s).
Vormals nicht ausgewähltes Paket hostapd wird gewählt.
(Lese Datenbank ... 93925 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von .../00-hostapd_2%3a2.7+git20190128+0c1e29f-6+deb10u1_armhf.deb ...
Entpacken von hostapd (2:2.7+git20190128+0c1e29f-6+deb10u1) ...
Vormals nicht ausgewähltes Paket libutempter0:armhf wird gewählt.
Vorbereitung zum Entpacken von .../01-libutempter0_1.1.6-3_armhf.deb ...
Entpacken von libutempter0:armhf (1.1.6-3) ...
Vormals nicht ausgewähltes Paket screen wird gewählt.
Vorbereitung zum Entpacken von .../02-screen_4.6.2-3_armhf.deb ...
Entpacken von screen (4.6.2-3) ...
Vormals nicht ausgewähltes Paket dns-root-data wird gewählt.
Vorbereitung zum Entpacken von .../03-dns-root-data_2019031302_all.deb ...
Entpacken von dns-root-data (2019031302) ...
Vormals nicht ausgewähltes Paket dnsmasq-base wird gewählt.
Vorbereitung zum Entpacken von .../04-dnsmasq-base_2.80-1+rpt1_armhf.deb ...
Entpacken von dnsmasq-base (2.80-1+rpt1) ...
Vormals nicht ausgewähltes Paket dnsmasq wird gewählt.
Vorbereitung zum Entpacken von .../05-dnsmasq_2.80-1+rpt1_all.deb ...
Entpacken von dnsmasq (2.80-1+rpt1) ...
Vormals nicht ausgewähltes Paket libev4:armhf wird gewählt.
Vorbereitung zum Entpacken von .../06-libev4_1%3a4.25-1_armhf.deb ...
Entpacken von libev4:armhf (1:4.25-1) ...
Vormals nicht ausgewähltes Paket libssl-dev:armhf wird gewählt.
Vorbereitung zum Entpacken von .../07-libssl-dev_1.1.1d-0+deb10u2_armhf.deb ...
Entpacken von libssl-dev:armhf (1.1.1d-0+deb10u2) ...
Vormals nicht ausgewähltes Paket libuv1:armhf wird gewählt.
Vorbereitung zum Entpacken von .../08-libuv1_1.24.1-1_armhf.deb ...
Entpacken von libuv1:armhf (1.24.1-1) ...
Vormals nicht ausgewähltes Paket libwebsockets8:armhf wird gewählt.
Vorbereitung zum Entpacken von .../09-libwebsockets8_2.0.3-3_armhf.deb ...
Entpacken von libwebsockets8:armhf (2.0.3-3) ...
Vormals nicht ausgewähltes Paket mosquitto wird gewählt.
Vorbereitung zum Entpacken von .../10-mosquitto_1.5.7-1+deb10u1_armhf.deb ...
Entpacken von mosquitto (1.5.7-1+deb10u1) ...
Vormals nicht ausgewähltes Paket libhavege1:armhf wird gewählt.
Vorbereitung zum Entpacken von .../11-libhavege1_1.9.1-7_armhf.deb ...
Entpacken von libhavege1:armhf (1.9.1-7) ...
Vormals nicht ausgewähltes Paket haveged wird gewählt.
Vorbereitung zum Entpacken von .../12-haveged_1.9.1-7_armhf.deb ...
Entpacken von haveged (1.9.1-7) ...
libev4:armhf (1:4.25-1) wird eingerichtet ...
dnsmasq-base (2.80-1+rpt1) wird eingerichtet ...
dns-root-data (2019031302) wird eingerichtet ...
dnsmasq (2.80-1+rpt1) wird eingerichtet ...
Created symlink /etc/systemd/system/multi-user.target.wants/dnsmasq.service → /lib/systemd/system/dnsmasq.service.
libuv1:armhf (1.24.1-1) wird eingerichtet ...
hostapd (2:2.7+git20190128+0c1e29f-6+deb10u1) wird eingerichtet ...
Created symlink /etc/systemd/system/multi-user.target.wants/hostapd.service → /lib/systemd/system/hostapd.service.
Job for hostapd.service failed because the control process exited with error code.
See "systemctl status hostapd.service" and "journalctl -xe" for details.
Created symlink /etc/systemd/system/hostapd.service → /dev/null.
libssl-dev:armhf (1.1.1d-0+deb10u2) wird eingerichtet ...
libhavege1:armhf (1.9.1-7) wird eingerichtet ...
libutempter0:armhf (1.1.6-3) wird eingerichtet ...
libwebsockets8:armhf (2.0.3-3) wird eingerichtet ...
haveged (1.9.1-7) wird eingerichtet ...
Created symlink /etc/systemd/system/default.target.wants/haveged.service → /lib/systemd/system/haveged.service.
screen (4.6.2-3) wird eingerichtet ...
mosquitto (1.5.7-1+deb10u1) wird eingerichtet ...
Created symlink /etc/systemd/system/multi-user.target.wants/mosquitto.service → /lib/systemd/system/mosquitto.service.
Trigger für libc-bin (2.28-10+rpi1) werden verarbeitet ...
Trigger für systemd (241-7~deb10u2+rpi1) werden verarbeitet ...
Trigger für man-db (2.8.5-2) werden verarbeitet ...
Trigger für dbus (1.12.16-1) werden verarbeitet ...
Trigger für install-info (6.5.0.dfsg.1-4+b1) werden verarbeitet ...
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting git+https://github.com/M4dmartig4n/sslpsk.git
  Cloning https://github.com/M4dmartig4n/sslpsk.git to /tmp/pip-req-build-hld1nzv3
Collecting paho-mqtt
  Downloading https://www.piwheels.org/simple/paho-mqtt/paho_mqtt-1.5.0-py3-none-any.whl (61kB)
    100% |████████████████████████████████| 61kB 577kB/s 
Collecting pyaes
  Downloading https://www.piwheels.org/simple/pyaes/pyaes-1.6.1-py3-none-any.whl
Collecting tornado
  Downloading https://www.piwheels.org/simple/tornado/tornado-6.0.3-cp37-cp37m-linux_armv7l.whl (424kB)
    100% |████████████████████████████████| 430kB 665kB/s 
Requirement already satisfied: pycrypto in /usr/lib/python3/dist-packages (2.6.1)
Building wheels for collected packages: sslpsk
  Running setup.py bdist_wheel for sslpsk ... done
  Stored in directory: /tmp/pip-ephem-wheel-cache-sw4_uhu0/wheels/c8/51/1e/5094f34953a89ff37e7a2b3a6327fc9364e532ccb8be3bf39c
Successfully built sslpsk
Installing collected packages: paho-mqtt, pyaes, tornado, sslpsk
Successfully installed paho-mqtt-1.5.0 pyaes-1.6.1 sslpsk-1.0.0 tornado-6.0.3
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting git+https://github.com/M4dmartig4n/sslpsk.git
  Cloning https://github.com/M4dmartig4n/sslpsk.git to /tmp/pip-req-build-K14vZj
Requirement already satisfied: pycrypto in /usr/lib/python2.7/dist-packages (2.6.1)
Building wheels for collected packages: sslpsk
  Running setup.py bdist_wheel for sslpsk ... done
  Stored in directory: /tmp/pip-ephem-wheel-cache-p0H7Lo/wheels/c8/51/1e/5094f34953a89ff37e7a2b3a6327fc9364e532ccb8be3bf39c
Successfully built sslpsk
Installing collected packages: sslpsk
Successfully installed sslpsk-1.0.0
Ready to start upgrade
pi@raspberrypi:~/tuya-convert $ sudo ./start_flash.sh
Checking for network interface wlan0... Found.
Checking UDP port 53... Available.
Checking UDP port 67... Available.
Checking TCP port 80... Available.
Checking TCP port 443... Available.
Checking UDP port 6666... Available.
Checking UDP port 6667... Available.
Checking TCP port 1883... Available.
Checking TCP port 8886... Available.
======================================================
  Starting AP in a screen
  Starting web server in a screen
  Starting Mosquitto in a screen
  Starting PSK frontend in a screen
  Starting Tuya Discovery in a screen
======================================================
IMPORTANT
1. Connect any other device (a smartphone or something) to the WIFI vtrust-flash
   This step is IMPORTANT otherwise the smartconfig may not work!
2. Put your IoT device in autoconfig/smartconfig/pairing mode (LED will blink fast). This is usually done by pressing and holding the primary button of the device
   Make sure nothing else is plugged into your IoT device while attempting to flash.
3. Press ENTER to continue
======================================================
Starting smart config pairing procedure
Waiting for the device to install the intermediate firmware
Put device in EZ config mode (blinking fast)
Sending SSID                  vtrust-flash
Sending wifiPassword          
Sending token                 00000000
Sending secret                0101
................
SmartConfig complete.
Resending SmartConfig Packets
.....................................................................................................
IoT-device is online with ip 10.42.42.42
Fetching firmware backup
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1024k  100 1024k    0     0  30123      0  0:00:34  0:00:34 --:--:-- 28918
curl: Saved to filename 'firmware-d49dd0.bin'
======================================================
Getting Info from IoT-device
VTRUST-FLASH 1.5
(c) VTRUST GMBH https://www.vtrust.de/35c3/
READ FLASH: http://10.42.42.42/backup
ChipID: d49dd0
MAC: D8:F1:5B:D4:9D:D0
BootVersion: 7
BootMode: normal
FlashMode: 1M DOUT @ 40MHz
FlashChipId: 144051
FlashChipRealSize: 1024K
Active Userspace: user2 0x81000
======================================================
Ready to flash third party firmware!
For your convenience, the following firmware images are already included in this repository:
  Tasmota v7.0.0.3 (wifiman)
  ESPurna 1.13.5 (base)
You can also provide your own image by placing it in the /files directory
Please ensure the firmware fits the device and includes the bootloader
MAXIMUM SIZE IS 512KB
Available options:
  0) return to stock
  1) flash espurna.bin
  2) flash tasmota.bin
  q) quit; do nothing
Please select 0-2: 2
Are you sure you want to flash tasmota.bin? This is the point of no return [y/N] y
Attempting to flash tasmota.bin, this may take a few seconds...
Flashed http://10.42.42.1/files/tasmota.bin successfully in 15802ms, rebooting...
Look for a tasmota-xxxx SSID to which you can connect and configure
Be sure to configure your device for proper function!
HAVE FUN!
======================================================
Do you want to flash another device? [y/N]

Nachtrag

Auf meinem Pi habe ich neben dem flash-Tool zu einem späteren Zeitpunkt IOBroker und Pihole in betrieb genommen. Alles läuft ganz gut mit einer kleinen Ausnahme. Wurde das Flash-Tool aktiviert erkennt dieses, dass der Port 80 bereits verwendet wird (Pihole mit Weboberfläche) und übernimmt diesen Port für sich. Die Weboberfläche des Pihole ist dann nicht mehr erreichbar. Nach neustart des Pi’s ist alles wieder wie gewohnt, da in diesem Moment das Flash-Tool nicht läuft und auch nicht ständig laufen muss.

Wlan am Raspberry Pi einrichten

WLAN am Rspberry Pi 3 einrichten

1. Öffnen Sie mit dem Editor nano
sudo nano /etc/network/interfaces

die Konfigurationsdatei interfaces. Hier sollten im unteren Teil die Zeilen

auto lo
iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

stehen. Ergänzen Sie diese Zeilen, falls nötig, aber ändern Sie nicht die bereits vorhandenen Einträge, welchen mit „auto lo“, „iface lo“ und „iface eth0“ beginnen. Speichern Sie die Datei in Nano mit Strg-X und „Ja“. War eine Änderung nötig, dann lesen Sie die Netzwerkkonfiguration mit

sudo /etc/init.d/networking reload

neu ein.

2. Die WLAN-Schnittstelle wartet jetzt darauf, mit einem Drahtlosnetzwerk verbunden zu werden.

Suchen Sie mit

sudo iwlist wlan0 scan

nach den verfügbaren Drahtlosnetzen. In der ausgegeben Liste sollte auch Ihr eigenes WLAN auftauchen, wobei das Feld „ESSID“ den Netzwerknamen angibt.

3. Hinterlegen Sie jetzt die Anmeldedaten für das gewünschte Netzwerk. Dazu öffnen Sie mit

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

die Datei „wpa_supplicant.conf“. Dort finden Sie zwei Zeilen vor, die mit „ctrl_“ und „update_“ beginnen. Darunter ergänzen Sie folgenden Eintrag, der den gewünschten Namen (ESSID) des WLANs sowie das Passwort für WPA/WPA2 enthält:

network={
ssid="WLAN-Name"
psk="WLAN-Passwort"
key_mgmt=WPA-PSK
}

Statt den Platzhaltern „WLAN-Name“ und „WLAN-Passwort“ geben Sie die tatsächlichen Daten an – ebenfalls in Anführungszeichen. Vergessen Sie nicht, die Datei in Nano mit Ctrl-X zu speichern.

4. Starten Sie den Pi neu

sudo reboot

Mittels „iwconfig“ oder „ifconfig“ können Sie erkennen ob der Pi mit dem Wlan verbunden ist. Ebenso sollte nun auch ein test-Ping z.B. zu google.de möglich sein.

NuGet-Paket-Manager

Seit Visual Studio 2017 ist der NuGet-Paket-Manager bereits inkludiert. „Extras -> NuGet-Paket-Manager“

Mit diesem lassen sich schnell und unkompliziert frei nutzbare Module/Pakte installieren. Als Beispiel nehmen wir mal SNMP und CommandoLine.

Öffnet die „Paket-Manager-Console“ und gebt den folgenden Befehl ein:

PM> Install-Package CommandLineParser -Version 2.6.0

Danach installiert sich das Paket im aktuell geöffneten Projekt unter „packages“ und es wird im Root des Projekt-Ordners eine „packages.config“ erstellt.

Nachdem dies ohne Fehler durchgeführt wurde, kann man im Projekt das installierte Paket mittels „Imports CommandLine“ einbinden und nach dessen Vorgaben verwenden.

Wer es als GUI bevorzugt, klick im Projektmappen-Explorer auf sein Projekt rechts mit der rechten Maustaste und startet dort die Option „NuGet-Pakete verwalten …“

Menüoption „NuGet-Pakete verwalten“

Software-Sicherheit

Adobe Flash-Player

Ab 2020 wird die Weiterentwicklung von Flash-Player eingestellt. Es ist dringend zu empfehlen diese Browser-Erweiterungen zu deinstallieren. FlashPlayer-Technologie gilt schon länger als veraltet und wurde seit ein paar Jahren durch HTML5 ersetzt.

http://download.macromedia.com/get/flashplayer/current/support/uninstall_flash_player.exe

Für einen Silent-Uninstall die exe so aufrufen -> uninstall_flash_player.exe -uninstall

WordPress Upgrade

Im November ’20 war es mal wieder soweit – die Version 5.3 steht zum Download bereit.

Veröffentlichungen

Windows-PC-Sicherheit

Ich stelle hier nur meine Praktiken und mögliche Lösungen als Anregung zur Verfügung. Ich garantiere hierdurch keinen 100%igen Schutz. Zu dem gibt es zahlreiche weitere Möglichkeiten, welche ich hier unmöglich alle auflisten kann.

Zugangsdaten/ Passwörter

Grundsätzlich sollte bei jeder Hard- oder Software der Standard-Zugang geändert werden. Hierbei sollte wenn möglich nicht nur das Passwort, sondern auch der Benutzername geändert werden.

Windows 10 Sicherheitseinstellungen via GPO

Auch Windows 10 lässt sich domainweit in einigen Punkten einstellten. Hierfür sollte man nach jedem Erscheinen einer neuen Windows 10-Version die passende Template (ADMX) bei Microsoft suchen.

Zum Zeitpunkt des Blog Schreibens war es diese hier:

Link -> https://www.microsoft.com/en-us/download/100591 (Administrative Templates (.admx) for Windows 10 November 2019 Update (1909)  vom 18.12.2019)

Mit der neusten Version ist es jetzt möglich per GPO ID’s festzulegen von Geräten wo Installationen erlaubt sind.

Software für eine bessere Sicherheit

  • ständiger Einsatz von Updates für alle Systeme, dies schließt z.B. auch die Firmware eines Druckers mit ein.
  • Virenwächter einsetzen, wahlweise mit Software-gesteuerter Firewall
  • Ransomware Protection

Techniken für eine bessere Sicherheit

In diesem Bereich kann man auch sehr viel Einstellen, Vorgeben oder Verbieten, letztlich muss man aber auch noch mit dem PC seine üblichen Arbeiten erledigen können.

verwenden einer Hardware-Firewall wie Sonic, Baracuda, OpenSens etc.

    • fremde Ports generell sperren
    • Ein- und ausgehenden Traffic kontrollieren
    • Verwendung bestimmter Apps/Dienste (Dropbox, WeTransfer, Google) sperren oder Einschränken

automatisierte Scripte und allgemeine Sicherheitseinstellungen

  • per Startscripte Vorgaben z.B. in der Registry treffen
  • per Startscripte installierte Programme installieren/updaten
  • nicht jedes Programm nutzen lassen, am besten jeder Arbeitet mit den selben Programmen
    Das macht die Sicherheit und auch das Schulen von Usern deutlich einfacher.
  • User-Rechte einschränken -> bis dahin, dass der User sich kein eigenes Hintergrundbild setzen darf
  • Programme wie PowerShell am herunterladen von Dateien hindern (Firewall auf Port 80/443)
  • Virenwächter wie Defender, GData, Avast etc. nutzen

Serverlandschaft/ Netzwerksicherheit

  • Erstellung von Backups
    Das Backup sollte hierbei aber von einem speziellen BackupUser erstellt werden. Normale User und Gäste muss der Zugriff darauf verweigert werden. Wer als Admin im Netzwerk unterwegs sein muss, sollte dieser Admingruppe nur Leserechte im Backupsverzeichnis einräumen.
  • Ein weiteres Backup getrennt vom Netzwerk aufbewahren
    Mein Tipp:
    Den Backup-PC via Aufgabenplaner und Scripte zeitgesteuert vom Netzwerk trennen/ verbinden, so dass ein Zugriff auf den Backup-PC über das Netzwerk nicht permanent möglich ist.
    Dies geht mit einem NAS und verbundenen iSCSI-Laufwerke auch sehr gut. Hier bleibt der PC selbst im Netzwerk, aber trennt/verbindet per Script die iSCSI-Laufwerke nur wenn diese benötigt werden.
  • Ein NAS sollte nicht direkt und ständig im Internet verbunden sein. Wer Online-Dienste hier nicht benötigt, sollte sein NAS abschotten. Auch der Zugriff aus dem eigenen Netzwerk sollte man sprsam zur Verfügung stellen.
  • Wenn nicht erforderlich, sollte man auf die Standard-Adminfreigaben wie \\PC\C$, \\PCd$ etc. verzichten
  • Schreibende Freigaben sparsam einsetzen
  • Zielgruppen von Berechtigten Benutzern gering halten und nichts global erlauben

Passwortsicherheit

Aufbau eines sicheren Passworts

An sich nicht neu -> je komplexer ein Passwort ist, desto sicherer ist es. Aber …

Wer es zu sicher macht, der verliert schnell das effektive Arbeiten. Ich empfehle immer einen Leitsatz und deren Anfangsbuchstaben in Kombination mit der Seite selbst wo man sich einloggen möchte und natürlich einen Passwortverwalter.

Beispiel:

In der Schule hatte ich beim Sport immer eine 1. -> IdShibSie1.
Wo nutze ich das Passwort? -> auf Facebook -> IdShibSie1.#FB

Passwortgenerator /-manager

Zu Passwort-Manager habe ich auch so meine Bedenken, es gibt so viele auf dem Markt. Hier muss man für sich das beste Produkt herausfinden egal ob kostenpflichtig oder kostenfrei. Ich bevorzuge Programme in OpenSource und wo die Passwort-Datenbank als File auf dem Rechner/ mobilen Geräte/ eigener Cloud verschlüsselt vorliegt.

Programme wie LastPass mag ich dahingehend nicht, weil hier die Passwortdaten direkt bei LastPass in deren Cloud gespeichert sind. Ebenso gibt es Passwort-Manager wie „PasswordDepot“, welche beim übergeben von Passwörtern den bei Windows 10 eingeführte Zwischenablageverlauf (Windows-Taste + V) im Klartext mit befüllen!

Zwischenablage

Der Windows-Zwischenablageverlauf sollte deaktiviert werden! Mit „Windows-Taste + V“ können Sie sehen ob der Verlauf eingeschaltet ist und wenn ja, was bisher schon dort hinterlegt worden ist.

Zugangsdaten/ Passwörter

Grundsätzlich sollte bei jeder Hard- oder Software der Standard-Zugang geändert werden. Hierbei sollte wenn möglich nicht nur das Passwort, sondern auch der Benutzername geändert werden. Es ist auch ratsam zu überlegen, ob man für das reine Arbeiten ständig über vollen Zugriff verfügen muss.

z.B. CMS-Systeme wie WordPress, Jommla und Co. hier rate ich zu Anlage eines normalen Autoren, der nur Beiträge verfasst und Bild-Daten etc. hochladen kann. Die Pflege und Updates vom CMS-System selbst macht man über einen Admin-Account, dieser erstellt aber keine Beiträge oder ähnliches.

 

Office 2016, Office 2019, Office365 – MailSecurity, OneDrive, SharePoint

Domainweite Sicherheitseinstellungen

Sicherheitspolice für Office (ADM, Registryeinträge für User hart setzen)
Hierbei verlasse ich mich nicht nur auf ADM (Domainweite Police, sondern importiere bei jeder Useranmeldung zusätzlich ein paar relevanter Regeinträge für Office)
z.B. Makroausführung, Autostart, ausblenden Entwicklertools-Menü, Mails als TXT, keine Vorschau von Anlagen innerhalb Outlook etc.

Wer eine Domain betreibt kann mit Hilfe von Gruppenrichtlinien Office in einigen Einstellungen steuern und verhindern, dass Benutzer diese Einstellungen übergehen.

Hierfür lädt man sich die aktuellste Fassung der Office-ADMX von Microsoft (Stand zum Zeitpunkt des Blog Schreibens war 4966.1000 vom 22.01.2020) In der neusten Version ist ein Template von Teams mit dabei.

Link -> https://www.microsoft.com/en-us/download/details.aspx?id=49030

Entpackt die Dateien des Archives und kopiert die Dateien aus dem Ordner ADMX (*.admx + de-de + en-us) nach C:\Windows\PolicyDefinitions.
Danach kann man in den GPO’s die Einstellungen für die importierten Office-Versionen vornehmen.

Als Grundlage für eine sichere Einstellung kann man sich die Empfehlungen des BSI’s anschauen. Ich fand diese recht gut und habe die Einstellung an meine Bedürfnisse angepasst.

Link -> https://www.allianz-fuer-cybersicherheit.de/ACS/DE/_/downloads/BSI-CS/BSI-CS_135.pdf?__blob=publicationFile&v=8

BSI-CS 135 -> Office allgemein
BSI-CS 138 -> Word
BSI-CS 136 -> Excel
BSI-CS  045 -> PowerPoint
BSI-CS 140 -> Access
BSI-CS 141 -> Visio
BSI-CS 139 -> Outlook

Lokale Sicherheitseinstellung

Nachdem ich domainweit alles eingestellt hatte und der erste Test-PC sich die GPO-Policy zog, habe ich die Einstellungen aus der Registry exportiert und für die spätere Anwendung unter „Local Users“ leicht umgeschrieben.

Dies ist erforderlich, da ich mal gelesen haben will, dass Office-GPO’s nur unter Windows Enterprise durchgereicht werden. Tatsache ist in jedem Fall, dass nicht jede eingestellte GPO-Regel auch tatsächlich am Client zu sehen ist.

Damit es doch klappt lade ich die modifizierte Reg-Datei bei jedem Start/Anmelden eines Benutzers/ PC’s. So stelle ich sicher, dass bestimmte Useränderungen wie z.B. Makrosicherheitseinstellung auf den von mir gewünschten Stufe steht. Denn hin- und wieder habe ich gesehen, dass der User an diesen Einstellungen rumschauben darf obwohl ich dies gerne verboten hätte.

In der exportieren Reg-Datei ersetzte ich „Software\Policies\Microsoft\office“ durch „Software\Microsoft\office“ und so die Einstellungen auf Userebene ohne Domainangehörigkeit festgelegt.

Damit sorge ich zudem, dass auch nicht Domain-PC’s an sichere Office-Einstellungen kommen. Über Autoscripts werden diese Einstellungen letztlich bei jedem PC Start/ User-Anmeldung importiert und via OneDrive/ firmen SharePoint auch auf die mobilen Geräte nahezu in Echtzeit angewendet.

Office 365 – Admin Center

In meiner Office365-Umgebung habe ich die eine oder andere Sicherheitseinstellung vorgenommen, wo ich denke, dass dies ein effektiver Schutz mit gleichzeitiger Balance zum Arbeiten mit dem Produkt ist. Gerade bei der Mail-Filterung muss man abwägen, welche Mails werden mit Benachrichtigung abgewiesen und welche lieber nicht oder ist es besser bestimmte Mails erst in Quarantäne zu setzen, weil man hier noch an die Mail rankommt.

Admin Center

    • Benutzer -> erlaubte E-Mail-Apps definieren
    • Sicherheits- und Datenschutz -> Passwortänderung nach xx Tagen

Azure Active Directory

    • Zwei-Faktor-Authentifizierung
    • Self-Service-Kennwortzurücksetzung mit mindestens 3 Pflichtangaben

Security & Compliance

Richtlinien
      • ATP-sicher Anlagen (zubuchbarer AddOn)
      • ATP-sichere Links (zubuchbarer AddOn)
      • Antispam-Schutz
      • Antischadsoftware
      • DKIM
      • erweiterte Filterung

Exchange

Schutz -> DKIM
 Nachrichtenfluss-Rules
      • sperren alter Office-Files (z.B. xls, doc,ppt)
      • sperren möglicher schadhafter Files (z.B. docm, mdb, thmx, html, htm, vbs, exe, rar etc)
      • besondere Behandlung von Mails und Anlagen, welche nicht geprüft werden können
      • filtern von Mails und Anlagen wo bestimmte Inhalte in Anlagen gefunden werden (‚certutil‘ oder ‚UEsDBBQAAAA‘ oder ‚filesystem‘ oder ‚reg add‘)
        Manchmal tarnt sich eine Datei als z.B. txt, welche dann durch Umwege doch zu einer bösen Datei umgewandelt werden kann
      • sperren von Mails, welche bestimmte Wörter in der Mail aufweisen
Nachrichtenfluss-Connectoren
      • erlaubte Mailserver aus dem lokalen-Umfeld (z.B. Mail-Gateway für Meldungen aus Geräten wie Sonic, Router, Switche, Drucker etc.)
      • gilt auch für DNS-Einträge für „akzeptierte Domänen“