Engadir --csd-wrapper a un perfil entrega un script local a un daemon que o executa durante o inicio de sesión, así que a decisión que ten diante é unha revisión de código, non un interruptor de preferencia. A opción existe para que se poida substituír o compoñente de comprobación de host da pasarela, e toma unha ruta a un script que vostede fornece. Todo o que segue supón que o propietario do despregamento xa dixo que comprobación de postura se require; se esa parte segue aberta, resólvaa primeiro. O manual ten catro pasos: localizar a etapa que fallou, ler o script, escoller a identidade coa que se executa e demostrar o resultado.

Paso 1: Localice a etapa que fallou

A última mensaxe do cliente adoita tratar dunha cookie, que é o final dunha cadea e non o seu principio. Un inicio de sesión HTTPS, unha comprobación do certificado do servidor, un intercambio de autenticación e un compoñente de postura sitúanse todos diante desa mensaxe.

Capture a versión e o enderezo de inicio de sesión en uso, e repita o intento coa saída detallada retida no seu propio terminal. Lea o primeiro erro que non sexa un reintento, non a última liña da transcrición. Se o rexistro se detén antes de que se nomee calquera compoñente de avaliación, o envoltorio aínda non é o seu problema. Engadilo nese punto só amplía a superficie que terá que defender despois.

openconnect --version
openconnect --verbose --user="$VPN_USER" vpn.example.com </dev/null

Manteña a transcrición en local, porque as cookies e as respostas de autenticación son material de acceso. Un rastro pegado nun fío de chat é unha fuga de credenciais mesmo cando o paso de avaliación parece inofensivo. Comparta o texto do erro e o punto do fluxo onde apareceu, nunca a carga útil.

Paso 2: Lea o script antes de que entre nun perfil

Un envoltorio é tan fiable como a revisión que examinou, así que fixe esa revisión e garde o seu hash xunto á nota de aprobación. Os dous comandos seguintes danlle unha pegada e unha comprobación de sintaxe barata antes de ler unha soa liña. Tamén dan á seguinte persoa unha referencia fixa, o que importa cando o ficheiro vive fóra da xestión de paquetes. Ningún dos comandos di que fai o script, así que execúteos e siga lendo.

sha256sum ./vpn-csd-wrapper.sh
bash -n ./vpn-csd-wrapper.sh

Lea o ficheiro completo con catro preguntas na cabeza: fai chamadas HTTP saíntes, le ficheiros de credenciais ou variables de contorno, escribe fóra dun directorio temporal e algunha rama informa dunha postura aprobada sen medir nada. Ese último patrón é unha elusión da política cunha liña de rexistro pegada. Os envoltorios copiados adoitan introducilo de contrabando detrás dunha comprobación de aspecto plausible. Se o script decide que o dispositivo está ben antes de mirar o dispositivo, detéñase aí.

Comprobe tamén as cargas empaquetadas, porque unha cabeceira lexible non demostra nada sobre o resto do ficheiro. Descargar un script dun fío de foro non o fai fiable só porque o seu nome imite un compoñente real de comprobación de host. Anote quen o instalou, de onde veu e como se actualizará.

grep -nE 'base64 -d|xxd -r|eval |curl |wget ' ./vpn-csd-wrapper.sh

Paso 3: Escolla a identidade coa que se executa o envoltorio

--csd-user reduce os privilexios mentres se executa o programa CSD, TNCC ou HIP. Esa conta forma parte do arranxo local de execución, non do nome de usuario enviado á pasarela.

Dea ao envoltorio unha conta dedicada sen intérprete interactivo, sen dereitos de sudo e sen pertenza a grupos que non necesite. Conceda acceso de lectura ao script e aos ficheiros concretos que inspecciona, e despois probe a redución antes de tocar o perfil de VPN. Atopar o problema aquí é máis barato que atopalos dentro do cliente.

sudo -u vpn-csd /usr/local/libexec/vpn-csd-wrapper.sh

Reducir os privilexios limita o dano que pode facer un script malo. Non revisa o código, non fai que o informe sexa veraz nin establece que o administrador da pasarela acepte esta implementación como cumprimento da política de dispositivos.

Paso 4: Manteña o cambio reversible

Faga unha copia de seguridade do perfil antes de editalo e manteña o envoltorio baixo control de versións para que unha reversión restaure un hash coñecido en lugar de buscar unha copia. Anote a ruta do script, o hash, o usuario de execución e o aprobador nun só lugar.

Para reverter, quite a opción, reinicie o cliente e confirme que volve o erro orixinal. Se a pasarela segue rexeitando o inicio de sesión tras a reversión, algo máis cambiou tamén, e atopar esa diferenza vai antes de volver probar o envoltorio. Conserve a copia anterior durante toda a ventá de cambio, o que para a maioría dos equipos significa ata que pasase a seguinte franxa de mantemento.

Tras un despregamento correcto, comprobe dúas cousas en lugar de unha: o túnel levanta e un dispositivo que debería fallar a comprobación de postura segue sendo rexeitado. Unha conexión que funciona para todos non é proba de que a avaliación sobrevivise ao seu cambio.

Atallos que crean un segundo problema

Non faga que o axudante informe dun estado conforme sen executar as comprobacións requiridas, e non anule a identidade da plataforma para que coincida con outro sistema operativo. Afirmar unha plataforma distinta non é proba de que o dispositivo real cumpra a política. Déixao cun cliente que mente en cada inicio de sesión futuro.

Desactivar a verificación do servidor, reproducir unha cookie antiga e apilar scripts non revisados cambian todos un fallo visible por un invisible. Se o cliente instalado non pode completar o fluxo admitido, pida unha alternativa aprobada en lugar de dobrar o que ten.

O manual de OpenConnect documenta --csd-wrapper e --csd-user por separado, e esa é a pista que importa: o script e a identidade son dúas decisións. Revíseos por separado e anote ambos. Entón o aviso de inicio de sesión deixa de ser un misterio que se resolve pegando código.

Artigos relacionados