কোনও লগ ফাইলটিতে অ্যাক্সেস পড়ার অনুমতি দেওয়ার সবচেয়ে নিরাপদ উপায় কী?


21

আমার অ্যাপ্লিকেশনটিতে পড়ার অ্যাক্সেস প্রয়োজন /var/log/messagesযা ব্যবহারকারী এবং গোষ্ঠীর অন্তর্ভুক্ত root/var/log/messagesআমার অ্যাপ্লিকেশনটি এটি পড়তে পারে তাই সর্বনিম্ন এক্সপোজার স্তরের কী প্রয়োজন ?

বর্তমানে, আমার পরিকল্পনাটি হ'ল গোষ্ঠীর মালিকানাটিকে /var/log/messagesএকটি নতুন গোষ্ঠীতে পরিবর্তন করা, এবং এটিতে মূল এবং আমার অ্যাপ্লিকেশন ব্যবহারকারীকে যুক্ত করা, তবে এটি অ্যাপ্লিকেশনটিকে লেখার অধিকারও দেয় /var/log/messages

ওএস: সেন্টোস 5.5

উত্তর:


7

গোষ্ঠীটিতে রুট যুক্ত করার দরকার নেই কারণ এটি যেভাবেই ব্যবহারকারীর প্রাইভেসের মাধ্যমে অ্যাক্সেস পাবে, কেবল কখনও গ্রুপটি আপনি কী সিদ্ধান্ত নেবেন তা পড়ুন। লোগ্রোটেটের সাহায্যেও পরিবর্তনগুলি মনে রাখবেন বা গ্রুপ পরিবর্তনগুলি রাতে মুছে যাবে।


লোগ্রোটেট স্ক্রিপ্টগুলি কোথায় অবস্থিত?
গামবুকা

1
/etc/logrotate.d/ হ'ল ভাঙা লোগ্রোটেট স্ক্রিপ্টগুলির ফোল্ডার। / var / লগ / বার্তা /etc/logrotate.d/syslog এ রয়েছে in আপনার নিজের /etc/logrotate.conf এর ভিতরে / var / লগ / বার্তাগুলি স্থানান্তরিত করতে হবে এবং তারপরে ফাইলটি তৈরি করতে '0640 রুট new_group' জাতীয় কিছু ব্যবহার করে বলুন।
rfelsburg

আপনার নিজের /etc/logrotate.d/ এর ভিতরে / var / লগ / বার্তাগুলি স্থানান্তরিত করতে হবে
ম্যাসিমো

17

উপরের উত্তরের উপর সামান্য প্রসারিত করা এখানে একটি আসল ওয়ার্ল্ড ইউজ কেস। আমি এন্টারপ্রাইজ লগ বিশ্লেষণ অ্যাপ্লিকেশনটি একটি রেডহাট বাক্সে চালিত করি। এটি স্প্লঙ্ক ব্যবহারকারী এবং স্প্লঙ্ক গ্রুপের অধীনে চলে। এটি লগগুলিতে / var / লগগুলিতে অ্যাক্সেস অবিচ্ছিন্ন করতে বাধা দেয় কারণ তারা কেবল রুট দ্বারা অ্যাক্সেসযোগ্য (বা একটি সুডো প্রশাসক)

কেবলমাত্র স্প্লঙ্কের জন্য পঠনের অ্যাক্সেসের অনুমতি দেওয়ার জন্য আমি এটি চালিয়ে যাওয়ার জন্য কিছু এসিএল এবং পরিবর্তিত লোগ্রোটেট ব্যবহার করেছি।

আপনি নিজে সাথে এসিএল সেট করতে পারেন

sudo setfacl -m g:splunk:rx /var/log/messages

এটি স্থির থাকবে না কারণ লোগ্রোটেট এসিএল সেটিংটি পুনরায় প্রয়োগ করবে না তাই আরও স্থায়ী সমাধানের জন্য আমি এসিএলটিকে পুনরায় সেট করতে লোগ্রোটেটে একটি বিধি যুক্ত করেছি। আমি ফাইলটি যুক্ত করেছি ..

/etc/logrotate.d/Splunk_ACLs

সঙ্গে

{
    postrotate
        /usr/bin/setfacl -m g:splunk:rx /var/log/cron
        /usr/bin/setfacl -m g:splunk:rx /var/log/maillog
        /usr/bin/setfacl -m g:splunk:rx /var/log/messages
        /usr/bin/setfacl -m g:splunk:rx /var/log/secure
        /usr/bin/setfacl -m g:splunk:rx /var/log/spooler
    endscript
}

এর সাথে একটি ফাইলের এসিএল স্থিতি পরীক্ষা করুন

$ getfacl /var/log/messages

এসিএল-এর আরও তথ্যের জন্য https://help.ubuntu.com/commune/FilePermissionACLs http://bencane.com/2012/05/27/acl-using-access-control-lists-on-linux/ দেখুন


এছাড়াও splunk পোস্ট উত্তর answers.splunk.com/answers/4253/...
নিক শিয়াল

