Hadoop Cluster-এ Access Control এবং Auditing অত্যন্ত গুরুত্বপূর্ণ বিষয়, কারণ ডেটা সিকিউরিটি নিশ্চিত করা এবং সিস্টেমের কার্যকলাপের ট্র্যাক রাখা একটি হাদুপ ইকোসিস্টেমের প্রাথমিক উদ্দেশ্য। এসব কার্যকলাপ যথাযথভাবে পরিচালনা না হলে ক্লাস্টারের মধ্যে থাকা মূল্যবান ডেটা ক্ষতিগ্রস্ত বা অপব্যবহার হতে পারে।
Access Control in Hadoop Cluster
Access Control হাদুপ ক্লাস্টারে ডেটার নিরাপত্তা নিশ্চিত করতে ব্যবহৃত হয়, যেখানে ব্যবহারকারী বা সিস্টেমের অ্যাক্সেস সঠিকভাবে সীমাবদ্ধ এবং নিয়ন্ত্রিত থাকে। এটি নিশ্চিত করে যে শুধুমাত্র অনুমোদিত ব্যবহারকারীরা হাদুপ ক্লাস্টারের ডেটা বা রিসোর্স অ্যাক্সেস করতে পারে।
1. Hadoop Authentication and Authorization
Authentication এবং Authorization দুটি প্রধান অংশে বিভক্ত:
- Authentication: এটি ব্যবহারকারীর পরিচয় যাচাই করে, যাতে নিশ্চিত করা যায় যে ক্লাস্টারে প্রবেশকারী ব্যবহারকারী বৈধ। হাদুপে সাধারণত Kerberos ব্যবহার করা হয়।
- Authorization: এটি ব্যবহারকারীদের বিশেষভাবে কি কী ধরনের অ্যাক্সেস থাকতে পারে তা নিয়ন্ত্রণ করে। হাদুপে Access Control Lists (ACLs) এবং Hadoop’s Built-in Authorization ব্যবহৃত হয়।
Kerberos Authentication
Kerberos হলো একটি নেটওয়ার্ক অথেন্টিকেশন প্রোটোকল যা ক্লাস্টারে সমস্ত নোড এবং ব্যবহারকারীকে স্বীকৃত (authenticated) করে। এটি হাদুপে একটি প্রয়োজনীয় নিরাপত্তা ব্যবস্থা, কারণ এটি ক্লাস্টারে ডেটার অ্যাক্সেস কন্ট্রোল করতে সাহায্য করে।
- Kerberos Authentication ব্যবহারের মাধ্যমে প্রতিটি ব্যবহারকারী এবং নোড একটি টোকেন বা "ক্রেডেনশিয়াল" পায় যা তাদের হাদুপ সিস্টেমে প্রবেশ করতে অনুমতি দেয়।
- Hadoop Security নির্দিষ্ট ডেটা এবং রিসোর্সগুলির জন্য নির্দিষ্ট Access Control পলিসি তৈরি করতে সাহায্য করে।
Hadoop ACL (Access Control List)
ACLs ব্যবহৃত হয় ক্লাস্টারের বিভিন্ন রিসোর্সে (যেমন HDFS, Hive, HBase ইত্যাদি) অ্যাক্সেস সীমাবদ্ধ করতে। এটি ব্যবহারকারী বা গ্রুপকে নির্দিষ্ট ফাইল, ডিরেক্টরি বা ডেটা থেকে অ্যাক্সেস অনুমতি দেয়।
2. HDFS Permissions (File System Permissions)
Hadoop Distributed File System (HDFS) ব্যবহারকারী এবং গ্রুপদের জন্য ফাইল এবং ডিরেক্টরির জন্য read, write, এবং execute অনুমতি নিয়ন্ত্রণ করে। এটি POSIX-এর মতো অ্যাক্সেস কন্ট্রোল মডেল অনুসরণ করে।
- Owner: ফাইলের মালিক।
- Group: ফাইলের সাথে সংযুক্ত গ্রুপ।
- Others: অন্যান্য ব্যবহারকারীরা।
এটি ব্যবহারকারী এবং গ্রুপের মধ্যে পারমিশন নির্ধারণ করে যাতে প্রতিটি ব্যবহারকারী সঠিকভাবে নির্দিষ্ট ডেটা অ্যাক্সেস করতে পারে।
Auditing in Hadoop Cluster
Auditing হাদুপ ক্লাস্টারে কীভাবে এবং কখন ডেটা অ্যাক্সেস করা হয়েছে তা ট্র্যাক এবং মনিটর করার প্রক্রিয়া। এটি হাদুপ ক্লাস্টারের কার্যকলাপের বিস্তারিত লগ রাখতে সহায়ক, যাতে ডেটার নিরাপত্তা এবং ব্যবহারকারীদের ক্রিয়াকলাপ সঠিকভাবে পর্যবেক্ষণ করা যায়।
1. Apache Ranger
Apache Ranger হাদুপ ইকোসিস্টেমের জন্য একটি শক্তিশালী সিকিউরিটি ফ্রেমওয়ার্ক, যা Authorization, Auditing, এবং Access Control এর উপর ফোকাস করে। এটি বিভিন্ন হাদুপ সিস্টেম যেমন HDFS, Hive, HBase ইত্যাদির জন্য সেন্ট্রালাইজড সিকিউরিটি ম্যানেজমেন্ট প্রদান করে।
Ranger Audit Logs
Ranger সিস্টেমে সমস্ত অ্যাক্সেস এবং কার্যকলাপের লগ রেকর্ড করে, যা Auditing করতে সাহায্য করে। Ranger লগগুলো পর্যালোচনা করে জানা যায়:
- কে কোন ডেটা অ্যাক্সেস করেছে।
- কোন সময় ডেটা অ্যাক্সেস করা হয়েছে।
- কী ধরনের অ্যাক্সেস (যেমন read, write) করা হয়েছে।
এই লগগুলি ব্যবহার করে সিস্টেম অ্যাডমিনিস্ট্রেটররা সিকিউরিটি ইভেন্ট মনিটর করতে এবং সমস্যা চিহ্নিত করতে সক্ষম হন।
2. Apache Sentry
Apache Sentry একটি মেনেজড সিকিউরিটি মডিউল, যা হাদুপ ইকোসিস্টেমে Authorization এবং Audit কাজগুলো নিয়ন্ত্রণ করতে ব্যবহৃত হয়। এটি HDFS, Hive, এবং অন্যান্য হাদুপ সিস্টেমে Access Control নির্ধারণ করে এবং Audit Logs তৈরি করে।
Sentry, Ranger-এর মতো একটি সেন্ট্রালাইজড সিকিউরিটি পলিসি ব্যবস্থাপনা প্রদান করে, যা ব্যবহারকারী এবং গ্রুপের জন্য অ্যাক্সেস পলিসি কনফিগার করতে সহায়ক।
Access Control এবং Auditing এর প্রক্রিয়া
Access Control:
- Kerberos Authentication: ব্যবহারকারীর পরিচয় যাচাই করা হয়।
- Authorization: ব্যবহারকারী বা গ্রুপের জন্য পারমিশন এবং অ্যাক্সেস কন্ট্রোল নীতিগুলি প্রয়োগ করা হয় (ACLs ব্যবহৃত হয়)।
- Permissions: HDFS বা অন্যান্য হাদুপ কম্পোনেন্টে ফাইল এবং ডিরেক্টরির জন্য পারমিশন সেট করা হয়।
Auditing:
- Audit Logs: Ranger বা Sentry-এর মাধ্যমে লগ রেকর্ড করা হয়।
- Event Monitoring: লগগুলিতে কি ধরনের অ্যাক্সেস হয়েছে তা ট্র্যাক করা হয়।
- Incident Detection: অস্বাভাবিক বা অবাঞ্ছিত কার্যকলাপ চিহ্নিত করা হয়।
Best Practices for Access Control and Auditing in Hadoop
- Enable Kerberos Authentication: Hadoop ক্লাস্টারে Kerberos সক্ষম করুন যেন ব্যবহারকারীর পরিচয় নিশ্চিত করা যায় এবং সিস্টেমে অননুমোদিত অ্যাক্সেস রোধ করা যায়।
- Use ACLs and HDFS Permissions: ফাইল এবং ডিরেক্টরি পারমিশন সঠিকভাবে সেট করুন এবং HDFS Permissions ব্যবহার করুন যেন শুধুমাত্র অনুমোদিত ব্যবহারকারী অ্যাক্সেস করতে পারে।
- Centralized Auditing with Apache Ranger/Sentry: সেন্ট্রালাইজড সিকিউরিটি ব্যবস্থাপনা এবং অডিটিংয়ের জন্য Apache Ranger বা Apache Sentry ব্যবহার করুন।
- Regular Auditing and Monitoring: ক্লাস্টারের অ্যাক্সেস এবং কার্যকলাপ নিয়মিতভাবে মনিটর করুন এবং অডিট লোগস পর্যালোচনা করুন।
- Use Strong Authentication Mechanisms: ক্লাস্টারে Multi-factor Authentication বা অন্যান্য শক্তিশালী অথেন্টিকেশন ব্যবস্থা প্রয়োগ করুন।
সারাংশ
Access Control এবং Auditing হাদুপ ক্লাস্টারে নিরাপত্তা নিশ্চিত করতে গুরুত্বপূর্ণ ভূমিকা পালন করে। Kerberos Authentication, ACLs, এবং Authorization পদ্ধতিগুলি ব্যবহার করে সঠিকভাবে অ্যাক্সেস নিয়ন্ত্রণ করা যায়, এবং Ranger বা Sentry ব্যবহার করে সিস্টেমের কার্যকলাপ ট্র্যাক এবং অডিট করা সম্ভব হয়। এই ব্যবস্থা ব্যবহার করে, আপনি আপনার হাদুপ ক্লাস্টারের ডেটা এবং রিসোর্সের নিরাপত্তা নিশ্চিত করতে পারবেন এবং সিস্টেমে অস্বাভাবিক কার্যকলাপ সনাক্ত করতে পারবেন।
Read more