¿Cuál es la mejor práctica cuando la red corporativa está sobrescribiendo certificados SSL?

5

La compañía en la que trabajo ha empezado a sobrescribir los certificados SSL con uno de ellos mismos para que puedan monitorear el tráfico a Internet más de cerca. También instalaron la CA correspondiente al almacén de certificados. Cuando esto ocurrió, varias aplicaciones dejaron de funcionar debido a que el certificado que se envía desde la red no es una CA confiable para ese programa.

¿Por qué algunos programas (como Chrome e IE) funcionan y otros (Firefox, NPM, GIT) no?

¿Es esta la manera correcta de hacer todo esto?

Me pregunto si decirle a cada programa que use esta CA es la forma de manejar este problema. Parece muy molesto tener que informar a cada programa que una CA está bien.

La pregunta principal es:

Dado que una empresa está anulando los certificados SSL, ¿cuál es la mejor manera de hacer que las cosas funcionen nuevamente cuando no se basan en el almacén de certificados del nivel del sistema operativo?

  • ¿Sería decirle a TI que no invalide los certificados SSL de estos servicios / sitio?
  • ¿Sería usar un proxy?
  • ¿Sería hacer lo que estoy haciendo y decirle a cada programa que permita el certificado SSL anulado?

Así que esto es lo que he hecho para que funcionen varios programas:

To get the Certificate so that you can import to other programs:    
 1. Open Certificates by running ”certmgr.msc” in cmd
 2. Go to “Trusted Root Certification Authorities” > “Certificates”
 3. Right click internet > Export
 4. Select “Base-64 encoded X.509 (.CER)”
 5. Save to c:/temp/internet.cer

To get Firefox working:    
 1. In the address bar, enter “about:preferences#privacy”
 2. “View Certificates” > “Authorities” > “Import”
 3. Select “c:/temp/internet.cer”
 4. Select the trust type of “Trust this CA to identify websites”, then click “Ok”

To get GIT working:    
 1. Open Cmd as admin
 2. git config --global http.sslCAInfo “c:/temp/internet.cer”
Do not run git config http.sslVerify "false"

To get NPM working:    
 1. Open Cmd as admin
 2. npm config set cafile “c:/temp/internet.cer”
Do not run npm config set strict-ssl false

To get Bower working:    
 1. Open Cmd as admin 
 2. cd %UserProfile%
 3. echo {"ca": "C:\temp\internet.cer","strict-ssl":false} > .bowerrc
    
pregunta Denis W 16.01.2018 - 22:29
fuente

4 respuestas

6

Entonces, usted trabaja en una corporación que parece tener una red corporativa / departamento de seguridad lo suficientemente importante como para haber implementado el escaneo de seguridad MiTM.

Asumir su "mejor práctica" sobre cómo hacer que sus aplicaciones funcionen incluye mantener su trabajo, ¡debe comenzar por ponerse en contacto con su red / departamento de seguridad a través de los canales normales y preguntar si ya han elaborado una respuesta corporativa a su pregunta! !!

Por supuesto, puede proporcionar las soluciones alternativas que solía usar, supongo, usar las herramientas que su supervisor / gerente ha aprobado para que usted utilice para realizar sus tareas laborales.

Sin embargo, en general, estás usando herramientas creadas por diferentes organizaciones, muchas de las cuales no confían entre sí (en particular las herramientas de código abierto y Microsoft), y muchas de las cuales usan cadenas de herramientas completamente diferentes (en particular, el código abierto). herramientas y Microsoft). ¿Por qué esperas que todo lo que escriban todos utilicen One True Certificate Store?

