কোনও ব্যবহারকারীর এক্সিকিউটেবল তৈরি এবং এগুলি চালানো থেকে বিরত করার কোনও উপায় আছে কি?


31

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

মনে করুন আমাদের একটি নিষ্পাপ ব্যবহারকারী রয়েছে এবং এগুলি সাধারণ পথে সীমাবদ্ধ রাখতে চান। কার্যকর করার সুযোগসুবিধা সহ কোনও ফাইল তৈরি করা থেকে বাধা দেওয়ার কোনও উপায় আছে কি?

বা আরও সাধারণভাবে, অ্যাক্সেস নিয়ন্ত্রণের তালিকা তৈরি করার এবং এই ব্যবহারকারী কেবলমাত্র এই তালিকার মধ্যে ফাইলগুলি কার্যকর করতে পারে তা নির্ধারণ করার কোনও উপায় আছে?


7
এই পদ্ধতিতে কার্যকরকরণ অক্ষম করা ব্যবহারকারীদের সিস্টেমে কিছু করতে সক্ষম হতে নিষেধ করবে । সিস্টেমে অন্তর্নির্মিত বা তৃতীয় পক্ষের সফ্টওয়্যার সহ এমন কোনও ব্যবস্থা নেই যা আমি এই ধরণের সুরক্ষা লকডাউনটি করতে সচেতন
টমাস ওয়ার্ড

3
উত্তর না দিয়ে আপনি কী করতে পারেন তার ইঙ্গিত দিন: ব্যবহারকারী লিখনযোগ্য মাউন্টগুলিতে নেক্সেক যুক্ত করুন। স্ক্রিপ্টগুলি না হলেও প্রকৃত বাইনারি কার্যকর করা রোধ করবে।
সাম্পো সরলা

3
@ থমাস ওয়ার্ড, একটি প্রতিবন্ধী শেল কি ঠিক এটি নয়?
রবার্ট রিডেল

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

2
@ পেটারিস, এরকম একাধিক সমাধান রয়েছে। আমার প্রিয়তে আপনার এক্সিকিউটেবলের সাথে একটি স্বাক্ষরিত, কেবল পঠনযোগ্য ফাইল সিস্টেম থাকা এবং Chrome noexecফাইলগুলি dm_verityরুট ফাইল সিস্টেমের অখণ্ডতা নিশ্চিত করার জন্য কীভাবে ব্যবহার করে তার পংক্তিতে অন্য সকলকে মাউন্ট করছে । ভাবেন যে যারা বেশ শক্ত নয়, তারা ইভিএম মডিউল ব্যবহার করতে পারেন; জেন্টোর ডকুমেন্টেশনের জন্য wiki.gentoo.org/wiki/Extended_Verifications_Module দেখুন ।
চার্লস ডাফি 21

উত্তর:


50

আপনি যে নির্দিষ্ট আক্রমণ সম্পর্কে উদ্বেগ প্রকাশ করেছেন তা হ'ল:

প্রায়শই একজন আক্রমণকারী কেবলমাত্র একজন দোষী ব্যবহারকারীকে ডাউনলোড এবং ক্লিক করে সম্পাদনযোগ্য চালানোর জন্য বোকা বানাবে।

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

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

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

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

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

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

উদাহরণস্বরূপ এটি সর্বোত্তম চিত্রিত। ধরুন evilবর্তমান ডিরেক্টরিতে এমন একটি ফাইল যা যদি এক্সিকিউটেবল অনুমতি ( chmod +x evil) এবং রান ( ./evil) চালিত হয় তবে কিছু খারাপ করবে। এটি কী ধরণের প্রোগ্রামের উপর নির্ভর করে নিম্নলিখিত প্রভাবগুলির মধ্যে একটির দ্বারা একই প্রভাব অর্জন করা যেতে পারে:

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

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

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash

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

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

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

যদি আপনার ব্যবহারকারীরা নিজেরাই ক্ষতি করতে পারে তবে তাদের নিজের ক্ষতি করতে বোকা বানানো যেতে পারে।

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

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


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

