VPN লগইন সতর্কতা অনুপ্রবেশ সতর্কতা নয়: সেশনটি দেখুন
অস্বাভাবিক সাইন-ইন পর্যালোচনার সংকেত, রায় নয়। অনুপ্রবেশ বলার আগে প্রমাণীকরণ রেকর্ডকে একটি সেশনের সঙ্গে, তারপর সেই সেশন কী স্পর্শ করেছে তার সঙ্গে যুক্ত করুন।
নতুন দেশে উৎপন্ন হওয়া VPN সতর্কতা চূড়ান্ত মনে হয়, এবং সাধারণত তা নয়। প্রমাণীকরণ বলে একটি প্রচেষ্টা গৃহীত হয়েছে; সেশন বলে কোন সংযোগটি তা বহন করেছে; সম্পদ রেকর্ড বলে সেই সংযোগের ভিতরে কী ঘটেছে। প্রতিটি ভিন্ন প্রশ্নের উত্তর দেয়। তিনটিই মিলিয়ে দেওয়া নিয়ম সোমবারে ত্রিশটি টিকিট তৈরি করে আর শুক্রবারে আসল ঘটনাটি মিস করে।
বিদেশি ঠিকানা প্রশ্ন, উত্তর নয়
ভ্রমণ, অন্য দেশে নির্গত মোবাইল অপারেটর, কর্পোরেট ওয়েব প্রক্সি এবং পুনর্বণ্টিত ক্যারিয়ার-গ্রেড NAT পুল—সবই আপাত উৎস সরায়, আক্রমণকারীকে সরায় না। সাইন-ইন রেকর্ড দেখায় সংযোগটি নেটওয়ার্কে কোথা থেকে ঢুকেছে, কে ডিভাইসটি ধরে ছিল তা নয়।
উল্টো ব্যর্থতা আরও খারাপ, কারণ তা নীরব। ব্যবহারকারীর নিজের শহর থেকে ব্যবহৃত চুরি হওয়া পাসওয়ার্ড এমন লগইন তৈরি করে যা ভূগোল যাচাইয়ে আগের প্রতিটি লগইনের সঙ্গে মেলে।
ভূগোলকে রায় হিসেবে ধরা মাপযোগ্য খরচ ডাকে। ভ্রাম্যমাণ ল্যাপটপ পর্যালোচনার স্থির স্রোত তৈরি করে, পর্যালোচকেরা না পড়েই সেগুলো বন্ধ করতে শেখে, এবং অভ্যাসটি টিকে থাকে যতক্ষণ না আসল ঘটনা একই সারিতে আসে।
তিন ধরনের রেকর্ড তিনটি ভিন্ন প্রশ্নের উত্তর দেয়
মোতায়েন করা পণ্য কী নির্গত করে তা থেকে শুরু করুন, পণ্যের ব্রোশিওর কী নির্গত করতে পারে তা থেকে নয়। প্রমাণীকরণ সিদ্ধান্ত দাবিকৃত পরিচয়, পদ্ধতি ও ফলাফল বলে। সেশন জীবনচক্র সংযোগ, গেটওয়ে ও বরাদ্দকৃত ঠিকানা শুরু থেকে বন্ধ পর্যন্ত বলে।
| Record | Question it answers | What it cannot prove |
|---|---|---|
| Authentication decision | Which identity was accepted or rejected, by which method, at what time | That the person operating the device was the account owner |
| Session lifecycle | Which connection, gateway and assigned address were active, and for how long | What the session did with that access |
| Resource event | Which read, write or denied operation a service observed | Which human behind the session triggered it |
| Policy change | Whether an administrator altered the rule that governs the access | Whether the change was reviewed or intended |
খালি ঘর সংগ্রহে ফাঁক, খালাস নয়। সম্পদ ঘটনা কখনো না এলে সন্দেহজনক পাঠের অনুপস্থিতি বোঝায় পাইপলাইনে জানানোর কিছু নেই, আর শান্ত ড্যাশবোর্ড নেটওয়ার্ক নয়, পাইপলাইনকেই বর্ণনা করে। তাদের উপর নির্ভর করা নিয়ম প্রতিশ্রুতি দেওয়ার আগে মোতায়েন আসলে কোন রেকর্ড তৈরি করে তা লিখুন, এবং প্রতিটি অনুপস্থিত ফিডের মালিকের নাম দিন।
হিসাবের বিবরণই সেশনকে যাচাইযোগ্য করে তোলে। RFC 2866-এ বর্ণিত RADIUS হিসাব সেশন শনাক্তকারীর সঙ্গে যুক্ত শুরু, বন্ধ ও অন্তর্বর্তী হালনাগাদ বহন করে, তাই শুরু আছে কিন্তু বন্ধ নেই এমন সেশন রহস্য নয়, আপনি নাম দিতে পারেন এমন ফাঁক।
ব্যবহারকারী নামে নয়, সেশনে জোড় দিন
একটি অ্যাকাউন্ট বৈধভাবে একসঙ্গে কয়েকটি সেশন ধরে: একটি ল্যাপটপ, একটি ফোন, রাতভর সংযুক্ত রাখা একটি ল্যাব মেশিন। ওই ব্যবহারকারী নামের প্রতিটি ঘটনা জোড়া দিলে তিনটি ডিভাইস এক গল্পে মিশে যায় এবং তারপর মিলনটিকে আপস হিসেবে পড়া হয়। বরাদ্দকৃত ঠিকানাও পুনর্ব্যবহৃত হয়, তাই সেশন শেষ হওয়ার পরেও ঠিকানার সঙ্গে মিলতে থাকা জোড় গত মাসের ডিভাইসকে আজকের ঘটনায় টেনে আনে। ঠিকানার পাশে সেশন কী রাখুন এবং সেশনটি প্রকৃতপক্ষে যত সময় জুড়ে ছিল সেই সময়-জানালা দিয়ে মিলন সীমিত করুন।
যেখানে পরিষেবা দেখার আগেই অনুবাদ মূল উৎস সরিয়ে দেয়, সেখানে সেই সীমানায় টিকে থাকা পরিচয় ব্যবহার করুন, যেমন পারস্পরিক TLS সাবজেক্ট বা একক সাইন-অন দাবি। ঠিকানা ও ব্যক্তির মধ্যে এক-এক মিল বানানো অতিরিক্ত ধাপসহ একই ভুল।
মালিকহীন সতর্কতা একটি ড্যাশবোর্ড
প্রতিটি নিয়মের দরকার একটি শর্ত, তা তৈরি করা নিরীহ ব্যাখ্যা, টেনে আনার প্রমাণ, এবং যে ব্যক্তি কাজ করে। বারবার প্রত্যাখ্যাত প্রশাসনিক ক্রিয়া, ব্যর্থ পাসওয়ার্ডের ঝাঁক এবং নীরব সংগ্রাহক তিনটি ভিন্ন ঘড়ির তিনটি ভিন্ন ঘটনা।
বিজ্ঞপ্তি নিয়ন্ত্রণ নয়, এবং বিতরণ তালিকা কিছুই সীমিত করে না। জীবন্ত সেশন বদলাতে যে উপাদান তা করতে পারে তা দরকার, সে গেটওয়ে সংযোগ ফেলে দিক বা পরিচয় প্রদানকারী সেশন বাতিল করুক। পুরোনো ফিড ও অনুপস্থিত বন্ধ রেকর্ডও নিয়মের লেখায় থাকা উচিত, কারণ এক দিন কিছু না পাঠানো সংগ্রাহক ড্যাশবোর্ড থেকে ঠিক শান্ত নেটওয়ার্কের মতো দেখায়। পার্থক্য কেবল পাইপলাইনের ভিতরেই দেখা যায়।
শান্ত সপ্তাহে ভরসা করার আগে সংগ্রহ পথ যাচাই করুন
একটি নিয়মও সুর করতে যাওয়ার আগে পাইপলাইনকে শুরু থেকে শেষ পর্যন্ত প্রমাণ করুন। নিচের কমান্ড নিশ্চিত করে যে প্রমাণীকরণ ও হিসাব শ্রবণকারী সক্রিয়, যে পরীক্ষার ক্রেডেনশিয়াল সঠিক কারণে প্রত্যাখ্যাত হয়, এবং যে সেশন ঘটনা এখনো আসছে:
ss -uanp | grep -E ':(1812|1813)\b' radtest alice 'not-the-password' 127.0.0.1 0 testing123 journalctl -u openvpn-server@server --since '-30 min' | grep -c 'Peer Connection Initiated' timedatectl | grep -E 'System clock|synchronized'
পরীক্ষা থেকে Access-Reject প্রমাণ করে অনুরোধ সার্ভারে পৌঁছেছে এবং ভাগ করা গোপনটি মিলেছে, আর এই অংশটিই মানুষ এড়িয়ে যায়। বিপরীতে টাইমআউট গোপন, শ্রবণকারী বা তার সামনের ফিল্টারের দিকে ইঙ্গিত করে, এবং তা ঠিক না হওয়া পর্যন্ত নিচের প্রতিটি সতর্কতা যাচাইঅযোগ্য।
ঘড়ির অবস্থা গুরুত্বপূর্ণ কারণ সম্পর্ক-জানালা সম্মতি ধরে নেয়। কয়েক মিনিট বিচ্যুত গেটওয়ে অন্যথায় পরিষ্কার সেশন জোড়কে অসম্ভব দেখায়, আর পর্যালোচকেরা জানালা প্রশস্ত করে ক্ষতিপূরণ দেয় যতক্ষণ না জোড়টি পার্থক্য করা বন্ধ করে। নিয়ম সম্পাদনার আগে ব্যবধানটি দেখুন।
তারপর একটি নিয়ম নিরীহ পরীক্ষায় চালান: অপ্রত্যাশিত ঠিকানা থেকে লগইন তৈরি করুন, সতর্কতা জ্বলে কি না নিশ্চিত করুন, প্রতিক্রিয়াকারী সেশন ও তার সম্পদ ঘটনা টেনে আনতে পারে কি না নিশ্চিত করুন, এবং টিকিটে সেশন শনাক্তকারী আছে কি না নিশ্চিত করুন। সুসংগত গল্প তৈরি করা নিয়ম পাস করে। সারি সারি লগ লাইন তৈরি করা নিয়ম এখনো ড্যাশবোর্ড। ফলাফল নিয়মের পাশে লিখে রাখুন যাতে পরবর্তী পর্যালোচনা অনুমান নয়, প্রমাণ থেকে শুরু হয়।