Integración SAML en Zimbra OSE

La tecnología de inicio de sesión único tiene muchas ventajas sobre los métodos de autenticación clásicos, la principal de las cuales es que SSO proporciona el mejor equilibrio entre la comodidad del usuario y la seguridad de la información de la empresa. Anteriormente discutimos cómo implementar SSO en Zimbra OSE cuando se usa la autenticación de Active Directory usando Kerberos. Esta vez hablaremos sobre cómo implementar Zimbra OSE, otra tecnología de inicio de sesión único: SAML utilizando el ejemplo del proveedor Okta.



imagen



SAML SSO en Zimbra OSE solo está disponible para usuarios de Zextras Suite Pro.



Preparándose para la integración



En primer lugar, para habilitar la integración SAML, debe parchear NGINX. Para hacer esto, en la carpeta / opt / zimbra / conf / nginx / templates /, edite los archivos uno por uno:



  • nginx.conf.web.http.default.template
  • nginx.conf.web.http.template
  • nginx.conf.web.https.default.template
  • nginx.conf.web.https.template


En todos los archivos en la ubicación ^ ~ / zx / sección, reemplace el contenido con



location ^~ /zx/

{

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header Host $http_host;

proxy_set_header X-Forwarded-Proto $scheme;

proxy_set_header X-Forwarded-Port $server_port;

proxy_pass ${web.upstream.zx};

}
      
      





Estos cambios son necesarios para componer las URL completas del Protocolo X y X-Port.



También es necesario activar el motor de autenticación de Zextras a nivel de dominio. El administrador del servidor puede hacer esto ingresando el comando zmprov modifiedDomain example.ru zimbraAuthMech custom: zx en la línea de comando .



Construyendo una aplicación en Okta



En el caso de que no haya utilizado SAML anteriormente para acceder a los recursos de la empresa, deberá crear su propia aplicación para la autenticación de usuarios. Para crear una aplicación de este tipo en Okta:



1. Regístrese como desarrollador en okta.com



2. En su cuenta personal, haga clic en el botón “Crear integración de aplicaciones”







3. En la lista que se abre, seleccione SAML 2.0 y haga clic en Siguiente







4. En la siguiente ventana, especifique un nombre para su aplicación, seleccione un icono y establezca su visibilidad y haga clic en Siguiente cuando todo esté listo







5. En la siguiente ventana:



  1. Especifique la dirección de su servidor con el apéndice / zx / auth / saml como la URL de SSO
  2. Para Audiend URI, especifique la dirección de su servidor con el apéndice / zx / auth / samlMetadata
  3. Establezca el formato de ID de nombre en EmailAddress
  4. Haga clic en Siguiente






6. En la mini-encuesta, seleccione la primera opción de respuesta y haga clic en Finalizar







7. Descargue los metadatos de su aplicación SAML







Si ya tiene su aplicación en Okta, simplemente descargue el archivo de metadatos de su aplicación.



Exportación de cuentas desde un dominio OSE de Zimbra



La aplicación SAML admite tanto la creación de nuevas cuentas como la importación de las existentes desde Zimbra. Para importar cuentas, primero debe exportarlas desde Zimbra en formato .csv.



Para exportar cuentas, vaya a la consola de administración de Zimbra, vaya a la pestaña Buscar y busque usuarios con el nombre de dominio en la consulta de búsqueda. El resultado de la búsqueda será una lista completa de usuarios del dominio, que se puede cargar en formato CSV haciendo clic en el ícono "Configuración adicional" en la esquina superior derecha y seleccionando la sección "Cargar".







Importe el CSV recibido a la aplicación SAML usando la herramienta adecuada en la cuenta personal del desarrollador.



Integración de la aplicación en Zimbra OSE



Para integrar una aplicación SAML en Zimbra OSE, necesita los datos del archivo de metadatos de la aplicación descargado anteriormente.



La integración se puede llevar a cabo automáticamente simplemente especificando la ubicación del archivo con metadatos en la configuración, o manualmente agregando todos los datos necesarios al archivo de configuración.



Para realizar la integración automática, ingrese el comando zxsuite auth saml import example.ru url dev-3299935.okta.com/app/exkvjcggn7C7jrhc75d6/sso/saml/metadata . Si está utilizando su propio servidor SAML con certificados autofirmados, utilice el parámetro allow_insecure true para omitir la autenticación del certificado SSL.



