ADB-Zugriff über Netzwerk schützen?

Ich habe mehrere Android-Geräte in einem lokalen Netzwerk. (Android Set-Top-Boxen von Geniatech mit 4.2 Jelly-Bean) Wenn diese Boxen Probleme haben oder debuggen müssen, verbinde ich sie einfach über

adb connect ip-address

Dort habe ich vollen Zugriff auf die (gerooteten) Geräte.

Leider hat jeder im Netzwerk diese Möglichkeit. Ich verstehe, dass es in der Verantwortung des Netzwerkadministrators liegt, es vor Hackern und so zu schützen, aber ich möchte zusätzliche Sicherheit hinzufügen. Also meine Frage ist:

Kann ich die adb-Verbindung zum Android irgendwie mit einem Passwort schützen? (oder ein Zertifikat oder so) Oder kennt jemand von euch Alternativen?

ADB muss offen bleiben, damit ich aus dem Netzwerk auf die Geräte zugreifen kann, zB um direkt apk-Updates zu machen, oder die Logfiles auszulesen.

Mit freundlichen Grüßen

Ich habe in letzter Zeit nicht wirklich mit ADB über TCP gearbeitet; aber mit Android 4.2+ auf USB muss jeder neue Computer, der versucht, eine Verbindung herzustellen, beim ersten Zugriff "genehmigt" werden ("vertrauenswürdiges Gerät"). Ist das bei ADB über TCP nicht der Fall? Es gibt mehrere ADB-Tools , die eine Art Schutz bieten (z. B. ADB ausschalten, wenn der Bildschirm gesperrt ist), aber ich habe in diesem Zusammenhang noch nie von PIN-/Passwortschutz gehört. Das einzige, was mir dann einfallen würde, sind Firewall-Regeln für den angegebenen Port, die alle Verbindungen außer von "vertrauenswürdigen Geräten" blockieren.
Danke dir. Leider funktioniert dieser "Genehmigungsmechanismus" nicht über TCP. Ich habe nie etwas genehmigt und kann von jedem PC aus auf die Geräte zugreifen. Die Bildschirme dieser Geräte sind immer an, also kein Schutz vorhanden ;) Die Firewall-Idee klingt jedoch interessant.
Für Details zum Firewall-Setup, wenn Sie dort Probleme haben, fragen Sie besser auf einer SE-Site nach, da dies kein Android-spezifisches Problem ist :) Super User könnte dafür geeignet sein (aber besser /help/on-topiczuerst überprüfen). Firewall ist wahrscheinlich der beste Ansatz in Ihrem Fall. Und während die direkte Frage, wie das geht, hier nicht zum Thema gehört, können Sie dann gerne Ihre eigene Frage mit dieser Lösung beantworten. Viel Glück!
Warum verwenden Sie adb, wenn Sie bereits einen SSH-Server betreiben können?
Es gibt viele adbBefehle, die das nicht sindadb shell

Antworten (2)

Wie von @Izzy vorgeschlagen, entscheide ich mich für die "Firewall-Lösung":

Blockiere alle Verbindungen für den adb-Port (5555), außer von meinen vertrauenswürdigen Geräten.

Danke noch einmal!

obwohl es in deinem lan offen ist, ist es immer noch adb. es ist das gleiche wie über usb. Sie müssen jedes Gerät, das sich verbinden möchte, einmal bestätigen, bevor es sich verbinden kann. Wenn Sie der Meinung sind, dass es ein bestätigtes Gerät gibt, das nicht vorhanden sein sollte, können Sie diese Liste in den Entwicklereinstellungen zurücksetzen.

Sie können auch eine Firewall hinzufügen, die Port 5555 blockiert, und sowohl ADB über TCP als auch einen SSH-Server starten, dann mit einem SSH-Schlüssel authentifizieren und 5555 zu einem lokalen Port, z. B. 55555, tunneln. Dann verwendenadb connect localhost 55555