Go to 2FA (Двухфакторная аутСнтификация для ASA SSL VPN)

ΠŸΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ доступ ΠΊ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ срСдС Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ всС Ρ‡Π°Ρ‰Π΅ ΠΈ Ρ‡Π°Ρ‰Π΅, Π½Π΅ Π²Π°ΠΆΠ½ΠΎ, Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ свои ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΈΠ»ΠΈ ΠΏΠ°Ρ€Ρ‚Π½Π΅Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ доступ ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΌΡƒ сСрвСру Π² вашСй ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Для этих Ρ†Π΅Π»Π΅ΠΉ, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ VPN, Π·Π°Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π²ΡˆΡƒΡŽ сСбя, ΠΊΠ°ΠΊ Π½Π°Π΄Π΅ΠΆΠ½ΠΎ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹ΠΉ способ прСдоставлСния доступа ΠΊ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ рСсурсам ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Моя компания Π½Π΅ стала ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ, ΠΈ ΠΌΡ‹ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅, ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ этой Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ. И, ΠΊΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ, Π² качСствС шлюза ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ доступа β€” Cisco ASA 55xx.

ΠŸΡ€ΠΈ возрастании количСства ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ появляСтся ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΡΡ‚ΡŒ Π² ΠΎΠ±Π»Π΅Π³Ρ‡Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π²Ρ‹Π΄Π°Ρ‡ΠΈ ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Но Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π΅ Π² ΡƒΡ‰Π΅Ρ€Π± бСзопасности.

Для сСбя ΠΌΡ‹ нашли Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π΄Π²ΡƒΡ…Ρ„Π°ΠΊΡ‚ΠΎΡ€Π½ΠΎΠΉ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΠΎ Cisco SSL VPN, с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΡ€Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ. И эта публикация расскаТСт, ΠΊΠ°ΠΊ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π·Π°Ρ‚Ρ€Π°Ρ‚Π°ΠΌΠΈ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ с Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌΠΈ Π·Π°Ρ‚Ρ€Π°Ρ‚Π°ΠΌΠΈ Π½Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ софт (с условиСм, Ρ‡Ρ‚ΠΎ Cisco ASA Π² вашСй инфраструктурС ΡƒΠΆΠ΅ имССтся).

Π Ρ‹Π½ΠΎΠΊ ΠΈΠ·ΠΎΠ±ΠΈΠ»ΡƒΠ΅Ρ‚ ΠΊΠΎΡ€ΠΎΠ±ΠΎΡ‡Π½Ρ‹ΠΌΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΠ΄Π½ΠΎΡ€Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ, ΠΏΡ€ΠΈ этом прСдлагая массу Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΏΠΎ ΠΈΡ… ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡŽ, Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ отсылка пароля посрСдством SMS ΠΈΠ»ΠΈ использованиС Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ², ΠΊΠ°ΠΊ Β«ΠΆΠ΅Π»Π΅Π·Π½Ρ‹Ρ…Β», Ρ‚Π°ΠΊ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… (ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ Π½Π° мобильном Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π΅). Но тяга ΠΊ экономии ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΡΠ±Π΅Ρ€Π΅Ρ‡ΡŒ Π΄Π΅Π½Π΅Π³ для своСго работодатСля, Π² условиях Π½Ρ‹Π½Π΅ΡˆΠ½Π΅Π³ΠΎ кризиса заставили мСня Π½Π°ΠΉΡ‚ΠΈ бСсплатный способ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ сСрвис ΠΏΠΎ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΠ΄Π½ΠΎΡ€Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ. ΠšΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, ΠΏΡ€ΠΈ своСй бСсплатности, ΠΌΠ°Π»ΠΎ Ρ‡Π΅ΠΌ уступаСт коммСрчСским Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌ (Ρ‚ΡƒΡ‚ слСдуСт ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒΡΡ, ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΠ², Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΈ ΠΊΠΎΠΌΠΌΠ΅Ρ€Ρ‡Π΅ΡΠΊΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ, Π½ΠΎ ΠΌΡ‹ ΠΆΠ΅ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈΡΡŒ, Ρ‡Ρ‚ΠΎ Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹, Π² Π΄Π΅Π½ΡŒΠ³Π°Ρ…, Ρƒ нас Π±ΡƒΠ΄ΡƒΡ‚ Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌΠΈ).

