আসুন এনক্রিপ্ট - nginx - OCSP স্ট্যাপলিং


11

আমি আমার এনগিনেক্স সার্ভারে ওসিএসপি স্ট্যাপলিং সক্ষম করতে চাই। আমি ব্যাবহার করছি

  • nginx সংস্করণ: nginx / 1.6.2
  • ডেবিয়ান
  • আসুন এনক্রিপ্ট শংসাপত্র

আমি এই বিষয়ে সত্যই তুচ্ছ, তাই এটি একটি তুচ্ছ সমস্যা হতে পারে।

এখানে আমার nginx সুরক্ষা কনফিগারেশন

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_dhparam /etc/ssl/private/dhparams_4096.pem;

এখানে আমার সাইট / সার্ভার সুরক্ষা কনফিগারেশন:

    add_header Strict-Transport-Security "max-age=31536000; includeSubdomains; preload";

    # All files have been generated by Let's encrypt
    ssl_certificate /etc/letsencrypt/live/myexample.org/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/myexample.org/privkey.pem;

    # Everything below this line was added to enable OCSP stapling
    # What is that (generated file) and is that required at all?
    ssl_trusted_certificate /etc/letsencrypt/live/myexample.org/chain.pem;

    ssl_stapling on;
    ssl_stapling_verify on;
    resolver 8.8.8.8 8.8.4.4 valid=300s;
    resolver_timeout 5s;

আমি পড়েছি ওসিএসপি স্টাপলিং সক্ষম করতে এটি যথেষ্ট হবে।

তবে আমি যদি এটি ব্যবহার করে পরীক্ষা করি

 openssl s_client -connect myexample.org:443 -tls1 -tlsextdebug -status

আমি নিম্নলিখিত প্রতিক্রিয়া পাবেন:

TLS server extension "renegotiation info" (id=65281), len=1
0001 - <SPACES/NULS>
TLS server extension "EC point formats" (id=11), len=4
0000 - 03 00 01 02                                       ....
TLS server extension "session ticket" (id=35), len=0
TLS server extension "heartbeat" (id=15), len=1
0000 - 01                                                .
OCSP response: no response sent
depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X1
verify error:num=20:unable to get local issuer certificate
verify return:0
---
Certificate chain
 0 s:/CN=myexample.org
   i:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X1
 1 s:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X1
   i:/O=Digital Signature Trust Co./CN=DST Root CA X3
---
[...]

বিশেষত

OCSP response: no response sent

আমি কি ভুল করছি?

শংসাপত্রক্রমক্রম:

  • ডিএসটি রুট সিএ এক্স 3
    • এনক্রিপ্ট কর্তৃপক্ষ এক্স 1 আসুন
      • myexample.org

সম্পাদনা করুন:

OCSP: URI: http://ocsp.int-x1.letsencrypt.org/
CA-Issuer: URI: http://cert.int-x1.letsencrypt.org/

আপনার চেইনের শংসাপত্রগুলিতে কি তাদের এআইএ এক্সটেনশনে ওসিএসপি ইউআরএল সেট আছে?
গ্যারেথTheRed 21

1
@ ব্রাইয়াম - আপনি কি সঠিক নথির সাথে লিঙ্ক করেছেন? সেখানে ওসিএসপির কোনও উল্লেখ নেই। যারাই এই মন্তব্যটি +1 করেছে - আপনি কি এটি প্রথমে পড়েছেন?
গ্যারেথ TheRed

@garethTheRed শংসাপত্র থেকে ওসিএসপি ইউআরএল যোগ করতে আমি আমার পোস্টটি সম্পাদনা করেছি।
এসটি-ডিডিটি

@ ব্রায়াম আমি আপনার লিঙ্কযুক্ত নথিটি পড়েছি এবং এএএএএফসিটি আমি সেখানে বর্ণিত সমস্ত কিছু যথাযথভাবে করেছি। (ক্রোনজব ব্যতীত, যা সুরক্ষার জন্যও নয় এবং আমার প্রশ্নের পক্ষেও নয়)
এসটি-ডিডিটি

