كيف يمكنني تشفير أو إخفاء كلمات المرور في برنامج Perl النصي؟

StackOverflow https://stackoverflow.com/questions/604634

سؤال

أنا أعمل على برنامج Perl النصي الذي يستخدم يتوقع لتسجيل الدخول عبر telnet إلى الأجهزة البعيدة (لا تسأل، يجب عليك استخدام telnet).أقوم أيضًا بإجراء عمليات تسجيل الدخول p4 حسب الضرورة وأستخدم توقعًا لتوجيه كلمات المرور الصحيحة.في الوقت الحالي، قرأت للتو كلمات المرور من متغير بيئة النص الواضح، على سبيل المثال. export PASSWORD=password, ، وأنا أعلم أنه ليس من الحكمة الأمنية الجيدة.

ما هي أفضل طريقة لتخزين كلمات المرور للبرامج النصية مثل تلك التي تحتاج إلى الكثير من كلمات المرور لأنظمة متعددة؟مشفرة في ملف نصي بطريقة أو بأخرى؟أو أي شيء آخر؟

ضع في اعتبارك أنه لا يمكنني تغيير الأنظمة الحالية بسهولة، على سبيل المثال لا أستطيع تثبيت SSH أو أي شيء من هذا القبيل.

هل كانت مفيدة؟

المحلول

وربما أفضل طريقة هي وضع كلمات السر في ملف منفصل، وتأمين الأمن لهذا الملف أسفل الوصول وذلك فقط كنت قد قرأت. للأسف، إذا قمت بتخزين كلمة مرور مشفرة في السيناريو الخاص بك، سيكون لديك أيضا لتخزين طريقة فك التشفير، لذلك يمكن للمهاجم تشغيل فك التشفير واستعادة كلمة المرور الخاصة بك.

نصائح أخرى

وكان هناك سؤال مشابه جدا في وقت سابق، انظر جوابي لذلك.

وباختصار، الإنسان عليه أن يبدأ سلسلة من الثقة. كل شيء آخر هو التشويش.

لماذا تقلق على كلمات السر في البرنامج النصي إذا كنت تستخدم التلنت؟ مهاجم المفترض سوف تجد أنه من السهل أو أسهل لالتقاط البيانات من السلك من خارج الجهاز عن بعد، وهناك في الحقيقة ليست أي شيء يمكن أن نفعله حيال ذلك في أي حال.

وهذا يبدو وكأنه حالة من يحاول أن يضع القضبان في النافذة وترك الباب يتأرجح مفتوحة.

نظرًا لأنك تستخدم توقع بالفعل، فيجب أن تفكر في القدرة على إعادة توجيه gpg -d على ملف مشفر يحتوي على كلمات المرور الخاصة بك.يعد تخزين كلمات المرور في متغير بيئة النظام أمرًا خاطئًا تمامًا.سيتم إدخال كلمة المرور التي سيتم استخدامها لفك تشفير ملف gpg في البداية ثم تحميل جميع كلمات المرور من الملف وتشغيل الأشياء الخاصة بك.بعد ذلك، تكون قد انتهيت، بحيث تكون كلمات المرور موجودة فقط في نص عادي أثناء تشغيل التطبيق.

يحرر كملاحظة جانبية، فإن وضع أي كلمات مرور في البرنامج النصي يعد أمرًا سيئًا؛تذكر أن البرنامج النصي هو مجرد ملف نص عادي مما يجعل رؤية كلمة المرور هذه أمرًا سهلاً مثل أي شيء آخر.وبالمثل، حتى التطبيقات التي تقوم بتجميعها يمكن عكسها باستخدام "سلاسل" يمكنها البحث عن السلاسل الموجودة في الكود (عادةً كلمات المرور).

في مقابل فرصة أن كنت تستخدم نظام التشغيل Mac OS X، وجدت <لأ href = "http://www.maclovin.de/2010/02/access-os-x-keychain-from-terminal/" يختلط = "نوفولو"> بهذه الطريقة أنيق للاستيلاء على أسماء المستخدمين وكلمات السر الخاصة بك من سلسلة المفاتيح .

على تحديث : في ويبدو أن اللعبة اعتبارا من 22 يوليو وصلة 2013. التعليمات البرمجية المتكررة باش التالية يبين كيف يمكنني استخدام تقنية (لتنزيل بيانات مبيعات اي تيونز):

domain="itunesconnect.apple.com"
user="user@example.com"
pass=$(security find-internet-password -ws $domain -a $user)

وأنا أحب الحل التي سبق ذكرها من وضع كلمات المرور في ملف منفصل. وبالإضافة إلى ذلك يمكن أن تجزئة كلمات السر الفعلية، مثل الكثير من ماذا يكون عمله في / etc / باسود. على الرغم من أنك قد تستخدم نفس مفتاح الشباك لجميع من لهم اعتمادا على كيفية التطبيق الخاص بك. من الواضح أن العيب لهذا هو شخص لديه لدخول hashkey من أجل تشغيل السيناريو الخاص بك وأن ليس العمل ستعمل في بيئة دفعة واحدة.

ومكان واحد للبدء في تعلم شيئا عن التجزئة هو من هذا ستاكوفيرفلوو <لأ href = "https://stackoverflow.com/questions/287517/encrypting-hashing-plain-text-passwords-in-database/287883#287883" > السؤال

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top