1
ওপিএস প্রশ্নের পিছনে সমস্যা এবং ভয় সম্পর্কে এটি একটি দুর্দান্ত বিমূর্ততা
রবার্ট রিডেল

গৌণ নিট: " . ./evilবা source ./evilকমান্ডগুলিতে চালায় evil.sh" - এই sourceকমান্ডগুলি কমান্ডগুলি চালিত করবে যদি evilনা তারা এক্সটেনশান নির্দিষ্ট করে, উদাহরণস্বরূপ. ./evil.sh
পরবর্তী বিজ্ঞপ্তি না দেওয়া পর্যন্ত বিরতি দেওয়া হয়।

@ ডেনিস উইলিয়ামসন ধন্যবাদ - স্থির! এটি উত্তরটির পুরানো (জমা দেওয়া হয়নি) মোটামুটি খসড়া খসড়া থেকে ছেড়ে গিয়েছিল যাতে আমি বিভিন্ন স্ক্রিপ্টের নাম ব্যবহার করেছি। আমি দ্রুত বুঝতে পারলাম যে নির্বোধ, তবে স্পষ্টতই সমস্ত উপস্থিতি পরিবর্তন করতে ব্যর্থ হয়েছিল।
এলিয়াহ কাগন

1
প্রতিবার যখনই আমি কোনও সফ্টওয়্যার ইনস্টল বা আপডেট করার কোনও উপায় দেখি যা "কেবল এই স্ক্রিপ্টটি জাগ্রত করে এটি চালান" জড়িত তখন আমার পায়ের নখাগুলি কিছুটা কুঁকড়ে যায়। গীতহাব অ্যাকাউন্ট / রেপো তৈরি করা থেকে কোনও কিছুই থামছে না যা একক অক্ষর দ্বারা বন্ধ রয়েছে, বা ও এর পরিবর্তে 0 ব্যবহার করে, বা ইউটিএফ -8 অক্ষরকে অস্পষ্টতার জন্য ব্যবহার করে এবং এতে তার নিজস্ব দূষিত স্ক্রিপ্টটি আটকে আছে ... তারপরে আপনার যা দরকার তা হ'ল একটি আপনার উইজেট কমান্ড এবং বাম টাইপ করুন।
ইয়ান কেম্প

11

হ্যাঁ *


একে একটি সীমাবদ্ধ শেল বলে।

আপনি ব্যবহার করতে পারেন /bin/rbashযা উবুন্টুতে ইতিমধ্যে উপলব্ধ এবং এটি একটি সীমাবদ্ধ PATH ভেরিয়েবলের সাথে একত্রিত করতে পারেন । rbashকিছু নেই থেকে মৃত্যুদন্ড নিষিদ্ধ হবে $PATH

একটি সীমাবদ্ধ ব্যবহারকারী যুক্ত করুন:

sudo adduser --shell /bin/rbash res-user

একটি নতুন ডিরেক্টরি তৈরি করুন, যেখানে আমরা বাইনারিগুলিতে লিঙ্ক করতে পারি, ব্যবহারকারী সীমাবদ্ধ থাকবে:

sudo mkdir /home/res-user/bin

.profileফাইলটি পরিবর্তন করুন:

sudo vim /home/res-user/.profile

if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
        . "$HOME/.bashrc"
    fi
fi

readonly PATH=/home/res-user/bin
export PATH

করুন .profile, bashrcএবং .bash_profileঅপরিবর্তনীয়:

sudo chattr +i /home/res-user/.profile
sudo chattr +i /home/res-user/.bashrc
sudo chattr +i /home/res-user/.bash_profile

এখন আমরা কেবলমাত্র ব্যবহারকারীকে তার অনুমতি দেওয়া হবে, অর্থাৎ ফায়ারফক্স খুলুন:

sudo ln -s /usr/lib/firefox/firefox /home/res-user/bin/

এখন, res-userআমরা যদি কেবল ফায়ারফক্স খুলতে পারি হিসাবে লগইন করি:

res-user@localhost:~$ /home/res-user/bin/firefox --version
Mozilla Firefox 68.0.1

আমরা আমাদের নিষিদ্ধ শেলটি সহজেই এড়াতে পারি না:

