একটি শক্তিশালী HSTS নীতি ব্যবহার করুন, একটি শক্তিশালী HSTS নীতি ব্যবহার করুন

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

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

কিভাবে বাতিঘর অডিট ব্যর্থ হয়

Lighthouse অডিট সতর্কতা যে কোনো HSTS প্রতিক্রিয়া শিরোনাম পাওয়া যায়নি।
Lighthouse রিপোর্ট সতর্ক করে যে কোন HSTS প্রতিক্রিয়া শিরোনাম পাওয়া যায়নি।

অডিট HSTS হেডারের সাথে নিম্নলিখিত সমস্যাগুলিকে পতাকাঙ্কিত করবে:

  • কোন HSTS শিরোনাম সব পাওয়া না থাকলে.
  • যদি প্রস্তাবিত নির্দেশাবলীর একটি অনুপস্থিত থাকে ( max-age , includedSubDomains , preload )
  • max-age নির্দেশের সময়কাল যদি এক বছরের কম হয় (31536000 সেকেন্ড)।
  • হেডার পার্স করার সময় যদি একটি সিনট্যাক্স ত্রুটি থাকে, যেমন একটি অজানা নির্দেশ।

একটি শক্তিশালী 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 নির্দেশিকা সেট করা এবং এইচএসটিএস প্রিলোড পরিষেবাতে ডোমেন জমা দেওয়া ডোমেনটিকে ব্রাউজার বাইনারিগুলিতে কম্পাইল করবে যা প্রিলোড করা এইচএসটিএস তালিকা ব্যবহার করে (শুধু Google Chrome নয়)।

HSTS হেডার রোল আউট করার সময় কিছু ঝুঁকি আছে। যে কোনো বৈশিষ্ট্যের জন্য একটি এনক্রিপ্ট করা HTTP সংযোগের প্রয়োজন max-age নির্দেশে নির্ধারিত সময়ের জন্য কার্যকরভাবে ভাঙা হবে। preload নির্দেশিকা প্রয়োগ করা হলে সম্ভাব্য আরও দীর্ঘ।

রোলআউটের সাথে যুক্ত ঝুঁকি কমাতে, একটি পর্যায়ের পদ্ধতির সুপারিশ করা হয়:

  1. একটি ছোট max-age দিয়ে শুরু করে এবং শুধুমাত্র includeSubDomains অন্তর্ভুক্ত করুন ( preload নয়):

    max-age=3600; includeSubDomains
    
  2. কিছু কুলডাউন পিরিয়ডের পরে (যেমন, এক সপ্তাহ) কোনো রিপোর্ট করা সমস্যা ছাড়াই, max-age বাড়ান, উদাহরণস্বরূপ:

    max-age=604800; includeSubDomains
    
  3. যদি এই প্রাথমিক পর্যায়টি একটি বর্ধিত সময়ের জন্য সফল হয় (যেমন, তিন মাস), ওয়েবসাইট এবং এর সাবডোমেনগুলিকে HSTS প্রিলোড তালিকায় যুক্ত করা উচিত এবং preload নির্দেশিকা যোগ করা উচিত।

    max-age=63072000; includeSubDomains; preload