উত্স নিয়ন্ত্রণে একটি সম্পূর্ণ লিনাক্স সার্ভার স্থাপন (গিট)


17

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

ডিস্ক স্পেসে সুস্পষ্ট বর্জ্য ছাড়াও কি অন্য কোনও নেতিবাচক পার্শ্ব প্রতিক্রিয়া রয়েছে?

এটি কি সম্পূর্ণ উন্মাদ ধারণা?

আমি সম্ভবত কমপক্ষে / দেব এবং / প্রকোক্ত বাদ দিতে পারি যেহেতু এটিও কি রুটকিটগুলির বিরুদ্ধে চেক করার কোনও নিরাপদ উপায়?


5
আমি "সম্পূর্ণ ক্রেজি ধারণা", খুব বেশি সংক্রামনের পক্ষে ভোট দেব। ফাইলগুলিতে পরিবর্তনগুলি সর্বদা দেখা দেয় এবং আপগ্রেড প্রক্রিয়াগুলিকে দুঃস্বপ্ন করে তোলে।
ফোর্সফেস্ক

@ ফোর্সফেস্ক - ফাইলগুলি কেন সর্বদা পরিবর্তন হবে? একটি সিস্টেম আপগ্রেড করার সময় এগুলি কি হওয়া উচিত নয়?
টোবিয়াস হার্টকর্ন

1
কেবল একটি চিন্তা, - লিঙ্ক-ডেস্টের সাথে ডার্বিশ বা আরএসএনসি জাতীয় কিছু ব্যবহার করবেন না কেন ? আপনি যদি ব্যাকআপগুলি তৈরি করতে ডারভিশ ব্যবহার করেন তবে এটি প্রতিটি ব্যাকআপের জন্য কী পরিবর্তন হয়েছে তা দেখানোর জন্য একটি দুর্দান্ত প্রতিবেদন দেবে। আপনার ব্যাকআপের বিপরীতে বর্তমান অবস্থার তুলনা করতে আপনি - ড্রাই ড্রাই-মোডে আরএসএনসি করতে পারেন। আপনি যদি ডিরিভিশ ব্যবহার করেন তবে আপনি এমন একটি সরঞ্জাম ব্যবহার করবেন যা ব্যাকআপ সিস্টেম হিসাবে ভালভাবে পরীক্ষিত।
জোরেডেচ

উত্তর:


16

এটি একটি "খারাপ ধারণা" (টিএম)। অন্য সব কিছু বাদ দিয়ে, আপনার সংগ্রহস্থলটি সমস্ত হ্যাকের মতো ধীরে চলবে এবং প্রতিটি সংশোধন যেমন রাখা হয়েছে তেমন খারাপ হবে।

পুতুল / সিফেনজিন / শেফের মতো সেন্ট্রালাইজড ম্যানেজমেন্ট চেষ্টা করুন। এটি আপনার প্রত্যাশার মতো জিনিসগুলি রাখবে এবং অপ্রত্যাশিত পরিবর্তনগুলি ফিরিয়ে দেবে।

অননুমোদিত ফাইল পরিবর্তনের ইমেল পেতে আইওয়াচের মতো কিছু দিয়ে এটি একত্রিত করুন।

কাস্টম অ্যাপ্লিকেশনগুলি রোল আউট করার প্রয়োজন হলে আরপিএম / ডিবে ফাইলগুলির সাথে আরও একত্রিত করুন।

Rkunter বা chkrootkit এর মতো কিছু এখন এবং তারপর কিকগুলির জন্য নিক্ষেপ করুন এবং আপনার ভাল হওয়া উচিত।

কাজ শেষ.


খারাপ আইডিয়াটির জন্য +1 - সেন্ট্রালাইজড ম্যানেজমেন্ট (পুতুল / সিফেনজিন / শেফ / রেডমাইন্ড / ইত্যাদি) আপনাকে আপনার সিস্টেমকে আপনার নির্ধারিত প্রয়োজনীয়তা অনুসারে কনফিগার করা হয়েছে কিনা তা নিশ্চিত করার ক্ষমতা দেয় এবং বেশিরভাগটি "ট্রিপওয়্যার" হিসাবেও ব্যবহার করা যেতে পারে যখন স্টাফ পরিবর্তন হয় না তখন আপনাকে বলতে সিস্টেম টাইপ করুন।
voretaq7

আমি এটি সত্যিই একটি খারাপ ধারণা বলে মনে করি। ঠিক আছে আপনি দেখতে পাচ্ছেন কোন ফাইলগুলি নতুন এবং পরিবর্তিত। আপনি যদি গিট চালনা করেন তবে আপনার ফাইলগুলি আনপ্যাক এবং গণনা করতে অনেকগুলি সিপিইউ দরকার। আপনি যদি পুরো ম্যাশিনে এটি করেন তবে এটি অনেক সময় নেয়।
রেনা হাহলে

