একা ভার্চুয়ালহস্ট (পোডল) এর জন্য অ্যাপাচিতে কোনও এসএসএল প্রোটোকল সেট করা সম্ভব?


13

আমি পোডলের দুর্বলতার জন্য একটি প্যাচ পরীক্ষা করার চেষ্টা করছি যা আমার ওয়েব সার্ভারে SSLv3 অক্ষম করার সাথে জড়িত। প্রথমে একটি উত্পাদনহীন পরিবেশে এটি পরীক্ষা করার জন্য, আমি আলাদা পরীক্ষার সার্ভারের জন্য ভার্চুয়ালহস্টে এসএসএলপ্রোটোকল সেট করছি। আমার কনফিগারেশনটি দেখতে এরকম কিছু দেখাচ্ছে:

<VirtualHost *:443>
    SSLEngine On
    SSLProtocol All -SSLv2 -SSLv3
    ServerName test.mysite.com
    # bunch of other stuff omitted
</VirtualHost>

তবে অ্যাপাচি পুনরায় চালু করার পরেও আমার পরীক্ষার সাইটটি এখনও দুর্বল বলে দাবি করা হচ্ছে। এটি কি কাজ করবে? আমি ভাবছি যে আমাকে এটি বিশ্বব্যাপী এসএসএল কনফিগারেশনে সেট করতে হবে বা সেটিকে সেটিংস না নেওয়ার এবং / অথবা কাজ না করার কারণে সূক্ষ্ম কিছু আছে কিনা।

উত্তর:


16

আপনি কনফিগারেশন ফাইলের প্রথম ভার্চুয়ালহোস্টের জন্য এসএসএল প্রোটোকল সেট করতে পারেন। পরবর্তী সমস্ত ভার্চুয়ালহোস্ট এন্ট্রি প্রথম এন্ট্রি থেকে সেটিংটি উত্তরাধিকার সূত্রে গ্রহণ করবে এবং ওপেনএসএসএল বাগের কারণে নিঃশব্দে তাদের নিজস্ব সেটিং উপেক্ষা করবে ।

মোড_এসএসএল সম্পর্কিত একটি ত্রুটি প্রতিবেদন রয়েছে তবে বাগ রিপোর্টে বর্ণিত হিসাবে ওপেনএসএসএলে সমস্যাটি সমাধান করা দরকার (শংসাপত্রটি উত্তরাধিকার সূত্রে প্রাপ্ত তবে প্রোটোকল নয়)।

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

সংক্ষেপে, আপনার প্রতিটি ভার্চুয়াল হোস্টের জন্য কাস্টম সিফার স্যুট এবং শংসাপত্রগুলি নির্দিষ্ট করতে সক্ষম হওয়া উচিত, তবে বাগটি স্থির না হওয়া পর্যন্ত প্রতিটি ভার্চুয়াল হোস্টের জন্য কাস্টম প্রোটোকলের সাথে সঠিক আচরণের আশা করবেন না।

আমি অ্যাপাচি ২.৪ এবং ওপেনএসএসএল ১.০.১ কে মডেল নিয়ে এই সমস্যার মুখোমুখি হয়েছি এবং আমি আশা করি যে অ্যাপাচি ২.২ একই সমস্যাগুলির অধীন হতে পারে।

আপডেট (অক্টোবর 2016): ওপেনএসএসএল বাগটি 13 ই অক্টোবর, 2016 এ সমাধান হিসাবে চিহ্নিত করা হয়েছিল। তবে এটি উন্মুক্ত ইস্যুগুলির ব্যাপক বন্ধের অংশ ছিল এবং যদিও একটি 'আংশিক ফিক্স' সরবরাহ করা হয়েছিল, তবুও সমস্যাটি কখনই পুরোপুরি সমাধান করা হয়নি।

আপডেট (এপ্রিল 2018): পুনরায় জমা দেওয়া ওপেনএসএসএল বাগে এখন একটি প্যাচ উপলব্ধ রয়েছে (9 এপ্রিল, 2018 পর্যন্ত)। এই প্যাচটি একাধিক এসএনআই ভার্চুয়াল হোস্টগুলির সাথে কনফিগার করা অ্যাপাচি উদাহরণগুলির আচরণ পরিবর্তন করবে:

ভোস্ট এসএসএলপ্রোটোকল অনুসারে সংযোগগুলি প্রত্যাখ্যান করুন

এটি 2.4.27 দিয়ে এবং সেই সংস্করণটি সহ উত্পাদনে উন্নত ও পরীক্ষিত হয়েছিল। প্যাচটি 2.4.33 এর জন্য সংশোধন করা হয়েছিল এবং হালকাভাবে পরীক্ষা করা হয়েছিল।

এটি ভার্চুয়াল হোস্টের জন্য এসএনআই-এর ভিত্তিতে মিলে যাওয়া এসএসপিপ্রোটোকলের বিপরীতে সংযোগের সংস্করণটি পরীক্ষা করে। যেহেতু সংযোগটি প্রথমে বন্দরের জন্য ডিফল্ট হোস্টের জন্য কনফিগার করা এসএসএল প্রোটোকল দিয়ে তৈরি করা হয়েছিল, তাই ডিফল্ট হোস্টটিতে অবশ্যই সমস্ত প্রোটোকল অন্তর্ভুক্ত থাকতে হবে যা কোনও ভার্চুয়াল হোস্ট দ্বারা সমর্থিত হবে।

