Información sobre el cifrado en tránsito - Amazon EMR

Información sobre el cifrado en tránsito

Puede configurar un clúster de EMR para ejecutar marcos de código abierto como Apache Spark, Apache Hive y Presto. Cada uno de estos marcos de código abierto tiene un conjunto de procesos que se ejecutan en las instancias EC2 de un clúster. Cada uno de estos procesos puede alojar puntos de conexión de red para la comunicación de red.

Si el cifrado en tránsito está habilitado en un clúster de EMR, los diferentes puntos de conexión de la red utilizan diferentes mecanismos de cifrado. Consulte las siguientes secciones para obtener más información sobre los puntos de conexión de red específicos del marco de código abierto compatibles con el cifrado en tránsito, los mecanismos de cifrado relacionados y qué versión de Amazon EMR ha añadido esta compatibilidad. Cada aplicación de código abierto también puede tener diferentes prácticas recomendadas y configuraciones de marco de código abierto que puede cambiar.

Para obtener la máxima cobertura de cifrado en tránsito, le recomendamos que habilite tanto el cifrado en tránsito como Kerberos. Si solo habilita el cifrado en tránsito, el cifrado en tránsito solo estará disponible para los puntos de conexión de la red que admiten TLS. Kerberos es necesario porque algunos puntos de conexión de red de código abierto utilizan la capa de autenticación y seguridad simple (SASL) para el cifrado en tránsito.

Tenga en cuenta que no se incluye ningún marco de código abierto que no sea compatible con las versiones 7.x.x de Amazon EMR.

Spark

Al habilitar el cifrado en tránsito en las configuraciones de seguridad, spark.authenticate se establece automáticamente en true y utiliza el cifrado basado en AES para las conexiones RPC.

A partir de Amazon EMR 7.3.0, si utiliza el cifrado en tránsito y la autenticación Kerberos, no podrá utilizar las aplicaciones de Spark que dependan del metaalmacén de Hive. Hive 3 corrige este problema en HIVE-16340. HIVE-44114 resuelve completamente este problema cuando Spark de código abierto puede actualizarse a Hive 3. Mientras tanto, puede establecer hive.metastore.use.SSL en false para tratar de solucionar este problema. Para obtener más información, consulte Configurar aplicaciones.

Para obtener más información, consulte Seguridad de Spark en la documentación de Apache Spark.

Componente punto de enlace Puerto Mecanismo de cifrado en tránsito Compatible desde la versión

Servidor de historial de Spark

spark.ssl.history.port

18480

TLS

emr-5.3.0+, emr-6.0.0+, emr-7.0.0+

Interfaz de usuario de Spark

spark.ui.port

4440

TLS

emr-5.3.0+, emr-6.0.0+, emr-7.0.0+

Controlador Spark

spark.driver.port

Dinámico

Cifrado basado en AES de Spark

emr-4.8.0+, emr-5.0.0+, emr-6.0.0+, emr-7.0.0+

Ejecutor de Spark

Puerto ejecutor (sin configuración con nombre)

Dinámico

Cifrado basado en AES de Spark

emr-4.8.0+, emr-5.0.0+, emr-6.0.0+, emr-7.0.0+

YARN NodeManager

spark.shuffle.service.port1

7337

Cifrado basado en AES de Spark

emr-4.8.0+, emr-5.0.0+, emr-6.0.0+, emr-7.0.0+

1 spark.shuffle.service.port está alojado en el NodeManager de YARN, pero solo lo usa Apache Spark.

Hadoop YARN

El Secure Hadoop RPC se ha establecido en privacy y usa el cifrado en tránsito basado en SASL. Esto requiere que la autenticación Kerberos esté habilitada en la configuración de seguridad. Si no desea el cifrado en tránsito para Hadoop RPC, configure hadoop.rpc.protection = authentication. Se recomienda usar la configuración predeterminada para garantizar la máxima seguridad.

Si sus certificados TLS no cumplen los requisitos de verificación del nombre de host de TLS, puede configurar hadoop.ssl.hostname.verifier = ALLOW_ALL. Se recomienda usar la configuración predeterminada de hadoop.ssl.hostname.verifier = DEFAULT, que exige la verificación del nombre de host de TLS.

