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

অডিট HSTS হেডারের সাথে নিম্নলিখিত সমস্যাগুলি চিহ্নিত করে:
- যদি কোনও HSTS হেডার পাওয়া না যায়।
- যদি প্রস্তাবিত নির্দেশাবলীর একটি অনুপস্থিত থাকে (
max-age,includeSubDomains,preload) - যদি
max-ageনির্দেশিকার সময়কাল এক বছরের কম হয় (৩১৫৩৬০০০ সেকেন্ড)। - যদি হেডার পার্স করার সময় কোন সিনট্যাক্স ত্রুটি হয়, যেমন কোন অজানা নির্দেশিকা।
একটি শক্তিশালী HSTS নীতি কনফিগার করুন
সর্বোত্তম HSTS হেডার কনফিগারেশনটি নিম্নরূপ দেখাচ্ছে:
Strict-Transport-Security: max-age=63072000; includeSubDomains; preload
-
max-ageনির্দেশিকাটি ব্যবহারকারীর ব্রাউজারকে কেবল TLS ব্যবহার করে (সেকেন্ডে) ওয়েবসাইট পরিদর্শন করতে বাধ্য করার সময়কাল নির্দিষ্ট করে। একবার সময় শেষ হয়ে গেলে, ওয়েবসাইট দ্বারা সরবরাহিত কোনও HSTS হেডার (অথবা HTTP থেকে HTTPS এ অস্থায়ী পুনঃনির্দেশ) না থাকলে ব্যবহারকারীরা আবার প্লেইন HTTP দিয়ে সাইটে পৌঁছাতে পারবেন। -
includeSubDomainsনির্দেশিকা সেট করলে, পেজ URL-এর যেকোনো সাবডোমেনে হেডারটি প্রাথমিকভাবে হেডার পাঠানোর ক্ষেত্রে প্রয়োগ করা হয়। উদাহরণস্বরূপ,google.comদ্বারা প্রেরিত একটি HSTS হেডারেincludeSubDomainsনির্দেশিকা অন্তর্ভুক্ত থাকলেmail.google.comএ HSTS হেডারটি প্রয়োগ করা হবে। -
preloadনির্দেশিকা সেট করা এবং ডোমেনটি HSTS প্রিলোড পরিষেবাতে জমা দেওয়ার ফলে ডোমেনটি এমন ব্রাউজার বাইনারিগুলিতে সংকলিত হবে যা প্রিলোডেড HSTS তালিকা ব্যবহার করে। এটি গুগল ক্রোমের চেয়েও বেশি কিছুর ক্ষেত্রে সত্য।
HSTS হেডার চালু করার সময় কিছু ঝুঁকি থাকে। যেকোনো বৈশিষ্ট্যের জন্য এনক্রিপ্ট না করা HTTP সংযোগের প্রয়োজন হলে, max-age নির্দেশিকায় নির্ধারিত সময়ের জন্য তা কার্যকরভাবে ভেঙে যাবে। preload নির্দেশিকা প্রয়োগ করা হলে আরও দীর্ঘতর হওয়ার সম্ভাবনা রয়েছে।
রোলআউটের সাথে সম্পর্কিত ঝুঁকি কমাতে, একটি পর্যায়ক্রমে পদ্ধতির সুপারিশ করা হচ্ছে:
একটি ছোট
max-ageদিয়ে শুরু করুন এবং শুধুমাত্রincludeSubDomainsযোগ করুন (preloadনেই):max-age=3600; includeSubDomainsকোনও সমস্যা রিপোর্ট না করে কুলডাউন পিরিয়ড (যেমন এক সপ্তাহ) পরে,
max-ageবাড়ান। উদাহরণস্বরূপ:max-age=604800; includeSubDomainsযদি এই প্রাথমিক পর্যায়টি দীর্ঘ সময়ের জন্য (যেমন তিন মাস) সফল হয়, তাহলে ওয়েবসাইট এবং এর সাবডোমেনগুলি HSTS প্রিলোড তালিকায় যুক্ত করা উচিত এবং
preloadনির্দেশিকা যুক্ত করা উচিত।max-age=63072000; includeSubDomains; preload