মাঝে মাঝে, আপনাকে Oracle® Databasesuperuser, sys
-এর সমস্ত কাজ অডিট করতে হতে পারে . এই প্রয়োজনীয়তা পূরণের জন্য, ওরাকল একটি বৈশিষ্ট ইনভার্সন 9i চালু করেছে যাতে রয়েছে AUDIT_SYS_OPERATIONS
প্যারামিটার।
পরিচয়
যখন আপনি এই প্যারামিটারটিকে true
এ সেট করবেন , প্রক্রিয়াটি AUDIT_FILE_DEST
দ্বারা নির্ধারিত ডিরেক্টরিতে ফাইল তৈরি করে প্যারামিটার এই ফাইলগুলিতে sys
এর সমস্ত কর্মের একটি প্রোটোকল রয়েছে ব্যবহারকারী ডিফল্টরূপে, ফাইলগুলিতে sys
দ্বারা সংযোগ থাকে৷ কিন্তু সংযোগের পরে ঘটে যাওয়া ক্রিয়াগুলি অন্তর্ভুক্ত করবেন না৷
যদি আপনি AUDIT_SYS_OPERATIONS=true
সেট করেন , sys
-এর সমস্ত ক্রিয়া সম্বলিত অডিট ফাইল অপারেটিং সিস্টেম ব্যবহারকারীর অন্তর্গত যে ডাটাবেস ইনস্টল করেছে—সাধারণত, ওরাকল ব্যবহারকারী। sys
হিসাবে সংযোগ করার সুবিধা সহ একজন ব্যবহারকারী সম্ভবত Oracle
হিসাবে সংযোগ করার বিশেষাধিকার রয়েছে অপারেটিং সিস্টেম (ওএস) স্তরে। এই অ্যাক্সেস AUDIT_SYS_OPERATIONS
ব্যবহার করে করে নিরাপত্তার দৃষ্টিকোণ থেকে কিছুটা অর্থহীন। সুতরাং, Oracle অনুমতি দেয় root
অডিট ফাইলের মালিক হতে, যা ডাটাবেস অ্যাডমিনিস্ট্রেটরের পক্ষে ফাইলটি ম্যানিপুলেট করা বা মুছে ফেলা কঠিন করে তুলবে৷
ওএস স্তরে অডিট ফাইলটি কনফিগার করুন
anOracle Real Application Clusters (RAC) পরিবেশে OS স্তরে অডিট ফাইল কনফিগার করতে নিম্নলিখিত পদক্ষেপগুলি ব্যবহার করুন:
ধাপ 1:ডাটাবেস প্যারামিটার সেট করুন
ডাটাবেস প্যারামিটার সেট করতে নিম্নলিখিত কমান্ডগুলি ব্যবহার করুন:
SQL> alter system set audit_sys_operations=true scope=spfile;
System altered.
SQL> alter system set audit_syslog_level='LOCAL1.WARNING' scope=spfile;
System altered.
SQL> alter system set audit_trail = OS
SCOPE=SPFILE;
System altered.
ধাপ 2:RAC নোডগুলি কনফিগার করুন
root
হিসাবে নিম্নলিখিত পদক্ষেপগুলি ব্যবহার করুন৷ , RAC1 এবং RAC2 নোডগুলি কনফিগার করতে:
ক) /etc/rsyslog.conf ব্যাক আপ করতে নিম্নলিখিত কমান্ডটি চালান :
cp -p /etc/rsyslog.conf /etc/rsyslog.conf.<ITK#>
b) /etc/rsyslog.conf-এ নিম্নলিখিত লাইন যোগ করুন :
# Oracle audit <ITK#>
local1.warning /var/log/oracle/db_name_audit.log
ধাপ 3:syslog লগার পুনরায় চালু করুন
syslog
পুনরায় চালু করতে নিম্নলিখিত কমান্ডগুলি চালান লগার প্রক্রিয়া:
service rsyslog status
service rsyslog restart
service rsyslog status
ধাপ 4:RAC ডাটাবেস পুনরায় চালু করুন
রোলিং ফ্যাশনে RAC1 এবং RAC2-এ RAC ডাটাবেস পুনরায় চালু করতে নিম্নলিখিত পদক্ষেপগুলি ব্যবহার করুন:
ক) RAC2-এ নিম্নলিখিত কমান্ডগুলি চালান:
srvctl stop instance -d DB_NAME -i DB_SID2
srvctl start instance -d DB_NAME -i DB_SID2
srvctl status database -d DB_NAME
খ) দশ মিনিট অপেক্ষা করুন।
গ) RAC1 এ নিম্নলিখিত কমান্ডগুলি চালান:
srvctl stop instance -d DB_NAME -i DB_SID1
srvctl start instance -d DB_NAME -i DB_SID1
srvctl status database -d DB_NAME
ধাপ 5:লগরোটেট ফাইল সেট আপ করুন
logrotate সেট আপ করতে RAC1 এবং RAC2-এ ফাইল, /etc/logrotate.d/oracle_audit সম্পাদনা করুন , root
হিসাবে , নিম্নলিখিত লাইনগুলি অন্তর্ভুক্ত করতে:
/var/log/oracle/db_name_audit.log
{
rotate 12
compress
weekly
dateext
notifempty
missingok
copytruncate
}
Logrotate প্যারামিটার
আপনি logrotate-এ নিম্নলিখিত বিকল্পগুলি অন্তর্ভুক্ত করতে পারেন (লোগ্রোটেট এবং ম্যান ফাইল ব্যবহার করে আপনার লগগুলি পরিচালনা থেকে সংগৃহীত) কনফিগারেশন ফাইল:
ঘোরান৷ :লগের শেষ এন সংরক্ষণাগার রাখুন। আপনি এই উচ্চ সেট করতে পারেন, যতদিন আপনি ডিস্ক ব্যবহার যুক্তিসঙ্গত. লগ বড় হলে আপনি এটিকে শেষ 10 দিন বা 2 সপ্তাহে সেট করতে পারেন৷
কম্প্রেস :সংরক্ষণাগারভুক্ত লগগুলি gzip ব্যবহার করে সংকুচিত হয় (প্রস্তাবিত)। এই কম্প্রেশন ফাইলের আকারকে কাঁচা লগের তুলনায় অনেক কম রাখে।
সাপ্তাহিক :লগ ফাইলগুলি প্রতিদিন একবার ঘোরানো হয়, অথবা যদি শেষ ঘূর্ণন থেকে (সঠিক সময় উপেক্ষা করার সময়) তারিখটি কমপক্ষে 7 দিনের মধ্যে অগ্রসর হয়। . বিশেষ মান 7 মানে সপ্তাহের দিন নির্বিশেষে প্রতিটি 7 দিন। যদি সপ্তাহের দিনের যুক্তি বাদ দেওয়া হয় তবে ডিফল্ট 0 হয়।
বার্ষিক :লগ ফাইলগুলি ঘোরানো হয় যদি বর্তমান বছরের শেষ আবর্তনের মতো না হয়৷
৷তারিখের পাঠ্য :সংরক্ষণাগারভুক্ত লগ ফাইলগুলিকে প্রসেস করার তারিখের সাথে যুক্ত করা হয়। ডিফল্ট বিন্যাস হল YYYYMMDD। এই পরিশিষ্টটি সংরক্ষণাগারভুক্ত লগগুলির জন্য অনুসন্ধানকে আরও সহজ করে তোলে।
বিজ্ঞপ্তি :লগ ফাইলটি খালি থাকলে, এটি সংরক্ষণাগারভুক্ত করবেন না। এটি গুরুত্বপূর্ণ কারণ আপনি শুধুমাত্র একটি নির্দিষ্ট সংখ্যক সংরক্ষণাগার রাখেন এবং এটি নিশ্চিত করে যে আপনার কাছে সংরক্ষণাগারভুক্ত খালি ফাইলগুলি নেই যা পুরানো সংরক্ষণাগারভুক্ত এন্ট্রিগুলিকে ঠেলে দেয়৷
অনুপস্থিত :যদি কোনো লগ ফাইল পাওয়া না যায়, তাহলে কনফিগারেশনে পরবর্তী লগ ফাইলটি অনুসন্ধান করুন। এটি নিশ্চিত করে যে একটি লগ ফাইল অনুপস্থিত থাকলে logrotate প্রোগ্রামটি অপ্রত্যাশিতভাবে প্রস্থান করে না৷
কপিট্রুনকেট :যখন একটি লগ আর্কাইভ করা হয়, logrotate অন্য ফাইলে (একটি টাইমস্ট্যাম্প সহ) thelog ফাইলের বিষয়বস্তু অনুলিপি করে। এই বিকল্পটি তারপরে মূল লগ ফাইল থেকে অনুলিপি করা এন্ট্রিগুলি সরাতে বা ছাঁটাই করতে লগরোটেটকে বলে। এই বিকল্পটি প্রয়োজন হয় যখন প্রোগ্রামগুলি ক্রমাগত লগ ফাইলে লিখতে থাকে এবং এই বিকল্পটি নিশ্চিত করে যে একই লগ ফাইলটি প্রোগ্রাম দ্বারা ব্যবহার করা হচ্ছে যাতে এটি অপ্রত্যাশিতভাবে প্রস্থান করা থেকে বিরত থাকে (লগ ফাইলটি অ্যাক্সেস করতে অক্ষম হওয়ার কারণে)।
সুবিধা এবং অসুবিধা
OS-এ একটি ফাইলে অডিট রেকর্ড লেখার সুবিধা এবং অসুবিধাগুলির মধ্যে নিম্নলিখিত বিবেচনাগুলি অন্তর্ভুক্ত রয়েছে:
সুবিধা:৷
একটি root
এ অডিট রেকর্ড লগ করা হচ্ছে -মালিকানাধীন ফাইলসিস্টেম এমনকি ওরাক্লিউজারকেও সীমাবদ্ধ করে যারা ডাটাবেস ইনস্টল করেছেন বিষয়বস্তু পড়া এবং পরিবর্তন করতে।
কনস:
OS-এ অডিট ফাইল সংরক্ষণ করা স্থান খরচ করে এবং কর্মক্ষমতা সমস্যা সৃষ্টি করতে পারে। উদাহরণস্বরূপ, sys
এখন বড় ক্রিয়া সম্পাদন করতে পারে, যেমন catalog.sql
চালানো অথবা catproc.sql
অপারেশন।
উপসংহার
এই পোস্টের পদক্ষেপগুলি সমস্ত অডিট রেকর্ডগুলিকে একটি RACdatabase-এর একটি OS ফাইলে নির্দেশ করে৷ ওরাকল সুপারিশ করে যে আপনি OS সেটিংস ব্যবহার করুন, বিশেষ করে যদি আপনি একটি অতি-সুরক্ষিত ডেটাবেস কনফিগারেশন ব্যবহার করেন।
কোনো মন্তব্য করতে বা প্রশ্ন জিজ্ঞাসা করতে প্রতিক্রিয়া ট্যাব ব্যবহার করুন। কথোপকথন শুরু করতে আপনি এখন চ্যাটও করতে পারেন।
ডেটাবেস সম্পর্কে আরও জানুন।