Para deshabilitar HTTPS en los puntos de conexión de la aplicación web YARN, configure yarn.http.policy = HTTP_ONLY. Esto hace que el tráfico a estos puntos de conexión permanezca sin cifrar. Se recomienda usar la configuración predeterminada para garantizar la máxima seguridad.

Para obtener más información, consulte Hadoop in Secure Mode en la documentación de Apache Hadoop:

Componente punto de enlace Puerto Mecanismo de cifrado en tránsito Compatible desde la versión

ResourceManager

yarn.resourcemanager.webapp.address

8088

TLS

emr-7.3.0+

ResourceManager

yarn.resourcemanager.resource-tracker.address

8025

SASL + Kerberos

emr-4.8.0+, emr-5.0.0+, emr-6.0.0+, emr-7.0.0+

ResourceManager

yarn.resourcemanager.scheduler.address

8030

SASL + Kerberos

emr-4.8.0+, emr-5.0.0+, emr-6.0.0+, emr-7.0.0+

ResourceManager

yarn.resourcemanager.address

8032

SASL + Kerberos

emr-4.8.0+, emr-5.0.0+, emr-6.0.0+, emr-7.0.0+

ResourceManager

yarn.resourcemanager.admin.address

8033

SASL + Kerberos

emr-4.8.0+, emr-5.0.0+, emr-6.0.0+, emr-7.0.0+

TimelineServer

yarn.timeline-service.address

10200

SASL + Kerberos

emr-4.8.0+, emr-5.0.0+, emr-6.0.0+, emr-7.0.0+

TimelineServer

yarn.timeline-service.webapp.address

8188

TLS

emr-7.3.0+

WebApplicationProxy

yarn.web-proxy.address

20888

SASL + Kerberos

emr-4.8.0+, emr-5.0.0+, emr-6.0.0+, emr-7.0.0+

NodeManager

yarn.nodemanager.address

8041

SASL + Kerberos

emr-4.8.0+, emr-5.0.0+, emr-6.0.0+, emr-7.0.0+

NodeManager

yarn.nodemanager.localizer.address

8040

SASL + Kerberos

emr-4.8.0+, emr-5.0.0+, emr-6.0.0+, emr-7.0.0+

NodeManager

yarn.nodemanager.webapp.address

8044

TLS

emr-7.3.0+

NodeManager

mapreduce.shuffle.port1

13562

TLS

emr-4.8.0+, emr-5.0.0+, emr-6.0.0+, emr-7.0.0+

NodeManager

spark.shuffle.service.port2

7337

Cifrado basado en AES de Spark

emr-4.8.0+, emr-5.0.0+, emr-6.0.0+, emr-7.0.0+

1 mapreduce.shuffle.port está alojado en el NodeManager de YARN, pero solo lo usa Hadoop MapReduce.

2 spark.shuffle.service.port está alojado en el NodeManager de YARN, pero solo lo usa Apache Spark.

HDFS de Hadoop

El nodo de nombre, el nodo de datos y el nodo de diario de Hadoop admiten TLS de forma predeterminada si el cifrado en tránsito está habilitado en los clústeres de EMR.

El Secure Hadoop RPC se ha establecido en privacy y usa el cifrado en tránsito basado en SASL. Esto requiere que la autenticación Kerberos esté habilitada en la configuración de seguridad.

Se recomienda no cambiar los puertos predeterminados que se utilizan para los puntos de conexión HTTPS.

El cifrado de datos en la transferencia de bloques de HDFS utiliza AES 256 y requiere que el cifrado en reposo esté habilitado en la configuración de seguridad.

Para obtener más información, consulte Hadoop in Secure Mode en la documentación de Apache Hadoop:

Componente punto de enlace Puerto Mecanismo de cifrado en tránsito Compatible desde la versión

Namenode

dfs.namenode.https-address

9871

TLS

emr-4.8.0+, emr-5.0.0+, emr-6.0.0+, emr-7.0.0+

Namenode

dfs.namenode.rpc-address

8020

SASL + Kerberos

emr-4.8.0+, emr-5.0.0+, emr-6.0.0+, emr-7.0.0+

Datanode

dfs.datanode.https.address

9865

TLS

emr-4.8.0+, emr-5.0.0+, emr-6.0.0+, emr-7.0.0+

