HTTPS এবং TLS আসলে কীভাবে কাজ করে: একটি ব্যবহারিক গাইড

Security2026-11-10TryQuickToolBox

আপনি সম্ভবত আপনার ব্রাউজারে তালা আইকনটি দেখেছেন এবং জানেন যে এর মানে "সুরক্ষিত"। কিন্তু আপনি যখন একটি HTTPS ওয়েবসাইটে যান তখন আসলে কী ঘটে? আপনার ব্রাউজার কীভাবে জানে যে এটি আসল সার্ভারের সাথে কথা বলছে, কোনো প্রতারক নয়? এবং কেন TLS কখনও কখনও কাজ ধীর করে দেয়? এই গাইডটি HTTPS এবং TLS-কে ব্যবহারিক ভাষায় ব্যাখ্যা করে, যাতে আপনি আত্মবিশ্বাসের সাথে আপনার ওয়েব অ্যাপ্লিকেশন কনফিগার, ডিবাগ এবং সুরক্ষিত করতে পারেন।

HTTPS আসলে কী

HTTPS হলো সহজভাবে HTTP যা TLS (ট্রান্সপোর্ট লেয়ার সিকিউরিটি)-এর উপরে স্তরিত। TLS তিনটি গ্যারান্টি প্রদান করে:

TLS ছাড়া, HTTP সবকিছু প্লেইনটেক্সটে পাঠায়: পাসওয়ার্ড, কুকি এবং ব্যক্তিগত ডেটা নেটওয়ার্ক পথে যে কেউ দেখতে পারে। HTTPS এটি ঠিক করে।

সহজ বাংলায় TLS হ্যান্ডশেক

কোনো এনক্রিপ্টেড ডেটা প্রবাহিত হওয়ার আগে, ক্লায়েন্ট এবং সার্ভার এনক্রিপশন কী-তে সম্মত হতে এবং পরিচয় যাচাই করতে একটি হ্যান্ডশেক সম্পাদন করে। একটি সাধারণ TLS 1.3 হ্যান্ডশেকে (আধুনিক মান) যা ঘটে তা এখানে:

  1. ক্লায়েন্ট হ্যালো: ব্রাউজার সমর্থিত সাইফার স্যুট, TLS সংস্করণ এবং একটি র‍্যান্ডম মানের তালিকা পাঠায়।
  2. সার্ভার হ্যালো: সার্ভার একটি সাইফার স্যুট বেছে নেয়, নিজের র‍্যান্ডম মান পাঠায় এবং তার সার্টিফিকেট চেইন সরবরাহ করে।
  3. কী এক্সচেঞ্জ: উভয় পক্ষ একটি কী এক্সচেঞ্জ অ্যালগরিদম (যেমন ECDHE) ব্যবহার করে একটি শেয়ার্ড সিক্রেট তৈরি করে যা কখনো সরাসরি প্রেরণ করা হয় না।
  4. সার্টিফিকেট যাচাই: ক্লায়েন্ট বিশ্বস্ত রুট CA-এর বিরুদ্ধে সার্ভারের সার্টিফিকেট পরীক্ষা করে, ডোমেইন নাম যাচাই করে এবং মেয়াদ শেষের তারিখ পরীক্ষা করে।
  5. সমাপ্ত: উভয় পক্ষ হ্যান্ডশেকের অখণ্ডতা নিশ্চিত করতে একটি MAC পাঠায় এবং এনক্রিপ্টেড অ্যাপ্লিকেশন ডেটা শুরু হয়।

TLS 1.3 এটি একক রাউন্ড ট্রিপ (1-RTT) এ হ্রাস করে এবং এমনকি পুনরায় ভিজিটকারীদের জন্য 0-RTT পুনরায় শুরু সমর্থন করে, যা TLS 1.2 এর তুলনায় লেটেন্সি উল্লেখযোগ্যভাবে হ্রাস করে।

সার্টিফিকেট: বিশ্বাসের অ্যাঙ্কর

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

সাধারণ সার্টিফিকেট প্রকার:

সার্টিফিকেটের মেয়াদ শেষ হয়, তাই অটোমেশন অপরিহার্য। Certbot বা ACME ক্লায়েন্টের মতো টুলগুলি আপনার রিভার্স প্রক্সির সাথে একীভূত হয়ে স্বয়ংক্রিয়ভাবে নবায়ন পরিচালনা করে।

আপনার সার্ভারে HTTPS কনফিগার করা

এখানে একটি ন্যূনতম Nginx কনফিগারেশন যা আধুনিক TLS সেটিংস সহ HTTPS সক্রিয় করে:

