Interested in Solving your Challenges with XenonStack Team

Get Started

Get Started with your requirements and primary focus, that will help us to make your solution

Proceed Next

Continuous Security

A Beginner's Guide to Apache Hadoop Security with Kerberos and Ranger

Navdeep Singh Gill | 28 November 2024

A Beginner's Guide to Apache Hadoop Security with Kerberos and Ranger
10:25

Getting Started with Apache Hadoop Security

As big data ecosystems continue to grow, ensuring robust Hadoop data security becomes increasingly critical. By integrating Apache Ranger with Kerberos security, organizations can implement strong, fine-grained authorization and security policies that protect sensitive data. This combination provides comprehensive access control across a variety of data workflows, including data preprocessing in ML, Apache Kafka security, and even other big data tools like Apache ZooKeeper. These security measures help safeguard data, ensure compliance, and support secure, scalable operations in today's data-driven environments.

Understanding Key Components of Hadoop Security

Apache Hadoop Security is a framework designed for storing and processing big data in a distributed environment, allowing parallel processing of both structured and unstructured data. This flexibility surpasses that offered by traditional relational databases and warehouses. Hadoop is widely adopted by major companies such as Facebook, Yahoo, Netflix, and Adobe. The security of Apache Hadoop is primarily based on two components:

  • HDFS (Hadoop Distributed File System)

  • YARN (Yet Another Resource Negotiator)

The place where all the data is stored in a cluster is HDFS (Hadoop Distributed File System). In general, we can see that HDFS is a single unit that is stored for storing all the Big Data, but in reality, all the data is distributed across multiple nodes in a distributed fashion. Master- HDFS follows slave architecture. There are two nodes used in HDFS, i.e. Namenode and Datanode. Namenode acts as the Master, and Datanode is the Slave. In general, we say that the Master node contains metadata or information regarding which kind of data is stored at which node, while, on the other hand, actual data is stored in the Datanode. As we all know, hardware failure rates are pretty high, so keeping this in mind, we have to replicate the data in all the data nodes that can be used in case of emergency.

A framework that allows storing large Data in distributed mode and allows for the distributed processing on that large datasets. Click to explore about, Apache Hadoop 3.0 Features and Its Working

Now, the data that is stored in HDFS needs to be processed, and necessary information is driven, so this is done with the help of YARN (yet another resource, negotiator). YARN allocates resources and Schedules tasks to process this activity. YARN has its major components, i.e., Resource Manager and Node Manager. The resource manager is the Master node that receives the request, and then he transfers this request to the node Manager accordingly, where actual processing takes place.

Exploring the Role of Apache Ranger

Apache Ranger is used to enable, manage, and monitor the security of data across the Hadoop platform. The main aim of Ranger is to provide security across the Hadoop Ecosystem. As Apache Yarn comes, Hadoop can now have the ability to support data lake architecture. Now we can run multiple workloads in a multi-tenant environment. The main aim of the Apache Ranger is as follows -

  • Authorization method across all Hadoop components.

  • Centralize auditing of Administrative actions and user access.

  • Enhanced support for different authorization methods.

  • All the security-related tasks in the central UI are to be managed by the Security Administration.

Ranger delivers a comprehensive approach to Hadoop security, offering a centralized platform for consistently managing security policies across Hadoop components. This simplifies the management of access to databases, tables, files, folders, and columns. Ranger also provides security administrators with deep visibility to track real-time requests and manage multiple data sources.

A distributed file system, store all types of files in the Hadoop file system. Click to explore about, Data Serialization in Apache Hadoop

Securing Hadoop with Kerberos Authentication Process

To secure Apache Hadoop with Kerberos, the authentication process is crucial to prevent unauthorized access. Kerberos provides strong authentication for both server/client applications in the Hadoop ecosystem. Each client must prove its identity to the Kerberos Server, which checks with the KDC (Key Distribution Center), a centralized store for all Kerberos principals and realms. The process ensures secure communication between users and Hadoop services by verifying credentials through a series of exchanges between the client and the server, enforcing strict access controls. The procedure of Kerberos Authentication -

  • Consider User Principal to be User@EXAMPLE.COM

  • Service Principal be Hdfs/node23.example.com@EXAMPLE.COM

To create principal -

kadmin.local -q “addprinc -pw orzota hdfs-user”

To access hdfs data in kerberized client machine -

kinit
password for hdfs-user@ORZOTAADMIN.COM
.klist

This will show the time from when that ticket is valid and for which service principal. With this, we can see that the user or service has been added to how authentication Kerberos works in the database, and whenever a connection is needed to establish the authentication, it will be done first by a key that is stored in kdc through tags.

An open source dynamic data management framework which is licensed by Apache software foundation and is written in Java programming language. Click to explore about, Apache Calcite Architecture

Implementing Apache Ranger for Enhanced Hadoop Security

