Acceso protegido a Zookeeper basado en ACLs

Implementar Google re-captcha v2 – I´m not a robot
27 de agosto de 2023
Manual de referencia Bash
27 de agosto de 2023

Para proteger Zookeeper de accesos indebidos debemos implementar algún tipo de autenticación ya que por defecto viene abierta para todo el mundo (world:anyone:cdrwa). Para ello utilizaremos una autenticación basada en un usuario registrado en el OS.

Tipos de autenticación

1.- Connect to zookeepper client:
zookeeper-client

2.- Authenticate, if needed (when root path is not set as world:anyone:cdrwa):
addauth digest osuser:osuser123

3.- List znodes:
ls /

4.- Get znodes permissions:
getAcl /
getAcl /registry

5.- Set znodes permissions as needed:
setAcl / auth:osuser:hadoop123:cdrwa
setAcl /registry auth:osuser:osuser123:cdrwa 

This is the list of znodes where we should apply the permissions:
[registry, hiveserver2, hiveserver2-leader, zookeeper, hadoop-ha, rmstore, atsv2-hbase-unsecure, ambari-metrics-cluster]

Revertir permisos -> setAcl /znode_name world:anyone:cdrwa

También podemos implementar autenticación basada en IPs permitidas.

setAcl /someZNode ip:192.168.1.5:crdwa

La configuración acerca de que servidores son los Zookeepers servers está en este archivo, la replicación de las ACLs se realiza automáticamente y en tiempo real:

/etc/zookeeper/conf/zoo.cfg

clientPort=2181
initLimit=10
autopurge.purgeInterval=24
syncLimit=5
tickTime=3000
dataDir=/hadoop/zookeeper
autopurge.snapRetainCount=30
server.1=zookeeper1.myserver.com:2888:3888
server.2=zookeeper2.myserver.com:2888:3888
server.3=zookeeper3.myserver.com:2888:3888
About the permission set this is the equivalence:
    • (R)ead
    • (W)rite 
    • (C)reate
    • (D)elete
    • (A)dmin

Useful info about Apache Zookeeper can be located here:

https://docs.cloudera.com/HDPDocuments/HDP3/HDP-3.0.1/zookeeper-acls/content/zookeeper_acls_best_practices_zookeeper.html

https://zookeeper.apache.org/doc/r3.4.9/zookeeperAdmin.html

https://zookeeper.apache.org/doc/r3.5.7/zookeeperProgrammers.html#sc_ZooKeeperAccessControl

https://www.projectpro.io/hadoop-tutorial/zookeeper-tutorial

https://zookeeper.apache.org/doc/r3.8.1/zookeeperCLI.html

https://community.cloudera.com/t5/Community-Articles/Zookeeper-Super-User-Authentication-and-Authorization/ta-p/246020

https://ihong5.wordpress.com/2014/07/10/apache-zookeeper-acl-access-control-list-getting-permission-sets/

https://ihong5.wordpress.com/2014/07/24/apache-zookeeper-setting-acl-in-zookeeper-client/

https://docs.cloudera.com/runtime/7.2.17/zookeeper-security/topics/zookeeper-acls-zookeeper.html

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Acceso protegido a Zookeeper basado en ACLs
Este sitio web utiliza cookies para mejorar su experiencia. Al utilizar este sitio web, usted acepta nuestra Política de privacidad.
Leer más