res-user@localhost:~$ export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
-su: PATH: readonly variable

সীমাবদ্ধ ব্যবহারকারী ফাইলগুলিকে এক্সিকিউটেবল করতে পারে না, বা সেগুলি শুরু করতে পারে না:

res-user@localhost:~$ chmod +x script.sh 
Command 'chmod' is available in '/bin/chmod'
res-user@localhost:~$ bash script.sh 
Command 'bash' is available in '/bin/bash'
The command could not be located because '/bin' is not included in the PATH environment variable.
bash: command not found

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

res-user@localhost:~$ wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
Command 'wget' is available in '/usr/bin/wget'
The command could not be located because '/usr/bin' is not included in the PATH environment variable.
wget: command not found
Command 'bash' is available in '/bin/bash'
The command could not be located because '/bin' is not included in the PATH environment variable.
bash: command not found

* সীমাবদ্ধ শেলগুলি ভেঙে ফেলার উপায় রয়েছে , তবে যদি আপনার ব্যবহারকারী এটি সক্ষম হন তবে সেগুলি আপনার মতো মনে হয় না gu


2
এটি "একটি অত্যন্ত সীমাবদ্ধ পরিবেশ অর্জন করার চেষ্টা করে যার উপর কোনও ব্যবহারকারী কম্পিউটারে যা করতে চান তার প্রায় সমস্ত কিছুই অনুমোদিত নয়" (যেমনটি আমি আমার উত্তরে রেখেছি)। res-userগ্রাফিকালি লগ ইন করতে পারবেন না। তারা করতে পারে কেবলমাত্র দরকারী জিনিসটি হল ssh -Xচালানো firefox। আপনি আরও কমান্ডের অনুমতি দিতে পারেন যাতে ব্যবহারকারী তাদের কাজ করতে পারে। তারপরে ব্রেক আউট করা সহজ হয়ে যায়। লিঙ্কযুক্ত বেশ কয়েকটি পদ্ধতি ওয়ান-লাইনারে তৈরি করা যেতে পারে (যা আক্রমণকারী সরবরাহ করতে পারে)। ব্যবহারকারীরা যদি বিধিনিষেধকে সীমাবদ্ধ দেখতে পান তবে তারা তাদের বিপরীতে বিশেষজ্ঞ হয়ে উঠবে, যখন তারা আগের মতো জ্ঞান বা দোষী হিসাবে থাকবে।
এলিয়াহ কাগান

1
@ এলিয়াকাগান হ্যাঁ, ঠিক আছে। ব্যবহারকারীর প্রয়োজনীয় সমস্ত কিছু আপনাকে লিঙ্ক করতে হবে। তবে এটি [...] এর খুব কাছাকাছি কোনও অ্যাক্সেস নিয়ন্ত্রণ তালিকা তৈরি করার এবং এটি নির্ধারণ করার কোনও উপায় নেই যে এই ব্যবহারকারী কেবলমাত্র এই তালিকায় ফাইলগুলি সম্পাদন করতে পারেন [...] । সুতরাং এটি ওপিতে সহায়তা করতে পারে। এই শেলগুলি ভাঙ্গা অসম্ভব নয়, তবে বেশ কঠিন। নির্দিষ্ট সংস্থানগুলিতে বা জাম্প-হোস্টে বাহ্যিক অ্যাক্সেসের জন্য আমাদের একই রকম সেটআপ রয়েছে। আমি সন্দেহ করি যে সেখানে সীমাবদ্ধ শেল সেটআপগুলির বিরুদ্ধে বিস্তৃত আক্রমণ রয়েছে .... এবং যদি আপনি কোনও লক্ষ্যযুক্ত আক্রমণ নিয়ে কাজ করছেন , যেখানে আক্রমণকারী পরিবেশটি জানেন .. যাইহোক সমস্ত বাজি বন্ধ রয়েছে।
রবার্ট রিডেল

4
আমি আপনার উত্তরের প্রথম লাইনে পাদটীকাটি উন্নত করব।
পরবর্তী বিজ্ঞপ্তি না দেওয়া পর্যন্ত বিরতি দেওয়া হয়েছে।

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

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