অ্যাপাচের চলমান উদাহরণ থেকে একটি আরএসএ কী পুনরুদ্ধার করা হচ্ছে?


26

আমি একটি এসএসএল শংসাপত্রের জন্য একটি আরএসএ কী-পেয়ার তৈরি করেছি এবং প্রাইভেট কীটি সঞ্চয় করেছি /etc/ssl/private/server.key। দুর্ভাগ্যক্রমে আমার কাছে থাকা ব্যক্তিগত কীটির এটিই ছিল অনুলিপি।

তারপরে আমি ঘটনাক্রমে ফাইলটিকে ডিস্কে ওভাররোট করে (হ্যাঁ, আমি জানি)।

অ্যাপাচি এখনও চলছে এবং এখনও এসএসএল অনুরোধগুলি পরিবেশন করছে, প্রাইভেট কীটি পুনরুদ্ধার করার আশা থাকতে পারে এই বিশ্বাসের জন্য আমাকে নেতৃত্ব দেয়। (সম্ভবত কোথাও কোথাও কোনও প্রতীকী লিঙ্ক আছে /proc?)

এই সার্ভারটি উবুন্টু 12.04 এলটিএস চালাচ্ছে।

উত্তর:


39

সাফল্য!

আমি ব্যক্তিগত কীটি পুনরুদ্ধার করতে সক্ষম হয়েছি। তবে এটা সহজ ছিল না। আপনার যা করা দরকার তা এখানে:

  1. আপনি সার্ভার বা অ্যাপাচি পুনরায় চালু করবেন না তা নিশ্চিত করুন । খেলাটি সেই পর্যায়ে শেষ হয়েছে। এর অর্থ হ'ল কোনও নিরীক্ষণ পরিষেবা অ্যাপাচি পুনরায় চালু না করা নিশ্চিত করে।
  2. দখল এই ফাইলটি জন্য সোর্স কোড - একটি টুল নামে সর্বখোল চাবি
  3. উত্স কোডটি বের করুন এবং Makefile.mainপড়ার 9 টি লাইন সামঞ্জস্য করুন :

    $(CC) $(CFLAGS) -o $@ $(OBJS) $(LDFLAGS)
    

    (লক্ষ করুন যে, $(OBJS)এবং $(LDFLAGS)অনুক্রমে বিপরীত করা হয়।)

  4. চালান ./build.sh
  5. অ্যাপাচি এর পিআইডি ধরুন:

    service apache2 status
    
  6. passe-partoutকমান্ডটি রুট হিসাবে চালান :

    sudo passe-partout [PID]
    

    ... [PID]পদক্ষেপ # 5 এ আপনি পুনরুদ্ধার করেছেন কোথায় ?

  7. যদি প্রোগ্রামটি সফল হয়, আপনার বর্তমান ডিরেক্টরিতে অতিরিক্ত কীগুলির একগুচ্ছ থাকবে:

    you@server:~# ls
    id_rsa-0.key  id_rsa-1.key  id_rsa-2.key
    

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

প্রথমে স্বাক্ষরিত কীটির সাথে শংসাপত্রের একটি অনুলিপি ধরুন। ফাইলটির নাম ধরে নিয়ে server.crtনিচের কমান্ডটি চালান:

openssl x509 -noout -modulus -in server.crt | openssl md5

এটি এমন একটি মান আউটপুট দেয় যা আপনার প্রতিটি কীগুলির সাথে মেলে। প্রতিটি কী এর জন্য নিম্নলিখিত কমান্ডটি চালান:

openssl rsa -noout -modulus -in id_rsa-0.key | openssl md5

যদি তাদের কোনওটির সাথে মেলে, আপনি কীটি খুঁজে পেয়েছেন।


ক্রেডিট: এই নিবন্ধটি আমাকে পাস-পার্টআউটকে নির্দেশ করেছে।


2
যে ইউটিলিটি ভাল পাওয়া।
ফ্যালকন মোমোট

3
লেখার জন্য +1 (এবং নিবন্ধ লেখকের জন্য একটি ভার্চুয়াল +1: লজ্জিত হওয়া এবং এখনও এটিকে লিখতে অন্যকে সেই পরিস্থিতিতে সহায়তা করে)।
জোছিম সউর

2
ওহ যে কল্পিত, এবং তাই নোংরা। আমি এটা ভালোবাসি.
টম ও'কনোর

8

সম্ভবত এটি মেমোরিতে কীটি সংরক্ষণ করে যা এটি করে কারণ এটি কোনও কপি রাখার দরকার পরে এটি সুবিধাগুলি বাদ দেয় এবং / অথবা সরবরাহিত পাসফ্রেজ ব্যবহার করে কীটি ডিক্রিপ্ট করে।

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

এটি বলেছিল, যদি এটির এখনও এটি খোলা থাকে, /proc/${PID}/fd/${SOMETHING}এটি হতে পারে। যদি আপনি এটি ওভাররোট করেন তবে আপনার কীটি সেখানে থাকবে না কারণ ওভাররাইটিং ডেটা হবে। আপনি যদি তার জায়গায় অন্য কোনও কিছু অনুলিপি করে থাকেন (বা মুছে ফেলে বা লিঙ্কযুক্ত করেছেন, বা পুনরুক্তিভাবে এর মূল ডিরেক্টরি মুছে ফেলেছেন) তবে এটি সেখানে থাকবে।


আমি cpপুরানোটির জায়গায় নতুন কীটি অনুলিপি করতাম ।
নাথান ওসমান

আমি খোলা ফাইল বর্ণনাকারীর মাধ্যমে দেখেছি /proc... কিছুই নেই।
নাথান ওসমান

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

আমি বুঝতে পেরেছি! আপনি ঠিক বলেছেন - আপাচি কীগুলি স্মৃতিতে রাখে এবং আমি সেগুলি পুনরুদ্ধার করতে সক্ষম হয়েছি। আমার উত্তর দেখুন।
নাথান ওসমান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.