অ্যাপাচি সার্ভারের SSL সিফার স্যুইটে আরসি 4 অক্ষম করা হচ্ছে


18

দয়া করে, আমার নিজের উত্তরের এডিটি বিভাগগুলি দেখুন; তারা এই কনড্রামের একটি ব্যাখ্যা রয়েছে

আমি সেন্টোস 6.5 ভিপিএসে চলমান অ্যাপাচি ২.২.৯ সার্ভারের জন্য আরসি ৪ অক্ষম করার চেষ্টা করছি এবং আমি সফল হতে পারি না বলে মনে হচ্ছে।

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

কোয়ালিস এসএসএল ল্যাবসের সাহায্যে কনফিগারেশন পরীক্ষা করা হচ্ছে, ফলাফল পৃষ্ঠাটি দেখায় "এই সার্ভারটি আরসি 4 সাইফার গ্রহণ করে, যা দুর্বল।

তবে, আমি এটি ssl.conf এ রেখেছি:

 SSLCipherSuite HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4:!SSLv2:!SSLv3

আমি এই প্রশ্নের উত্তরে প্রদত্ত স্ক্রিপ্টটি টেস্ট-এসএসএল- সিফারস.এস নামের একটি ফাইলে সংরক্ষণ করেছি এবং আইপি ঠিকানাটি একটি লুপব্যাক ঠিকানায় পরিবর্তন করেছি। এটি এর ফলাফল ./test-ssl-ciphers.sh | grep -i "RC4":

Testing ECDHE-RSA-RC4-SHA...NO (sslv3 alert handshake failure)
Testing ECDHE-ECDSA-RC4-SHA...NO (sslv3 alert handshake failure)
Testing AECDH-RC4-SHA...NO (sslv3 alert handshake failure)
Testing ADH-RC4-MD5...NO (sslv3 alert handshake failure)
Testing ECDH-RSA-RC4-SHA...NO (sslv3 alert handshake failure)
Testing ECDH-ECDSA-RC4-SHA...NO (sslv3 alert handshake failure)
Testing RC4-SHA...NO (sslv3 alert handshake failure)
Testing RC4-MD5...NO (sslv3 alert handshake failure)
Testing RC4-MD5...NO (sslv3 alert handshake failure)
Testing PSK-RC4-SHA...NO (no ciphers available)
Testing KRB5-RC4-SHA...NO (no ciphers available)
Testing KRB5-RC4-MD5...NO (no ciphers available)
Testing EXP-ADH-RC4-MD5...NO (sslv3 alert handshake failure)
Testing EXP-RC4-MD5...NO (sslv3 alert handshake failure)
Testing EXP-RC4-MD5...NO (sslv3 alert handshake failure)
Testing EXP-KRB5-RC4-SHA...NO (no ciphers available)
Testing EXP-KRB5-RC4-MD5...NO (no ciphers available)

এই লাইনের প্রতিটিটিতে "NO" রয়েছে, যা স্ক্রিপ্ট অনুসারে সার্ভারটি নির্দিষ্ট সাইফার সংমিশ্রণটিকে সমর্থন করে না।

তদুপরি, কমান্ডটি grep -i -r "RC4" /etc/httpdআমাকে কেবল উপরে উল্লিখিত ssl.conf ফাইল দেয়।

এছাড়াও, openssl ciphers -Vআমার সাইফার স্যুইটে চালানো কোনও আরসি 4 সিফার দেখায় না, এটি কনফিগারেশন স্ট্রিংয়ের দ্বারা উপলব্ধি হয়ে যায়।

সুতরাং আমি এসএসএল চেক ওয়েবসাইটগুলি কেন আমাকে বলছে যে "সার্ভার আরসি 4 গ্রহণ করে" সে সম্পর্কে আমি কোনওভাবে হারিয়েছি। এমনকি তারা নিম্নলিখিত সিফারদের গ্রহণযোগ্য হিসাবে তালিকাবদ্ধ করে:

TLS_RSA_WITH_RC4_128_MD5
TLS_RSA_WITH_RC4_128_SHA
TLS_ECDHE_RSA_WITH_RC4_128_SHA

কারও কি এর সম্ভাব্য ব্যাখ্যা আছে? আমি কি ভুল করছি? সম্ভবত আর কোনও জায়গা আছে যেখানে আরসি 4 বা "স্বীকৃতি" এর সমর্থনটি কনফিগার করা আছে?

ধন্যবাদ।

[ সম্পাদনা ] বাড়িতে ভার্চুয়াল মেশিনে একটি CentOS 6.6 ব্যবহার করে, আমি লুপব্যাক ঠিকানার পরিবর্তে এর ডোমেন নাম ব্যবহার করে আমার ভিপিএসের বিরুদ্ধে আবার স্ক্রিপ্টটি চালিয়েছি। এই সেটআপটি সূচিত করে যে সাইফারগুলির তালিকাটি ভিএম-তে ওপেনসেল দৃষ্টান্ত দ্বারা সরবরাহ করা হয়েছে: আমার এখনও সিফারগুলির মধ্যে আরসি 4 নেই যা হ্যাঁ ফলন করে।