Para la integración manual, exporte la configuración SAML predeterminada mediante el comando zxsuite auth saml get example.com export_to /tmp/saml.json . Abra el archivo resultante /tmp/saml.json en cualquier editor y agregue los siguientes datos, reemplazando las líneas marcadas con >> << con los datos del archivo de metadatos. En nuestro caso, las líneas agregadas se verán así:



«sp.nameidformat»:«urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress »,

«sp.entityid»: >> example.ru/zx/auth/samlMetadata?domain=example.ru <<,

«sp.assertion_consumer_service.url»: >> example.ru/zx/auth/saml <<,

«idp.single_sign_on_service.url»: >> dev-3299935.okta.com/app/dev-3299935_zextrassamlintegration_1/exkvjcggn7C7jrhc75d6/sso/saml <<,

«idp.entityid»: >> www.okta.com/exkvjcggn7C7jrhc75d6 <<,

«idp.x509cert»: >>MIIDpjCCAo6gAwIBAgIGAXmC9e8bMA0GCSqGSIb3DQEBCwUAMIGTMQswCQYDVQQGEwJVUzETMBEG A1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzENMAsGA1UECgwET2t0YTEU MBIGA1UECwwLU1NPUHJvdmlkZXIxFDASBgNVBAMMC2Rldi0zMjk5OTM1MRwwGgYJKoZIhvcNAQkB Fg1pbmZvQG9rdGEuY29tMB4XDTIxMDUxOTA0NDkyNloXDTMxMDUxOTA0NTAyNlowgZMxCzAJBgNV BAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRYwFAYDVQQHDA1TYW4gRnJhbmNpc2NvMQ0wCwYD VQQKDARPa3RhMRQwEgYDVQQLDAtTU09Qcm92aWRlcjEUMBIGA1UEAwwLZGV2LTMyOTk5MzUxHDAa BgkqhkiG9w0BCQEWDWluZm9Ab2t0YS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB AQCOJA7bhf/LO89VpuGTHur77RbwKlJg3Eni/P4JKowSVrQD6PghwprCdzThyTsKWcHwESZoYwEL WdrZ6CVzDZWAegWJnaJivfiFlFjsEZ15UHOGizMBM3VI0ePWjaWJ6O2DM9BID2mGULnXUDbQXbf6 rE1EHxzlxzCKIBWmT8ut/JsA/lmBm0YNi4BKfP06KXCLianxoH+fEETNd/NH2mXwgHdxMV1BS/mm TAHSJtkDfWxTM+dTGngrjMANKvmChGjSO1ZXFs/pm+vx0o6ffYcoeXnfgodBX3FZ7aTFBTk0s5Se Wms1utjfa8qhHbrolErqqIc1PPBngEFvzcLjFAfRAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAByU jjdAc5tdH+QFAHS0CJNYa9VNaapxuEFrlR3ZdAztIaczKUqYfHqHdXuDHYCjdHXhLFHwntBsnphk M2sk8D2zG0wpoYsEA3IrvbXoTwwqDzACpLF37S7Pfn0RjE5IvvJ9WP4DoZa9ikM/p0N+H7fpqkU2 xavoiNGOMqot9xpWrytM0P+luXereriOOzVaBS1+DuhA4INhze5luyc52X18T4HrJ3iGivfXR2os L8/PI4gZwR956Ju8tDEcmFVCelLN4FlN3ITogPK+SyKHhlTBuSGHidrGKQJBRmkLhk6lhKWTHjWP mI88ECqrA63+QvxU4KRUl1zzRgKVwrgzos4= <<


Guarde los cambios realizados en el archivo e impórtelo en Zimbra OSE usando el comando zxsuite auth saml import example.ru /tmp/saml.json







Después de completar todas las acciones descritas en la página de inicio de sesión del cliente web Zimbra OSE, el botón "SAML Iniciar sesión "aparecerá, al hacer clic en el que el servidor se pondrá en contacto con la aplicación SAML con una solicitud para autenticar al usuario. Si la aplicación confirma la autenticidad del inicio de sesión, el usuario iniciará sesión en su cuenta sin ingresar ningún dato de autenticación. Al mismo tiempo, existe la posibilidad de que el usuario inicie sesión con nombre de usuario y contraseña.



Para todas las preguntas relacionadas con Zextras Suite Pro y Team Pro, puede comunicarse con la Representante de Zextras Technology Ekaterina Triandafilidi por correo electrónico ekaterina.triandafilidi@zextras.com



All Articles