HTTPS এবং SSL/TLS কনফিগারেশন

Microsoft Technologies - ডট নেট কোর (Dot.Net Core) ASP.Net Core Security Best Practices |
199
199

HTTPS (Hypertext Transfer Protocol Secure) হচ্ছে একটি নিরাপদ যোগাযোগ প্রোটোকল, যা SSL/TLS (Secure Sockets Layer / Transport Layer Security) এর মাধ্যমে ওয়েব সার্ভার এবং ক্লায়েন্টের মধ্যে তথ্য এনক্রিপ্ট করে। এটি ব্যবহারকারীর ডেটাকে সুরক্ষিত রাখে এবং ওয়েব অ্যাপ্লিকেশন বা ওয়েবসাইটে যোগাযোগের সময় কোনও তৃতীয় পক্ষের দ্বারা তথ্য চুরির সম্ভাবনা কমায়।

SSL/TLS কী?


SSL (Secure Sockets Layer) এবং TLS (Transport Layer Security) হলো প্রোটোকল যা ইন্টারনেটের মাধ্যমে তথ্য নিরাপদে প্রেরণের জন্য ব্যবহৃত হয়। SSL প্রথমদিকে তৈরি হয়েছিল, তবে বর্তমানে TLS এর উন্নত সংস্করণ ব্যবহার করা হয়, যেটি SSL এর চেয়ে আরও নিরাপদ এবং কার্যকর।

SSL/TLS প্রধানত দুটি কাজ করে:

  1. Data Encryption: ব্যবহারকারীর এবং সার্ভারের মধ্যে প্রেরিত ডেটা এনক্রিপ্ট করা হয়, যাতে তৃতীয় পক্ষ তা পড়ে বা চুরি করতে না পারে।
  2. Authentication: সার্ভার এবং ক্লায়েন্ট উভয়ের পরিচয় যাচাই করা হয়, যাতে ব্যবহারকারী নিশ্চিত হতে পারে যে তারা সঠিক সার্ভারের সাথে যোগাযোগ করছে।

HTTPS কনফিগারেশন

HTTPS ব্যবহারের জন্য প্রথমে আপনার ওয়েব অ্যাপ্লিকেশনকে SSL/TLS সার্টিফিকেট ইনস্টল করতে হবে এবং সার্ভারে HTTPS সক্ষম করতে হবে। ASP.Net Core অ্যাপ্লিকেশনে HTTPS কনফিগারেশন করার প্রক্রিয়া নিচে দেওয়া হলো:


1. SSL/TLS সার্টিফিকেট কিনুন বা তৈরি করুন

একটি বৈধ SSL/TLS সার্টিফিকেট সার্ভারে ইনস্টল করা প্রয়োজন। এটি পাবলিক সার্টিফিকেট অথরিটি (CA) থেকে কিনতে পারেন অথবা আপনি নিজের সার্টিফিকেট (Self-signed Certificate) তৈরি করতে পারেন।

  • Production environment-এর জন্য CA থেকে সার্টিফিকেট কেনা সবচেয়ে ভালো।
  • Development environment-এর জন্য Self-signed Certificate তৈরি করা যায়, তবে এটি প্রোডাকশন ব্যবহারের জন্য নিরাপদ নয়।

2. ASP.Net Core অ্যাপ্লিকেশনে HTTPS সক্ষম করা

ASP.Net Core অ্যাপ্লিকেশনে HTTPS সক্ষম করতে, আপনাকে কিছু কনফিগারেশন করতে হবে। এটি করতে Startup.cs ফাইলে কিছু পরিবর্তন করতে হবে।

ConfigureServices মেথডে HTTPS সাপোর্ট যোগ করা:

public void ConfigureServices(IServiceCollection services)
{
    services.AddHttpsRedirection(options =>
    {
        options.HttpsPort = 443;  // HTTPS Port 443
    });
}

Configure মেথডে HTTPS রিডিরেকশন কনফিগারেশন যোগ করা:

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }
    else
    {
        app.UseExceptionHandler("/Home/Error");
        app.UseHsts();  // HTTP Strict Transport Security
    }

    app.UseHttpsRedirection();  // HTTP থেকে HTTPS তে রিডিরেকশন
    app.UseStaticFiles();
    app.UseRouting();
}

UseHttpsRedirection মেথডটি HTTP রিকোয়েস্টকে HTTPS রিকোয়েস্টে রিডিরেক্ট করে।


3. Self-Signed SSL/TLS সার্টিফিকেট তৈরি করা

Self-Signed সার্টিফিকেট তৈরি করতে dotnet dev-certs টুল ব্যবহার করা যেতে পারে:

dotnet dev-certs https --trust

এই কমান্ডটি একটি self-signed সার্টিফিকেট তৈরি করবে এবং তা আপনার ডেভেলপমেন্ট পরিবেশে ট্রাস্টেড হিসেবে মার্ক করবে। এই সার্টিফিকেটটি শুধুমাত্র ডেভেলপমেন্ট এনভায়রনমেন্টের জন্য উপযোগী।


4. Production সার্ভারে SSL/TLS সার্টিফিকেট কনফিগার করা

প্রোডাকশন পরিবেশে, আপনাকে একটি SSL/TLS সার্টিফিকেট ইন্সটল করতে হবে। এটি করতে হলে আপনার সার্ভার বা হোস্টিং প্রদানকারী থেকে সার্টিফিকেট কিনে, সার্ভারে ইন্সটল করুন।

  • IIS বা Apache এর মত সার্ভারে SSL সার্টিফিকেট সেটআপ করতে হয়।
  • সার্ভারের কনফিগারেশন অনুযায়ী, সার্টিফিকেট ইনস্টলেশন এবং কনফিগারেশন করুন।
  • তারপর, সার্ভারের https:// পোর্ট (পোর্ট 443) ওপেন করে HTTPS চালু করুন।

SSL/TLS কনফিগারেশন বেস্ট প্র্যাকটিস


1. TLS 1.2 বা তার পরবর্তী সংস্করণ ব্যবহার করুন

SSL এর পুরনো সংস্করণগুলি নিরাপদ নয়। তাই আপনি TLS 1.2 বা তার পরবর্তী সংস্করণ ব্যবহার করুন। TLS 1.0 বা 1.1 ব্যবহার থেকে বিরত থাকুন।


2. Strong Cipher Suites ব্যবহার করুন

SSL/TLS সার্টিফিকেটের সাথে ব্যবহৃত cipher suites নিরাপত্তার জন্য অত্যন্ত গুরুত্বপূর্ণ। শক্তিশালী সাইফার স্যুইট যেমন AES এবং ECDHE ব্যবহার করুন এবং দুর্বল সাইফার যেমন RC4, DES, বা 3DES থেকে বিরত থাকুন।


3. HSTS (HTTP Strict Transport Security) ব্যবহার করুন

HSTS হল একটি নিরাপত্তা ফিচার যা নিশ্চিত করে যে ব্রাউজার শুধুমাত্র HTTPS কানেকশন গ্রহণ করবে, HTTP কানেকশন নয়। এটি হোস্টেড অ্যাপ্লিকেশনগুলোকে man-in-the-middle আক্রমণ থেকে সুরক্ষিত রাখে।

app.UseHsts();  // HSTS কনফিগারেশন

4. SSL/TLS সার্টিফিকেটের মেয়াদ শেষ না হওয়া নিশ্চিত করুন

SSL/TLS সার্টিফিকেটের মেয়াদ শেষ হওয়া আপনার ওয়েবসাইটের নিরাপত্তা হুমকি হতে পারে। সার্টিফিকেটটি প্রতি বছর বা নির্দিষ্ট মেয়াদে রিনিউ করুন এবং আপনার অ্যাপ্লিকেশনে সঠিকভাবে কনফিগার করা আছে কিনা তা পরীক্ষা করুন।


5. Redirect HTTP Requests to HTTPS

HTTP থেকে HTTPS তে রিডিরেকশন নিশ্চিত করুন। এর জন্য HTTPS Redirection Middleware ব্যবহার করুন যাতে আপনার অ্যাপ্লিকেশনটি স্বয়ংক্রিয়ভাবে HTTP রিকোয়েস্টকে HTTPS তে রিডিরেক্ট করে।

app.UseHttpsRedirection();

সারাংশ


HTTPS এবং SSL/TLS কনফিগারেশন একটি ওয়েব অ্যাপ্লিকেশন বা সাইটের নিরাপত্তা নিশ্চিত করার জন্য অপরিহার্য। SSL/TLS সার্টিফিকেট ইনস্টল করা, HSTS এবং সাইফার স্যুইটগুলির মাধ্যমে সংযোগের সুরক্ষা নিশ্চিত করা, এবং HTTP রিকোয়েস্টগুলোকে HTTPS তে রিডিরেক্ট করা এই কনফিগারেশনের গুরুত্বপূর্ণ অংশ। প্রোডাকশনে একাধিক নিরাপত্তা পদ্ধতি এবং বেস্ট প্র্যাকটিস অনুসরণ করে আপনি একটি শক্তিশালী ও নিরাপদ ওয়েব অ্যাপ্লিকেশন তৈরি করতে পারবেন।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion