ডকার রচনায় গোপনীয়তা পরিচালনা – একজন বিকাশকারী গাইড

ডকার রচনায় গোপনীয়তা পরিচালনা – একজন বিকাশকারী গাইড

একটি বন্দরে পাত্রে
আনস্প্ল্যাশে শাটারস্নাপ দ্বারা ছবি

ভূমিকা

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

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

পরিবেশ ভেরিয়েবল নিয়ে সমস্যা

বেশিরভাগ ডকার কমপোজ সেটআপগুলি দুটি উপায়ের মধ্যে একটিতে গোপনীয়তা পরিচালনা করে: হয় সেগুলি সরাসরি কমপোজ ফাইলে বা একটি ব্যবহার করে ব্যবহার করে .env ফাইল:

সুবিধাজনক অবস্থায়, এই পদ্ধতির বেশ কয়েকটি সুরক্ষা প্রভাব রয়েছে:

  1. পরিবেশের ভেরিয়েবলগুলি একটি ধারকটিতে সমস্ত প্রক্রিয়াতে অ্যাক্সেসযোগ্য
  2. তারা প্রায়শই ডিবাগিংয়ের সময় লগগুলিতে উপস্থিত হয়
  3. অ্যাপ্লিকেশন ত্রুটির মাধ্যমে এগুলি উন্মুক্ত করা যেতে পারে
  4. তারা পরিষেবাগুলির মধ্যে উদ্বেগের বিচ্ছিন্নতা বজায় রাখতে অসুবিধা করে তোলে

আসুন এটি কেন সমস্যাযুক্ত তা প্রদর্শন করি। একটি বেসিক পোস্টগ্রেস কনটেইনার চলমান সহ:

আমরা সহজেই সমস্ত পরিবেশের ভেরিয়েবলগুলি পরিদর্শন করতে পারি:

আমরা ধারকটির মধ্যে থেকে সরাসরি সমস্ত পরিবেশের ভেরিয়েবলগুলি মুদ্রণ করতে পারি:

পরিবেশের ভেরিয়েবলের মাধ্যমে গোপনীয়তার এই এক্সপোজারের ফলে বছরের পর বছর ধরে অসংখ্য সুরক্ষা ঘটনা ঘটেছে:

জ্যাঙ্গো অ্যাপ ডিবাগ মোডের গোপনীয়তা ফাঁস করার ত্রুটি

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

ডকার কমপোজ সহ আরও ভাল গোপন ব্যবস্থাপনা

আসুন ডকার রচনায় গোপনীয়তা পরিচালনার জন্য তিনটি ক্রমান্বয়ে আরও সুরক্ষিত পদ্ধতির অন্বেষণ করুন।

পূর্বশর্ত

প্রথমে নিশ্চিত করুন যে আপনি সম্পূর্ণ গোপনীয় সহায়তার জন্য ডকার কমপোজ সংস্করণ 2.30.0 বা তার পরে চালাচ্ছেন:

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

এই প্যাটার্ন:

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

উদাহরণ:

  1. প্রদত্ত গোপনীয়তার জন্য POSTGRES_PASSWORD পরীক্ষা করুন POSTGRES_PASSWORD_FILE একটি ফাইল পাথযুক্ত পরিবেশের পরিবর্তনশীল বিদ্যমান, যদি হ্যাঁ – এটি পড়ুন POSTGRES_PASSWORD ফাইল থেকে গোপন
  2. অন্যথায়, থেকে গোপনটি পড়ুন POSTGRES_PASSWORD পরিবেশ পরিবর্তনশীল

রেফারেন্সের জন্য আপনি আমাদের মাধ্যমে যেতে পারেন পাইথন বাস্তবায়ন জ্যাঙ্গো এবং জন্য টাইপস্ক্রিপ্ট next.js এর জন্য

পদ্ধতির 1: পরিবেশ ভেরিয়েবল – হোস্ট পরিবেশের ভেরিয়েবলের মানগুলির উপর ভিত্তি করে আপনার পাত্রে ভিতরে গোপনীয়তা মাউন্ট করুন

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

এটি কেবলমাত্র পঠনযোগ্য ভার্চুয়াল ফাইল সিস্টেমের অধীনে গোপনীয়তাগুলিকে মাউন্ট করে /run/secrets/::

সুবিধা:

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

