কোনও প্রোডাকশন সার্ভারটি ইনস্টল করা নিরাপদ?


42

আমার ভার্চুয়াল সার্ভার উদাহরণস্বরূপ সেটআপ করার সময় আমার ব্যবহার করে কিছু অ্যাপ্লিকেশন তৈরি করা দরকার makemakeইনস্টল করার সাথে কি কোনও সুরক্ষা ঝুঁকি রয়েছে ? বা উদাহরণটি স্থাপনের আগে কি আমি এটিকে পরিষ্কার করব?

আমার gccসার্ভারে সংকলক রয়েছে যা আমি স্থাপনার আগে অ্যাপ্লিকেশনগুলি তৈরি করতে ব্যবহার করি।


4
আপনার কোনো ভালো মনে করে তোলে, তাহলে কোনো সফ্টওয়্যার টুকরা ইনস্টল যে কোন জায়গায় একটি দুর্বলতার সৃষ্টি করে।
MDMoore313

1
এবং সার্ভারে অ-রুট শেল অ্যাক্সেস সহ একটি "ডিস্ট্রো ইন্ডিপেন্ডেন্ট" সংকলক প্যাকেজ (.tar.gz) ডাউনলোড করতে পারে যা ইনস্টল করার দরকার নেই ...

1
এটি কি আমি, বা "এটি নিরাপদ?" এর সংমিশ্রণটি? এবং "রুট অ্যাক্সেস" বরং অস্বস্তিকর ?
ডিএনএ

2
আপনি যদি ইতিমধ্যে জিসিসি ইনস্টল করে থাকেন তবে ব্যবহারিকভাবে এমন কোনও উপায় নেই যা কোনও সম্ভাব্য সুরক্ষা সমস্যাটিকে আরও খারাপ করতে পারে।
শাদুর

1
@ শাদুর জিসিসি করা কি পার্থক্য? ব্যবহারকারীর যদি ইতিমধ্যে মেশিনে অ্যাক্সেস থাকে তারা জিসিসির যে কোনও অনুলিপি তুচ্ছভাবে আপলোড করতে পারে। যাইহোক, কোনও সচ্ছল ব্যবহারকারীরা যতক্ষণ না চালাবেন ততক্ষণ কোনও সিকিওরিটি ঝুঁকি না করে জিসিসি অনিবদ্ধ ব্যবহারকারীদের জন্য কার্যকর হতে পারে।
মান 22

উত্তর:


50

কিছু লোক তর্ক করবে যে একটি উত্পাদন মেশিনে বিকাশের সরঞ্জামের উপস্থিতি আক্রমণকারীদের জীবন সহজ করে তুলবে। তবে এটি কোনও আক্রমণকারীর পক্ষে এমন ছোট্ট একটি রাস্তাঘাট, আপনি বিকাশের সরঞ্জামগুলি ইনস্টল করার পক্ষে বা বিপক্ষে অন্য যে কোনও যুক্তি খুঁজে পেতে পারেন তার পরিমাণ আরও বেশি হবে।

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

আরও অনেক প্রাসঙ্গিক বিষয় সন্ধানের জন্য রয়েছে। যদি ইনস্টল করা কোনও সফ্টওয়্যারটিতে সুরক্ষা বাগ থাকে, তবে আক্রমণকারীটির সামনে এটি উন্মুক্ত করার কয়েকটি উপায় রয়েছে:

  • প্যাকেজটিতে একটি মামলা বা সাজিড এক্সিকিউটেবল থাকতে পারে।
  • প্যাকেজটি সিস্টেমে পরিষেবা শুরু করতে পারে।
  • প্যাকেজটি এমন কিছু স্ক্রিপ্ট ইনস্টল করতে পারে যা নির্দিষ্ট পরিস্থিতিতে স্বয়ংক্রিয়ভাবে আহ্বান করা হয় (এতে ক্রোন জব অন্তর্ভুক্ত থাকে তবে উদাহরণস্বরূপ যখন কোনও নেটওয়ার্ক ইন্টারফেসের অবস্থার পরিবর্তন হয় বা কোনও ব্যবহারকারী লগ ইন করে তখন অন্যান্য ইভেন্টগুলি দ্বারা স্ক্রিপ্টগুলি আহ্বান করা যেতে পারে)।
  • প্যাকেজটি ডিভাইস আইनोডগুলি ইনস্টল করতে পারে।

