আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন .info- তে যান।
সংক্ষিপ্ত বিবরণ
এপিআই ইকোসিস্টেমগুলো বাহ্যিক এবং অভ্যন্তরীণ উভয় ক্লায়েন্টের কাছ থেকে বিভিন্ন আক্রমণের শিকার হয়। এপিআই প্রদান এবং ব্যবহার করা পরিষেবা প্রদানকারীদের জন্য ব্যাপক সুযোগ তৈরি করে, কিন্তু এটি কিছু নিরাপত্তা ঝুঁকিও তৈরি করে। ডেভেলপারদের অবশ্যই এই চ্যালেঞ্জগুলো সম্পর্কে সচেতন থাকতে হবে এবং এপিআই তৈরি ও ব্যবহারের সময় সেগুলোর সমাধান করতে হবে।
OWASP হলো একটি উন্মুক্ত কমিউনিটি যা সংস্থাগুলোকে বিশ্বস্ত অ্যাপ্লিকেশন এবং এপিআই (API) তৈরি, ক্রয় এবং রক্ষণাবেক্ষণে সহায়তা করার জন্য নিবেদিত। OWASP এপিআই সিকিউরিটি (OWASP API Security) প্রকল্পের মাধ্যমে, OWASP ওয়েব অ্যাপ্লিকেশন এবং REST এপিআই-এর সবচেয়ে গুরুতর নিরাপত্তা ঝুঁকিগুলো প্রকাশ করে এবং সেই ঝুঁকিগুলো মোকাবেলার জন্য সুপারিশ প্রদান করে।
Apigee-এর মাধ্যমে, এপিআই প্রক্সি লেয়ার ব্যাকএন্ড সিস্টেমে অনুরোধগুলি প্রসেস হওয়ার আগেই ক্লায়েন্টের কাছ থেকে আসা ত্রুটিপূর্ণ এপিআই অনুরোধগুলি শনাক্ত, ব্লক এবং রিপোর্ট করতে পারে, যার ফলে ঝুঁকি হ্রাস পায় এবং আপনার পরিষেবাগুলি সুরক্ষিত থাকে। ত্রুটিপূর্ণ অনুরোধগুলির মধ্যে HTTP অ্যাপ্লিকেশন-লেভেল প্রোটোকল গঠনকারী যেকোনো উপাদান অন্তর্ভুক্ত থাকতে পারে:
- ইউআরএল
- হেডার
- পথ
- পেলোড
ত্রুটিপূর্ণ এপিআই অনুরোধগুলো বহিরাগত ডেভেলপার, অভ্যন্তরীণ ডেভেলপার বা ক্ষতিকারক বট দ্বারা তৈরি পরিচিত বা অপরিচিত ক্লায়েন্টদের কাছ থেকে আসতে পারে। এই ধরনের অনুরোধগুলোই OWASP হুমকির সিংহভাগ গঠন করে, কিন্তু অন্তর্নিহিত এপিআই প্রক্সি স্তরের অতিরিক্ত কিছু উপাদান রয়েছে যা ঝুঁকি কমাতে পারে, যেমন ডেটা মাস্কিং, লগিং, অ্যাডমিনিস্ট্রেশন ইত্যাদি।
Apigee-এর ইন্টেলিজেন্ট এপিআই ম্যানেজমেন্ট প্ল্যাটফর্ম আপনাকে আপনার এপিআই ডিজাইন এবং সেগুলোকে আপনার ব্যাকএন্ড সিস্টেমের সাথে সংযুক্ত করার ক্ষেত্রে কনসাম্পশন-ফোকাসড অ্যাপ্রোচ গ্রহণ করার মাধ্যমে শীর্ষস্থানীয় OWASP এপিআই নিরাপত্তা দুর্বলতাগুলো নির্বিঘ্নে মোকাবেলা করতে সাহায্য করে। শীর্ষস্থানীয় REST OWASP হুমকিগুলোর জন্য Apigee-এর সুপারিশকৃত পলিসি/কনফিগারেশনের একটি তালিকা নিচে দেওয়া হলো।