In the case of Ranger, we work with the repository. These repositories will be assigned to the agents or plugins that are in operation with those components. Along with these, there are policies associated with them that help to administer them. We can assign them what operations we want them to execute, like reading, writing, etc. The significant advantage of using Ranger is that it gives us the privilege to make our own plugins as per requirement. Steps needed to install and configure Ranger, First of all, we have to install Ranger and its dependencies.

yum install ranger-admin
yum install ranger-usersync
yum install ranger-hdfs-plugin
.yum install ranger-hive-plugin
set JAVA_HOME

Now we have to set up the ranger admin. There will be a script present at

“/usr/hdp/current/ranger-admin”

Which needs to be run. This will be doing the following modifications -

  • add ranger user and group

  • create ranger DB

  • Mysql users will be created with proper grants

Now we need to start the ranger-admin service

sh start-ranger-admin.sh

Setup up ranger-usersync and edit the following

/usr/hdp/current/ranger-usersync/install.properties file.
Update “POLICY_MGR_URL” to point to your ranger host
Run /usr/hdp/current/ranger-usersync/setup.sh

Start the ranger-usersync service, Run the following command -

sh start.sh

The Ranger has been installed and configured properly. Now we have to go to the Ranger UI phase. Put the Url, as stated in the ranger-usersyn step. A window will appear that will ask for login and password. By default, the login ID and password are ADMIN. There will be different repositories appearing on the Ranger Console Home Page. From the ranger console head, Ranger Plugins will be presented, where we can make that plugin active. Some of the plugins that are provided by Ranger are as follows -

With the help of these plugins, Hadoop administrators can create new policies for users to access Hadoop's services. For every plugin we enable, there is a need to restart the associated component if we have allowed HDFS; we have to restart the HDFS.

introduction-icon  Best Security Practices for Apache Hadoop Environment 

To maintain a strong AWS security posture, organizations should follow these key best practices:

  1. Implement Kerberos Authentication for Strong Identity Management: Kerberos ensures Kerberos security, providing strong authentication for user management and access control lists (ACLs). By leveraging Kerberos, organizations can enforce stringent security policies, ensuring only authorized users gain access to sensitive data stored in HDFS.
  2. Utilize Apache Ranger for Fine-Grained Authorization: Apache Ranger enhances Hadoop security by enabling fine-grained authorization. It provides a comprehensive policy framework for managing access to HDFS, Apache ZooKeeper, and other components. With security policies tailored to specific users or groups, Ranger ensures that sensitive data is protected while maintaining flexibility.
  3. Update and Monitor Configuration Files Regularly: Monitoring and keeping configuration files updated is crucial for securing Apache Hadoop security. Misconfigured configuration files can lead to vulnerabilities, compromising data protection and the security of data preprocessing in ML workflows.
  4. Implement Role-Based Access Control (RBAC): RBAC allows organizations to enforce security policies based on user roles, ensuring that only the right individuals have access to specific data processing tasks. Combining RBAC with Kerberos authentication enhances both security and efficiency.
  5. Secure Communication Between Components: In a Hadoop ecosystem that includes Apache Flink, Apache Kafka, and other tools, securing communication channels is essential. Implementing encryption protocols for data in transit protects against interception and ensures compliance with security standards.

Adopting a Holistic Approach to Hadoop Security

Securing Apache Hadoop with Kerberos security and Apache Ranger is a critical step toward ensuring robust data protection and Hadoop data security in large-scale environments. By following best practices such as implementing fine-grained authorization, enforcing access control lists (ACLs), and maintaining secure configuration files, organizations can create a fortified Hadoop ecosystem. As automatic data processing becomes more integral to industries like IoT and ML, these security measures ensure that sensitive data remains safe and compliance standards are met, especially when integrating technologies like Apache BeamApache Flink, and Apache Kafka security.

Key Actions for Boosting Hadoop Security Framework

Consult with our experts to learn how Apache Hadoop security with Kerberos and Apache Ranger can help organizations secure their data ecosystems. Discover how these tools enhance authentication and access control to protect sensitive data. With Kerberos and Ranger, you can automate security policies, optimize administration, and safeguard access in a multi-tenant environment, improving both security and efficiency. Secure your Hadoop infrastructure while ensuring compliance and seamless management of permissions across your data environment.

More Ways to Explore Us

Apache Hadoop Benefits and Working with GPU

arrow-checkmark

What is Apache Druid? A Complete Guide

arrow-checkmark

Apache ZooKeeper Security and its Architecture | Complete Guide

arrow-checkmark

Table of Contents

navdeep-singh-gill

Navdeep Singh Gill

Global CEO and Founder of XenonStack

Navdeep Singh Gill is serving as Chief Executive Officer and Product Architect at XenonStack. He holds expertise in building SaaS Platform for Decentralised Big Data management and Governance, AI Marketplace for Operationalising and Scaling. His incredible experience in AI Technologies and Big Data Engineering thrills him to write about different use cases and its approach to solutions.

Get the latest articles in your inbox

Subscribe Now