server {
    listen 443 ssl http2;
    server_name example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256';
    ssl_prefer_server_ciphers off;

    # HSTS (পরীক্ষার পরে সক্রিয় করুন)
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

    location / {
        proxy_pass http://localhost:3000;
    }
}

server {
    listen 80;
    server_name example.com;
    return 301 https://$host$request_uri;
}

মূল বিষয়: শুধুমাত্র TLS 1.2 এবং 1.3 ব্যবহার করুন, ফরওয়ার্ড সিক্রেসির জন্য ECDHE সাইফার স্যুট পছন্দ করুন এবং HTTP-কে HTTPS-এ রিডাইরেক্ট করুন। HSTS ব্রাউজারকে বলে যে আপনার ডোমেইনের জন্য সর্বদা HTTPS ব্যবহার করতে, তবে দীর্ঘ max-age সহ এটি সক্রিয় করার আগে সাবধানে পরীক্ষা করুন।

সাধারণ ভুল এবং কীভাবে এড়াবেন

TLS 1.2 বনাম TLS 1.3: কী পরিবর্তন হয়েছে

বৈশিষ্ট্যTLS 1.2TLS 1.3
হ্যান্ডশেক রাউন্ড ট্রিপ2-RTT1-RTT (পুনরায় শুরু সহ 0-RTT)
কী এক্সচেঞ্জRSA বা ECDHEশুধুমাত্র ECDHE (ফরওয়ার্ড সিক্রেসি বাধ্যতামূলক)
সাইফার স্যুটঅনেক, দুর্বলগুলি সহসীমিত সেট, সব AEAD
0-RTT ডেটাসমর্থিত নয়সমর্থিত (রিপ্লে ঝুঁকি সহ)

TLS 1.3 দ্রুততর এবং সহজ, লিগ্যাসি অ্যালগরিদম সরিয়ে দেয়। বেশিরভাগ আধুনিক ক্লায়েন্ট এটি সমর্থন করে, তবে পুরানো ডিভাইসের জন্য TLS 1.2 রাখুন।

TLS সমস্যা ডিবাগ করা

যখন HTTPS ব্যর্থ হয়, এগুলি পরীক্ষা করুন:

আপনি যদি নিয়মিত Nginx লগ নিয়ে কাজ করেন, Nginx লগ বিশ্লেষক আপনাকে TLS হ্যান্ডশেক ব্যর্থতা এবং অন্যান্য সমস্যা দ্রুত সনাক্ত করতে সাহায্য করতে পারে।

সাধারণ জিজ্ঞাসা

HTTPS এবং TLS এর মধ্যে পার্থক্য কী?

HTTPS হলো TLS-এর উপরে HTTP। TLS হলো ক্রিপ্টোগ্রাফিক প্রোটোকল যা এনক্রিপশন, অখণ্ডতা এবং প্রমাণীকরণ প্রদান করে। HTTPS হলো HTTP-এর সুরক্ষিত সংস্করণ যা TLS ব্যবহার করে।

আমার কি অভ্যন্তরীণ পরিষেবাগুলির জন্য সার্টিফিকেট প্রয়োজন?

হ্যাঁ, উৎপাদন অভ্যন্তরীণ পরিষেবাগুলির জন্য, আপনার নিজের CA বা একটি পাবলিক CA থেকে সার্টিফিকেট ব্যবহার করুন। স্ব-স্বাক্ষরিত সার্টিফিকেট বিশ্বাসের সমস্যা সৃষ্টি করে; বিকাশের জন্য একটি প্রাইভেট PKI বা mkcert-এর মতো টুল ব্যবহার করার কথা বিবেচনা করুন।

সার্টিফিকেট কত ঘন ঘন নবায়ন করা উচিত?

আধুনিক সেরা অনুশীলন হলো 90-দিনের সার্টিফিকেট সহ স্বয়ংক্রিয় নবায়ন, যেমন Let's Encrypt অফার করে। সংক্ষিপ্ত জীবনকাল একটি কী compromised হলে ঝুঁকি কমায়।

আপনার সাইট সুরক্ষিত করতে প্রস্তুত? একটি SSL চেকার দিয়ে আপনার বর্তমান TLS কনফিগারেশন পরীক্ষা করে শুরু করুন, তারপর উপরের Nginx সেটিংস প্রয়োগ করুন। ওয়েব সুরক্ষায় আরও গভীরে যেতে, OWASP টপ 10 এবং XSS প্রতিরোধের আমাদের অন্যান্য গাইডগুলি দেখুন।