2FA๋กœ ์ด๋™(ASA SSL VPN์— ๋Œ€ํ•œ XNUMX๋‹จ๊ณ„ ์ธ์ฆ)

์กฐ์ง์˜ ํŠน์ • ์„œ๋ฒ„์— ์•ก์„ธ์Šคํ•ด์•ผ ํ•˜๋Š” ์‚ฌ๋žŒ์ด ์‚ฌ์šฉ์ž์ธ์ง€ ํŒŒํŠธ๋„ˆ์ธ์ง€์— ๊ด€๊ณ„์—†์ด ๊ธฐ์—… ํ™˜๊ฒฝ์— ๋Œ€ํ•œ ์›๊ฒฉ ์•ก์„ธ์Šค๋ฅผ ์ œ๊ณตํ•ด์•ผ ํ•˜๋Š” ํ•„์š”์„ฑ์ด ์ ์  ๋” ์ž์ฃผ ๋Œ€๋‘๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๋ชฉ์ ์„ ์œ„ํ•ด ๋Œ€๋ถ€๋ถ„์˜ ํšŒ์‚ฌ๋Š” ์กฐ์ง์˜ ๋กœ์ปฌ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ์•ˆ์ •์ ์œผ๋กœ ๋ณดํ˜ธ๋˜๋Š” ๋ฐฉ๋ฒ•์ž„์ด ์ž…์ฆ๋œ VPN ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ ํšŒ์‚ฌ๋„ ์˜ˆ์™ธ๋Š” ์•„๋‹ˆ์—ˆ๊ณ  ๋‹ค๋ฅธ ๋งŽ์€ ํšŒ์‚ฌ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์šฐ๋ฆฌ๋„ ์ด ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‹ค๋ฅธ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ Cisco ASA 55xx๋ฅผ ์›๊ฒฉ ์•ก์„ธ์Šค ๊ฒŒ์ดํŠธ์›จ์ด๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์›๊ฒฉ ์‚ฌ์šฉ์ž ์ˆ˜๊ฐ€ ์ฆ๊ฐ€ํ•จ์— ๋”ฐ๋ผ ์ž๊ฒฉ์ฆ๋ช… ๋ฐœ๊ธ‰ ์ ˆ์ฐจ๋ฅผ ๋‹จ์ˆœํ™”ํ•  ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋™์‹œ์— ์ด๋Š” ์•ˆ์ „์„ ์นจํ•ดํ•˜์ง€ ์•Š๊ณ  ์ˆ˜ํ–‰๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ์ผํšŒ์šฉ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Cisco SSL VPN์„ ํ†ตํ•ด ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ด์ค‘ ์ธ์ฆ์„ ์‚ฌ์šฉํ•˜๋Š” ์†”๋ฃจ์…˜์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ์ถœํŒ๋ฌผ์—์„œ๋Š” ํ•„์š”ํ•œ ์†Œํ”„ํŠธ์›จ์–ด์— ๋Œ€ํ•ด ์ตœ์†Œํ•œ์˜ ์‹œ๊ฐ„๊ณผ ๋น„์šฉ์œผ๋กœ ์ด๋Ÿฌํ•œ ์†”๋ฃจ์…˜์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค์ค๋‹ˆ๋‹ค(์ธํ”„๋ผ์— ์ด๋ฏธ Cisco ASA๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ).

