দুর্ভাগ্যক্রমে, এই সমস্যার একমাত্র সাধারণ সমাধান হ'ল আপনার ব্যবহারকারীদের https://
একমাত্র প্রদান এবং নিশ্চিত করা যে তারা কেবল এটি ব্যবহার করার প্রত্যাশা করছেন। তারা প্রত্যাশা মতো, এসএসএল / টিএলএস ব্যবহার করছে কিনা তা যাচাই করা শেষ পর্যন্ত ব্যবহারকারীর দায়িত্ব।
ওয়েবসাইট কেবল এসএসএল / টিএলএস সংযোগগুলি গ্রহণ করে এমনকি অন্যান্য সমাধানগুলি মধ্য-মধ্যবর্তী আক্রমণগুলির পক্ষে ঝুঁকির মধ্যে রয়েছে। আক্রমণকারীরা ট্র্যাফিকটিকে http://example.com
(ব্যবহারকারী দ্বারা অনুরোধ হিসাবে, এমনকি যদি example.com
সেই বন্দরে শোনেন না) বাধা দিতে পারে এবং এটির সাথে তাদের নিজস্ব সংযোগ তৈরি করে https://example.com
, এটি প্রকৃতপক্ষে ব্যবহারকারীর কাছে ফিরিয়ে আনতে পারে।
এর কারণে স্বয়ংক্রিয় পুনঃনির্দেশগুলির বিরুদ্ধে ওডব্লিউএসপি বিধি ছিল । এটি মুছে ফেলা হয়েছে, সম্ভবত কারণ পুনঃনির্দেশগুলি ঝুঁকি হ্রাস করার কোনও খারাপ উপায় নয় (বিশেষত প্যাসিভ ই্যাসড্রোপার্সের বিরুদ্ধে), তবে মৌলিক সমস্যাটি সমাধান করবেন না।
এইচটিটিপিএস সাইটে ব্যবহারকারীকে গাইড করতে আপনি বিভিন্ন কৌশল ব্যবহার করতে পারেন এবং সেগুলি ব্যবহার করা কোনও খারাপ ধারণা নয় (যদিও এটি তাদের সক্রিয় এমআইটিএম আক্রমণকারীদের বিরুদ্ধে রক্ষা করবে না)।
প্রথমত, আপনার যদি ওয়েবসার্ভারে প্লেইন এইচটিটিপি-তে পরিবেশন করা উচিত এমন কিছু না থাকে তবে 80 বন্দরটি বন্ধ করুন (যেমন Listen 80
অ্যাপাচি এইচটিপিডি এর কনফিগারেশনে সরান )। ব্যবহারকারীদের https://
সর্বদা ব্যবহার করতে হবে, যা অসুবিধাজনক হতে পারে।
দ্বিতীয়ত, কোনও নির্দিষ্ট পাথ (হয় Location
বা Directory
) এর জন্য আপনার অ্যাপাচি এইচটিপিডি কনফিগারেশন বিভাগে , SSLRequireSSL
নির্দেশটি ব্যবহার করুন : এর জন্য এসএসএল / টিএলএস ব্যবহারের প্রয়োজন হবে (এমনকি আপনি যদি এটি কোনও বিকল্প পোর্টে কনফিগার করেও থাকেন)। অন্যান্য ওয়েব সার্ভারগুলিতে সম্ভবত একই নির্দেশনা রয়েছে।
তৃতীয়ত, আপনি কোনও mod_rewrite
কোড ব্যবহার করে বা আপনার কোডের মধ্যে (যদি এটি কোনও অ্যাপ্লিকেশন থাকে) ব্যবহার করতে পারেন তবে আপনাকে পুনর্নির্দেশ ব্যবহার করতে পারেন । ভালো কিছু একটি নির্দিষ্ট অবস্থানের জন্য কি করা উচিত, ( দেখুন HTTPS
বিশেষ পরিবর্তনশীল ; আপনি 302 খুব ব্যবহার করতে পারেন, কিন্তু 301 উত্তম যদি এই আরো স্থায়ী হতে হয়):
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(samples/.*)$ https://example.com/$1 [R=301,L]
আরও গুরুত্বপূর্ণ, নিশ্চিত করুন যে সুরক্ষিত বিভাগের সমস্ত লিঙ্ক ব্যবহার করেছে https://
। আপনার জন্য কাজটি করার জন্য কখনই স্বয়ংক্রিয় পুনঃনির্দেশের উপর নির্ভর করবেন না। এই কারণে, আমি উন্নয়নের পর্যায়ে এটি ব্যবহার না করার পরামর্শ দেব ।
যাইহোক, আমি লক্ষ্য করেছি যে আমি এখনও ওয়েবসাইটটি অ-সুরক্ষিতভাবে অ্যাক্সেস করতে পারি, অর্থাৎ। http
পরিবর্তে ব্যবহার করে https
।
আপনি উভয় জন্য একই কনফিগারেশন ব্যবহার করছেন এই শোনাচ্ছে http
এবং https
। আপনি যদি অ্যাপাচি এইচটিপিডি ব্যবহার করে থাকেন তবে আমি কনফিগারেশনটিকে দুটি স্বতন্ত্র ও দুটিতে বিভক্ত করার পরামর্শ দেব VirtualHost
: একটি পোর্ট ৮০ এর জন্য এবং একটি পোর্ট ৪৪৩ এর জন্য। তাদের ঠিক একই কনফিগারেশন থাকতে হবে না: কেবল এইচটিটিপিএসের জন্য যা রাখবেন না একেবারে HTTP ভার্চুয়াল হোস্টে।
উপরে উল্লিখিত সমস্যাগুলি প্রশমিত করার একটি উপায় হ'ল এইচটিটিপি স্ট্রাইক ট্রান্সপোর্ট সিকিউরিটি ব্যবহার করা , এটি সমর্থনকারী ব্রাউজারগুলির জন্য (এটি আমি যতটা জানি পুরো হোস্টের জন্য প্রযোজ্য)। https://
পুনঃনির্দেশ ছাড়া ব্যবহার না করা হলে খুব প্রথম সংযোগটি এখনও উন্মোচিত হতে পারে তবে যে কোনও উপায়ে প্রত্যাশিত সাইটের একটি পূর্ব-লোড তালিকা থাকতে পারেhttps://
(এবং এইচএসটিএসের জন্য সক্ষম))