২০১৭ সালের OWASP শীর্ষ ১০-এর জন্য Apigee-এর সমাধানসমূহ
ওয়েব অ্যাপ্লিকেশন তৈরি এবং সুরক্ষিত করার ক্ষেত্রে অনেক নিরাপত্তা সংক্রান্ত উদ্বেগ রয়েছে। OWASP ওয়েব অ্যাপ্লিকেশনের জন্য তাদের ২০১৭ সালের শীর্ষ ১০টি OWASP নিরাপত্তা হুমকির তালিকা প্রকাশ করেছে। যদিও একটি ওয়েব অ্যাপ্লিকেশনের অনেক অংশ থাকে, বেশিরভাগ আধুনিক ওয়েব অ্যাপ REST API-এর উপর ব্যাপকভাবে নির্ভর করে। Apigee একটি ওয়েব অ্যাপ্লিকেশনের সমস্ত নিরাপত্তা চাহিদা মেটানোর জন্য তৈরি করা হয়নি, তবে এটি REST API-গুলোকে সুরক্ষিত করার ক্ষেত্রে একটি গুরুত্বপূর্ণ ভূমিকা পালন করতে পারে। নিচে শীর্ষ OWASP নিরাপত্তা হুমকিগুলো এবং সেই হুমকিগুলো মোকাবেলায় আপনি কীভাবে Apigee ব্যবহার করতে পারেন তার বর্ণনা দেওয়া হলো।
A1:2017 - ইনজেকশন
SQL, NoSQL, LDAP, এবং JavaScript-এর মতো অবিশ্বস্ত ডেটা ইনজেকশন থেকে সুরক্ষার জন্য, যা অনাকাঙ্ক্ষিত কমান্ড কার্যকর হওয়া বা অননুমোদিত ডেটা অ্যাক্সেসের কারণ হতে পারে, Apigee বেশ কিছু ইনপুট ভ্যালিডেশন পলিসি প্রদান করে। এই পলিসিগুলো ক্লায়েন্টের দেওয়া মান প্রত্যাশার সাথে মেলে কিনা তা যাচাই করে এবং তারপরেই পরবর্তী প্রক্রিয়াকরণের অনুমতি দেয়। Apigee Edge, আগত API অনুরোধগুলির জন্য সার্ভার হিসাবে কাজ করে, পেলোড কাঠামোটি একটি গ্রহণযোগ্য সীমার মধ্যে আছে কিনা তা পরীক্ষা করে নিশ্চিত করে, যা লিমিট চেক নামেও পরিচিত। আপনি একটি API প্রক্সি কনফিগার করতে পারেন যাতে ইনপুট ভ্যালিডেশন রুটিনটি ঝুঁকিপূর্ণ অক্ষর ক্রমগুলি সরিয়ে দিয়ে সেগুলিকে নিরাপদ মান দিয়ে প্রতিস্থাপন করে।
Apigee প্ল্যাটফর্মে ইনপুট যাচাই করার বিভিন্ন পদ্ধতি রয়েছে:
- JSONThreatProtection হুমকির জন্য JSON পেলোড পরীক্ষা করে।
- XMLThreatProtection হুমকির জন্য XML পেলোড পরীক্ষা করে।
- জাভাস্ক্রিপ্ট ব্যবহার করে প্যারামিটার যাচাইকরণ করা যায়।
- জাভাস্ক্রিপ্ট ব্যবহার করে হেডার ভ্যালিডেশন করা যায়।
- RegularExpressionProtection পলিসি ব্যবহার করে SQLCodeInjection মোকাবেলা করা যায়।
বিষয়বস্তুর প্রকার যাচাই করুন:
- অনুরোধ - প্রক্সি ফ্লোতে Content-Type যাচাই করার জন্য শর্তসাপেক্ষ লজিক ব্যবহার করুন। একটি কাস্টম ত্রুটি বার্তা ফেরত দেওয়ার জন্য AssignMessage পলিসি অথবা RaiseFault পলিসি ব্যবহার করুন।
- প্রতিক্রিয়া - Content-Type যাচাই করার জন্য প্রক্সি ফ্লোতে শর্তসাপেক্ষ লজিক ব্যবহার করুন। একটি Content-Type হেডার সেট করতে AssignMessage পলিসি ব্যবহার করুন, অথবা একটি কাস্টম ত্রুটি বার্তা ফেরত দিতে AssignMessage বা RaiseFault পলিসি ব্যবহার করুন।