1
আমি সেই তালিকায় আরও একটি নিক্ষেপ করব; এডিয়ারকিপার গিট রেপো করবেন কেবলমাত্র / ইত্যাদির জন্য।
শেন ম্যাডেন

গিটের মতো সংগ্রহস্থলগুলি অপ্রত্যাশিতভাবে দ্রুত। এবং আমি সিপিইউ বা আইও সম্পর্কে উদ্বিগ্ন নই যেহেতু আমার মনে থাকা সার্ভারটি
সময়কাল

আমি যা বুঝতে পারি না: কেন্দ্রীভূত পরিচালন সিস্টেমগুলি গ্যারান্টি দেয় যে কোনও মিথ্যা
ধনাত্মকতা নেই

5

আরেকটি বিকল্প হ'ল ট্রিপওয়ায়ার সেটআপ করা , এটি জিপিএল'ড সফ্টওয়্যার যা আপনার সিস্টেমে সমস্ত গুরুত্বপূর্ণ ফাইলের মধ্যে মাকড়সা করে এবং নির্ধারণ করে যে কোনটি আপনি অগ্রহণযোগ্য হিসাবে সংজ্ঞায়িত করেছেন তাতে কোন পরিবর্তন হয়েছে। পরিবর্তনকে মাইটটাইম হিসাবে, ইনোড সংখ্যার মাধ্যমে, ক্রিপ্টোগ্রাফিকভাবে শক্তিশালী চেকসামের সমস্ত উপায় হিসাবে সংজ্ঞায়িত করা যায়।

যদি আপনি প্রতি রাতে পরিবর্তিত ফাইলগুলি /var/run, ডিএইচসিপি ক্লায়েন্ট ফাইলগুলির মধ্যে পরিবর্তনগুলি /etcএবং এর মতো পুরো প্রতিবেদনগুলি না পেতে চান তবে কিছু সেট আপ এবং টিউন করা দরকার , তবে আপনি যদি সেই সমস্যায় যান তবে এটি হতে পারে সত্যিই খুব সহায়ক।

ফাইল বৈশিষ্ট্য ডাটাবেসের একটি কী দিয়ে সাইন করা হয়েছে না যা সাহায্য করে আপনি আস্থার সাথে যে কোন টুল বিদ্বেষপূর্ণভাবে ডাটাবেসের বা tripwire বাইনেরিতে পরিবর্তিত হয়েছে আছে মেশিনে পরিচিত। সম্পূর্ণ নিশ্চিততার জন্য আপনি ট্রিপওয়্যারের সরঞ্জাম এবং ডাটাবেসগুলির অনুলিপি কেবলমাত্র পঠন মাধ্যমের কাছে পোড়াতে পারেন, যা সার্ভারে মাউন্ট করা যেতে পারে এবং ডিস্কটি পোড়ানোর পর থেকে সমস্ত পরিবর্তনগুলি যাচাই করতে ব্যবহৃত হতে পারে, যদি একটি সম্পূর্ণ ফরেনসিক বিশ্লেষণ প্রয়োজন হয়।

আপনি যদি এটি করতে যাচ্ছেন তবে মেশিনটি উত্পাদনের আগে ট্রাইপায়ার সেট আপ করা এবং চালানো বেশ গুরুত্বপূর্ণ, বা আপনি কখনই নিশ্চিত হতে পারবেন না যে কিছু দূষিত ব্যবহারকারীর আগে মেশিনকে সংক্রামিত করার সুযোগ নেই। ট্রিপওয়্যারড ছিল


3

আমি মনে করি এটি সম্ভবত কাজ করে না, তবে একটি পরীক্ষা হিসাবে আমি দেখতে চাই যে আপনি কেবল / ইত্যাদি ফোল্ডারটি দিয়ে এটি করলে কী ঘটে। এখানে বেশিরভাগ কনফিগারেশন তথ্য রাখা হয়।


4
জাস্ট / ইত্যাদি করা হচ্ছে। পরীক্ষা করে দেখুন kitenet.net/~joey/code/etckeeper (etckeeper)
Tobias Hertkorn

1
এন্টারকিপার সত্যই সুন্দরভাবে কাজ করে, আমি এটি খুব দরকারী বলে মনে করি।
জোরেডেচে

2

@ সিরেক্স ইতিমধ্যে একটি খুব ভাল উত্তর সরবরাহ করেছে, তবে আপনি যদি সুরক্ষা নিয়ে আরও এক ধাপ এগিয়ে নিতে চান, তবে এটির মোকাবিলা করার সর্বোত্তম উপায় হ'ল প্রথম প্রতিরোধের পরে সনাক্তকরণ।

