หลาม-vipaccess
สารบัญ
การจัดเตรียมข้อมูลรับรองการเข้าถึง VIP ใหม่
แสดงรหัส QR เพื่อลงทะเบียนข้อมูลประจำตัวของคุณกับแอป TOTP บนมือถือ
การสร้างรหัสการเข้าถึงโดยใช้ข้อมูลรับรองที่มีอยู่
บทนำ
การพึ่งพาอาศัยกัน
การติดตั้ง
การใช้งาน
นี่คือทางแยกของ cyrozap/python-vipaccess
ความแตกต่างหลัก:
ไม่มีการพึ่งพา qrcode
หรือไลบรารี image
คุณสามารถใช้เครื่องมือภายนอก เช่น qrencode
เพื่อแปลง otpauth://
URI เป็นโค้ด QR ได้หากจำเป็น ดังนั้นจึงไม่จำเป็นต้องสร้างฟังก์ชันนี้ขึ้นมา
ตัวเลือกในการสร้างโทเค็นการเข้าถึง VIP เวอร์ชันมือถือ ( SYMC
/ VSMT
) หรือเดสก์ท็อป ( SYDC
/ VSST
) เท่าที่ฉันสามารถบอกได้ไม่มีความแตกต่างที่แท้จริงระหว่างพวกเขา แต่ลูกค้าบางรายต้องการอย่างใดอย่างหนึ่งโดยเฉพาะ นอกจากนี้ยังมีประเภท/คำนำหน้าโทเค็นที่หายากกว่าซึ่งสามารถสร้างได้หากจำเป็น (รายการอ้างอิงจากไซแมนเทค)
ยูทิลิตี้บรรทัดคำสั่งได้รับการขยายเพื่อรองรับ ทั้ง การจัดเตรียมโทเค็น (การสร้างโทเค็นใหม่) และการปล่อยรหัสสำหรับโทเค็นที่มีอยู่ (ได้รับแรงบันดาลใจจากอินเทอร์เฟซบรรทัดคำสั่งของ stoken
ซึ่งจัดการฟังก์ชันเดียวกันสำหรับโทเค็น RSA SecurID
python-vipaccess เป็นซอฟต์แวร์โอเพ่นซอร์สฟรี (FOSS) ที่ใช้งานกับไคลเอนต์ VIP Access ของ Symantec (ปัจจุบันเป็นของ 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.com
ตามค่าเริ่มต้น มันจะเก็บโทเค็นใหม่ในไฟล์ .vipaccess
ในโฮมไดเร็กตอรี่ของคุณ (ในรูปแบบที่คล้ายกับ stoken
) แต่สามารถจัดเก็บไปยังไฟล์อื่นแทนได้ หรือเพียงพิมพ์สตริง "token Secret" พร้อมคำแนะนำเกี่ยวกับวิธีการแทน ใช้มัน
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 ผลิตขึ้นมา