Π˜Ρ‚Π°ΠΊ, Π½Π°ΠΌ понадобятся:

β€” ΠžΠ±Ρ€Π°Π· Linux со встроСнным Π½Π°Π±ΠΎΡ€ΠΎΠΌ инструмСнтов β€” multiOTP, FreeRADIUS ΠΈ nginx, для доступа ΠΊ сСрвСру ΠΏΠΎ Π²Π΅Π± (http://download.multiotp.net/ β€” я использовал Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π· для VMware)
β€” Π‘Π΅Ρ€Π²Π΅Ρ€ Active Directory
β€” БобствСнно Cisco ASA (я, для удобства, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ ASDM)
β€” Π›ΡŽΠ±ΠΎΠΉ софтвСрный Ρ‚ΠΎΠΊΠ΅Π½, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ TOTP (Π―, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Google Authenticator, Π½ΠΎ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ Ρ‚ΠΎΡ‚ ΠΆΠ΅ FreeOTP)

НС стану Π²Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π² подробности разворачивания ΠΎΠ±Ρ€Π°Π·Π°. На Π²Ρ‹Ρ…ΠΎΠ΄Π΅ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Debian Linux с ΡƒΠΆΠ΅ установлСнными multiOTP ΠΈ FreeRADIUS, настроСнными для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² связкС ΠΈ web-интСрфСйс для администрирования OTP.

Π¨Π°Π³ 1. Π˜Π½ΠΈΡ†ΠΈΠΈΡ€ΡƒΠ΅ΠΌ систСму ΠΈ настраиваСм ΠΏΠΎΠ΄ свою ΡΠ΅Ρ‚ΡŒ
По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ систСма поставляСтся с ΡƒΡ‡Π΅Ρ‚Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ root root. Π”ΡƒΠΌΠ°ΡŽ, всС догадались, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΡΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ root, послС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π»ΠΎΠ³ΠΈΠ½Π°. Π’Π°ΠΊ ΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ настройки сСти (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ это ‘192.168.1.44’ c шлюзом ‘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-ΠΊΠΎΠ΄ для Ρ‚ΠΎΠΊΠ΅Π½Π°
Π—Π΄Π΅ΡΡŒ всС ΠΏΡ€Π΅Π΄Π΅Π»ΡŒΠ½ΠΎ просто. ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Π²Π΅Π±-интСрфСйс ОВП-сСрвСра Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅, логинимся (Π½Π΅ Π·Π°Π±Ρ‹Π²Π°Π΅ΠΌ ΡΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ для Π°Π΄ΠΌΠΈΠ½Π°, установлСнный ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ!), ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«PrintΒ»:

Go to 2FA (Двухфакторная аутСнтификация для ASA SSL VPN)
Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ этого дСйствия Π±ΡƒΠ΄Π΅Ρ‚ страница, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ содСрТится Π΄Π²Π° QR-ΠΊΠΎΠ΄Π°. ΠœΡ‹ смСло Π·Π°Π±ΠΈΠ²Π°Π΅ΠΌ Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… (Π½Π΅ смотря Π½Π° ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ надпись Google Authenticator / Authenticator / 2 Steps Authenticator), ΠΈ ΠΎΠΏΡΡ‚ΡŒ ΠΆΠ΅ смСло сканируСм Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΊΠΎΠ΄ Π² софтвСрный Ρ‚ΠΎΠΊΠ΅Π½ Π½Π° Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π΅:

Go to 2FA (Двухфакторная аутСнтификация для ASA SSL VPN)
(Π΄Π°, я Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎ ΠΏΠΎΠ΄ΠΏΠΎΡ€Ρ‚ΠΈΠ» QR-ΠΊΠΎΠ΄, Ρ‡Ρ‚ΠΎΠ± ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π΅Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ).

ПослС ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ… дСйствий Ρƒ вас Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ Ρ‚Ρ€ΠΈΠ΄Ρ†Π°Ρ‚ΡŒ сСкунд, Π½Π°Ρ‡Π½Π΅Ρ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡˆΠ΅ΡΡ‚ΠΈΡ†ΠΈΡ„Π΅Ρ€Π½Ρ‹ΠΉ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ.

Для вСрности ΠΌΠΎΠΆΠ½ΠΎ произвСсти ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ, Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ интСрфСйсС:

Go to 2FA (Двухфакторная аутСнтификация для ASA SSL VPN)
Π’Π±ΠΈΠ² имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΈ ΠΎΠ΄Π½ΠΎΡ€Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΈΠ· прилоТСния Π½Π° Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π΅. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚? Π—Π½Π°Ρ‡ΠΈΡ‚ двигаСмся дальшС.

Π¨Π°Π³ 4. ДонастраиваСм ΠΈ тСстируСм Ρ€Π°Π±ΠΎΡ‚Ρƒ FreeRADIUS
Как я ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π» Π²Ρ‹ΡˆΠ΅ β€” multiOTP ΡƒΠΆΠ΅ настроСн для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с FreeRADIUS, Π½Π° остаСтся провСсти тСсты ΠΈ внСсти Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» FreeRADIUS ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ нашСм VPN-шлюзС.

ВозвращаСмся Π² консоль сСрвСра, Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ /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-сСрвСра, testing321 β€” ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° 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:

Go to 2FA (Двухфакторная аутСнтификация для ASA SSL VPN)
2. ДобавляСм Π² Π³Ρ€ΡƒΠΏΠΏΡƒ наш multiOTP сСрвСр:

Go to 2FA (Двухфакторная аутСнтификация для ASA SSL VPN)
3. ΠŸΡ€Π°Π²ΠΈΠΌ ΠΏΡ€ΠΎΡ„Π°ΠΉΠ» ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, выставив Π² качСствС основного сСрвСра Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π³Ρ€ΡƒΠΏΠΏΡƒ сСрвСров Active Directory:

Go to 2FA (Двухфакторная аутСнтификация для ASA SSL VPN)
4. На Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Advanced -> Authentification Ρ‚Π°ΠΊ ΠΆΠ΅ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π³Ρ€ΡƒΠΏΠΏΡƒ сСрвСров Active Directory:

Go to 2FA (Двухфакторная аутСнтификация для ASA SSL VPN)
5. На Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Advanced -> Secondary authentification Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΡΠΎΠ·Π΄Π°Π½Π½ΡƒΡŽ Π³Ρ€ΡƒΠΏΠΏΡƒ сСрвСров, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ прописан multiOTP-сСрвСр. ΠžΡ‚ΠΌΠ΅Ρ‡Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Session username наслСдуСтся ΠΈΠ· ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ сСрвСров ААА:

Go to 2FA (Двухфакторная аутСнтификация для ASA SSL VPN)
ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ настройки ΠΈ

Шаг 6, он ТС послСдний
ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π»ΠΈ Ρƒ нас двухфакторная аутСнтификация для SLL VPN:

Go to 2FA (Двухфакторная аутСнтификация для ASA SSL VPN)
Π’ΡƒΠ°-ля! ΠŸΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ посрСдством Cisco AnyConnect VPN Client Ρ‚Π°ΠΊ ΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒΡΡ Π²Ρ‚ΠΎΡ€ΠΎΠΉ, ΠΎΠ΄Π½ΠΎΡ€Π°Π·ΠΎΠ²Ρ‹ΠΉ, ΠΏΠ°Ρ€ΠΎΠ»ΡŒ.

НадСюсь, Ρ‡Ρ‚ΠΎ данная ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ, ΠΈ Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ ΠΎΠ½Π° даст ΠΏΠΈΡ‰Ρƒ для Ρ€Π°Π·ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΠΉ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΉ, бСсплатный ОВП-сСрвСр, для Π΄Ρ€ΡƒΠ³ΠΈΡ… Π·Π°Π΄Π°Ρ‡. Π”Π΅Π»ΠΈΡ‚Π΅ΡΡŒ Π² коммСнтариях, Ссли Π±ΡƒΠ΄Π΅Ρ‚ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com