আমি উন্নয়নের সরঞ্জামগুলি উপরের কোনওটির সাথে মিলে যাবে বলে আশা করব না, এবং এটি উচ্চ ঝুঁকির প্যাকেজ নয়।

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

যদি আপনি দেখতে পান যে সার্ভারে আপনার অবশ্যই সেই সরঞ্জামগুলির দরকার নেই, তবে একাধিক কারণে তাদের ইনস্টল করা থেকে বিরত থাকতে হবে:

  • সার্ভারে এবং ব্যাকআপ উভয়ই ডিস্কের স্থান সংরক্ষণ করে।
  • কম ইনস্টল করা সফ্টওয়্যার আপনার নির্ভরতা কি তা ট্র্যাক করা সহজ করে তোলে।
  • আপনার যদি প্যাকেজটির প্রয়োজন না হয় তবে এটি সুরক্ষা ইনস্টল করা থেকে অতিরিক্ত সুরক্ষা ঝুঁকি নেওয়ার কোনও অর্থ নেই, এমনকি যদি সুরক্ষা ঝুঁকি খুব সামান্যও হয়।

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


6
আমি এটিতে যুক্ত করব যে বেশিরভাগ উত্পাদন ব্যবস্থা ব্যাখ্যামূলক কোডের উপর নির্ভর করে (যেমন পিএইচপি, পার্ল, পাইথন, ...)। এই প্রসঙ্গে উন্নয়নের সরঞ্জামগুলিতে নিষেধাজ্ঞার অর্থ হবে না। আমি সংকলকগুলি gccএগুলির চেয়ে উচ্চতর ঝুঁকি উপস্থাপন না করার বিষয়ে বিবেচনা করব । আপনি যেমনটি বলেছেন, কোনও সিস্টেমে ইনস্টলড সংকলকগুলি ব্যবহার করার মতো অবস্থানে থাকা একজন আক্রমণকারী সাধারণত যেভাবেই খারাপ কাজগুলি করতে পারে যেমন তাদের নিজস্ব (সম্ভবত স্থিরভাবে সংযুক্ত) এক্সিকিউটেবল আপলোড করা।
ব্রুনো

3
প্রাসঙ্গিক: উইজেটের একটি ছোট সংস্করণ (51 বাইট?) । আক্রমণকারী একটি বাইনারি সার্ভারে বাইনারি স্থানান্তরিত করে একটি পরবর্তী echoফাইলের পরবর্তী বিবৃতি ব্যবহার করে তার বাস্তব জীবনের উদাহরণ । পুরো লিঙ্কটি একই লিঙ্কে পাওয়া স্ক্রিপ্টের সাহায্যে স্বয়ংক্রিয়ভাবে সম্পন্ন হয়।
আদি

2
@ আদনান, আকর্ষণীয় আমি যতদূর বলতে পারি, এই ডিভিআর উদাহরণের প্রধান সুরক্ষা ত্রুটিটি হ'ল আক্রমণকারী প্রথমে 123456 পাসওয়ার্ড দিয়ে রুট হিসাবে এটি টেলনেট করতে পারে। উইজেট বা অন্যান্য সরঞ্জাম (আক্রমণের আগে) থাকা বা না থাকা সবেমাত্র সত্যই প্রাসঙ্গিক।
ব্রুনো

15

makeএর চেয়ে আলাদা সিনট্যাক্স রয়েছে এমন একটি শেল bash

এর মতো একটি সংকলক বিকল্পগুলির একটি সেট সহ gccশক্তিশালী awkকনফিগার করা যা স্ট্যান্ডার্ড awkসমর্থন করে না। এটি একটি নন-পসিক্স-কমপ্লায়েন্ট sortবা catএটি আউটপুটটিতে আবর্জনাকে ইনজেকশন দেয়। এটি একটি ইন্টারেক্টিভ টেক্সট এডিটর (মনে করুন vi) যা স্টার্টআপে কিছু সম্পাদনা করার জন্য কনফিগার করা হয়েছে, তারপরে ব্যবহারকারী ইন্টারফেসটি প্রদর্শনের আগে প্রস্থান করুন।

এগুলিতে অন্তর্নিহিতভাবে কোনও সুরক্ষিত কিছুই নেই, যেখানে আপনার বাশ cat++ শেল পুনর্নির্দেশ রয়েছে তার চেয়ে তারা আপনার মেশিনকে বেশি সুরক্ষিত করে না ।


2
একটি উত্তর এত জেন আমি কীভাবে এটি রেট করতে জানি না।
ক্যাস্পারড

