بيثون-vipaccess
جدول المحتويات
توفير بيانات اعتماد وصول VIP جديدة
اعرض رمز الاستجابة السريعة لتسجيل بيانات الاعتماد الخاصة بك باستخدام تطبيقات TOTP على الأجهزة المحمولة
إنشاء رموز الوصول باستخدام بيانات الاعتماد الموجودة
مقدمة
التبعيات
تثبيت
الاستخدام
هذا شوكة لـ cyrozap/python-vipaccess
. الاختلافات الرئيسية:
لا يوجد اعتماد على qrcode
أو مكتبات image
؛ يمكنك بسهولة استخدام أدوات خارجية مثل qrencode
لتحويل otpauth://
URI إلى رمز QR إذا لزم الأمر، لذلك يبدو أنه من غير الضروري إنشاء هذه الوظيفة.
خيار لإنشاء إصدارات الأجهزة المحمولة ( SYMC
/ VSMT
) أو إصدارات سطح المكتب ( SYDC
/ VSST
) من رموز وصول VIP؛ وبقدر ما أستطيع أن أقول أنه لا يوجد فرق حقيقي بينهما، ولكن بعض العملاء يحتاجون إلى أحدهما أو الآخر على وجه التحديد. هناك أيضًا بعض أنواع/البادئات المميزة النادرة التي يمكن إنشاؤها إذا لزم الأمر (قائمة مرجعية من Symantec)
تم توسيع الأداة المساعدة لسطر الأوامر لدعم توفير الرمز المميز (إنشاء رمز مميز جديد) وإصدار الرموز لرمز مميز موجود (مستوحاة من واجهة سطر الأوامر الخاصة بـ stoken
، والتي تتعامل مع نفس الوظائف لرموز RSA SecurID المميزة
python-vipaccess عبارة عن تطبيق مجاني ومفتوح المصدر (FOSS) لعميل Symantec's VIP Access (المملوك الآن لشركة Broadcom).
إذا كنت بحاجة إلى الوصول إلى شبكة تستخدم VIP Access للمصادقة الثنائية، ولكنك لا تستطيع أو لا ترغب في استخدام تطبيقات Symantec الخاصة - والتي تتوفر فقط لأنظمة التشغيل Windows وMacOS وAndroid وiOS - فهذا مناسب لك .
كما اكتشف @cyrozap في الهندسة العكسية لبروتوكول VIP Access (منشور المدونة الأصلي)، يستخدم Symantec VIP Access في الواقع معيارًا مفتوحًا تمامًا يسمى خوارزمية كلمة المرور لمرة واحدة المستندة إلى الوقت لإنشاء الرموز المكونة من 6 أرقام التي يخرجها. الجزء الوحيد غير القياسي هو بروتوكول التوفير المستخدم لإنشاء رمز مميز جديد.
Python 3.3+ (مستحسن) أو 2.7 (غير مستحسن)
oath
pycryptodome
requests
لأغراض التطوير، يمكنك تثبيت التبعيات باستخدام pip install -r requirements.txt
في الدليل الجذر للمشروع.
لتثبيت pip
راجع وثائق تثبيت pip
.
قم بالتثبيت باستخدام pip3
لجلب تبعيات Python تلقائيًا. (لاحظ أنه في معظم الأنظمة، تستدعي pip3
إصدار Python 3.x، بينما تستدعي pip
إصدار Python 2.7؛ ولا يزال Python 2.7 مدعومًا، ولكن لا يوصى به لأنه يقترب من التقادم.)
# Install latest release from PyPI $ pip3 install python-vipaccess # Install latest development version from GitHub $ pip3 install https://github.com/dlenski/python-vipaccess/archive/HEAD.zip
يتم استخدام هذا لإنشاء رمز وصول VIP جديد. فهو يتصل بـ https://services.vip.symantec.com/prov ويطلب رمزًا مميزًا جديدًا، ثم يقوم بإزالة التشويش عنه، ويتحقق مما إذا كان قد تم فك تشفيره بشكل صحيح ويعمل بشكل صحيح، عبر طلب ثانٍ إلى https://vip.symantec. com/otpCheck.
افتراضيًا، يقوم بتخزين الرمز المميز الجديد في الملف .vipaccess
في الدليل الرئيسي لديك (بتنسيق مشابه لـ stoken
)، ولكن يمكنه تخزينه في ملف آخر بدلاً من ذلك، أو بدلاً من ذلك فقط قم بطباعة سلسلة "سر الرمز المميز" مع تعليمات حول كيفية استخدامه.
usage: vipaccess provision [-h] [-p | -o DOTFILE] [-t TOKEN_MODEL] optional arguments: -h, --help show this help message and exit -p, --print Print the new credential, but don't save it to a file -o DOTFILE, --dotfile DOTFILE File in which to store the new credential (default ~/.vipaccess) -i ISSUER, --issuer ISSUER Specify the issuer name to use (default: Symantec) -t TOKEN_MODEL, --token-model TOKEN_MODEL VIP Access token model. Often SYMC/VSMT ("mobile" token, default) or SYDC/VSST ("desktop" token). Some clients only accept one or the other. Other more obscure token types also exist: https://support.symantec.com/en_US/article.TECH239895.html
فيما يلي مثال على الإخراج من vipaccess provision -p
:
Generating request... Fetching provisioning response from Symantec server... Getting token from response... Decrypting token... Checking token against Symantec server... Credential created successfully: otpauth://totp/VIP%20Access:SYMC12345678?secret=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA&issuer=Symantec&algorithm=SHA1&digits=6 This credential expires on this date: 2019-01-15T12:00:00.000Z You will need the ID to register this credential: SYMC12345678 You can use oathtool to generate the same OTP codes as would be produced by the official VIP Access apps: oathtool -b --totp AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA # output one code oathtool -v -b --totp AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA # ... with extra information
فيما يلي تنسيق إخراج ملف الرمز المميز .vipaccess
من vipaccess provision [-o ~/.vipaccess]
. (يتم إنشاء هذا الملف بأذونات القراءة/الكتابة للمستخدم الحالي فقط .)
version 1 secret AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA id SYMC12345678 expiry 2019-01-15T12:00:00.000Z
بمجرد إنشاء رمز مميز مع vipaccess provision
، استخدم vipaccess uri
لإظهار otpauth://
URI و qrencode
لعرض URI هذا كرمز QR:
$ qrencode -t UTF8 'otpauth://totp/VIP%20Access:SYMCXXXX?secret=YYYY&issuer=Symantec&algorithm=SHA1&digits=6'
امسح الرمز ضوئيًا في تطبيق توليد TOTP، مثل FreeOTP أو Google Authenticator.
سيقوم خيار vipaccess [show]
أيضًا بذلك نيابةً عنك: بشكل افتراضي، يقوم بإنشاء رموز بناءً على بيانات الاعتماد في ~/.vipaccess
، ولكن يمكنك تحديد ملف بيانات اعتماد بديل أو تحديد "سر الرمز المميز" لـ OATH في سطر الأوامر.
usage: vipaccess show [-h] [-s SECRET | -f DOTFILE] optional arguments: -h, --help show this help message and exit -s SECRET, --secret SECRET Specify the token secret on the command line (base32 encoded) -f DOTFILE, --dotfile DOTFILE File in which the credential is stored (default ~/.vipaccess
كما تمت الإشارة إليه أعلاه، يمكنك استخدام أدوات قياسية أخرى تعتمد على OATH لإنشاء رموز مكونة من 6 أرقام مطابقة لما تنتجه تطبيقات Symantec الرسمية.