1
নোট করুন যে স্প্ল্যাঙ্কের জন্য লগ ফাইলগুলিতে চালনার অনুমতি প্রয়োজন হয় না, কেবল পড়ুন।
রোজ

@ নিকফক্স এখানে /etc/logrotate.d/Splunk_ACLsআপনার পোস্ট করা সামগ্রীর সম্পূর্ণ সামগ্রী ? পোস্ট্রোটেট বিট প্রক্রিয়া করার জন্য আপনার আসলে লোগ্রোটেটের জন্য কোনও পাথ নির্দিষ্ট করার দরকার নেই?
ডেল অ্যান্ডারসন

হুমমম ভাববেন না। আমি সিস্টেম লগের জন্য বিদ্যমান লোগ্রোটেট কনফিগারগুলি সংশোধন করতে চাইনি এবং এগুলি আমার নিজের দ্বারা প্রতিস্থাপন করতেও চাই না। এইভাবে স্প্লঙ্কের জন্য কাস্টম পরিবর্তনটি স্বাধীনভাবে বিদ্যমান। আপনাকে কোনও প্যাকেজ বা পুতুল ইত্যাদির সাহায্যে মোতায়েনের অনুমতি দেয় /app.d/ ডিরেক্টরিগুলি কী। অবশ্যই আমি ভুল হতে পারি, আমি এক বছর আগে এটি
নিক শিয়াল

1
কেবলমাত্র একটি নোট যাতে সূচিত করে যে আপনি যদি এক্স বিকল্পটি ব্যবহার করেন (x পরিবর্তে মূলধন এক্সে) এটি কেবল তখনই এক্সিকিউটিভ যুক্ত করবে যদি ফাইলটি ডিরেক্টরি হয় বা ইতিমধ্যে কিছু ব্যবহারকারীর জন্য অনুমতি কার্যকর করেছে
স্টিওরিরি

5

আপনার পরিকল্পনাটি গ্রহণযোগ্য এবং "traditionalতিহ্যবাহী" ইউনিক্স অনুমতি প্রকল্পে যাওয়ার সর্বোত্তম উপায়।
অন্য বিকল্পটি হ'ল সিসলগ আগ্রহের বার্তাগুলিকে অন্য কোনও ফাইলে ডাইভার্ট করে দেওয়া (যা অ্যাপ্লিকেশন ব্যবহারকারীকে সংবেদনশীল যে কোনও কিছুতে অ্যাক্সেস দেওয়া এড়াতে পারে /var/log/messages)।

আপনি প্রথাগত অনুমতি স্কীম দ্বারা আবদ্ধ করা হচ্ছে মত মনে না করেন তাহলে ব্যবহারকারী / গোষ্ঠী / অন্যান্য আপনার কাছে ব্যবহার করতে পারেন POSIX ACLs (অন্যান্য, সম্ভবত ভাল howtos / তথ্য Google এর মাধ্যমে উপলব্ধ) আপনার অ্যাপ ব্যবহারকারী দিতে শুধুমাত্র পাঠযোগ্য অ্যাক্সেস /var/log/messages- এটি খানিকটা সূক্ষ্ম-আকস্মিক এবং দুর্ঘটনাক্রমে অন্য কাউকে অ্যাপ্লিকেশনটির গ্রুপে রাখা এবং এমন জিনিসগুলিতে অ্যাক্সেস দেওয়ার ঝুঁকি নেই যা তারা দেখতে পাবে না।


2

জিপ আমি কোনও গ্রাহকের জন্য ফাইলে setfaclঅ্যাক্সেস দেওয়ার জন্য এটি ব্যবহার করেছি , লগগুলি ঘোরার পরে আপনাকে এসিএলটি পুনরায় সেট করতে ফাইলটিতে mail.logএকটি কমান্ডও আটকাতে হবে না logrotate.confযেমন:

postrotate
         /usr/bin/setfacl -m o::r /var/log/mail.log  
endscript

দ্রষ্টব্য আমি কেবল এটি সেট আপ করেছি এবং পরীক্ষা করেছি না, তবে এটি এখানে আবার পোস্ট করলেও এটি কেন কাজ করবে না তা দেখতে পাবেন না, আমি ভুল হলে কেউ আমাকে সংশোধন করে।


0

আপনি এটির জন্য এসিএল ব্যবহার করতে পারেন । এটি আপনাকে নির্দিষ্ট ব্যবহারকারী এবং ফাইলগুলির জন্য নির্দিষ্ট অতিরিক্ত অ্যাক্সেসের নিয়ম সেট করতে দেয় set


-1

আপনি যখন নিজের এসিএলটি কনফিগার করলেন অন্য লোকেরা যেমন বলেছিল, পোস্ট্রোটেট কনফিগারেশনে আপনার সমস্ত এসিএল বিধিগুলি না রেখে আপনি প্রতিবার নতুন লগ ফাইল তৈরি করার পরিবর্তে কপিরআরঙ্কেট ব্যবহার করতে লোগ্রোটেট ব্যবহার করতে পারেন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.