4
@ ক্যাস্পার্ড এই উত্তরটি গুরুতর হওয়ার উদ্দেশ্যে। আমি ভেবেছিলাম যে একজন প্রোগ্রামারের দৃষ্টিভঙ্গি আনয়ন সহায়ক হতে পারে। একটি ফাংশন যা একটি ইনপুটকে আউটপুট অনুবাদ করে কেবল একটি দুর্বলতার পরিচয় দেয় না কারণ এর আউটপুট সিপিইউ-বোধগম্য ফর্ম্যাটে রয়েছে।
ইজিজ

1
আপনি যে বক্তব্যটি দিচ্ছেন তাতে আমি একমত আমি মনে করি যে আপনার উত্তরটি ইতিমধ্যে এর সাথে সম্মত যে কারও কাছে দুর্দান্ত পঠিত। আমি কেবল উদ্বিগ্ন যে আপনার উত্তরটি কারও সাথে একমত নয় এমন ব্যক্তির সাথে রসিকতা হিসাবে আসতে পারে।
কাস্পারড

আমি এই উত্তরটি স্বীকৃত উত্তরটির চেয়ে অনেক বেশি পছন্দ করি :)
রুস্লান

15

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

আপনার বিল্ড সার্ভারে আপনার অ্যাপ্লিকেশনটি তৈরি করা উচিত, এটি প্যাকেজিং করা এবং তারপরে বাইনারি প্যাকেজটি আপনার উত্পাদন সিস্টেমে স্থাপন করা উচিত।

দ্রষ্টব্য: দেশীয় প্যাকেজিং সরঞ্জাম স্তন্যপান । এমনকি তাদের ছাঁটাই করার চেষ্টা করেও বিরক্ত করবেন না। পরিবর্তে, জর্ডান সিসেলগুলি দেখুন fpm। এটি প্যাকেজিংকে পরম আনন্দ দেয়।


8
আমি কৌতূহল এবং অজ্ঞতার কারণে এখানে জিজ্ঞাসা করছি: আপনি কেন বলেন যে সংকলকগুলির উপস্থিতি একটি "গুরুত্বপূর্ণ সুরক্ষা সমস্যা?" একটি সংকলক ইনস্টল করার সাথে সুরক্ষা সমস্যাটি কী? প্রথমবারের মতো আপনার প্রোডাক্ট সার্ভারে আপনার কোডটি তৈরি করা উচিত নয় এবং এইভাবে সংকলকটি অতিরিক্ত প্রয়োজন হয় না, বা সংকলকটির উপস্থিতিতেই কোনও সুরক্ষিত সমস্যা রয়েছে?

11
পৃথক সার্ভারে আপনার অ্যাপ্লিকেশনগুলি তৈরি করা ভাল ধারণা থাকা সত্ত্বেও, একটি উত্পাদন সিস্টেমে সংকলকগুলির উপস্থিতি একটি উল্লেখযোগ্য সুরক্ষা ইস্যুটি বোঝায় না। স্ক্রিপ্টিং ভাষা এবং জেআইটি-সংকলিত সিস্টেমগুলি (পার্ল, পাইথন, জাভা, ...) সম্পর্কে কী?
ব্রুনো 21

3
একটি পরীক্ষামূলক পরিবেশে উপর কম্পাইলার এর উপস্থিতি না একটি "উল্লেখযোগ্য নিরাপত্তা ঝুঁকি"। আমি নিজেই, echoএবং ব্যবহার করে আপত্তিযুক্ত বাক্সে বাইনারিগুলি স্থানান্তরিত করেছি base64। প্রকৃতপক্ষে, আপনি এমনকি এটি echoবিবৃতিগুলির একটি সিরিজ এবং অন্য কোনও সরঞ্জাম দিয়েও করতে পারেন ।
আদি

1
ভাল পয়েন্ট, সব। আমি পরিষ্কার করতে আমার উত্তর সম্পাদনা করেছি।
EEAA

9

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


4

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

কম্পিউটার সুরক্ষা সম্পর্কে কঠোর বাস্তবতা যতটা আপনি অযাচিত অ্যাক্সেস আটকাতে চান, অ্যাক্সেস ব্লক করে আটকানো ততটা গুরুত্বপূর্ণ নয়:

  1. সার্ভারে কার অ্যাক্সেস রয়েছে?
  2. বিরতি নেওয়ার পরে আপনি কী করতে পারেন?

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


1

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

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

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