অসুবিধাগুলি:

  • হোস্ট এনভায়রনমেন্ট ভেরিয়েবল হিসাবে প্রকাশিত গোপনীয়তা – হোস্ট সিস্টেমে পরিবেশের ভেরিয়েবল হিসাবে গোপনীয়তা অবশ্যই উপস্থিত থাকতে হবে – এটি কোনও সিক্রেট ম্যানেজারের যেমন ফেজের মতো রানটাইম সিক্রেট ইনজেকশন ব্যবহার করে ঠিকানা হতে পারে।
  • ধারক মধ্যে বিশ্ব -পঠনযোগ্য – ধারকটির মধ্যে যে কোনও ব্যবহারকারী, ব্যবহারকারী গোষ্ঠী বা প্রক্রিয়া গোপনীয়তাগুলি পড়তে পারে (পরবর্তী বিভাগে সম্বোধন করা)
  • আপডেটের জন্য পরিষেবা পুনঃসূচনা প্রয়োজন – গোপনীয়তার পরিবর্তনগুলি কার্যকর করার জন্য ক্ষতিগ্রস্থ পরিষেবাগুলি পুনরায় চালু করার প্রয়োজন

মত জিনিস ব্যবহার export আপনার হোস্ট সিস্টেমে গোপনীয়তা সেট করার জন্য পরিবেশ হিসাবে অন্যান্য অযাচিত বাহ্যিকতা তৈরি করতে পারে যেমন আপনার গোপনীয়তাগুলি আপনার শেল ইতিহাসে লগইন করে। রানটাইম চলাকালীন ডকার কমপোজ প্রক্রিয়াটির ভিতরে সরাসরি গোপনীয়তা ইনজেকশন দিয়ে সামগ্রিক সিক্রেট ম্যানেজমেন্ট ওয়ার্কফ্লো উন্নত করতে আপনি ফেজ সিএলআই ব্যবহার করতে পারেন। এখানে একটি উদাহরণ:

পদ্ধতির 2: ফাইল -ভিত্তিক সিক্রেটস – আপনার ধারকটির ভিতরে হোস্ট সিস্টেমে মাউন্ট সিক্রেটস

নিম্নলিখিত বাস্তবায়ন আপনার প্রতিটি পরিষেবায় হোস্টের কাছ থেকে গোপনীয়তাযুক্ত ফাইলগুলি মাউন্ট করতে ডকার কমপোজের সিক্রেটস বৈশিষ্ট্য ব্যবহার করে:

সুবিধা:

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

অসুবিধাগুলি:

  • হোস্ট সিস্টেমে ডিস্কে লেখা গোপনীয়তা – ফাইল সিস্টেম অ্যাক্সেস বা ব্যাকআপগুলি থেকে সম্ভাব্য সুরক্ষা ঝুঁকি তৈরি করে
  • সুরক্ষিত ফাইল পরিচালনা প্রয়োজন – গোপন ফাইলগুলি সুরক্ষিত করতে অতিরিক্ত অপারেশনাল ওভারহেড
  • ডিফল্টরূপে বিশ্ব -পঠনযোগ্য – ধারকটিতে থাকা সমস্ত ব্যবহারকারী/প্রক্রিয়াগুলি স্পষ্টভাবে সীমাবদ্ধ না হলে গোপনীয়তাগুলি পড়তে পারে – পরবর্তী বিভাগে সম্বোধন করা

হোস্ট সিস্টেমে গোপনীয়তা তৈরি করা সহজ করার জন্য এবং সামগ্রিক গোপন পরিচালনার কর্মপ্রবাহকে উন্নত করতে আপনি ফেজ সিএলআই ব্যবহার করতে পারেন। এখানে একটি উদাহরণ:

আপনার পরিষেবাগুলিতে সরবরাহিত গোপনীয়তার অ্যাক্সেস নিয়ন্ত্রণ করা

এখন যেহেতু আমরা আপনার পরিষেবাগুলিতে কীভাবে সুরক্ষিতভাবে গোপনীয়তা সরবরাহ করতে পারি তা আমরা বুঝতে পেরেছি, পরবর্তী আসুন আমরা কীভাবে আমাদের পাত্রে প্রবেশের পরে প্রদত্ত একবারে তাদের কীভাবে আরও ভালভাবে রক্ষা করতে পারি তা একবার দেখে নেওয়া যাক:

