αž…αžΌαž›αž‘αŸ…αž€αžΆαž“αŸ‹ 2FA (αž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž–αžΈαžšαž€αžαŸ’αžαžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ ASA SSL VPN)

αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαž€αŸ’αž“αž»αž„αž€αžΆαžšαž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαž–αžΈαž…αž˜αŸ’αž„αžΆαž™αž‘αŸ…αž€αžΆαž“αŸ‹αž”αžšαž·αž™αžΆαž€αžΆαžŸαžŸαžΆαž‡αžΈαžœαž€αž˜αŸ’αž˜αž€αŸ†αž–αž»αž„αž›αŸαž…αž‘αžΎαž„αž€αžΆαž“αŸ‹αžαŸ‚αž…αŸ’αžšαžΎαž“αž‘αžΎαž„αŸ— αž˜αž·αž“αžαžΆαžœαžΆαž‡αžΆαž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ αž¬αžŠαŸƒαž‚αžΌαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αžŽαžΆαž˜αž½αž™αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ’αžαžΆαž”αŸαž“αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž“αŸ„αŸ‡αž‘αŸαŸ”

αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‚αŸ„αž›αž”αŸ†αžŽαž„αž‘αžΆαŸ†αž„αž“αŸαŸ‡ αž€αŸ’αžšαž»αž˜αž αŸŠαž»αž“αž—αžΆαž‚αž…αŸ’αžšαžΎαž“αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž”αž…αŸ’αž…αŸαž€αžœαž·αž‘αŸ’αž™αžΆ VPN αžŠαŸ‚αž›αž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αž±αŸ’αž™αžƒαžΎαž‰αžŠαŸ„αž™αžαŸ’αž›αž½αž“αž―αž„αžαžΆαž‡αžΆαž˜αž’αŸ’αž™αŸ„αž”αžΆαž™αž€αžΆαžšαž–αžΆαžšαžŠαŸ‚αž›αž’αžΆαž…αž‘αž»αž€αž…αž·αžαŸ’αžαž”αžΆαž“αž€αŸ’αž“αž»αž„αž€αžΆαžšαž•αŸ’αžαž›αŸ‹αžŸαž·αž‘αŸ’αž’αž·αž…αžΌαž›αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž“αž’αžΆαž“αž€αŸ’αž“αž»αž„αžŸαŸ’αžšαž»αž€αžšαž”αžŸαŸ‹αž’αž„αŸ’αž‚αž€αžΆαžšαŸ”

αž€αŸ’αžšαž»αž˜αž αŸŠαž»αž“αžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†αž˜αž·αž“αž˜αžΆαž“αž€αžšαžŽαžΈαž›αžΎαž€αž›αŸ‚αž„αž“αŸ„αŸ‡αž‘αŸ αž αžΎαž™αž™αžΎαž„αž€αŸαžŠαžΌαž…αž’αŸ’αž“αž€αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαžŠαŸ‚αžš αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž”αž…αŸ’αž…αŸαž€αžœαž·αž‘αŸ’αž™αžΆαž“αŸαŸ‡αŸ” αž αžΎαž™αžŠαžΌαž…αž’αŸ’αž“αž€αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαžŠαŸ‚αžš αž™αžΎαž„αž”αŸ’αžšαžΎ Cisco ASA 55xx αž‡αžΆαž…αŸ’αžšαž€αž…αžΌαž›αž–αžΈαž…αž˜αŸ’αž„αžΆαž™αŸ”

αžŠαŸ„αž™αžŸαžΆαžšαž…αŸ†αž“αž½αž“αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž–αžΈαž…αž˜αŸ’αž„αžΆαž™αž€αžΎαž“αž‘αžΎαž„ αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžαŸ’αžšαžΌαžœαžŸαž˜αŸ’αžšαž½αž›αž“αžΈαžαž·αžœαž·αž’αžΈαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž…αŸαž‰αž›αž·αžαž·αžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αŸ’αž“αž»αž„αž–αŸαž›αž‡αžΆαž˜αž½αž™αž‚αŸ’αž“αžΆαž“αŸαŸ‡αžαŸ’αžšαžΌαžœαžαŸ‚αž’αŸ’αžœαžΎαžŠαŸ„αž™αž˜αž·αž“αž”αŸ‰αŸ‡αž–αžΆαž›αŸ‹αžŠαž›αŸ‹αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αŸ”

αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαŸ’αž›αž½αž“αž™αžΎαž„ αž™αžΎαž„αž”αžΆαž“αžšαž€αžƒαžΎαž‰αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž˜αž½αž™αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž–αžΈαžšαž€αžαŸ’αžαžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž—αŸ’αž‡αžΆαž”αŸ‹αžαžΆαž˜αžšαž™αŸˆ Cisco SSL VPN αžŠαŸ„αž™αž”αŸ’αžšαžΎαž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžαŸ‚αž˜αž½αž™αžŠαž„αŸ” αž αžΎαž™αž€αžΆαžšαž”αŸ„αŸ‡αž–αž»αž˜αŸ’αž–αž“αŸαŸ‡αž“αžΉαž„αž”αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž–αžΈαžšαž”αŸ€αž”αžšαŸ€αž”αž…αŸ†αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αŸ‚αž”αž“αŸαŸ‡αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž…αŸ†αžŽαžΆαž™αž–αŸαž›αžœαŸαž›αžΆαžαž·αž…αžαž½αž…αž”αŸ†αž•αž»αž αž“αž·αž„αžŸαžΌαž“αŸ’αž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž…αžΆαŸ†αž”αžΆαž…αŸ‹ (αž•αŸ’αžαž›αŸ‹αžαžΆαž’αŸ’αž“αž€αž˜αžΆαž“ Cisco ASA αž“αŸ…αž€αŸ’αž“αž»αž„αž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžšαž½αž…αž αžΎαž™)αŸ”

αž‘αžΈαž•αŸ’αžŸαžΆαžšαž‚αžΊαžŸαŸ†αž”αžΌαžšαž‘αŸ…αžŠαŸ„αž™αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αŸ’αžšαž’αž”αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αž„αŸ’αž€αžΎαžαž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžαŸ‚αž˜αž½αž™αžŠαž„ αžαžŽαŸˆαž–αŸαž›αžŠαŸ‚αž›αž•αŸ’αžαž›αŸ‹αž‡αžΌαž“αž“αžΌαžœαž‡αž˜αŸ’αžšαžΎαžŸαž‡αžΆαž…αŸ’αžšαžΎαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž‘αž‘αž½αž›αž”αžΆαž“αžœαžΆ αžαžΆαžαžΎαžœαžΆαž•αŸ’αž‰αžΎαž›αŸαžαžŸαž˜αŸ’αž„αžΆαžαŸ‹αžαžΆαž˜αžšαž™αŸˆαžŸαžΆαžš SMS αž¬αž”αŸ’αžšαžΎαžαžΌαžαžΉαž“ αž‘αžΆαŸ†αž„αž•αŸ’αž“αŸ‚αž€αžšαžΉαž„ αž“αž·αž„αžŸαžΌαž αŸ’αžœαžœαŸ‚αžš (αž§αž‘αžΆαž αžšαžŽαŸαž“αŸ…αž›αžΎαž‘αžΌαžšαžŸαž–αŸ’αž‘αžŠαŸƒ)αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž”αŸ†αžŽαž„αž”αŸ’αžšαžΆαžαŸ’αž“αžΆαžŠαžΎαž˜αŸ’αž”αžΈαžŸαž“αŸ’αžŸαŸ†αž”αŸ’αžšαžΆαž€αŸ‹αž“αž·αž„αž”αŸ†αžŽαž„αž”αŸ’αžšαžΆαžαŸ’αž“αžΆαžŸαž“αŸ’αžŸαŸ†αž”αŸ’αžšαžΆαž€αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž“αž·αž™αŸ„αž‡αž€αžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†αž€αŸ’αž“αž»αž„αžœαž·αž”αžαŸ’αžαž·αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž”αžΆαž“αž”αž„αŸ’αžαŸ†αžαŸ’αž‰αž»αŸ†αž±αŸ’αž™αžŸαŸ’αžœαŸ‚αž„αžšαž€αžœαž·αž’αžΈαž₯αžαž‚αž·αžαžαŸ’αž›αŸƒαžŠαžΎαž˜αŸ’αž”αžΈαž’αž“αž»αžœαžαŸ’αžαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αž„αŸ’αž€αžΎαžαž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžαŸ‚αž˜αŸ’αžαž„αŸ” αžŠαŸ‚αž›αžαžŽαŸˆαž–αŸαž›αžŠαŸ‚αž›αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒ αž‚αžΊαž˜αž·αž“αž‘αžΆαž”αž‡αžΆαž„αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž–αžΆαžŽαž·αž‡αŸ’αž‡αž€αž˜αŸ’αž˜αž…αŸ’αžšαžΎαž“αž‘αŸ (αž“αŸ…αž‘αžΈαž“αŸαŸ‡αž™αžΎαž„αž‚αž½αžšαžαŸ‚αž’αŸ’αžœαžΎαž€αžΆαžšαž€αž€αŸ‹αž‘αž»αž€ αžŠαŸ„αž™αž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αžαžΆαž•αž›αž·αžαž•αž›αž“αŸαŸ‡αž€αŸαž˜αžΆαž“αž€αŸ†αžŽαŸ‚αž–αžΆαžŽαž·αž‡αŸ’αž‡αž€αž˜αŸ’αž˜αžŠαŸ‚αžš αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž™αžΎαž„αž”αžΆαž“αž™αž›αŸ‹αž–αŸ’αžšαž˜αžαžΆαž€αžΆαžšαž…αŸ†αžŽαžΆαž™αžšαž”αžŸαŸ‹αž™αžΎαž„αž‡αžΆαž›αž»αž™αž“αžΉαž„αžŸαžΌαž“αŸ’αž™)αŸ”

αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž™αžΎαž„αžαŸ’αžšαžΌαžœαž€αžΆαžšαŸˆ

- αžšαžΌαž”αž—αžΆαž–αž›αžΈαž“αž»αž…αžŠαŸ‚αž›αž˜αžΆαž“αž§αž”αž€αžšαžŽαŸαžŠαŸ‚αž›αž—αŸ’αž‡αžΆαž”αŸ‹αž˜αž€αž‡αžΆαž˜αž½αž™ - multiOTP, FreeRADIUS αž“αž·αž„ nginx αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αžΌαž›αž”αŸ’αžšαžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžαžΆαž˜αžšαž™αŸˆαž”αžŽαŸ’αžαžΆαž‰ (http://download.multiotp.net/ - αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž”αŸ’αžšαžΎαžšαžΌαž”αž—αžΆαž–αžŠαŸ‚αž›αžαŸ’αžšαŸ€αž˜αžšαž½αž…αž‡αžΆαžŸαŸ’αžšαŸαž…αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ VMware)
- αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž”αž˜αŸ’αžšαžΎαžαžαžŸαž€αž˜αŸ’αž˜
- Cisco ASA αžαŸ’αž›αž½αž“αžœαžΆ (αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž—αžΆαž–αž„αžΆαž™αžŸαŸ’αžšαž½αž› αžαŸ’αž‰αž»αŸ†αž”αŸ’αžšαžΎ ASDM)
- αž“αž·αž˜αž·αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŽαžΆαž˜αž½αž™αžŠαŸ‚αž›αž‚αžΆαŸ†αž‘αŸ’αžšαž™αž“αŸ’αžαž€αžΆαžš TOTP (αž§αž‘αžΆαž αžšαžŽαŸ αžαŸ’αž‰αž»αŸ†αž”αŸ’αžšαžΎ Google Authenticator αž”αŸ‰αž»αž“αŸ’αžαŸ‚ FreeOTP αžŠαžΌαž…αž‚αŸ’αž“αžΆαž“αžΉαž„αž’αŸ’αžœαžΎ)

αžαŸ’αž‰αž»αŸ†β€‹αž“αžΉαž„β€‹αž˜αž·αž“β€‹αž›αž˜αŸ’αž’αž·αžβ€‹αž’αŸ†αž–αžΈβ€‹αžšαž”αŸ€αž”β€‹αžŠαŸ‚αž›β€‹αžšαžΌαž”αž—αžΆαž–β€‹αž›αžΆαžβ€‹αžαŸ’αžšαžŠαžΆαž„β€‹αž“αŸ„αŸ‡β€‹αž‘αŸαŸ” αž‡αžΆαž›αž‘αŸ’αž’αž•αž› αž’αŸ’αž“αž€αž“αžΉαž„αž‘αž‘αž½αž›αž”αžΆαž“ Debian Linux αž‡αžΆαž˜αž½αž™ multiOTP αž“αž·αž„ FreeRADIUS αžŠαŸ‚αž›αž”αžΆαž“αžŠαŸ†αž‘αžΎαž„αžšαž½αž…αž αžΎαž™ αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž‚αŸ’αž“αžΆ αž“αž·αž„αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž”αžŽαŸ’αžŠαžΆαž‰αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„ OTP αŸ”

αž‡αŸ†αž αžΆαž“αž‘αžΈ 1. αž™αžΎαž„αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž”αŸ’αžšαž–αŸαž“αŸ’αž’ αž“αž·αž„αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžœαžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αžŽαŸ’αžαžΆαž‰αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ”
αžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜ αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž“αŸαŸ‡αž—αŸ’αž‡αžΆαž”αŸ‹αž˜αž€αž‡αžΆαž˜αž½αž™αž–αŸαžαŸŒαž˜αžΆαž“αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž«αžŸαž‚αž›αŸ‹αŸ” αžαŸ’αž‰αž»αŸ†β€‹αž‚αž·αžβ€‹αžαžΆβ€‹αž’αŸ’αž“αž€β€‹αžšαžΆαž›αŸ‹β€‹αž‚αŸ’αž“αžΆβ€‹αž”αžΆαž“β€‹αž‘αžΆαž™β€‹αžαžΆβ€‹αžœαžΆβ€‹αž‡αžΆβ€‹αž‚αŸ†αž“αž·αžβ€‹αž›αŸ’αž’β€‹αž€αŸ’αž“αž»αž„β€‹αž€αžΆαžšβ€‹αž•αŸ’αž›αžΆαžŸαŸ‹β€‹αž”αŸ’αžαžΌαžšβ€‹αž›αŸαžβ€‹αžŸαž˜αŸ’αž„αžΆαžαŸ‹β€‹αž’αŸ’αž“αž€β€‹αž”αŸ’αžšαžΎ root αž”αž“αŸ’αž‘αžΆαž”αŸ‹β€‹αž–αžΈβ€‹αž€αžΆαžšβ€‹αž…αžΌαž›β€‹αžŠαŸ†αž”αžΌαž„αŸ” αž’αŸ’αž“αž€αž€αŸαžαŸ’αžšαžΌαžœαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž”αžŽαŸ’αžαžΆαž‰ (αžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αžœαžΆαž‚αžΊ '192.168.1.44' αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž…αŸ’αžšαž€αž…αŸαž‰αž…αžΌαž› '192.168.1.1')αŸ” αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž“αŸ„αŸ‡αž’αŸ’αž“αž€αž’αžΆαž…αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž‘αžΎαž„αžœαž·αž‰αŸ”

αžαŸ„αŸ‡αž”αž„αŸ’αž€αžΎαžαž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž€αŸ’αž“αž»αž„ Active Directory otpαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹ MySuperPassword.

αž‡αŸ†αž αžΆαž“ 2. αžŠαŸ†αž‘αžΎαž„αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹ αž“αž·αž„αž“αžΆαŸ†αž…αžΌαž›αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ Active Directory
αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαžŠαžΌαž…αŸ’αž“αŸαŸ‡ αž™αžΎαž„αžαŸ’αžšαžΌαžœαž…αžΌαž›αž”αŸ’αžšαžΎαž€αž»αž„αžŸαžΌαž› αž“αž·αž„αžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹αž‘αŸ…αž€αžΆαž“αŸ‹αž―αž€αžŸαžΆαžš multiotp.phpαžŠαŸ„αž™αž”αŸ’αžšαžΎαžŠαŸ‚αž›αž™αžΎαž„αž“αžΉαž„αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ… Active Directory αŸ”

αž…αžΌαž›αž‘αŸ…αž€αžΆαž“αŸ‹αžαž /usr/local/bin/multiotp/ αž αžΎαž™αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαžαžΆαž„αž€αŸ’αžšαŸ„αž˜αž‡αžΆαžœαŸαž“αŸ–

./multiotp.php -config default-request-prefix-pin=0

αž€αŸ†αžŽαžαŸ‹αžαžΆαžαžΎαžαŸ’αžšαžΌαžœαž€αžΆαžšαž˜αŸ’αž‡αž»αž›αž”αž“αŸ’αžαŸ‚αž˜ (αž’αž…αž·αž“αŸ’αžšαŸ’αžαŸƒαž™αŸ) αž“αŸ…αž–αŸαž›αž”αž‰αŸ’αž…αžΌαž›αž˜αŸ’αž‡αž»αž›αž˜αŸ’αžαž„ (0 ឬ 1)

./multiotp.php -config default-request-ldap-pwd=0

αž€αŸ†αžŽαžαŸ‹αžαžΆαžαžΎαž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžŠαŸ‚αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‘αžΆαž˜αž‘αžΆαžšαž“αŸ…αž–αŸαž›αž”αž‰αŸ’αž…αžΌαž›αž˜αŸ’αž‡αž»αž›αž˜αŸ’αžαž„ (0 ឬ 1)

./multiotp.php -config ldap-server-type=1

αž”αŸ’αžšαž—αŸαž‘αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ LDAP αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αž„αŸ’αž’αž»αž›αž”αž„αŸ’αž αžΆαž‰ (0 = αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ LDAP αž’αž˜αŸ’αž˜αžαžΆ αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαžšαž”αžŸαŸ‹αž™αžΎαž„ 1 = Active Directory)

./multiotp.php -config ldap-cn-identifier="sAMAccountName"

αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž‘αž˜αŸ’αžšαž„αŸ‹αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αž„αŸ’αž αžΆαž‰αžˆαŸ’αž˜αŸ„αŸ‡αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ (αžαž˜αŸ’αž›αŸƒαž“αŸαŸ‡αž“αžΉαž„αž”αž„αŸ’αž αžΆαž‰αžαŸ‚αžˆαŸ’αž˜αŸ„αŸ‡αžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αžŠαŸ‚αž“)

./multiotp.php -config ldap-group-cn-identifier="sAMAccountName"

αžšαžΏαž„αžŠαžŠαŸ‚αž›αž“αŸαŸ‡αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαŸ‚αž€αŸ’αžšαž»αž˜αž˜αž½αž™αŸ”

./multiotp.php -config ldap-group-attribute="memberOf"

αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αŸ†αžŽαžαŸ‹αžαžΆαžαžΎαž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž‡αžΆαž€αž˜αŸ’αž˜αžŸαž·αž‘αŸ’αž’αž·αžšαž”αžŸαŸ‹αž€αŸ’αžšαž»αž˜αž¬αž’αžαŸ‹

./multiotp.php -config ldap-ssl=1

αžαžΎαžαŸ’αž‰αž»αŸ†αž‚αž½αžšαž”αŸ’αžšαžΎαž€αžΆαžšαž—αŸ’αž‡αžΆαž”αŸ‹αžŠαŸ‚αž›αž˜αžΆαž“αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αž‘αŸ…αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ LDAP (αž–αž·αžαžŽαžΆαžŸαŸ‹ - αž”αžΆαž‘!)

./multiotp.php -config ldap-port=636

αž…αŸ’αžšαž€αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ LDAP

./multiotp.php -config ldap-domain-controllers=adSRV.domain.local

αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ Active Directory αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ”

./multiotp.php -config ldap-base-dn="CN=Users,DC=domain,DC=local"

αž™αžΎαž„αž…αž„αŸ’αž’αž»αž›αž”αž„αŸ’αž αžΆαž‰αž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŸαŸ’αžœαŸ‚αž„αžšαž€αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αžŠαŸ‚αž“

./multiotp.php -config ldap-bind-dn="[email protected]"

αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŠαŸ‚αž›αž˜αžΆαž“αžŸαž·αž‘αŸ’αž’αž·αžŸαŸ’αžœαŸ‚αž„αžšαž€αž€αŸ’αž“αž»αž„ Active Directory

./multiotp.php -config ldap-server-password="MySuperPassword"

αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ αžŠαžΎαž˜αŸ’αž”αžΈαž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αž€αžΆαž“αŸ‹ Active Directory

./multiotp.php -config ldap-network-timeout=10

αž€αŸ†αžŽαžαŸ‹αž–αŸαž›αž’αžŸαŸ‹αž–αŸαž›αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ… Active Directory

./multiotp.php -config ldap-time-limit=30

αž™αžΎαž„αž€αŸ†αžŽαžαŸ‹αž–αŸαž›αžœαŸαž›αžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž“αžΆαŸ†αž…αžΌαž›αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹

./multiotp.php -config ldap-activated=1

αž€αžΆαžšαž’αŸ’αžœαžΎαž±αŸ’αž™αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹ Active Directory αžŸαž€αž˜αŸ’αž˜

./multiotp.php -debug -display-log -ldap-users-sync

αž™αžΎαž„αž“αžΆαŸ†αž…αžΌαž›αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž–αžΈ Active Directory

αž‡αŸ†αž αžΆαž“αž‘αžΈ 3. αž”αž„αŸ’αž€αžΎαžαž€αžΌαžŠ QR αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαž‰αŸ’αž‰αžΆαžŸαž˜αŸ’αž„αžΆαžαŸ‹
αž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αž“αŸ…αž‘αžΈαž“αŸαŸ‡αž‚αžΊαžŸαžΆαž˜αž‰αŸ’αž‰αž”αŸ†αž•αž»αžαŸ” αž”αžΎαž€αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž”αžŽαŸ’αžŠαžΆαž‰αžšαž”αžŸαŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ OTP αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαž»αž€αžšαž€ αž…αžΌαž› (αž€αž»αŸ†αž—αŸ’αž›αŸαž…αž”αŸ’αžαžΌαžšαž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„!) αž αžΎαž™αž…αž»αž…αž›αžΎαž”αŸŠαžΌαžαž»αž„ "αž”αŸ„αŸ‡αž–αž»αž˜αŸ’αž–"αŸ–

αž…αžΌαž›αž‘αŸ…αž€αžΆαž“αŸ‹ 2FA (αž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž–αžΈαžšαž€αžαŸ’αžαžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ ASA SSL VPN)
αž›αž‘αŸ’αž’αž•αž›αž“αŸƒαžŸαž€αž˜αŸ’αž˜αž—αžΆαž–αž“αŸαŸ‡αž“αžΉαž„αž‡αžΆαž‘αŸ†αž–αŸαžšαžŠαŸ‚αž›αž˜αžΆαž“αž›αŸαžαž€αžΌαžŠ QR αž–αžΈαžšαŸ” αž™αžΎαž„αž–αŸ’αžšαž„αžΎαž™αž€αž“αŸ’αžαžΎαž™αž“αžΉαž„αž’αž€αŸ’αžŸαžšαž‘αžΈαž˜αž½αž™αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαžŠαŸ„αž™αž€αŸ’αž›αžΆαž αžΆαž“ (αž‘αŸ„αŸ‡αž”αžΈαž‡αžΆαž˜αžΆαž“αžŸαž·αž›αžΆαž…αžΆαžšαžΉαž€αžŠαŸαž‚αž½αžšαž±αŸ’αž™αž‘αžΆαž€αŸ‹αž‘αžΆαž‰αžšαž”αžŸαŸ‹ Google Authenticator / Authenticator / 2 Steps Authenticator) αž αžΎαž™αž˜αŸ’αžαž„αž‘αŸ€αžαž™αžΎαž„αžŸαŸ’αž€αŸ‚αž“αž›αŸαžαž€αžΌαžŠαž‘αžΈαž–αžΈαžšαž™αŸ‰αžΆαž„αž€αŸ’αž›αžΆαž αžΆαž“αž‘αŸ…αž€αŸ’αž“αž»αž„αž“αž·αž˜αž·αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αŸ…αž›αžΎαž‘αžΌαžšαžŸαŸαž–αŸ’αž‘αŸ–

αž…αžΌαž›αž‘αŸ…αž€αžΆαž“αŸ‹ 2FA (αž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž–αžΈαžšαž€αžαŸ’αžαžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ ASA SSL VPN)
(αž”αžΆαž‘/αž…αžΆαžŸ αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž”αŸ†αž•αŸ’αž›αžΆαž‰αž€αžΌαžŠ QR αžŠαŸ„αž™αž…αŸαžαž“αžΆαžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž±αŸ’αž™αžœαžΆαž˜αž·αž“αž’αžΆαž…αž’αžΆαž“αž”αžΆαž“)αŸ”

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž”αž‰αŸ’αž…αž”αŸ‹αžŸαž€αž˜αŸ’αž˜αž—αžΆαž–αž‘αžΆαŸ†αž„αž“αŸαŸ‡ αž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž”αŸ’αžšαžΆαŸ†αž˜αž½αž™αžαŸ’αž‘αž„αŸ‹αž“αžΉαž„αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž”αž„αŸ’αž€αžΎαžαž“αŸ…αž€αŸ’αž“αž»αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžšαŸ€αž„αžšαžΆαž›αŸ‹αžŸαžΆαž˜αžŸαž·αž”αžœαž·αž“αžΆαž‘αžΈαŸ”

αžŠαžΎαž˜αŸ’αž”αžΈαž±αŸ’αž™αž”αŸ’αžšαžΆαž€αžŠ αž’αŸ’αž“αž€αž’αžΆαž…αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αžœαžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αžŠαžΌαž…αž‚αŸ’αž“αžΆαŸ–

αž…αžΌαž›αž‘αŸ…αž€αžΆαž“αŸ‹ 2FA (αž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž–αžΈαžšαž€αžαŸ’αžαžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ ASA SSL VPN)
αžŠαŸ„αž™αž”αž‰αŸ’αž…αžΌαž›αžˆαŸ’αž˜αŸ„αŸ‡αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ αž“αž·αž„αž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžαŸ‚αž˜αŸ’αžαž„αž–αžΈαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αŸ…αž›αžΎαž‘αžΌαžšαžŸαž–αŸ’αž‘αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” αžαžΎαž’αŸ’αž“αž€αž”αžΆαž“αž‘αž‘αž½αž›αž€αžΆαžšαž†αŸ’αž›αžΎαž™αžαž”αž‡αžΆαžœαž·αž‡αŸ’αž‡αž˜αžΆαž“αž‘αŸ? αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž™αžΎαž„αž”αž“αŸ’αžαž‘αŸ…αž˜αž»αžαž‘αŸ€αžαŸ”

αž‡αŸ†αž αžΆαž“ 4. αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž”αž“αŸ’αžαŸ‚αž˜ αž“αž·αž„αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαž“αŸƒαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš FreeRADIUS
αžŠαžΌαž…αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžšαŸ€αž”αžšαžΆαž”αŸ‹αžαžΆαž„αž›αžΎ multiOTP αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžšαž½αž…αž αžΎαž™αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™ FreeRADIUS αž’αŸ’αžœαžΈαŸ—αžŠαŸ‚αž›αž“αŸ…αžŸαž›αŸ‹αž‚αžΊαžαŸ’αžšαžΌαžœαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αž αž“αž·αž„αž”αž“αŸ’αžαŸ‚αž˜αž–αŸαžαŸŒαž˜αžΆαž“αž’αŸ†αž–αžΈαž…αŸ’αžšαž€αž•αŸ’αž›αžΌαžœ VPN αžšαž”αžŸαŸ‹αž™αžΎαž„αž‘αŸ…αž€αžΆαž“αŸ‹αž―αž€αžŸαžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ FreeRADIUS αŸ”

αž™αžΎαž„αžαŸ’αžšαž›αž”αŸ‹αž‘αŸ…αž€αž»αž„αžŸαžΌαž›αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ αž‘αŸ…αž€αžΆαž“αŸ‹αžαž /usr/local/bin/multiotp/, αž”αž‰αŸ’αž…αžΌαž›αŸ–

./multiotp.php -config debug=1
./multiotp.php -config display-log=1

αžšαž½αž˜αž‘αžΆαŸ†αž„αž€αžΆαžšαž€αžαŸ‹αžαŸ’αžšαžΆαž›αž˜αŸ’αž’αž·αžαž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αžαŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž’αžαž·αžαž·αž‡αž“ FreeRADIUS (/etc/freeradius/clinets.conf) αž”αž‰αŸ’αž…αŸαž‰αž˜αžαž·αž›αžΎαž”αž“αŸ’αž‘αžΆαžαŸ‹αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ‚αž›αž‘αžΆαž€αŸ‹αž‘αž„αž“αžΉαž„ localhost αž αžΎαž™αž”αž“αŸ’αžαŸ‚αž˜αž’αžΆαžαž»αž–αžΈαžšαŸ–

client localhost {
        ipaddr = 127.0.0.1
        secret          = testing321
        require_message_authenticator = no
}

- αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αž

client 192.168.1.254/32 {
        shortname =     CiscoASA
        secret =        ConnectToRADIUSSecret
}

- αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αŸ’αžšαž€αž•αŸ’αž›αžΌαžœ VPN αžšαž”αžŸαŸ‹αž™αžΎαž„αŸ”

αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜ FreeRADIUS αž‘αžΎαž„αžœαž·αž‰ αž αžΎαž™αž–αŸ’αž™αžΆαž™αžΆαž˜αž…αžΌαž›αŸ–

radtest username 100110 localhost 1812 testing321

αžŠαŸ‚αž›αž‡αžΆαž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž› username = αžˆαŸ’αž˜αŸ„αŸ‡αž’αŸ’αž“αž€αž”αŸ’αžšαžΎ, 100110 = αž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžŠαŸ‚αž›αž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž±αŸ’αž™αž™αžΎαž„αžŠαŸ„αž™αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αŸ…αž›αžΎαž‘αžΌαžšαžŸαŸαž–αŸ’αž‘, localhost = αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ RADIUS, 1812 - αž…αŸ’αžšαž€αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ RADIUS, αžŸαžΆαž€αž›αŸ’αž”αž„ 321 - αž›αŸαžαžŸαŸ†αž„αžΆαžαŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ RADIUS (αžŠαŸ‚αž›αž™αžΎαž„αž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹)αŸ”

αž›αž‘αŸ’αž’αž•αž›αž“αŸƒαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαž“αŸαŸ‡αž“αžΉαž„αž˜αžΆαž“αž›αž‘αŸ’αž’αž•αž›αž”αŸ’αžšαž αŸ‚αž›αžŠαžΌαž…αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ–

Sending Access-Request of id 44 to 127.0.0.1 port 1812
        User-Name = "username"
        User-Password = "100110"
        NAS-IP-Address = 127.0.1.1
        NAS-Port = 1812
        Message-Authenticator = 0x00000000000000000000000000000000
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=44, length=20

αž₯αž‘αžΌαžœαž“αŸαŸ‡αž™αžΎαž„αžαŸ’αžšαžΌαžœαž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ’αžšαžΆαž€αžŠαžαžΆαž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αžŠαŸ„αž™αž‡αŸ„αž‚αž‡αŸαž™αŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαžŠαžΌαž…αž“αŸαŸ‡αž™αžΎαž„αž“αžΉαž„αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž“αŸƒ multiotp αžαŸ’αž›αž½αž“αžœαžΆαž•αŸ’αž‘αžΆαž›αŸ‹:

tail /var/log/multiotp/multiotp.log

αž αžΎαž™αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αžΆαžαž»αž…αž»αž„αž€αŸ’αžšαŸ„αž™αž˜αžΆαž“αŸ–

2016-09-01 08:58:17     notice  username  User    OK: User username successfully logged in from 127.0.0.1
2016-09-01 08:58:17     debug           Debug   Debug: 0 OK: Token accepted from 127.0.0.1

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž’αŸ’αžœαžΈαŸ—αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αŸ’αž’ αž αžΎαž™αž™αžΎαž„αž’αžΆαž…αž”αž‰αŸ’αž…αž”αŸ‹αž”αžΆαž“αŸ”

αž‡αŸ†αž αžΆαž“αž‘αžΈ 5: αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ Cisco ASA
αž…αžΌαžšαž™αžΎαž„αž™αž›αŸ‹αž–αŸ’αžšαž˜αžαžΆ αž™αžΎαž„αž˜αžΆαž“αž€αŸ’αžšαž»αž˜ αž“αž·αž„αž‚αŸ„αž›αž€αžΆαžšαžŽαŸαžŠαŸ‚αž›αž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αžšαž½αž…αž αžΎαž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαžαžΆαž˜αžšαž™αŸˆ SLL VPN αžŠαŸ‚αž›αž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžŠαŸ„αž™αž—αŸ’αž‡αžΆαž”αŸ‹αž‡αžΆαž˜αž½αž™ Active Directory αž αžΎαž™αž™αžΎαž„αžαŸ’αžšαžΌαžœαž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž–αžΈαžšαž€αžαŸ’αžαžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‘αž˜αŸ’αžšαž„αŸ‹αž“αŸαŸ‡αŸ”

1. αž”αž“αŸ’αžαŸ‚αž˜αž€αŸ’αžšαž»αž˜αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ AAA αžαŸ’αž˜αžΈαŸ–

αž…αžΌαž›αž‘αŸ…αž€αžΆαž“αŸ‹ 2FA (αž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž–αžΈαžšαž€αžαŸ’αžαžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ ASA SSL VPN)
2. αž”αž“αŸ’αžαŸ‚αž˜αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ multiOTP αžšαž”αžŸαŸ‹αž™αžΎαž„αž‘αŸ…αž€αŸ’αžšαž»αž˜αŸ–

αž…αžΌαž›αž‘αŸ…αž€αžΆαž“αŸ‹ 2FA (αž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž–αžΈαžšαž€αžαŸ’αžαžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ ASA SSL VPN)
3. αž™αžΎαž„αž€αŸ‚αžŸαž˜αŸ’αžšαž½αž› αž‘αž˜αŸ’αžšαž„αŸ‹αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αž€αŸ†αžŽαžαŸ‹αž€αŸ’αžšαž»αž˜αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ Active Directory αž‡αžΆαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž—αžΆαž–αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαŸ–

αž…αžΌαž›αž‘αŸ…αž€αžΆαž“αŸ‹ 2FA (αž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž–αžΈαžšαž€αžαŸ’αžαžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ ASA SSL VPN)
4. αž“αŸ…αž€αŸ’αž“αž»αž„αž•αŸ’αž‘αžΆαŸ†αž„ αž€αž˜αŸ’αžšαž·αžαžαŸ’αž–αžŸαŸ‹ -> αž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž—αžΆαž–αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœ αž™αžΎαž„αž€αŸαž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž€αŸ’αžšαž»αž˜αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ Active DirectoryαŸ–

αž…αžΌαž›αž‘αŸ…αž€αžΆαž“αŸ‹ 2FA (αž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž–αžΈαžšαž€αžαŸ’αžαžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ ASA SSL VPN)
5. αž“αŸ…αž€αŸ’αž“αž»αž„αž•αŸ’αž‘αžΆαŸ†αž„ αž€αž˜αŸ’αžšαž·αžαžαŸ’αž–αžŸαŸ‹ -> αž’αž“αž»αžœαž·αž‘αŸ’αž™αžΆαž›αŸαž™ αž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž—αžΆαž–αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœ αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž€αŸ’αžšαž»αž˜αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžŠαŸ‚αž›αž”αžΆαž“αž”αž„αŸ’αž€αžΎαž αžŠαŸ‚αž›αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ multiOTP αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αž»αŸ‡αžˆαŸ’αž˜αŸ„αŸ‡αŸ” αž…αŸ†αžŽαžΆαŸ†αžαžΆαžˆαŸ’αž˜αŸ„αŸ‡αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ Session αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‘αž‘αž½αž›αž˜αžšαžαž€αž–αžΈαž€αŸ’αžšαž»αž˜αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ AAA αž…αž˜αŸ’αž”αž„αŸ–

αž…αžΌαž›αž‘αŸ…αž€αžΆαž“αŸ‹ 2FA (αž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž–αžΈαžšαž€αžαŸ’αžαžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ ASA SSL VPN)
αž’αž“αž»αžœαžαŸ’αžαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž“αž·αž„

αž‡αŸ†αž αžΆαž“αž‘αžΈ 6 αž αŸ…αžαžΆαž…αž»αž„αž€αŸ’αžšαŸ„αž™
αžαŸ„αŸ‡αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αžαžΆαžαžΎαž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž–αžΈαžšαž€αžαŸ’αžαžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ SLL VPN αžŠαŸ‚αžšαž¬αž‘αŸαŸ–

αž…αžΌαž›αž‘αŸ…αž€αžΆαž“αŸ‹ 2FA (αž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž–αžΈαžšαž€αžαŸ’αžαžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ ASA SSL VPN)
αž’αžΈαž™αŸ‰αžΆ! αž“αŸ…αž–αŸαž›αž—αŸ’αž‡αžΆαž”αŸ‹αžαžΆαž˜αžšαž™αŸˆ Cisco AnyConnect VPN Client αž’αŸ’αž“αž€αž€αŸαž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαž½αžšαžšαž€αž›αŸαžαžŸαž˜αŸ’αž„αžΆαžαŸ‹αž˜αž½αž™αžŠαž„αž•αž„αžŠαŸ‚αžšαŸ”

αžαŸ’αž‰αž»αŸ†αžŸαž„αŸ’αžƒαžΉαž˜αžαžΆαž’αžαŸ’αžαž”αž‘αž“αŸαŸ‡αž“αžΉαž„αž‡αž½αž™αž“αžšαžŽαžΆαž˜αŸ’αž“αžΆαž€αŸ‹ αž αžΎαž™αžœαžΆαž“αžΉαž„αž•αŸ’αžαž›αŸ‹αž’αžΆαž αžΆαžšαžŠαž›αŸ‹αž“αžšαžŽαžΆαž˜αŸ’αž“αžΆαž€αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž‚αž·αžαž’αŸ†αž–αžΈαžšαž”αŸ€αž”αž”αŸ’αžšαžΎαžœαžΆ αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒ αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ OTP αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αž·αž…αŸ’αž…αž€αžΆαžšαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαŸ” αž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αžαž·αž™αŸ„αž”αž›αŸ‹αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž…αž„αŸ‹αŸ”

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