Datanode

dfs.datanode.address

9866

SASL + Kerberos

emr-4.8.0+, emr-5.0.0+, emr-6.0.0+, emr-7.0.0+

Nodo de diario

dfs.journalnode.https-address

8481

TLS

emr-4.8.0+, emr-5.0.0+, emr-6.0.0+, emr-7.0.0+

Nodo de diario

dfs.journalnode.rpc-address

8485

SASL + Kerberos

emr-4.8.0+, emr-5.0.0+, emr-6.0.0+, emr-7.0.0+

DFSZKFailoverController

dfs.ha.zkfc.port

8019

Ninguna

El TLS para ZKFC solo se admite en Hadoop 3.4.0. Consulte HADOOP-18919 para más información La versión 7.1.0 de Amazon EMR se encuentra actualmente en Hadoop 3.3.6. En el futuro, las versiones posteriores de Amazon EMR estarán en Hadoop 3.4.0

Hadoop MapReduce

Hadoop MapReduce, el servidor de historial de trabajos y el intercambio de MapReduce admiten el TLS de forma predeterminada cuando el cifrado en tránsito está habilitado en los clústeres de EMR.

El intercambio cifrado de Hadoop MapReduce usa TLS.

Se recomienda no cambiar los puertos predeterminados para los puntos de conexión HTTPS.

Para obtener más información, consulte Hadoop in Secure Mode en la documentación de Apache Hadoop:

Componente punto de enlace Puerto Mecanismo de cifrado en tránsito Compatible desde la versión

JobHistoryServer

mapreduce.jobhistory.webapp.https.address

19890

TLS

emr-7.3.0+

YARN NodeManager

mapreduce.shuffle.port1

13562

TLS

emr-4.8.0+, emr-5.0.0+, emr-6.0.0+, emr-7.0.0+

1 mapreduce.shuffle.port está alojado en el NodeManager de YARN, pero solo lo usa Hadoop MapReduce.

Presto

En las versiones 5.6.0 y posteriores de Amazon EMR, la comunicación interna entre el coordinador de Presto y los trabajadores utiliza TLS. Amazon EMR establece todas las configuraciones necesarias para permitir una comunicación interna segura en Presto.

Si el conector utiliza el metaalmacén de Hive como almacén de metadatos, la comunicación entre el comunicador y el metaalmacén de Hive también se cifra con TLS.

Componente punto de enlace Puerto Mecanismo de cifrado en tránsito Compatible desde la versión

Coordinador de Presto

http-server.https.port

8446

TLS

emr-5.6.0+, emr-6.0.0+, emr-7.0.0+

Trabajador de Presto

http-server.https.port

8446

TLS

emr-5.6.0+, emr-6.0.0+, emr-7.0.0+

Trino

En las versiones 6.1.0 y posteriores de Amazon EMR, la comunicación interna entre el coordinador y los trabajadores de Presto utiliza TLS. Amazon EMR establece todas las configuraciones necesarias para permitir una comunicación interna segura en Trino.

Si el conector utiliza el metaalmacén de Hive como almacén de metadatos, la comunicación entre el comunicador y el metaalmacén de Hive también se cifra con TLS.

Componente punto de enlace Puerto Mecanismo de cifrado en tránsito Compatible desde la versión

Coordinador de Trino

http-server.https.port

8446

TLS

emr-6.1.0+, emr-7.0.0+

Trabajador de Trino

http-server.https.port

8446

TLS

emr-6.1.0+, emr-7.0.0+

Hive y Tez

De forma predeterminada, el servidor Hive 2, el servidor de metaalmacén Hive, la IU web Hive LLAP Daemon y Hive LLAP intercambian toda la compatibilidad TLS cuando el cifrado en tránsito está habilitado en los clústeres de EMR. Para obtener más información acerca de las configuraciones de Hive, consulte Propiedades de la configuración.

La IU de Tez alojada en el servidor Tomcat también está habilitada para HTTPS cuando el cifrado en tránsito está habilitado en el clúster de EMR. Sin embargo, HTTPS está desactivado para el servicio de IU web de Tez AM, por lo que los usuarios de AM no tienen acceso al archivo del almacén de claves del agente de escucha SSL que lo abre. También puede habilitar este comportamiento con las configuraciones booleanas tez.am.tez-ui.webservice.enable.ssl y tez.am.tez-ui.webservice.enable.client.auth.