์‹œ์žฅ์—๋Š” ์ผํšŒ์„ฑ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๋ฐ•์Šคํ˜• ์†”๋ฃจ์…˜์ด ํ’๋ถ€ํ•˜๋ฉฐ, SMS๋ฅผ ํ†ตํ•ด ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋ณด๋‚ด๊ฑฐ๋‚˜ ํ•˜๋“œ์›จ์–ด์™€ ์†Œํ”„ํŠธ์›จ์–ด(์˜ˆ: ํœด๋Œ€ํฐ) ๋ชจ๋‘์—์„œ ํ† ํฐ์„ ์‚ฌ์šฉํ•˜๋Š” ๋“ฑ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์–ป๊ธฐ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ์˜ต์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํ˜„์žฌ์˜ ์œ„๊ธฐ ์ƒํ™ฉ์—์„œ ๋ˆ์„ ์ ˆ์•ฝํ•˜๊ณ  ๊ณ ์šฉ์ฃผ๋ฅผ ์œ„ํ•ด ๋ˆ์„ ์ ˆ์•ฝํ•˜๋ ค๋Š” ์š•๊ตฌ๋กœ ์ธํ•ด ์ผํšŒ์šฉ ์•”ํ˜ธ ์ƒ์„ฑ ์„œ๋น„์Šค๋ฅผ ๋ฌด๋ฃŒ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฌด๋ฃŒ์ด์ง€๋งŒ ์ƒ์—…์šฉ ์†”๋ฃจ์…˜๋ณด๋‹ค ์—ด๋“ฑํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ์ด ์ œํ’ˆ์—๋„ ์ƒ์—…์šฉ ๋ฒ„์ „์ด ์žˆ๋‹ค๋Š” ์ ์„ ์ฐธ๊ณ ํ•˜์—ฌ ์˜ˆ์•ฝํ•ด์•ผ ํ•˜์ง€๋งŒ ๊ธˆ์ „์  ๋น„์šฉ์€ XNUMX์ด ๋  ๊ฒƒ์ด๋ผ๋Š” ๋ฐ ๋™์˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๋‹ค์Œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