La mejor práctica será una de tres cosas:

  • Los departamentos de TI corporativos responsables ya resolvieron su problema con las herramientas aprobadas, y el suyo está en la lista. Ellos te cuidarán.
    • Eventualmente.
    • Con el papeleo correcto.
  • Los departamentos de TI corporativos responsables han prohibido / no aprobado (y no permitido) al menos una de sus herramientas.
    • Eliminar de inmediato
    • Encuentre un reemplazo aprobado
    • O consiga un software aprobado
    • O encuentra otro trabajo
  • Los departamentos de TI corporativos responsables no prohíben sus herramientas, pero tampoco las admiten
    • Las soluciones son tu problema para cada uno.
    • Si tiene compañeros de equipo que los usan, empaquete un archivo por lotes o un archivo ejecutable que haga tantas actualizaciones de configuración como sea posible de una manera coherente y automatizada.
    • O vea si el (los) departamento (s) de TI corporativo (s) responsable (s) estarían interesados en ayudar con esto, ya que les interesa tener configuraciones similares para grupos, no un bazillion de configuraciones individuales.
respondido por el Anti-weakpasswords 17.01.2018 - 08:16
fuente
10

Los sistemas operativos tienen almacenes de certificados raíz para intentar centralizar esto. El problema es que varias aplicaciones eligen no confiar en él.

Firefox elige por defecto no confiar en la tienda. Puede hacer que lo haga configurando security.enterprise_roots.enabled en true. Hay formas de distribuir esto a todos los usuarios simultáneamente, incluida la política de grupo para implementar los archivos de configuración bloqueados necesarios.

Git, bower y npm sufren problemas similares, excepto que ninguno que yo sepa tenga métodos para que confíen en el almacén raíz. Debe modificar o reemplazar los almacenes de certificados de confianza para cada aplicación; esto debería ser posible a través de las herramientas de administración de dominios normales.

    
respondido por el Hector 16.01.2018 - 22:45
fuente
1

Respuesta honesta: hable con su equipo que administra la inspección de SSL y solicite las exenciones para todas las herramientas / sitios de desarrollo que mencionó. Respalde esto con un caso de negocios que si no se hace una exención, la productividad disminuirá y el perfil de riesgo aumentará, ya que obligarán a los usuarios a buscar formas de ignorar SSL. Si dicen que no, el tiempo de registro se pierde debido a las soluciones y se lo pasa a la cadena.

No puede usar un proxy dentro de su red para pasar la inspección SSL si es su puerta de enlace (puede hacerlo, pero no vale la pena) además de no está tratando de evitar la seguridad Controles y no hay duda en contra de la política de su empresa.

Otras cosas a tener en cuenta:

  • Java tiene un almacén de confianza separado para el sistema operativo Windows, por lo que será necesario agregar certificados aquí para las aplicaciones que usan TLS
  • Linux no se actualizará con el GPO de Windows si se usa dentro de su empresa, por lo que tendrá que hacerlo manualmente
  • Como ya se mencionó, no todos los navegadores usan el almacén de certificados del sistema operativo subyacente
  • Las aplicaciones escritas para usar en todos los entornos no aprovecharán el almacén de certificados de Windows y, en su lugar, utilizarán un método independiente, que es lo que está encontrando con git y npm
respondido por el McMatty 18.01.2018 - 03:30
fuente
0

La ruptura de SSL probablemente se realiza en un proxy como el de BlueCoat. Cuando lo estaba administrando, los administradores tuvieron que trabajar y experimentar bastante para que todo funcionara individualmente a través de listas de usuarios, listas de dominios completos (de Microsoft, por ejemplo), evitando reglas, etc. Requiere mucho esfuerzo, habilidad y tiempo. a veces conseguir una aplicación que funcione perfectamente sobre la intercepción SSL. Si los administradores de seguridad de su red son buenos en su trabajo, deben usar una combinación de configuración de proxy y cosas como GPO para minimizar la interrupción del usuario final. Personalmente, me parece increíblemente extraño que decidieran interceptar SSL, y dejaron muchas cosas completamente dañadas para que los empleados se dieran cuenta por sí mismos.

    
respondido por el downwardCorgi 17.01.2018 - 22:08
fuente

Lea otras preguntas en las etiquetas