উত্তর:


16

নবায়নকৃত শংসাপত্রটি ইনস্টল করার সময়, আমি আবিষ্কার করেছি যে এইচপিটিপিএসের জন্য প্রয়োজনীয় তথ্য সম্পূর্ণ সেট: শংসাপত্র, প্রাইভেট কী, সিএ চেইন, ইত্যাদি ISPConfig- এ (ডোমেনের জন্য এবং প্রতিটি সাবডোমেনের জন্য) নির্দিষ্ট করে সমস্যাটি হয়েছিল:

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

এ যেন প্রতিটি vhost এর বিশদ প্রদান কোনওরকমভাবে একটি নতুন পরিবেশ তৈরি করেছে যেখানে কিছু ডিফল্ট সিফার স্যুটকে ওভাররাইড করে ফেলেছে যা আমি ssl.conf এ নির্দিষ্ট করেছি। রহস্যময়।

সমাধানটি হ'ল প্রতিটি ভোস্টের জন্য অ্যাপাচি ডাইরেক্টিভ টেক্সারিয়াতে এসএসএলসিফারসুইট স্পেসিফিকেশন যুক্ত করা । কনফিগারেশনে এটিই আমার কাছে রয়েছে যা আমাকে একটি গ্রেড দেয়:

SSLProtocol ALL -SSLv2 -SSLv3
SSLHonorCipherOrder on
# Compression is disabled by default on my distribution (CentOS 6)
# SSLCompression off 
SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS

সম্পাদনা (2017-05-16): এই সমস্যা সম্পর্কে একটি অতিরিক্ত সন্ধান: এর নির্দিষ্টকরণ SSLCipherSuiteবাধ্যতামূলক। সেই নির্দিষ্ট নির্দেশটি কেন আমি বুঝতে পারি না, যদিও সার্ভার স্তরে নির্দিষ্ট করা ভার্চুয়াল হোস্ট কনফিগারেশনে স্বয়ংক্রিয়ভাবে প্রযোজ্য নয় । আমি CentOS 6.9 এ অ্যাপাচি 2.2.15 চালাচ্ছি।

সম্পাদনা (2018-06-18): আরও তথ্য। আমি শুধু আবিষ্কার করেছি যে SSLCipherSuiteনির্দেশ একটি একক সময় সুনির্দিষ্ট করা যেতে পারে এবং এটি সমস্ত ভার্চুয়াল হোস্ট প্রযোজ্য হবে: বেস mod_ssl কনফিগারেশন ফাইলের মধ্যে (সেন্টওএস 6, ফাইল পাওয়া যায় /etc/httpd/conf.d/ssl.conf), আপনি কেবল নির্দেশ নির্দিষ্ট করতে হবে বাইরে এর ডিফল্ট ভার্চুয়ালহোস্ট। অ্যাপাচি ২.২ ডকুমেন্টেশন সূচিত করে যে এই নির্দেশিকার ডিফল্ট মান SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP। আমি বিবেচনা করি যে আরসি 4 সাইফারটি এখান থেকে এসেছে: কোনও স্পেসিফিকেশনের অনুপস্থিতিতে, যা আমার ক্ষেত্রে ছিল কারণ কোনও স্পেসিফিকেশন "গ্লোবাল" প্রসঙ্গে নয়, ডিফল্ট মানটি প্রযোজ্য। এই বোঝাপড়াটি আমার কাছে যা রহস্য হয়ে আছে তা শেষ হয়। হাস্যকরভাবে, যখন আমি এই ব্যাখ্যাটি পাই তখন আমি সেন্টোস 7 এ চলেছি! আছে HTH।


5
SSLCipherSuite HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4:!SSLv2:!SSLv3
                                                                    ^^^^^^^

খারাপ ধারণা। TLS1.0 এবং TLS1.1 দিয়ে ব্যবহারযোগ্য সিফারগুলি অক্ষম করার ফলে সমস্ত এসএসএলভি 3 সিফারগুলি অক্ষম করা এবং টিএলএস 1.2 এর সাথে নতুনভাবে প্রবর্তিত কয়েকটি সিফার ছেড়ে যায় (যদি আপনার সার্ভার টিএলএস 1.2 সমর্থন করে)

সুতরাং আমি এসএসএল চেক ওয়েবসাইটগুলি কেন আমাকে বলছে যে "সার্ভার আরসি 4 গ্রহণ করে" সে সম্পর্কে আমি কোনওভাবে হারিয়েছি। এমনকি তারা নিম্নলিখিত সিফারদের গ্রহণযোগ্য হিসাবে তালিকাবদ্ধ করে:

আপনি স্থানীয় এবং বাহ্যিক পরীক্ষা উভয়ই একই সার্ভারে (আইপি ঠিকানা) অ্যাক্সেস করেছেন তা নিশ্চিত করুন। আমি প্রচুর সাইট দেখেছি যেখানে example.comপৃথক হোস্টে রয়েছে www.example.comএবং পরীক্ষাগুলি পৃথক হয়।


হ্যাঁ, রুট ডোমেন এবং এর সাবডোমেনগুলি একই ভিপিএসে রয়েছে। ভিপিএসের সাথে যুক্ত একটি আইপি ঠিকানা রয়েছে এবং আমি এটি পরিচালনা করতে আইএসপি কনফিগ ব্যবহার করি। ধন্যবাদ।
AbVog

SSLLabs ব্যবহার করুন । আপনার সিস্টেমের আইপিটির সাথে তারা আপনাকে যে আইপি দেখায় তা তুলনা করুন। নিশ্চিত করুন যে আপনার সামনে অন্য কোনও (বিপরীত) প্রক্সি বা সিডিএন নেই যা ফলাফলকে প্রভাবিত করতে পারে।
স্টিফেন অলরিচ

"সমস্ত এসএসএলভি 3 সাইফারগুলি অক্ষম করার ফলে টিএলএস 1.0 এবং টিএলএস 1.1 ব্যবহারযোগ্য সিফারগুলি অক্ষম করে এবং TLS1.2 এর সাথে নতুনভাবে প্রবর্তিত কয়েকটি সিফার রেখে দেয় (যদি আপনার সার্ভার টিএলএস 1.2 সমর্থন করে)" তবে সঠিক সমাধানটি কী?
রোহান অ্যাডামস

@ রোহনএডামস: লক্ষ্য যদি '! আরসি 4' এর চেয়ে আরসি 4 অক্ষম করা যায় তবে তা ঠিক আছে। অতিরিক্ত '! এসএসএলভি 3' ব্যবহার করে সমস্যাটি ওভারব্লকিং ছিল। দরকারী সাইফারগুলির ব্যবহার করার জন্য হিসেবে দেখতে মোজিলা সাইফার জেনারেটর
স্টিফেন অলরিচ

2

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

আমি এখানে আরও ভাল-বর্ণিত স্ক্রিপ্ট পেয়েছি যা এসএসএল পরীক্ষাগুলি সম্পর্কে আরও পুঙ্খানুপুঙ্খ তথ্য দেয়।


2

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

একদিকে যেমন, আমি https://cipherli.st/ জুড়ে এসেছি যার মধ্যে বিভিন্ন প্যাকেজগুলির একগুচ্ছের জন্য এসএসএল কনফিগারেশনের ভাল তালিকা রয়েছে। নিম্নে অ্যাপাচে বর্তমান প্রস্তাবনা:

SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLProtocol All -SSLv2 -SSLv3
SSLHonorCipherOrder On
Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"
Header always set X-Frame-Options DENY
Header always set X-Content-Type-Options nosniff

# Requires Apache >= 2.4
SSLCompression off 
SSLSessionTickets Off
SSLUseStapling on 
SSLStaplingCache "shmcb:logs/stapling-cache(150000)" 

0

আমার ফেডোরা 25 এ অ্যাপাচি / 2.4.25 সহ সাইফারগুলি ক্রিপ্টো-পলিসি দ্বারা পরিচালনা করা হয় (দেখুন / ইত্যাদি / ক্রিপ্টোপলিসি / ব্যাকেন্ডস)। ডিফল্ট সেটআপটিতে আরসি 4 সম্পূর্ণ অক্ষম রয়েছে, তাই অ্যাপাচি সেটআপে সাইফারগুলির সাথে छेলা করার দরকার নেই। আপনি সর্বশেষে ssl.conf ব্যবহার করেছেন তা নিশ্চিত করা ব্যতীত এটি ডিফল্টরূপে ইনস্টল করা হয়নি তবে কনফিডের ডিরেক্টরিতে ssl.conf.rpm নতুন হিসাবে রেখে দেওয়া হয়েছে।

এসএসএলটি কনফিগার করার জন্য আমাকে শংসাপত্রগুলি, সার্ভারনাম এবং ডকুমেন্টরুটটি নির্দিষ্ট করতে হয়েছিল। কাঠবিড়ির জন্য এটি।

SSLCertificateFile /etc/letsencrypt/live/mail.xxxx.dk/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/mail.xxxx.dk/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/mail.xxxx.dk/chain.pem
SSLCACertificateFile /etc/letsencrypt/live/mail.xxxx.dk/fullchain.pem
ServerName mail.xxxx.dk:443
DocumentRoot "/usr/share/squirrelmail"
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.