A2:2017 - ত্রুটিপূর্ণ প্রমাণীকরণ এবং সেশন ব্যবস্থাপনা
আক্রমণকারীরা অ্যাপ্লিকেশনের বাস্তবায়নগত ত্রুটির সুযোগ নিয়ে পাসওয়ার্ড, সেশন টোকেন এবং কী অ্যাক্সেস করে অন্য ব্যবহারকারীদের ছদ্মবেশ ধারণ করতে পারে। এটি মূলত একটি বাস্তবায়নগত সমস্যা, কোনো প্রোডাক্টগত সমস্যা নয়। Apigee, VerifyApiKey, OAuth এবং JSON Web Token (JWT) পলিসি প্রদান করে, যা এই দুর্বলতা থেকে সুরক্ষা দিতে সাহায্য করে।
এপিআই কী যাচাইকরণ
এপিআই কী ভ্যালিডেশন হলো অ্যাপ-ভিত্তিক নিরাপত্তার সবচেয়ে সহজ রূপ যা একটি এপিআই-এর জন্য কনফিগার করা যেতে পারে। একটি ক্লায়েন্ট অ্যাপ তার অনুরোধের সাথে কেবল একটি এপিআই কী উপস্থাপন করে, তারপর Apigee Edge, একটি এপিআই প্রক্সির সাথে সংযুক্ত পলিসির মাধ্যমে, অনুরোধ করা রিসোর্সের জন্য এপিআই কী-টি অনুমোদিত অবস্থায় আছে কিনা তা পরীক্ষা করে দেখে।
Apigee এপিআই কী (API Key) তৈরি এবং যাচাইকরণের সুবিধা প্রদান করে। যখন কোনো ডেভেলপার অ্যাপ তৈরি ও অনুমোদিত হয়, তখন Apigee একটি এপিআই কী এবং সিক্রেট তৈরি করে যা এক বা একাধিক এপিআই প্রোডাক্টের সাথে সংযুক্ত থাকে।
“API কী” শব্দটি দিয়ে কখনও কখনও বিভিন্ন অর্থ বোঝানো হয়। Apigee-তে, যখন অ্যাপ এবং প্রোডাক্টের মধ্যে সম্পর্ক তৈরি হয়, তখন Apigee একটি ক্লায়েন্ট আইডি এবং ক্লায়েন্ট সিক্রেট তৈরি করে। কেউ কেউ আইডি এবং সিক্রেট উভয়কেই API কী বলে থাকেন। আবার কেউ কেউ শুধু ক্লায়েন্ট আইডিকেই API কী বলে থাকেন। Edge UI-তে আপনি ‘কনজিউমার কী’ এবং ‘কনজিউমার সিক্রেট’ দেখতে পাবেন।
VerifyAPIKey পলিসিতে শুধুমাত্র ক্লায়েন্ট আইডি বা "কনজিউমার কী" যাচাই করা হয়। ডেভেলপাররা Apigee-তে তাদের অ্যাপ রেজিস্টার করার সময় এবং অ্যাপটিকে একটি API প্রোডাক্টের সাথে যুক্ত করার সময় একটি কনজিউমার কী পান। ডেভেলপাররা API প্রোডাক্টের সাথে বান্ডেল করা API প্রক্সিগুলিতে অ্যাপের করা কলগুলিতে কনজিউমার কী অন্তর্ভুক্ত করেন।
Apigee বাহ্যিক উৎস থেকে বিদ্যমান API কী আমদানি করার সুবিধাও সমর্থন করে।
OAuth গ্রান্ট টাইপের ক্ষেত্রে ক্লায়েন্ট আইডি এবং সিক্রেট উভয়ই ব্যবহৃত হয়।
OAuth 2.0
OAuth 2.0 অনুমোদন কাঠামো একটি তৃতীয়-পক্ষ অ্যাপ্লিকেশনকে কোনো HTTP পরিষেবাতে সীমিত অ্যাক্সেস পেতে সক্ষম করে; এটি হয় রিসোর্স মালিক এবং HTTP পরিষেবার মধ্যে একটি অনুমোদন প্রক্রিয়া সমন্বয় করার মাধ্যমে রিসোর্স মালিকের পক্ষ থেকে অ্যাক্সেস দেয়, অথবা তৃতীয়-পক্ষ অ্যাপ্লিকেশনটিকে তার নিজের পক্ষ থেকে অ্যাক্সেস পেতে অনুমতি দেয়।
Apigee-এর OAuth 2.0 পলিসিগুলো আপনাকে চারটি OAuth 2.0 গ্রান্ট টাইপ প্রয়োগ এবং কাস্টমাইজ করার সুযোগ দেয়। OAuthv2 পলিসি ব্যবহার করে OAuth অ্যাক্সেস টোকেন প্রয়োগ করা যায়। ব্যবহারকারীকে অবশ্যই নিবন্ধিত হতে হবে এবং তার একটি অনুমোদিত অ্যাপ থাকতে হবে যা তাকে API-তে অ্যাক্সেস দিয়েছে। এর বিনিময়ে, তারা একটি API ক্লায়েন্ট আইডি এবং ক্লায়েন্ট সিক্রেট পাবে। প্রমাণীকৃত হওয়ার জন্য ব্যবহারকারীকে অবশ্যই OAuth গ্রান্টগুলোর মধ্যে একটির মধ্য দিয়ে যেতে হবে, যা তাকে একটি অপাক অ্যাক্সেস টোকেন প্রদান করে। এই টোকেনটি API-তে অ্যাক্সেস নিয়ন্ত্রণ করতে ব্যবহার করা যেতে পারে।
জেডব্লিউটি
JSON ওয়েব টোকেন বা JWT সাধারণত সংযুক্ত অ্যাপ্লিকেশনগুলোর মধ্যে ক্লেইম বা অ্যাসারশন শেয়ার করতে ব্যবহৃত হয়। Apigee তিনটি পলিসি ব্যবহার করে JWT সাপোর্ট প্রদান করে।
- JWT টোকেন তৈরি করুন (HS256 এবং RS256 সিগনেচার সমর্থন করে)
- JWT টোকেন যাচাই করুন
- যাচাইকরণ ছাড়াই JWT টোকেন ডিকোড করুন
A3:2017 - সংবেদনশীল তথ্য প্রকাশ
আক্রমণকারীরা পরিচয় চুরি, অর্থ চুরি, জালিয়াতি এবং অন্যান্য অপরাধ সংঘটনের জন্য ক্রেডিট কার্ডের বিবরণ, সামাজিক নিরাপত্তা নম্বর, লগ-ইন ক্রেডেনশিয়াল, ব্যক্তিগত শনাক্তকরণ তথ্য (পিআইআই) এবং ট্যাক্স আইডির মতো সংবেদনশীল ডেটাকে লক্ষ্য করে। সংবেদনশীল ডেটার সুরক্ষা নিশ্চিত করার জন্য ওয়েব অ্যাপ্লিকেশনগুলিতে ডেটা স্থির থাকা অবস্থায় এবং স্থানান্তরের সময় উভয় ক্ষেত্রেই এনক্রিপশন এবং অন্যান্য কৌশল প্রয়োগ করা প্রয়োজন।
TLS (ট্রান্সপোর্ট লেয়ার সিকিউরিটি, যার পূর্বসূরি হলো SSL) হলো একটি আদর্শ নিরাপত্তা প্রযুক্তি, যা একটি ওয়েব সার্ভার এবং একটি ওয়েব ক্লায়েন্ট (যেমন ব্রাউজার বা অ্যাপ)-এর মধ্যে এনক্রিপ্টেড সংযোগ স্থাপন করে। Apigee একমুখী এবং দ্বিমুখী উভয় প্রকার TLS সমর্থন করে।
নর্থবাউন্ড টিএলএস (যেখানে এপিআই-এর সাথে সংযোগকারী ক্লায়েন্ট সার্ভার হিসেবে কাজ করে) একটি ভার্চুয়াল হোস্ট কনফিগারেশন ব্যবহারের মাধ্যমে সমর্থিত হয়। একটি ভার্চুয়াল হোস্টকে একমুখী বা দ্বিমুখী টিএলএস-এর জন্য কনফিগার করা যেতে পারে।
টার্গেট সার্ভার কনফিগারেশন ব্যবহারের মাধ্যমে সাউথবাউন্ড টিএলএস (ক্লায়েন্ট হিসেবে এপিজি-র ব্যাকএন্ড সার্ভিসের সাথে সংযোগ) সমর্থন করা হয়। একটি টার্গেট সার্ভার একমুখী বা দ্বিমুখী টিএলএস-এর জন্য কনফিগার করা যেতে পারে।
Apigee অনেকগুলো TLS কনফিগারেশন অপশন সমর্থন করে।
দ্বিমুখী TLS প্রয়োগ নিশ্চিত করে যে ক্লায়েন্ট এমন একটি সার্টিফিকেট ব্যবহার করছে যা ইতিমধ্যেই Apigee-তে অন্তর্ভুক্ত করা হয়েছে। OWASP এছাড়াও TLS-এর সর্বোত্তম অনুশীলনসমূহ প্রদান করে।