এই প্যাচটি init_vhost ফাংশনে APR_EMISMATCH এর অতিরিক্ত রিটার্নের স্থিতি যুক্ত করে যাতে ওপেনএসএসএল-এর সাথে নিবন্ধিত এসএসএল_ক্যালব্যাক_সভারননাম ইন্ডিকেশন কলব্যাক মারাত্মক সতর্কতা SSL_AD_PROTOCOL_VERSION ফিরে আসতে পারে। এটি ক্লায়েন্টহেলোতে কোনও এসএসএলপ্রোটোকল নির্দিষ্ট করা আছে যা প্রশ্নের সংস্করণটি অন্তর্ভুক্ত করে না এমন একই প্রতিক্রিয়া তৈরি করার উদ্দেশ্যে। কারণ ক্লায়েন্টহেলোর প্রক্রিয়াকরণের সময় এসএনআই কলব্যাক কল করা হয়েছিল এবং কোনও প্রতিক্রিয়া তৈরি হওয়ার আগে মনে হয় ঠিক এটি ঘটেছে।

আপনি যদি হঠাৎ করে নিম্নলিখিত ফর্ম্যাটটির বার্তা দেখতে পান:

Rejecting version [version] for servername [hostname]

তারপরে আপনার SSLProtocolনিজের ডিফল্ট হোস্টের জন্য আপনার ডাবল-চেক করা উচিত ।


@ অ্যানেক্স সম্পর্কিত অতিরিক্ত তথ্যগুলি SSLStrictSNIVHostCheckঅনেক প্রশংসিত। তবে উদ্ধৃত নথি থেকে এটিও লক্ষ করা উচিত যে যদি অন্য কোনও ভার্চুয়াল হোস্টে সেট করা থাকে , এসএনআই অজ্ঞাত ক্লায়েন্টদের এই নির্দিষ্ট ভার্চুয়াল হোস্টটিতে অ্যাক্সেসের অনুমতি নেই
vallismortis

5

আপনার প্রতিটি ভোস্টের জন্য আলাদা আলাদা এসএসএল প্রোটোকল থাকতে পারে যদি তারা একটি পৃথক আইপি শুনছে।

TLSv1 এবং অন্য সকলকে কেবল TLSv1.1 এবং TLSv1.2 অনুমতি দিচ্ছে এমন একটি নির্দিষ্ট হোস্টের উদাহরণ - এবং কেবলমাত্র TLSv1.2 কে অনুমতি দিচ্ছে:

<VirtualHost *:443>
  SSLEngine On
  SSLProtocol All -SSLv2 -SSLv3 -TLSv1
  ServerName test.mysite.com
  # bunch of other stuff omitted
</VirtualHost>

<VirtualHost 10.0.0.2:443>
  SSLEngine On
  SSLProtocol All -SSLv2 -SSLv3
  ServerName test2.mysite.com
</VirtualHost>

<VirtualHost 10.0.0.3:443>
  SSLEngine On
  SSLProtocol TLSv1.2
  ServerName test2.mysite.com
</VirtualHost>

এছাড়াও, যদি আপনার কেবল পরীক্ষার প্রয়োজনে এটির প্রয়োজন হয়, আপনি অন্য আইপি এর পরিবর্তে অন্য একটি পোর্ট ব্যবহার করতে পারেন, উদাহরণস্বরূপ সাধারণ বিকল্প HTTPS পোর্ট 8443
এসা জোকিনেন

0

আপনি যদি নিজের ভোস্টের সাথে সার্ভার নেম ইন্ডিকেশন (এসএনআই) ব্যবহার করেন তবে, আপনি একাধিক এসএসএল সংস্করণ সংজ্ঞায়িত করতে পারবেন না।

তবে, আপনি যদি ডেডিকেটেড সার্ভার ব্যবহার করে থাকেন তবে আপনি সম্ভবত আপনার সার্ভারে অন্য একটি আইপি ঠিকানা যুক্ত করতে সক্ষম হবেন। এইভাবে, আপনি প্রতি আইপি ভিন্ন ভিন্ন এসএসএল সংস্করণ ব্যবহার করতে সক্ষম হবেন। প্রত্যাশিত আইপি: 443 হিসাবে আপনাকে কেবলমাত্র আপনার ভোস্ট সেটিংস পরিবর্তন করতে হবে।


-2

অথবা আপনি ব্যবহার করতে পারেন:

এসএসএলপ্রোটোকল টিএলএসভি 1 টিএলএসভি 1.1 টিএলএসভি 1.2

আমি অনেক সার্ভারে পরীক্ষা করেছিলাম এবং আমার জন্য কাজ করে! আপনি এই ওয়েবসাইটে আপনার সাইট পরীক্ষা করতে পারেন


4
এই এসএসএলপ্রোটোকল লাইনটি দেখে মনে হচ্ছে এটি কাজ করছে কারণ অ্যাপাচি এটি সম্পর্কে অভিযোগ করে না। বাস্তবে, প্রথম ভার্চুয়ালহোস্ট এন্ট্রিতে কেবলমাত্র এসএসএল প্রোটোকল ব্যবহৃত হয়।
vallismortis
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.