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
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-16340hive.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
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 RPCprivacy
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
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 RPCprivacy
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
Para obtener más información, consulte Hadoop in Secure Mode
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 |
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
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
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
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
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+ |
Flink
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
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
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
Amazon EMR utiliza security.ssl.algorithms
Para obtener más información, consulte Configuración SSL
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 RCPprivacy
. 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
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-3673oozie.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-3677keyStoreType
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
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. |