ডকার রচনাটি কীভাবে গোপনীয়তাগুলি সরবরাহ করা হয় তা ঘোষণা করার জন্য এবং সংশ্লিষ্ট পরিষেবার ধারকগুলির মধ্যে আরও গ্রানুলারিটির সাথে তাদের অ্যাক্সেসকে নিয়ন্ত্রণ করে তা ঘোষণা করার জন্য তারা ‘দীর্ঘ সিনট্যাক্স’ বলে সমর্থন করে।

  • source: প্ল্যাটফর্মে এটি বিদ্যমান হিসাবে গোপনের নাম।
  • target: ফাইলের নাম/রান/সিক্রেটস/পরিষেবার টাস্ক কনটেইনারটিতে বা কোনও বিকল্প অবস্থানের প্রয়োজন হলে ফাইলের পরম পথ। নির্দিষ্ট না হলে উত্সে ডিফল্ট।
  • uid এবং gid: সংখ্যার ইউআইডি বা জিআইডি যা ফাইলের/রান/সিক্রেটস/পরিষেবার টাস্ক কনটেইনারগুলির মধ্যে রয়েছে। ডিফল্ট মান হ’ল ব্যবহারকারী চলমান ধারক।
  • mode: অষ্টকের স্বরলিপিতে ফাইলটি/রান/সিক্রেটস/পরিষেবার টাস্ক পাত্রে মাউন্ট করার অনুমতিগুলি। ডিফল্ট মান হ’ল বিশ্ব-পঠনযোগ্য অনুমতি (মোড 0444)। লিখিত বিটটি সেট করা থাকলে অবশ্যই উপেক্ষা করা উচিত। এক্সিকিউটেবল বিট সেট করা যেতে পারে।

আপনি খুঁজে পেতে পারেন uid এবং gid ডকারফিলটি দেখে প্রদত্ত চিত্রের জন্য বা এটি যদি আপনার নিজের চিত্র হয় তবে এটি একটি যুক্ত করুন।

এখানে একটি পোস্টগ্রিসকিউএল উদাহরণ:

রেফারেন্স

আপনি অক্টাল স্বরলিপিতে উপযুক্ত মোড তৈরি করতে ইউনিক্স ফাইল অনুমতি ক্যালকুলেটর ব্যবহার করতে পারেন:

এই কনফিগারেশন:

  • নির্দিষ্ট ব্যবহারকারী/গোষ্ঠীতে গোপন অ্যাক্সেসকে সীমাবদ্ধ করে
  • অন্যান্য ব্যবহারকারীদের গোপনীয়তা পড়তে বাধা দেয়
  • লিখিত সুরক্ষা বজায় রাখে

আপনি অনুমতিগুলি যাচাই করতে পারেন:

ডকারের আরও তথ্যের জন্য সিক্রেটস লং সিনট্যাক্স রচনা করুন, দয়া করে দেখুন ডকার ডক্স

বন্ধ চিন্তা

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

  1. উত্স কোড, ধারক ফাইল এবং চিত্রগুলি থেকে গোপনীয়তা দূরে রাখুন। আইভরি এবং আবলুস, এসি/বিজ্ঞাপন এবং গোপনীয়তা এবং উত্স কোড এবং ধারক চিত্র; দুজনের সাথে দেখা হবে না।

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

  3. বিভিন্ন পরিবেশ জুড়ে গোপনীয়তা পুনরায় ব্যবহার করবেন না। আপনার প্রোডাকশন ডাটাবেস পাসওয়ার্ডটি কখনই একই রকম হওয়া উচিত নয় Pa $$ W0RD@123 যে আপনি স্থানীয় উন্নয়নের জন্য ব্যবহার করছেন। একটির সমঝোতার অর্থ হ’ল সকলের ডি-ফ্যাক্টো আপস।

  4. সর্বদা গোপনীয়তাগুলি এনক্রিপ্ট করুন, তারা কোনও নেটওয়ার্কের উপরে ফ্লাইটে রয়েছে কিনা তারা আপনার উত্পাদন স্থাপনার পথে তৈরি করে বা ধৈর্য ধরে টানতে কোনও ডাটাবেসে অপেক্ষা করে। “কেউ যেমন দেখছে না তেমন নাচ, তবে সবার মতো এনক্রিপ্ট” – ওয়ার্নার ভোগেলস, চিফ টেকনিক্যাল অফিসার অ্যামাজন।

  5. আপনার গোপনীয়তার উপর সমস্ত পরিবর্তন এবং ক্রিয়াগুলির উপর নজর রাখুন। সকাল সাড়ে চারটা, আপনি কি জানেন যে আপনার গোপনীয়তা কোথায়? কে, কী, কখন এবং কোথায় আপনি এটি অনুমান করতে পারেন তার উপর ট্যাবগুলি রাখুন কেন যদি এবং যখন কোনও ঘটনা ঘটে। কোনও গোপন আপস করার কারণে ঘটে যাওয়া বহিরাগত সংখ্যক লঙ্ঘন দেওয়া, তদন্তের সময় আপনার সেই অডিট লগগুলির প্রয়োজন হবে।

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

উপসংহার

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

Source link

মন্তব্য করুন

আপনার ই-মেইল এ্যাড্রেস প্রকাশিত হবে না। * চিহ্নিত বিষয়গুলো আবশ্যক।