Apigee হাইব্রিডে, ইনগ্রেস পর্যায়ে একটি হোস্ট অ্যালিয়াসের মাধ্যমে TLS উপলব্ধ থাকে, যা ভার্চুয়াল হোস্টের অনুরূপ একটি ধারণা।
সংবেদনশীল তথ্য সুরক্ষিত রাখার জন্য নিম্নলিখিত নির্দেশিকাগুলো অনুসরণ করতে হবে:
- এমন একটি প্ল্যাটফর্ম ব্যবহার করুন যা একমুখী এবং দ্বিমুখী TLS সমর্থন করে, যা প্রোটোকল স্তরে সুরক্ষা প্রদান করবে।
- ক্লায়েন্টের কাছে সংবেদনশীল ডেটা ফেরত পাঠানোর আগে তা মুছে ফেলার জন্য AssignMessage পলিসি এবং JavaScript পলিসির মতো পলিসি ব্যবহার করুন।
- স্ট্যান্ডার্ড OAuth কৌশল ব্যবহার করুন এবং প্রতিটি অনুরোধের প্রমাণীকরণের স্তর উন্নত করতে HMAC, hash, state, nonce, PKCE বা অন্যান্য কৌশল যোগ করার কথা বিবেচনা করুন।
- Edge Trace টুলে সংবেদনশীল ডেটা মাস্ক করতে ডেটা মাস্কিং সেটিংস ব্যবহার করুন।
- ক্যাশে কোনো সংবেদনশীল ডেটা সংরক্ষণ করার ব্যাপারে সতর্ক থাকুন (অথবা ক্যাশে সংরক্ষিত সংবেদনশীল ডেটা এনক্রিপ্ট করুন)। Edge-এ, আপনি কী-ভ্যালু ম্যাপ ব্যবহার করে সংরক্ষিত সংবেদনশীল ডেটা এনক্রিপ্ট করতে পারেন।
A4:2017 - এক্সএমএল বাহ্যিক সত্তা
যেসব সিস্টেম বা অ্যাপ্লিকেশন XML প্রসেস করে, তাদের XML-এর মধ্যে থাকা "এক্সটার্নাল এনটিটি রেফারেন্স" পরিচালনা করতে হয়—এগুলো হলো ফাইল বা ডেটার এমন রেফারেন্স যা XML প্রসেসিংয়ের সময় আসল ডেটা দ্বারা প্রতিস্থাপিত হয়ে যায়। যদি অ্যাপ্লিকেশন বা XML প্রসেসরগুলো পুরোনো বা ত্রুটিপূর্ণভাবে তৈরি হয়, তবে আক্রমণকারীরা ডেটা হ্যাক করে তা ব্যবহার করে তথ্য চুরি করতে পারে অথবা সিস্টেমের ওপর বিভিন্ন ধরনের আক্রমণ, যেমন ডিনায়াল অফ সার্ভিস, চালাতে পারে।
Apigee-এর ExtractVariables পলিসি আপনাকে একটি রিকোয়েস্ট বা রেসপন্স থেকে কন্টেন্ট বের করে একটি ভেরিয়েবলে অ্যাসাইন করতে দেয়। আপনি মেসেজের যেকোনো অংশ বের করতে পারেন, যার মধ্যে হেডার, URI পাথ, JSON/XML পেলোড, ফর্ম প্যারামিটার এবং কোয়েরি প্যারামিটার অন্তর্ভুক্ত। এই পলিসিটি মেসেজ কন্টেন্টের উপর একটি টেক্সট প্যাটার্ন প্রয়োগ করে কাজ করে এবং কোনো মিল খুঁজে পেলে, নির্দিষ্ট মেসেজ কন্টেন্ট দিয়ে একটি ভেরিয়েবল সেট করে দেয়।
Apigee প্ল্যাটফর্মের অংশ হিসেবে একটি বিল্ট-ইন XML পার্সার রয়েছে যা ডেটা নিষ্কাশন করতে XPath ব্যবহার করে। ক্ষতিকর XML পেলোড থেকে সুরক্ষার জন্য এতে একটি XMLThreatProtection পলিসিও রয়েছে।
A5:2017 - ত্রুটিপূর্ণ প্রবেশাধিকার নিয়ন্ত্রণ
ব্যবহারকারীরা লগ ইন করে সিস্টেমে প্রবেশাধিকার পাওয়ার পর, যথাযথ অনুমোদন নিয়ন্ত্রণ ব্যবস্থা থাকা প্রয়োজন, যাতে তারা কেবল অনুমোদিত বিষয়গুলোই দেখতে ও করতে পারে। শক্তিশালী প্রবেশাধিকার নিয়ন্ত্রণ ব্যবস্থা না থাকলে, আক্রমণকারীরা অননুমোদিত এবং প্রায়শই সংবেদনশীল তথ্য দেখতে পারে অথবা বিদ্বেষপূর্ণভাবে তথ্য ও সিস্টেমের আচরণে পরিবর্তন আনতে পারে।
অননুমোদিত পরিবর্তন বা সিস্টেমে প্রবেশ করা থেকে দুষ্কৃতকারীদের বিরত রাখতে Apigee অ্যাক্সেস কন্ট্রোল বাস্তবায়নের জন্য একটি স্তরভিত্তিক পদ্ধতি সমর্থন করে।
Edge UI-এর জন্য অ্যাক্সেস নিয়ন্ত্রণ
- আপনার কোম্পানির আইডেন্টিটি প্রোভাইডারের সাথে সিঙ্গেল সাইন-অন কনফিগার করুন ।
- ব্যবহারকারীদের শুধুমাত্র তাদের প্রয়োজনীয় কার্যকারিতা এবং কনফিগারেশনে প্রবেশাধিকার দেওয়ার জন্য ভূমিকা-ভিত্তিক প্রবেশাধিকার নিয়ন্ত্রণ (RBAC) কনফিগার করুন ।
- Teams ফিচারটি প্রক্সি, প্রোডাক্ট এবং অ্যাপে অ্যাক্সেস সীমাবদ্ধ করার অতিরিক্ত সুবিধা প্রদান করে।
- ব্যবহারকারীদের কাছ থেকে সংবেদনশীল তথ্য গোপন করতে ডেটা মাস্কিং কনফিগার করুন ।
- সংবেদনশীল কী/ভ্যালু পেয়ার সংরক্ষণের জন্য এনক্রিপ্টেড কী-ভ্যালু ম্যাপ তৈরি করুন , যা এজ ইউআই (Edge UI) এবং ম্যানেজমেন্ট এপিআই (API) কলে মাস্কড (masked) অবস্থায় প্রদর্শিত হয়।
Apigee ডেভেলপার পোর্টালের জন্য অ্যাক্সেস নিয়ন্ত্রণ
- আপনার কোম্পানির আইডেন্টিটি প্রোভাইডারের সাথে সিঙ্গেল সাইন-অন কনফিগার করুন ।
- ড্রুপাল-ভিত্তিক ডেভেলপার পোর্টালে ব্যবহারকারীরা যাতে শুধুমাত্র তাদের প্রয়োজনীয় কার্যকারিতা ও কনফিগারেশন অ্যাক্সেস করতে পারে, সেজন্য রোল-ভিত্তিক অ্যাক্সেস কন্ট্রোল (RBAC) কনফিগার করুন ।
- ব্যবহারকারীর ভূমিকা অনুযায়ী নির্দিষ্ট এপিআই পণ্য দেখানোর জন্য ডেভেলপার পোর্টাল কনফিগার করুন।
- ব্যবহারকারীর ভূমিকার উপর ভিত্তি করে বিষয়বস্তু দেখানো বা লুকানোর জন্য পোর্টালটি কনফিগার করুন।
Apigee রানটাইম এপিআই অ্যাক্সেসের জন্য অ্যাক্সেস নিয়ন্ত্রণ
- এপিআই কী, ওঅথ টোকেন, ওঅথ স্কোপ, সার্টিফিকেট এবং অন্যান্য কৌশলের মাধ্যমে এপিআই-তে প্রবেশাধিকার নিশ্চিত করা যেতে পারে।
- এপিআই প্রোভাইডার একটি এপিআই প্রোডাক্ট নির্ধারণ করার মাধ্যমে কোন রিসোর্সগুলো উপলব্ধ থাকবে তা কনফিগার করে। অ্যাক্সেস ম্যানুয়ালি UI-তে, ম্যানেজমেন্ট এপিআই-এর মাধ্যমে, অথবা ডেভেলপার পোর্টালের মাধ্যমে প্রদান করা হয়। যখন কোনো ডেভেলপারের অ্যাপকে একটি এপিআই প্রোডাক্টে অ্যাক্সেস দেওয়া হয়, তখন তারা একটি ক্লায়েন্ট আইডি এবং সিক্রেট পায় যা অথেনটিকেশন প্রক্রিয়ায় ব্যবহৃত হয়।
- Apigee যেকোনো আইডেন্টিটি প্রোভাইডারের সাথে সংযুক্ত হয়ে OAuth সম্পাদন করতে পারে।
- Apigee ব্যবহারকারীর পরিচয় টার্গেট পরিষেবাগুলিতে পাঠানোর জন্য JWT টোকেন বা অন্যান্য কৌশল তৈরি করতে পারে। টার্গেট পরিষেবাগুলি প্রয়োজন অনুযায়ী পরিষেবা এবং ডেটাতে অ্যাক্সেস সীমাবদ্ধ করতে সেই পরিচয় ব্যবহার করতে পারে।
A6:2017-নিরাপত্তা ভুল কনফিগারেশন
নিরাপত্তা সংক্রান্ত ভুল কনফিগারেশন সহজেই উপেক্ষা করা যায়, কারণ অ্যাডমিনিস্ট্রেটর এবং ডেভেলপাররা প্রায়শই ভুলবশত বিশ্বাস করেন যে তারা যে সিস্টেমগুলো ব্যবহার করেন সেগুলো সহজাতভাবেই সুরক্ষিত। নিরাপত্তা সংক্রান্ত ভুল কনফিগারেশন বিভিন্ন উপায়ে ঘটতে পারে, যেমন ডিফল্ট কনফিগারেশনের উপর বিশ্বাস করা বা এমন আংশিক কনফিগারেশন করা যা অসুরক্ষিত হতে পারে, এরর মেসেজে সংবেদনশীল তথ্য থাকতে দেওয়া, যথাযথ নিরাপত্তা নিয়ন্ত্রণ ছাড়া ক্লাউডে ডেটা সংরক্ষণ করা, HTTP হেডার ভুলভাবে কনফিগার করা, ইত্যাদি। Apigee প্ল্যাটফর্ম আপনাকে নিরাপত্তা কনফিগারেশন নিয়ন্ত্রণ, পরিচালনা এবং নিরীক্ষণ করার জন্য বিভিন্ন ব্যবস্থা প্রদান করে, যার মধ্যে পুনঃব্যবহারযোগ্য শেয়ার্ড ফ্লো অন্তর্ভুক্ত।
একটি শেয়ার্ড ফ্লো এপিআই ডেভেলপারদের পলিসি এবং রিসোর্সগুলোকে একটি পুনঃব্যবহারযোগ্য গ্রুপে একত্রিত করতে দেয়। পুনঃব্যবহারযোগ্য কার্যকারিতা এক জায়গায় ধারণ করার মাধ্যমে, একটি শেয়ার্ড ফ্লো আপনাকে সামঞ্জস্য নিশ্চিত করতে, ডেভেলপমেন্টের সময় কমাতে এবং আরও সহজে কোড পরিচালনা করতে সাহায্য করে। আপনি স্বতন্ত্র এপিআই প্রক্সির ভিতরে একটি শেয়ার্ড ফ্লো অন্তর্ভুক্ত করতে পারেন, অথবা আপনি আরও এক ধাপ এগিয়ে গিয়ে ফ্লো হুক-এর মধ্যে শেয়ার্ড ফ্লো রাখতে পারেন, যাতে একই পরিবেশে ডেপ্লয় করা প্রতিটি এপিআই প্রক্সির জন্য শেয়ার্ড ফ্লো লজিক স্বয়ংক্রিয়ভাবে কার্যকর হয়।