- ์›น์„ ํ†ตํ•ด ์„œ๋ฒ„์— ์•ก์„ธ์Šคํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ ์„ธํŠธ๊ฐ€ ๋‚ด์žฅ๋œ Linux ์ด๋ฏธ์ง€(multiOTP, FreeRADIUS ๋ฐ nginx)(http://download.multiotp.net/ - VMware์šฉ์œผ๋กœ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด์ง„ ์ด๋ฏธ์ง€ ์‚ฌ์šฉ)
โ€” ์•กํ‹ฐ๋ธŒ ๋””๋ ‰ํ† ๋ฆฌ ์„œ๋ฒ„
โ€” Cisco ASA ์ž์ฒด(ํŽธ์˜์ƒ ASDM์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค)
โ€” TOTP ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ง€์›ํ•˜๋Š” ๋ชจ๋“  ์†Œํ”„ํŠธ์›จ์–ด ํ† ํฐ(์˜ˆ๋ฅผ ๋“ค์–ด ์ €๋Š” Google Authenticator๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ ๋™์ผํ•œ FreeOTP๋„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค)

์ด๋ฏธ์ง€๊ฐ€ ์–ด๋–ป๊ฒŒ ์ „๊ฐœ๋˜๋Š”์ง€ ์ž์„ธํžˆ ์„ค๋ช…ํ•˜์ง€ ์•Š๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ, ์ด๋ฏธ multiOTP์™€ FreeRADIUS๊ฐ€ ์„ค์น˜๋˜์–ด ํ•จ๊ป˜ ์ž‘๋™ํ•˜๋„๋ก ๊ตฌ์„ฑ๋œ Debian Linux์™€ OTP ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ์›น ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

1๋‹จ๊ณ„. ์‹œ์Šคํ…œ์„ ์‹œ์ž‘ํ•˜๊ณ  ๋„คํŠธ์›Œํฌ์— ๋งž๊ฒŒ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.
๊ธฐ๋ณธ์ ์œผ๋กœ ์‹œ์Šคํ…œ์—๋Š” ๋ฃจํŠธ ๋ฃจํŠธ ์ž๊ฒฉ ์ฆ๋ช…์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์ฒ˜์Œ ๋กœ๊ทธ์ธํ•œ ํ›„ ๋ฃจํŠธ ์‚ฌ์šฉ์ž ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์ด ์ข‹์„ ๊ฒƒ์ด๋ผ๊ณ  ๋‹ค๋“ค ์ง์ž‘ํ•˜์…จ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ๋„คํŠธ์›Œํฌ ์„ค์ •์„ ๋ณ€๊ฒฝํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(๊ธฐ๋ณธ์ ์œผ๋กœ ๊ฒŒ์ดํŠธ์›จ์ด๋Š” '192.168.1.44'์ด๊ณ  '192.168.1.1'์ž…๋‹ˆ๋‹ค). ๊ทธ๋Ÿฐ ๋‹ค์Œ ์‹œ์Šคํ…œ์„ ์žฌ๋ถ€ํŒ…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Active Directory์—์„œ ์‚ฌ์šฉ์ž๋ฅผ ์ƒ์„ฑํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. otp, ๋น„๋ฐ€๋ฒˆํ˜ธ ํฌํ•จ ๋‚˜์˜์Šˆํผ๋น„๋ฐ€๋ฒˆํ˜ธ.

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

์ผํšŒ์šฉ PIN(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์— ๋Œ€ํ•œ XNUMX๋‹จ๊ณ„ ์ธ์ฆ)
์ด ์ž‘์—…์˜ ๊ฒฐ๊ณผ๋Š” ๋‘ ๊ฐœ์˜ QR ์ฝ”๋“œ๊ฐ€ ํฌํ•จ๋œ ํŽ˜์ด์ง€๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๊ทธ ์ค‘ ์ฒซ ๋ฒˆ์งธ ์ฝ”๋“œ๋ฅผ ๋Œ€๋‹ดํ•˜๊ฒŒ ๋ฌด์‹œํ•˜๊ณ (Google Authenticator / Authenticator / 2 Steps Authenticator๋ผ๋Š” ๋งค๋ ฅ์ ์ธ ๋น„๋ฌธ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ ) ๋‹ค์‹œ ๋Œ€๋‹ดํ•˜๊ฒŒ ๋‘ ๋ฒˆ์งธ ์ฝ”๋“œ๋ฅผ ์ „ํ™”์˜ ์†Œํ”„ํŠธ์›จ์–ด ํ† ํฐ์œผ๋กœ ์Šค์บ”ํ•ฉ๋‹ˆ๋‹ค.

2FA๋กœ ์ด๋™(ASA SSL VPN์— ๋Œ€ํ•œ XNUMX๋‹จ๊ณ„ ์ธ์ฆ)
(์˜ˆ, QR ์ฝ”๋“œ๋ฅผ ์ฝ์„ ์ˆ˜ ์—†๋„๋ก ์˜๋„์ ์œผ๋กœ ์†์ƒ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค.)

์ด๋Ÿฌํ•œ ์ž‘์—…์„ ์™„๋ฃŒํ•˜๋ฉด XNUMX์ดˆ๋งˆ๋‹ค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ XNUMX์ž๋ฆฌ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์ƒ์„ฑ๋˜๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

ํ™•์‹คํžˆ ํ•˜๋ ค๋ฉด ๋™์ผํ•œ ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2FA๋กœ ์ด๋™(ASA SSL VPN์— ๋Œ€ํ•œ XNUMX๋‹จ๊ณ„ ์ธ์ฆ)
ํœด๋Œ€ํฐ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์žˆ๋Š” ์‚ฌ์šฉ์ž ์ด๋ฆ„๊ณผ ์ผํšŒ์šฉ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๊ธ์ •์ ์ธ ๋‹ต๋ณ€์„ ๋ฐ›์•˜๋‚˜์š”? ๊ทธ๋Ÿผ ๊ณ„์† ์ง„ํ–‰ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

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) ๋‹ค์Œ๊ณผ ๊ด€๋ จ๋œ ๋ชจ๋“  ์ค„์„ ์ฃผ์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๋กœ์ปฌ ํ˜ธ์ŠคํŠธ ๋‘ ๊ฐœ์˜ ํ•ญ๋ชฉ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

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

์–ด๋””์—์„œ ์‚ฌ์šฉ์ž ์ด๋ฆ„ = ์‚ฌ์šฉ์ž ์ด๋ฆ„, 100110 = ์ „ํ™” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ œ๊ณตํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ, ๋กœ์ปฌ ํ˜ธ์ŠคํŠธ = 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 ๊ตฌ์„ฑ
Active Directory์™€ ํ•จ๊ป˜ ๊ตฌ์„ฑ๋œ SLL VPN์„ ํ†ตํ•œ ์•ก์„ธ์Šค๋ฅผ ์œ„ํ•œ ๊ทธ๋ฃน ๋ฐ ์ •์ฑ…์ด ์ด๋ฏธ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์œผ๋ฉฐ ์ด ํ”„๋กœํ•„์— ๋Œ€ํ•œ XNUMX๋‹จ๊ณ„ ์ธ์ฆ์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ ์— ๋™์˜ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

