connect fix 3
This commit is contained in:
27
app/db/migrations/0009_key_passphrase_rdp_cert.sql
Normal file
27
app/db/migrations/0009_key_passphrase_rdp_cert.sql
Normal file
@ -0,0 +1,27 @@
|
||||
-- Zwei Ursachen fuer nicht zustande kommende Sitzungen, siehe
|
||||
-- app/ssh_proxy/proxy.py bzw. app/rdp_proxy/guacd_client.py.
|
||||
--
|
||||
-- 1) ssh_keys.passphrase_enc
|
||||
-- asyncssh.import_private_key() wurde bisher IMMER ohne Passphrase
|
||||
-- aufgerufen. Ein passphrasegeschuetzter Private Key (der Normalfall, wenn
|
||||
-- ein Admin einen bestehenden Schluessel aus ~/.ssh einfuegt) laesst sich so
|
||||
-- prinzipiell nicht laden -- jeder Verbindungsversuch endete in
|
||||
-- asyncssh.public_key.KeyImportError:
|
||||
-- "Passphrase must be specified to import encrypted private keys"
|
||||
-- und damit in einer sofort wieder beendeten Sitzung. Die Passphrase wird
|
||||
-- deshalb ab jetzt beim Anlegen/Rotieren des Schluessels mit erfasst und --
|
||||
-- exakt wie das Schluesselmaterial selbst und die RDP-Passwoerter -- mit dem
|
||||
-- KEK (AES-256-GCM, app/security/crypto.py, associated_data=b"ssh_key_passphrase")
|
||||
-- verschluesselt abgelegt. NULL = Schluessel ist unverschluesselt (bisheriges
|
||||
-- Verhalten, bleibt unveraendert gueltig).
|
||||
ALTER TABLE ssh_keys ADD COLUMN passphrase_enc BLOB;
|
||||
|
||||
-- 2) hosts.rdp_ignore_cert
|
||||
-- build_rdp_params() setzte "ignore-cert" hart auf "false". Windows-Ziele
|
||||
-- praesentieren im Regelfall ein selbstsigniertes RDP-Zertifikat; guacd/
|
||||
-- FreeRDP bricht den Verbindungsaufbau dann ab, bevor ueberhaupt ein Bild
|
||||
-- entsteht. Die Entscheidung gehoert pro Host getroffen und nicht ins
|
||||
-- Codeliteral: Default 1 (ignorieren, entspricht dem Verhalten jedes
|
||||
-- gaengigen RDP-Clients); wer eine interne PKI betreibt, setzt den Wert pro
|
||||
-- Host auf 0 und erzwingt damit die Zertifikatspruefung.
|
||||
ALTER TABLE hosts ADD COLUMN rdp_ignore_cert INTEGER NOT NULL DEFAULT 1;
|
||||
Reference in New Issue
Block a user