Apigee-র প্রোডাক্ট রিলিজগুলো দুর্বলতাযুক্ত লাইব্রেরিগুলোর বিরুদ্ধে সুরক্ষা নিশ্চিত করে। নতুন কোনো দুর্বলতা খুঁজে পাওয়া গেলে Apigee অতিরিক্ত প্যাচ বা আপডেট প্রকাশ করতে পারে। Edge পাবলিক ক্লাউডে স্বয়ংক্রিয়ভাবে প্যাচ প্রয়োগ করা হয়। Edge ফর প্রাইভেট ক্লাউড (অন প্রিমিসেস) গ্রাহকদের নিজেদেরই প্রোডাক্ট প্যাচ প্রয়োগ করতে হয়।
A7:2017-ক্রস-সাইট স্ক্রিপ্টিং (XSS)
ক্রস-সাইট স্ক্রিপ্টিং (XSS) আক্রমণকারীদের ব্যবহারকারীর ওয়েব ব্রাউজারে স্ক্রিপ্ট চালানোর সুযোগ দেয়, যার মাধ্যমে তারা ব্যবহারকারীর সেশন নিয়ন্ত্রণ করতে, ওয়েবসাইট ম্যানিপুলেট করতে বা অন্য কোনো উপায়ে ব্যবহারকারীদের ক্ষতি করতে পারে। XSS সমস্যাগুলো সবসময় API-এর সাথে সম্পর্কিত নাও হতে পারে, কিন্তু Apigee এমন থ্রেট প্রোটেকশন পলিসি প্রদান করে যা API-তে XSS থেকে সুরক্ষা দিতে ব্যবহার করা যেতে পারে। RegularExpressionProtection পলিসি অথবা JavaScript পলিসির মাধ্যমে রেগুলার এক্সপ্রেশন ব্যবহার করে জাভাস্ক্রিপ্ট এবং অন্যান্য ইনজেকশন-ধরনের আক্রমণের জন্য পেলোড এবং প্যারামিটার ভ্যালু চেক করা যায়।
CORS, যা সকল ব্রাউজার দ্বারা বলবৎকৃত same-origin policy- র একটি বহুল ব্যবহৃত সমাধান, তা AssignMessage policy ব্যবহার করে প্রয়োগ করা যেতে পারে ।