কেবলমাত্র পঠনযোগ্য / ফাইল সিস্টেমের মাউন্ট দিয়ে একটি সিস্টেম স্থাপন করার চেষ্টা করুন। নেক্সেক্স, নোডেভ অপশন সহ মাউন্ট করা একটি আলাদা র‌্যামফস তৈরি করুন / টিএমপি করুন। সিস্টেমটি কাজ করার জন্য, আপনাকে রিড-রাইটিংয়ের জন্য মাউন্ট করার জন্য সত্যই প্রয়োজন var সুতরাং / var এর অধীনে rw, noexec, nodev সহ একটি fs মাউন্ট করুন এবং / var / tmp- এ লেখার অনুমতিগুলি সরিয়ে ফেলুন (এটি ডেমোনগুলির দ্বারা খুব কমই প্রয়োজন হয় এবং এটি কনফিগারযোগ্য হওয়া উচিত)। ব্যবহারকারীদের দ্বারা সংস্থানগুলি অ্যাক্সেসকে আরও সীমাবদ্ধ করতে আপনার কার্নেলটির জন্য সুরক্ষা প্যাচ ব্যবহার করুন, উদাহরণস্বরূপ grsec ব্যবহার করে দেখুন। সর্বাধিক সীমাবদ্ধ নিয়ম সহ ফায়ারওয়াল ব্যবহার করুন।

কিছু বিতরণ সিস্টেম কঠোরকরণ সম্পর্কে বিস্তৃত ডকুমেন্টেশন সরবরাহ করে। উদাহরণ স্বরূপ:


0

আমি মনে করি একটি সরঞ্জাম আপনার সিস্টেমে যে পরিবর্তন করে তা বিশ্লেষণ করা ভাল ধারণা:

  1. একটি ভিএম-এ একটি খালি লিনাক্স ইনস্টল করুন
  2. মূল গিট শুরু করুন
  3. আপনি বিশ্লেষণ করতে চান সরঞ্জাম ইনস্টল করুন
  4. আপনার সিস্টেমে তৈরি রোলটি দেখুন

... ভিএম মুছুন

.gitignore প্রোক ইত্যাদির মতো আপনাকে ফাইলটিতে অনেকগুলি ফোল্ডার যুক্ত করতে হবে


0

যে পরিস্থিতিতে আপনি কেবলমাত্র পুরো ফাইল সিস্টেম জুড়ে নির্দিষ্ট ফোল্ডারগুলিকে সংস্করণ নিয়ন্ত্রণের আওতায় রাখতে আগ্রহী, নিম্নলিখিত পদ্ধতির সাহায্য করতে পারে:

প্রথমে /স্তরে একটি গিট সংগ্রহস্থল তৈরি করুন :

$ cd /
# git init

তারপরে এমন /.gitignoreকিছু তৈরি করুন যা কেবলমাত্র নির্দিষ্ট কয়েকটি ফোল্ডারকে শ্বেত তালিকাভুক্ত করে, উদাহরণস্বরূপ কেবল শ্বেত তালিকাতে /path/to/versioned/config/folder/( /programming//a/11018557/320594 এর উপর ভিত্তি করে ):

/*
!/path/
/path/*
!/path/to/
/path/to/*
!/path/to/versioned/
/path/to/versioned/*
!/path/to/versioned/config/
/path/to/versioned/config/*
!/path/to/versioned/config/folder/
!/.gitignore

তারপরে একটি প্রথম প্রতিশ্রুতি তৈরি করুন:

# git add -A
# git commit -m "Initial commit"

এবং তারপরে চাহিদা অনুযায়ী সংস্করণ নিয়ন্ত্রণের অধীনে আপনি যে অতিরিক্ত ফোল্ডারগুলি চান তা যুক্ত করুন।

পুনশ্চ:

পূর্ববর্তী পদ্ধতিটি ছাড়াও, যদি আপনাকে / ইত্যাদি / সংস্করণ নিয়ন্ত্রণের অধীনে রাখা প্রয়োজন হয় তবে আপনি সেই নির্দিষ্ট ফোল্ডারের সংস্করণ করার জন্য etckeeper( https://etckeeper.branchable.com/ ) ব্যবহার করতে পছন্দ করতে পারেন কারণ এটির উদ্দেশ্যে আরও বিশেষীকরণ করা হয়েছে ( যেমন এটি প্যাকেজ ইনস্টল করার পরে স্বয়ংক্রিয়ভাবে প্রতিশ্রুতিবদ্ধ)।

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