Componente punto de enlace Puerto Mecanismo de cifrado en tránsito Compatible desde la versión

HiveServer2

hive.server2.thrift.port

10000

TLS

emr-6.9.0+, emr-7.0.0+

HiveServer2

hive.server2.thrift.http.port

10001

TLS

emr-6.9.0+, emr-7.0.0+

HiveServer2

hive.server2.webui.port

10002

TLS

emr-7.3.0+

HiveMetastoreServer

hive.metastore.port

9083

TLS

emr-7.3.0+

LLAP Daemon

hive.llap.daemon.yarn.shuffle.port

15551

TLS

emr-7.3.0+

LLAP Daemon

hive.llap.daemon.web.port

15002

TLS

emr-7.3.0+

LLAP Daemon

hive.llap.daemon.output.service.port

15003

Ninguna

Hive no admite el cifrado en tránsito para este punto de conexión

LLAP Daemon

hive.llap.management.rpc.port

15004

Ninguna

Hive no admite el cifrado en tránsito para este punto de conexión

LLAP Daemon

hive.llap.plugin.rpc.port

Dinámico

Ninguna

Hive no admite el cifrado en tránsito para este punto de conexión

LLAP Daemon

hive.llap.daemon.rpc.port

Dinámico

Ninguna

Hive no admite el cifrado en tránsito para este punto de conexión

WebHCat

templeton.port

50111

TLS

emr-7.3.0+

Maestro de aplicación de Tez

tez.am.client.am.port-range

tez.am.client.am.port-range

Dinámico

Ninguna

Tez no admite el cifrado en tránsito para este punto de conexión

Maestro de aplicación de Tez

tez.am.tez-ui.webservice.port-range

Dinámico

Ninguna

Está deshabilitado de forma predeterminada. Se puede habilitar mediante las configuraciones de Tez en emr-7.3.0+

Tarea de Tez

N/D: no se puede configurar

Dinámico

Ninguna

Tez no admite el cifrado en tránsito para este punto de conexión

Tez UI

Se puede configurar mediante el servidor Tomcat en el que está alojada la IU de Tez

8080

TLS

emr-7.3.0+

Los puntos de conexión REST de Apache Flink y la comunicación interna entre los procesos de Flink admiten TLS de forma predeterminada cuando se habilita el cifrado en tránsito en los clústeres de EMR.

security.ssl.internal.enabled está establecido en true y usa cifrado en tránsito para la comunicación interna entre los procesos de Flink. Si no desea el cifrado en tránsito para la comunicación interna, deshabilite esa configuración. Se recomienda usar la configuración predeterminada para garantizar la máxima seguridad.

Amazon EMR establece security.ssl.rest.enabled en true y utiliza el cifrado en tránsito para los puntos de conexión REST. Además, Amazon EMR también se establece historyserver.web.ssl.enabled en verdadero para utilizar la comunicación TLS con el servidor de historial de Flink. Si no desea el cifrado en tránsito para los puntos REST, deshabilite esas configuraciones. Se recomienda usar la configuración predeterminada para garantizar la máxima seguridad.

Amazon EMR utiliza security.ssl.algorithms para especificar la lista de cifrados que utilizan el cifrado basado en AES. Anule esta configuración para usar los cifrados que desee.

Para obtener más información, consulte Configuración SSL en la documentación de Flink.

Componente punto de enlace Puerto Mecanismo de cifrado en tránsito Compatible desde la versión

Servidor de historial de Flink

historyserver.web.port

8082

TLS

emr-7.3.0+

Servidor REST del administrador de trabajos

rest.bind-port

rest.port

Dinámico

TLS

emr-7.3.0+

HBase

Amazon EMR establece Secure Hadoop RCP en privacy. HMaster y RegionServer utilizan cifrado en tránsito basado en SASL. Esto requiere que la autenticación Kerberos esté habilitada en la configuración de seguridad.

Amazon EMR establece hbase.ssl.enabled en verdadero y usa TLS para los puntos de conexión de la IU. Si no desea utilizar TLS para la IU de los puntos de conexión, deshabilite esta configuración. Se recomienda usar la configuración predeterminada para garantizar la máxima seguridad.

Amazon EMR establece hbase.rest.ssl.enabled y hbase.thrift.ssl.enabled y usa TLS para los puntos de conexión de los servidores REST y Thirft, respectivamente. Si no desea utilizar TLS para estos puntos de conexión, deshabilite esta configuración. Se recomienda usar la configuración predeterminada para garantizar la máxima seguridad.

Componente punto de enlace Puerto Mecanismo de cifrado en tránsito Compatible desde la versión

HMaster

HMaster

16 000

SASL + Kerberos

emr-4.8.0+, emr-5.0.0+, emr-6.0.0+, emr-7.0.0+

HMaster

IU de HMaster

16010

TLS

emr-7.3.0+

RegionServer

RegionServer

16020

SASL + Kerberos

emr-4.8.0+, emr-5.0.0+, emr-6.0.0+, emr-7.0.0+

RegionServer

RegionServer Info

16030

TLS

emr-7.3.0+

Servidor REST de HBase

Servidor REST

8070

TLS

emr-7.3.0+

Servidor REST de HBase

IU REST

8085

TLS

emr-7.3.0+

Servidor Thrift de HBase

Servidor Thrift

9090

TLS

emr-7.3.0+

Servidor Thrift de HBase

IU del servidor Thrift

9095

TLS

emr-7.3.0+

Phoenix

Si habilitó el cifrado en tránsito en su clúster de EMR, Phoenix Query Server admite la propiedad TLS de phoenix.queryserver.tls.enabled, que está establecida de forma predeterminada en true.

Para obtener más información, consulte Configuraciones relacionadas con HTTPS en la documentación de Phoenix Query Server.

Componente punto de enlace Puerto Mecanismo de cifrado en tránsito Compatible desde la versión

Servidor de consultas

phoenix.queryserver.http.port

8765

TLS

emr-7.3.0+

Oozie

OOZIE-3673 está disponible en Amazon EMR si ejecuta Oozie en Amazon EMR 7.3.0 y versiones posteriores. Si necesita configurar protocolos SSL o TLS personalizados al ejecutar una acción de correo electrónico, puede establecer la propiedad oozie.email.smtp.ssl.protocols en el archivo oozie-site.xml. De forma predeterminada, si ha activado el cifrado en tránsito, Amazon EMR utiliza el protocolo TLS v1.3.

OOZIE-3677 y OOZIE-3674 están también disponible en Amazon EMR si ejecuta Oozie en Amazon EMR 7.3.0 y versiones posteriores. Esto le permite especificar las propiedades keyStoreType y trustStoreType en oozie-site.xml. OOZIE-3674 añade el parámetro --insecure al cliente de Oozie para que pueda ignorar los errores de certificado.

Oozie exige la verificación del nombre de host mediante TLS, lo que significa que cualquier certificado que utilice para el cifrado en tránsito debe cumplir los requisitos de verificación del nombre de host. Si el certificado no cumple los criterios, el clúster podría quedarse atascado en la fase de oozie share lib update en la que Amazon EMR aprovisiona el clúster. Se recomienda actualizar los certificados para asegurarse de que cumplen con la verificación del nombre de host. Sin embargo, si no puede actualizar los certificados, puede deshabilitar el SSL para Oozie estableciendo la propiedad de oozie.https.enabled en false en la configuración del clúster.

Componente punto de enlace Puerto Mecanismo de cifrado en tránsito Compatible desde la versión

EmbeddedOozieServer

oozie.https.port

11443

TLS

emr-7.3.0+

EmbeddedOozieServer

oozie.email.smtp.port

25

TLS

emr-7.3.0+

Zeppelin

De forma predeterminada, Zeppelin admite TLS cuando habilita el cifrado en tránsito en su clúster de EMR. Para obtener más información sobre las configuraciones de Zeppelin, consulte Configuración SSL en la documentación de Zeppelin.

Componente punto de enlace Puerto Mecanismo de cifrado en tránsito Compatible desde la versión

Zeppelin

zeppelin.server.ssl.port

8890

TLS

Compatible en las versiones 7.3.0 y posteriores de Amazon EMR.