A8:2017 - অনিরাপদ ডিসিরিয়ালাইজেশন
আক্রমণকারীরা রিপ্লে, প্রিভিলেজ এসকেলেশন এবং ইনজেকশনের মতো বিভিন্ন ধরনের আক্রমণের জন্য ডিসিরিয়ালাইজেশনের ত্রুটিগুলো ব্যবহার করতে পারে। অনিরাপদ ডিসিরিয়ালাইজেশন রিমোট কোড এক্সিকিউশনকেও সক্ষম করতে পারে।
Apigee ডি-সিরিয়ালাইজেশনের সুপারিশ করে না। তবে JSONThreatProtection পলিসি এবং RegularExpressionProtection পলিসি ক্ষতিকর JSON পেলোড থেকে সুরক্ষা দিতে সাহায্য করতে পারে। পেলোডে ক্ষতিকর কন্টেন্ট স্ক্যান করার জন্য JavaScript পলিসিও ব্যবহার করা যেতে পারে। রিপ্লে অ্যাটাক থেকে সুরক্ষার জন্য ক্যাশে এবং অন্যান্য পলিসি ব্যবহার করা যায়। ইনফ্রাস্ট্রাকচার লেভেলে, চলমান প্রসেসগুলোকে সুরক্ষিত রাখার জন্য Apigee প্ল্যাটফর্মে বিল্ট-ইন গার্ডরেলও রয়েছে।
A9:2017 - জ্ঞাত দুর্বলতাযুক্ত উপাদান ব্যবহার করা
যেহেতু ফ্রেমওয়ার্ক, লাইব্রেরি এবং মডিউলগুলো পূর্ণ এক্সিকিউশন ও CRUD অ্যাক্সেস নিয়ে চলে, তাই আক্রমণকারীরা সিস্টেম আক্রমণ করার জন্য কম্পোনেন্টের দুর্বলতাগুলোকে কাজে লাগাতে পারে।
Apigee-এর নিয়মিত প্রোডাক্ট রিলিজ কম্পোনেন্টের দুর্বলতা থেকে সুরক্ষা নিশ্চিত করে, বিশেষ করে যখন নির্দিষ্ট কোনো দুর্বলতা আবিষ্কৃত হয়। Apigee পাবলিক ক্লাউডে স্বয়ংক্রিয়ভাবে প্যাচ আপডেট করা হয় এবং অন-প্রিমিসেস প্যাচ ইনস্টলেশনের জন্য উপলব্ধ হলে Apigee, Edge for Private Cloud-এর গ্রাহকদের অবহিত করে।
A10:2017 - অপর্যাপ্ত লগিং ও পর্যবেক্ষণ
যখন আপনি আপনার সিস্টেমে যথাযথভাবে লগিং, মনিটরিং এবং ইনসিডেন্ট ম্যানেজমেন্ট করেন না, তখন আক্রমণকারীরা ডেটা ও সফটওয়্যারের ওপর আরও গভীর এবং দীর্ঘস্থায়ী আক্রমণ চালাতে পারে।
Apigee-তে লগিং, মনিটরিং, এরর হ্যান্ডলিং এবং অডিট লগিং করার বিভিন্ন উপায় রয়েছে।
লগিং
- MessageLogging পলিসি ব্যবহার করে লগ মেসেজগুলো Splunk বা অন্য কোনো syslog এন্ডপয়েন্টে পাঠানো যেতে পারে।
- অ্যানালিটিক্স এপিআই-এর মাধ্যমে এপিআই অ্যানালিটিক্স ডেটা সংগ্রহ করে অন্যান্য সিস্টেমে ইম্পোর্ট বা এক্সপোর্ট করা যায়।
- Edge for Private Cloud-এ, আপনি স্থানীয় লগ ফাইলে লেখার জন্য MessageLogging পলিসি ব্যবহার করতে পারেন। চলমান প্রতিটি কম্পোনেন্টের লগ ফাইলও পাওয়া যায়।
- জাভাস্ক্রিপ্ট পলিসি ব্যবহার করে কোনো REST লগিং এন্ডপয়েন্টে সিনক্রোনাসলি বা অ্যাসিনক্রোনাসলি লগ মেসেজ পাঠানো যায়।
পর্যবেক্ষণ
- এপিআই এবং ব্যাকএন্ডগুলো নিয়মিত নিরীক্ষণ করতে ও অ্যালার্ট ট্রিগার করতে এপিআই মনিটরিং ইউআই বা এপিআই ব্যবহার করুন।
- টার্গেট সার্ভার ব্যাকএন্ডগুলো নিয়মিত নিরীক্ষণ করতে হেলথ মনিটরিং ব্যবহার করুন।
- প্রাইভেট ক্লাউডের জন্য এজ মনিটরিংয়ের বিষয়ে অ্যাপিজি সুপারিশ প্রদান করে।
- Apigee এমন কিছু সেরা অনুশীলনও প্রদান করে যা আপনার দল আপনার API প্রোগ্রাম নিরীক্ষণের জন্য কাজে লাগাতে পারে।
ত্রুটি পরিচালনা
Apigee এপিআই প্রক্সিগুলির জন্য একটি শক্তিশালী ও বহুমুখী ফল্ট হ্যান্ডলিং ব্যবস্থা প্রদান করে। একটি জাভা প্রোগ্রাম যেভাবে এক্সেপশন ক্যাচ করে, ঠিক সেভাবেই এপিআই প্রক্সিগুলি ফল্ট ক্যাচ করতে পারে এবং ক্লায়েন্টদের কাছে উপযুক্ত প্রতিক্রিয়া ফেরত পাঠানোর বিষয়টি নির্ধারণ করতে পারে। Apigee-এর কাস্টম ফল্ট হ্যান্ডলিং আপনাকে যেকোনো ত্রুটি ঘটলে মেসেজ লগিং-এর মতো কার্যকারিতা যুক্ত করার সুযোগ দেয়।
অডিট লগ
Apigee প্ল্যাটফর্ম একটি অডিট লগ রাখে যা API প্রক্সি, প্রোডাক্ট এবং অর্গানাইজেশন হিস্ট্রির পরিবর্তনগুলো ট্র্যাক করে। এই লগটি UI অথবা Audits API-এর মাধ্যমে পাওয়া যায়।
২০১৩ সালের OWASP দুর্বলতার জন্য Apigee-এর সমাধান
OWASP যখন ২০১৭ সালের জন্য তাদের তালিকা হালনাগাদ করে, তখন ২০১৩ সালের তালিকা থেকে কিছু দুর্বলতা বাদ পড়ে যায়। সেগুলো এখনও বিদ্যমান হুমকি। নিম্নলিখিত বিভাগগুলিতে Apigee ব্যবহার করে কীভাবে এই হুমকিগুলো মোকাবেলা করা যায় তা বর্ণনা করা হয়েছে।
A8:2013 - ক্রস-সাইট রিকোয়েস্ট ফোরজারি (CSRF)
ক্রস-সাইট ফোরজারি রিকোয়েস্টের মাধ্যমে আক্রমণকারীরা একজন ব্যবহারকারীর অথেনটিকেশন ডিটেইলস, সেশন কুকি এবং অন্যান্য ডেটা HTTP-এর মাধ্যমে একটি দুর্বল ওয়েব অ্যাপ্লিকেশনে ফরোয়ার্ড করে, যা ওয়েব অ্যাপ্লিকেশনটিকে এই বিশ্বাস করতে প্ররোচিত করে যে রিকোয়েস্টগুলো ব্যবহারকারীর কাছ থেকে আসা বৈধ রিকোয়েস্ট।
নির্দেশিকা:
- এটি মূলত ব্রাউজারের সমস্যা, এপিআই পণ্যের সমস্যা নয়। আপনি ওপেনআইডি কানেক্ট, ওঅথ এবং অন্যান্য কৌশল ব্যবহার করে এই দুর্বলতাটি সমাধান করতে পারেন।
- জালিয়াতি এবং রিপ্লে আক্রমণ প্রতিরোধ করতে HMAC, স্টেট, হ্যাশ, ননস বা PKCE কৌশল ব্যবহার করার কথা বিবেচনা করুন।
A10:2013 - যাচাইবিহীন পুনঃনির্দেশ এবং ফরোয়ার্ড
যদি কোনো ওয়েব অ্যাপ্লিকেশন রিডাইরেক্ট করে, কিন্তু সেই রিডাইরেক্টগুলো ব্যবহারকারীদের বিশ্বস্ত ও উদ্দিষ্ট ওয়েবসাইটে পাঠাচ্ছে কি না তা যাচাই না করে, তাহলে আক্রমণকারীরা ফিশিং, ম্যালওয়্যার চালানো এবং অন্যান্য আক্রমণ চালানোর জন্য ব্যবহারকারীদের ক্ষতিকর গন্তব্যে পাঠাতে পারে।
নির্দেশিকা:
- OAuth ব্যবহার করুন এবং প্রতিটি অনুরোধে যাচাইকরণ বাধ্যতামূলক করুন।
- এপিআই প্রক্সি লজিকে রেসপন্স কোড যাচাই করে এবং রিডাইরেক্টগুলো যথাযথভাবে পরিচালনা করার মাধ্যমে অপ্রত্যাশিত ৩০২ রিডাইরেক্ট প্রতিরোধ করুন।