1. ์ƒˆ AAA ์„œ๋ฒ„ ๊ทธ๋ฃน์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

2FA๋กœ ์ด๋™(ASA SSL VPN์— ๋Œ€ํ•œ XNUMX๋‹จ๊ณ„ ์ธ์ฆ)
2. ๋ฉ€ํ‹ฐOTP ์„œ๋ฒ„๋ฅผ ๊ทธ๋ฃน์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค:

2FA๋กœ ์ด๋™(ASA SSL VPN์— ๋Œ€ํ•œ XNUMX๋‹จ๊ณ„ ์ธ์ฆ)
3. ํŽธ์ง‘ํ•œ๋‹ค ์—ฐ๊ฒฐ ํ”„๋กœํ•„, Active Directory ์„œ๋ฒ„ ๊ทธ๋ฃน์„ ๊ธฐ๋ณธ ์ธ์ฆ ์„œ๋ฒ„๋กœ ์„ค์ •:

2FA๋กœ ์ด๋™(ASA SSL VPN์— ๋Œ€ํ•œ XNUMX๋‹จ๊ณ„ ์ธ์ฆ)
4. ํƒญ ๊ณ ๊ธ‰ -> ์ธ์ฆ ๋˜ํ•œ Active Directory ์„œ๋ฒ„ ๊ทธ๋ฃน์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

2FA๋กœ ์ด๋™(ASA SSL VPN์— ๋Œ€ํ•œ XNUMX๋‹จ๊ณ„ ์ธ์ฆ)
5. ํƒญ ๊ณ ๊ธ‰ -> ๋ณด์กฐ ์ธ์ฆ์„ ์œ„ํ•ด์„œ๋Š” ํ•ด๋‹น ๋ฉ€ํ‹ฐOTP ์„œ๋ฒ„๊ฐ€ ๋“ฑ๋ก๋˜์–ด ์žˆ๋Š” ์ƒ์„ฑ๋œ ์„œ๋ฒ„ ๊ทธ๋ฃน์„ ์„ ํƒํ•˜์„ธ์š”. ์„ธ์…˜ ์‚ฌ์šฉ์ž ์ด๋ฆ„์€ ๊ธฐ๋ณธ AAA ์„œ๋ฒ„ ๊ทธ๋ฃน์—์„œ ์ƒ์†๋ฉ๋‹ˆ๋‹ค.

2FA๋กœ ์ด๋™(ASA SSL VPN์— ๋Œ€ํ•œ XNUMX๋‹จ๊ณ„ ์ธ์ฆ)
์„ค์ •์„ ์ ์šฉํ•˜๊ณ 

6๋‹จ๊ณ„, ๋งˆ์ง€๋ง‰ ๋‹จ๊ณ„๋ผ๊ณ ๋„ ํ•จ
SLL VPN์— ๋Œ€ํ•ด XNUMX๋‹จ๊ณ„ ์ธ์ฆ์ด ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

2FA๋กœ ์ด๋™(ASA SSL VPN์— ๋Œ€ํ•œ XNUMX๋‹จ๊ณ„ ์ธ์ฆ)
์งœ์ž”! Cisco AnyConnect VPN ํด๋ผ์ด์–ธํŠธ๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐํ•  ๋•Œ ๋‘ ๋ฒˆ์งธ ์ผํšŒ์šฉ ๋น„๋ฐ€๋ฒˆํ˜ธ๋„ ์ž…๋ ฅํ•˜๋ผ๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

์ด ๊ธ€์ด ๋ˆ„๊ตฐ๊ฐ€์—๊ฒŒ ๋„์›€์ด ๋˜๊ธฐ๋ฅผ ๋ฐ”๋ผ๋ฉฐ, ๋ˆ„๊ตฐ๊ฐ€์—๊ฒŒ ์ด ๊ธ€์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ƒ๊ฐํ•  ๊ฑฐ๋ฆฌ๋ฅผ ์ค„ ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๋ฌด๋ฃŒ ๊ธฐํƒ€ ์ž‘์—…์„ ์œ„ํ•œ OTP ์„œ๋ฒ„. ์›ํ•˜์‹œ๋ฉด ๋Œ“๊ธ€๋กœ ๊ณต์œ ํ•ด์ฃผ์„ธ์š”.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€