গ্রেট! এটা ওইখানে. দুর্ভাগ্যক্রমে, আমি এনজিনেক্সের সাথে বেশি কিছু করি নি, সুতরাং এটি কনফিগার করতে সত্যিই আপনাকে সহায়তা করতে পারে না। ইউআরএলটি আসলে সেখানে ছিল কিনা তা প্রথমে মনে পড়েছিল। শুধুমাত্র অন্য চিন্তা আপনার fullchain.pemএবং chain.pemফাইল - সেগুলি কি একই? ssl_trusted_certificateনির্দেশিকাটিও fullchain.pemকি ফাইলটি ব্যবহার করা উচিত নয় ?
গ্যারেথ TheRed

উত্তর:


10

স্ট্যান্ডার্ড এনগিনেক্স সেটআপ অনুসরণ করে আপনার কোনও ssl_trusted_certificateচেইন নির্দিষ্ট করার দরকার নেই । নিম্নলিখিতটি পর্যাপ্ত হতে হবে:

ssl_certificate /etc/letsencrypt/live/myexample.org/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/myexample.org/privkey.pem;
ssl_stapling on;
ssl_stapling_verify on;

আরও প্রসঙ্গে এখানে দেখুন ।


ভাল লাগল, এটি আমার এনজিনেক্সের কনফিডকে সহজ করে তোলে এবং ঠিক তেমনি কাজ করে!
শাওটিহ

আমি এই সাইটের ssldecoder.org এর সাথে কোনও ইঙ্গিতটি পরীক্ষা করলে আমি এখনও একটি ত্রুটি পেয়েছি ?
আলেকজান্ডার শরণজ

আপনার একাধিক এসএসএল থাকলে সমস্যাটি ঠিক করে ফেলেছে আপনাকে এটিকে সমস্ত ব্লকে সক্ষম করতে হবে অন্যথায় এনজিনেক্স নীরবে ব্যর্থ হবে।
আলেকজান্ডার শরণজ

9

আমি সেখানে যে টিউটোরিয়াল পেয়েছি তার ভিত্তিতে সমাধানটি পেয়েছি :

cd /etc/ssl/private
wget -O - https://letsencrypt.org/certs/isrgrootx1.pem https://letsencrypt.org/certs/lets-encrypt-x1-cross-signed.pem https://letsencrypt.org/certs/letsencryptauthorityx1.pem https://www.identrust.com/certificates/trustid/root-download-x3.html | tee -a ca-certs.pem> /dev/null

এবং এটি আপনার সাইট / সার্ভার কনফিগারেশনে যুক্ত করুন

ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/ssl/private/ca-certs.pem;

আপনার কনফিগারটি পুনরায় লোড করুন

গুরুত্বপূর্ণ: আপনার ব্রাউজারটি খুলুন এবং একবার আপনার ওয়েবপৃষ্ঠায় অ্যাক্সেস করুন।

তারপরে আপনি নিজের সার্ভারটি স্থানীয়ভাবে এই সেন্টিমিডি দিয়ে পরীক্ষা করতে পারবেন:

openssl s_client -connect myexample.org:443 -tls1 -tlsextdebug -status

আপনি সম্ভবত এর মতো একটি বৈধ প্রতিক্রিয়া পাবেন

OCSP response:
======================================
OCSP Response Data:
    OCSP Response Status: successful (0x0)
    Response Type: Basic OCSP Response
    Version: 1 (0x0)
    Responder Id: C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X1

আপনি যদি একটি পান তবে চিন্তা করবেন না

Verify return code: 20 (unable to get local issuer certificate)

নীচে পাশাপাশি , আসুন এনক্রিপ্ট শংসাপত্রটি ডিফল্ট বিশ্বস্ত শংসাপত্রের স্টোরগুলিতে এখনও নেই। (আমার খুব বেশি এসএসএল অভিজ্ঞতা নেই, তাই আমি ভুল হতে পারি)

আপনি সার্ভারে নিম্নলিখিত সিএমডি চালিয়ে গেলে ত্রুটিটি দেখাবে না:

openssl s_client -CApath /etc/ssl/private/ -connect myexample.org:443 -tls1 -tlsextdebug -status

এর পরে আপনি আপনার সার্ভারটি ব্যবহার করে এটি পরীক্ষা করতে পারেন:

https://www.digicert.com/help/

সচেতন থাকুন যে এখনই ওসিএসপি প্রতিক্রিয়াগুলি স্ল্ল্যাব পরীক্ষাগুলি দ্বারা নেওয়া হবে না। আমি ধরে নিলাম এটি হ'ল আসুন এনক্রিপ্ট শংসাপত্রটি ডিফল্ট বিশ্বস্ত শংসাপত্রের দোকানে এখনও নেই।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.