์ด ๊ธฐ์ฌ์์๋ ํ์ฌ ๊ฐ์ฅ ํ์ฅ ๊ฐ๋ฅํ ์ฒด๊ณ๋ฅผ ์ ์ํ๊ฒ ๋ฐฐํฌํ ์ ์๋ ๋ฐฉ๋ฒ์ ๋ํ ๋จ๊ณ๋ณ ์ง์นจ์ ์ ๊ณตํ๊ณ ์ ํฉ๋๋ค. ์๊ฒฉ ์ก์ธ์ค VPN ์ก์ธ์ค ๊ธฐ๋ฐ AnyConnect ๋ฐ Cisco ASA - VPN ๋ถํ ๋ถ์ฐ ํด๋ฌ์คํฐ.
๋์์: ์ฝ๋ก๋19๋ก ์ธํ ํ ์ํฉ์ ๊ฐ์ํ์ฌ ์ ์ธ๊ณ ๋ง์ ๊ธฐ์ ๋ค์ด ์ง์๋ค์ ์๊ฒฉ๊ทผ๋ฌด ์ ํ์ ์ํด ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค. ์๊ฒฉ ์์ ์ผ๋ก์ ๋๊ท๋ชจ ์ ํ์ผ๋ก ์ธํด ํ์ฌ์ ๊ธฐ์กด VPN ๊ฒ์ดํธ์จ์ด์ ๋ํ ๋ถํ๊ฐ ํฌ๊ฒ ์ฆ๊ฐํ๊ณ ์์ผ๋ฉฐ ์ด๋ฅผ ํ์ฅํ ์ ์๋ ๋งค์ฐ ๋น ๋ฅธ ๊ธฐ๋ฅ์ด ํ์ํฉ๋๋ค. ๋ฐ๋ฉด์ ๋ง์ ํ์ฌ๋ ์ฒ์๋ถํฐ ์๊ฒฉ ์์ ์ ๊ฐ๋ ์ ์๋๋ฌ ๋ง์คํฐํด์ผ ํฉ๋๋ค.
๊ธฐ์
์ด ๊ฐ๋ฅํ ํ ์ต๋จ ์๊ฐ ๋ด์ ์ง์์ ์ํ ํธ๋ฆฌํ๊ณ ์์ ํ๋ฉฐ ํ์ฅ ๊ฐ๋ฅํ VPN ์ก์ธ์ค๋ฅผ ๋ฌ์ฑํ ์ ์๋๋ก Cisco๋ ์ต๋ 13์ฃผ ๋์ ํ๋ถํ ๊ธฐ๋ฅ์ AnyConnect SSL VPN ํด๋ผ์ด์ธํธ์ ๋ผ์ด์ผ์ค๋ฅผ ๋ถ์ฌํฉ๋๋ค.
๊ฐ์ฅ ํ์ฅ์ฑ์ด ๋ฐ์ด๋ VPN ๊ธฐ์ ์ธ VPN Load-Balancing Cluster์ ๊ฐ๋จํ ๋ฐฐํฌ๋ฅผ ์ํ ๋จ๊ณ๋ณ ๊ฐ์ด๋๋ฅผ ์ค๋นํ์ต๋๋ค.
์๋์ ์๋ ์ฌ์ฉ๋ ์ธ์ฆ ๋ฐ ๊ถํ ๋ถ์ฌ ์๊ณ ๋ฆฌ์ฆ ์ธก๋ฉด์์ ๋งค์ฐ ๊ฐ๋จํ์ง๋ง ๋ฐฐํฌ ์ค ์๊ตฌ ์ฌํญ์ ๋ํ ์ฌ์ธต ์ ์ ๊ฐ๋ฅ์ฑ๊ณผ ํจ๊ป ๋น ๋ฅธ ์์(ํ์ฌ ๋ง์ ๊ฒฝ์ฐ ์ถฉ๋ถํ์ง ์์)์ ์ํ ์ข์ ์ต์ ์ด ๋ ๊ฒ์ ๋๋ค. ํ๋ก์ธ์ค.
๊ฐ๋ตํ ์ ๋ณด: VPN ๋ก๋ ๋ฐธ๋ฐ์ฑ ํด๋ฌ์คํฐ ๊ธฐ์ ์ ๊ธฐ๋ณธ ์๋ฏธ์์ ์ฅ์ ์กฐ์น๋ ํด๋ฌ์คํฐ๋ง ๊ธฐ๋ฅ์ด ์๋๋๋ค. ์ด ๊ธฐ์ ์ ์๊ฒฉ ์ก์ธ์ค VPN ์ฐ๊ฒฐ์ ๋ก๋ ๋ฐธ๋ฐ์ฑ์ ์ํด ์์ ํ ๋ค๋ฅธ ASA ๋ชจ๋ธ(ํน์ ์ ํ ์์)์ ๊ฒฐํฉํ ์ ์์ต๋๋ค. ์ด๋ฌํ ํด๋ฌ์คํฐ์ ๋ ธ๋ ๊ฐ์๋ ์ธ์ ๋ฐ ๊ตฌ์ฑ์ ๋๊ธฐํ๊ฐ ์์ง๋ง ํด๋ฌ์คํฐ์ ์ต์ํ ํ๋์ ํ์ฑ ๋ ธ๋๊ฐ ๋จ์ ๋๊น์ง ์๋์ผ๋ก VPN ์ฐ๊ฒฐ์ ๋ถํ๋ฅผ ๋ถ์ฐํ๊ณ VPN ์ฐ๊ฒฐ์ ๋ด๊ฒฐํจ์ฑ์ ๋ณด์ฅํ ์ ์์ต๋๋ค. ํด๋ฌ์คํฐ์ ๋ก๋๋ VPN ์ธ์ ์์ ๋ฐ๋ผ ๋ ธ๋์ ์ํฌ๋ก๋์ ๋ฐ๋ผ ์๋์ผ๋ก ๊ท ํ์ ์ด๋ฃน๋๋ค.
ํด๋ฌ์คํฐ์ ํน์ ๋ ธ๋์ ๋ํ ์ฅ์ ์กฐ์น(ํ์ํ ๊ฒฝ์ฐ)์ ๊ฒฝ์ฐ ํ์ผ๋ฌ๋ฅผ ์ฌ์ฉํ ์ ์์ผ๋ฏ๋ก ํ์ผ๋ฌ์ ๊ธฐ๋ณธ ๋ ธ๋์์ ํ์ฑ ์ฐ๊ฒฐ์ ์ฒ๋ฆฌํฉ๋๋ค. ํ์ผ ์ค๋ฒ๋ ๋ก๋ ๋ฐธ๋ฐ์ฑ ํด๋ฌ์คํฐ ๋ด ๋ด๊ฒฐํจ์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํ ํ์ ์กฐ๊ฑด์ด ์๋๋ฉฐ, ํด๋ฌ์คํฐ ์์ฒด๋ ๋ ธ๋ ์ฅ์ ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ์ฌ์ฉ์ ์ธ์ ์ ๋ค๋ฅธ ๋ผ์ด๋ธ ๋ ธ๋๋ก ์ ์กํ์ง๋ง ์ฐ๊ฒฐ ์ํ๋ฅผ ์ ์ฅํ์ง ์์ต๋๋ค. ํ์ผ๋ฌ ์ ๊ณต. ๋ฐ๋ผ์ ํ์์ ๋ฐ๋ผ ์ด ๋ ๊ฐ์ง ๊ธฐ์ ์ ๊ฒฐํฉํ๋ ๊ฒ๋ ๊ฐ๋ฅํ๋ค.
VPN ๋ก๋ ๋ฐธ๋ฐ์ฑ ํด๋ฌ์คํฐ๋ XNUMX๊ฐ ์ด์์ ๋ ธ๋๋ฅผ ํฌํจํ ์ ์์ต๋๋ค.
VPN ๋ถํ ๋ถ์ฐ ํด๋ฌ์คํฐ๋ ASA 5512-X ์ด์์์ ์ง์๋ฉ๋๋ค.
VPN ๋ก๋ ๋ฐธ๋ฐ์ฑ ํด๋ฌ์คํฐ ๋ด์ ๊ฐ ASA๋ ์ค์ ์ธก๋ฉด์์ ๋ ๋ฆฝ์ ์ธ ๋จ์์ด๋ฏ๋ก ๊ฐ ๊ฐ๋ณ ์ฅ์น์์ ๋ชจ๋ ๊ตฌ์ฑ ๋จ๊ณ๋ฅผ ๊ฐ๋ณ์ ์ผ๋ก ์ํํฉ๋๋ค.
์ฃผ์ด์ง ์์ ๋ ผ๋ฆฌ์ ํ ํด๋ก์ง:
๊ธฐ๋ณธ ๋ฐฐํฌ:
-
์ด๋ฏธ์ง์์ ํ์ํ ํ ํ๋ฆฟ(ASAv5/10/30/50)์ ASAv ์ธ์คํด์ค๋ฅผ ๋ฐฐํฌํฉ๋๋ค.
-
์ฐ๋ฆฌ๋ INSIDE / OUTSIDE ์ธํฐํ์ด์ค๋ฅผ ๋์ผํ VLAN์ ํ ๋นํฉ๋๋ค(์์ฒด VLAN์ ์ธ๋ถ, ์์ฒด์ INSIDE, ๊ทธ๋ฌ๋ ์ผ๋ฐ์ ์ผ๋ก ํด๋ฌ์คํฐ ๋ด, ํ ํด๋ก์ง ์ฐธ์กฐ). ๋์ผํ ์ ํ์ ์ธํฐํ์ด์ค๊ฐ ๋์ผํ L2 ์ธ๊ทธ๋จผํธ์ ์๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
-
๋ผ์ด์ผ์ค:
- ํ์ฌ ASAv ์ค์น์๋ ๋ผ์ด์ผ์ค๊ฐ ์์ผ๋ฉฐ 100kbps๋ก ์ ํ๋ฉ๋๋ค.
- ๋ผ์ด์ ์ค๋ฅผ ์ค์นํ๋ ค๋ฉด ์ค๋งํธ ๊ณ์ ์์ ํ ํฐ์ ์์ฑํด์ผ ํฉ๋๋ค.
https://software.cisco.com/ -> ์ค๋งํธ ์ํํธ์จ์ด ๋ผ์ด์ ์ค - ์ด๋ฆฌ๋ ์ฐฝ์์ ๋ฒํผ์ ํด๋ฆญํ์ญ์์ค. ์๋ก์ด ํ ํฐ
- ์ด๋ฆฌ๋ ์ฐฝ์ ํ์ฑ ํ๋๊ฐ ์๊ณ ํ์ธ ํ์๊ฐ ์ ํ๋์ด ์๋์ง ํ์ธํ์ญ์์ค. ์์ถ ํต์ ๊ธฐ๋ฅ ํ์ฉโฆ ์ด ํ๋๊ฐ ํ์ฑํ๋์ด ์์ง ์์ผ๋ฉด ๊ฐ๋ ฅํ ์ํธํ ๋ฐ ๊ทธ์ ๋ฐ๋ฅธ VPN ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด ํ๋๊ฐ ํ์ฑํ๋์ง ์์ ๊ฒฝ์ฐ ํ์ฑํ ์์ฒญ๊ณผ ํจ๊ป ๊ณ์ ํ์ ๋ฌธ์ํ์ญ์์ค.
- ๋ฒํผ์ ๋๋ฅธ ํ ํ ํฐ ์์ฑ, ASAv์ ๋ํ ๋ผ์ด์ผ์ค๋ฅผ ์ป๋ ๋ฐ ์ฌ์ฉํ ํ ํฐ์ด ์์ฑ๋ฉ๋๋ค. ๋ณต์ฌํ์ญ์์ค.
- ๋ฐฐํฌ๋ ๊ฐ ASAv์ ๋ํด C, D, E ๋จ๊ณ๋ฅผ ๋ฐ๋ณตํฉ๋๋ค.
- ํ ํฐ์ ๋ ์ฝ๊ฒ ๋ณต์ฌํ ์ ์๋๋ก ์์๋ก telnet์ ํ์ฉํด ๋ณด๊ฒ ์ต๋๋ค. ๊ฐ ASA๋ฅผ ๊ตฌ์ฑํด ๋ณด๊ฒ ์ต๋๋ค(์๋ ์๋ ASA-1์ ์ค์ ์ ๋ณด์ฌ์ค๋๋ค). ํ ๋ท์ ์ธ๋ถ์์ ์๋ํ์ง ์์ต๋๋ค. ์ ๋ง ํ์ํ๋ค๋ฉด ์ธ๋ถ์์ ๋ณด์ ์์ค์ 100์ผ๋ก ๋ณ๊ฒฝํ ๋ค์ ๋ค์ ๋๋๋ฆฌ์ญ์์ค.
! ciscoasa(config)# int gi0/0 ciscoasa(config)# nameif outside ciscoasa(config)# ip address 192.168.31.30 255.255.255.0 ciscoasa(config)# no shut ! ciscoasa(config)# int gi0/1 ciscoasa(config)# nameif inside ciscoasa(config)# ip address 192.168.255.2 255.255.255.0 ciscoasa(config)# no shut ! ciscoasa(config)# telnet 0 0 inside ciscoasa(config)# username admin password cisco priv 15 ciscoasa(config)# ena password cisco ciscoasa(config)# aaa authentication telnet console LOCAL ! ciscoasa(config)# route outside 0 0 192.168.31.1 ! ciscoasa(config)# wr !
- Smart-Account ํด๋ผ์ฐ๋์ ํ ํฐ์ ๋ฑ๋กํ๋ ค๋ฉด ASA์ ๋ํ ์ธํฐ๋ท ์ก์ธ์ค๋ฅผ ์ ๊ณตํด์ผ ํฉ๋๋ค.
์์ธํ ๋ด์ฉ์ ์ฌ๊ธฐ .
์ฆ, ASA๊ฐ ํ์ํฉ๋๋ค.
- HTTPS๋ฅผ ํตํ ์ธํฐ๋ท ์ก์ธ์ค
- ์๊ฐ ๋๊ธฐํ(๋ณด๋ค ์ ํํ๊ฒ๋ NTP๋ฅผ ํตํด)
- ๋ฑ๋ก๋ DNS ์๋ฒ;
- ASA์ ํ ๋ท์ผ๋ก ์ฐ๊ฒฐํ๊ณ Smart-Account๋ฅผ ํตํด ๋ผ์ด์ ์ค๋ฅผ ํ์ฑํํ๋๋ก ์ค์ ํฉ๋๋ค.
! ciscoasa(config)# clock set 19:21:00 Mar 18 2020 ciscoasa(config)# clock timezone MSK 3 ciscoasa(config)# ntp server 192.168.99.136 ! ciscoasa(config)# dns domain-lookup outside ciscoasa(config)# DNS server-group DefaultDNS ciscoasa(config-dns-server-group)# name-server 192.168.99.132 ! ! ะัะพะฒะตัะธะผ ัะฐะฑะพัั DNS: ! ciscoasa(config-dns-server-group)# ping ya.ru Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 87.250.250.242, timeout is 2 seconds: !!!!! ! ! ะัะพะฒะตัะธะผ ัะธะฝั ัะพะฝะธะทะฐัะธั NTP: ! ciscoasa(config)# show ntp associations address ref clock st when poll reach delay offset disp *~192.168.99.136 91.189.94.4 3 63 64 1 36.7 1.85 17.5 * master (synced), # master (unsynced), + selected, - candidate, ~ configured ! ! ะฃััะฐะฝะพะฒะธะผ ะบะพะฝัะธะณััะฐัะธั ะฝะฐัะตะน ASAv ะดะปั Smart-Licensing (ะฒ ัะพะพัะฒะตัััะฒะธะธ ั ะะฐัะธะผ ะฟัะพัะธะปะตะผ, ะฒ ะผะพะตะผ ัะปััะฐะต 100ะ ะดะปั ะฟัะธะผะตัะฐ) ! ciscoasa(config)# license smart ciscoasa(config-smart-lic)# feature tier standard ciscoasa(config-smart-lic)# throughput level 100M ! ! ะ ัะปััะฐะต ะฝะตะพะฑั ะพะดะธะผะพััะธ ะผะพะถะฝะพ ะฝะฐัััะพะธัั ะดะพัััะฟ ะฒ ะะฝัะตัะฝะตั ัะตัะตะท ะฟัะพะบัะธ ะธัะฟะพะปัะทัะนัะต ัะปะตะดัััะธะน ะฑะปะพะบ ะบะพะผะฐะฝะด: !call-home ! http-proxy ip_address port port ! ! ะะฐะปะตะต ะผั ะฒััะฐะฒะปัะตะผ ัะบะพะฟะธัะพะฒะฐะฝะฝัะน ะธะท ะฟะพััะฐะปะฐ Smart-Account ัะพะบะตะฝ (<token>) ะธ ัะตะณะธัััะธััะตะผ ะปะธัะตะฝะทะธั ! ciscoasa(config)# end ciscoasa# license smart register idtoken <token>
- ์ฅ์น๊ฐ ๋ผ์ด์ ์ค๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ๋ฑ๋กํ๊ณ ์ํธํ ์ต์ ์ ์ฌ์ฉํ ์ ์๋์ง ํ์ธํฉ๋๋ค.
-
๊ฐ ๊ฒ์ดํธ์จ์ด์์ ๊ธฐ๋ณธ SSL-VPN ์ค์
- ๊ทธ๋ฐ ๋ค์ SSH ๋ฐ ASDM์ ํตํด ์ก์ธ์ค๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.
ciscoasa(config)# ssh ver 2 ciscoasa(config)# aaa authentication ssh console LOCAL ciscoasa(config)# aaa authentication http console LOCAL ciscoasa(config)# hostname vpn-demo-1 vpn-demo-1(config)# domain-name ashes.cc vpn-demo-1(config)# cry key gen rsa general-keys modulus 4096 vpn-demo-1(config)# ssh 0 0 inside vpn-demo-1(config)# http 0 0 inside ! ! ะะพะดะฝะธะผะตะผ ัะตัะฒะตั HTTPS ะดะปั ASDM ะฝะฐ ะฟะพััั 445 ััะพะฑั ะฝะต ะฟะตัะตัะตะบะฐัััั ั SSL-VPN ะฟะพััะฐะปะพะผ ! vpn-demo-1(config)# http server enable 445 !
- ASDM์ด ์๋ํ๋ ค๋ฉด ๋จผ์ cisco.com ์น ์ฌ์ดํธ์์ ๋ค์ด๋ก๋ํด์ผ ํฉ๋๋ค. ์ ๊ฒฝ์ฐ์๋ ๋ค์ ํ์ผ์ ๋๋ค.
- AnyConnect ํด๋ผ์ด์ธํธ๊ฐ ์๋ํ๋ ค๋ฉด ์ฌ์ฉ๋ ๊ฐ ํด๋ผ์ด์ธํธ ๋ฐ์คํฌํฑ OS(Linux/Windows/MAC ์ฌ์ฉ ๊ณํ)์ ๋ํด ๊ฐ ASA์ ์ด๋ฏธ์ง๋ฅผ ์ ๋ก๋ํด์ผ ํฉ๋๋ค. ํค๋์๋ ๋ฐฐํฌ ํจํค์ง ์ ๋ชฉ์์:
- ๋ค์ด๋ก๋ํ ํ์ผ์ ์๋ฅผ ๋ค์ด FTP ์๋ฒ์ ์ ๋ก๋ํ๊ณ ๊ฐ ๊ฐ๋ณ ASA์ ์ ๋ก๋ํ ์ ์์ต๋๋ค.
- SSL-VPN์ ๋ํ ASDM ๋ฐ ์์ฒด ์๋ช ์ธ์ฆ์๋ฅผ ๊ตฌ์ฑํฉ๋๋ค(ํ๋ก๋์ ์์ ์ ๋ขฐํ ์ ์๋ ์ธ์ฆ์ ์ฌ์ฉ ๊ถ์ฅ). ๊ฐ์ ํด๋ฌ์คํฐ ์ฃผ์(vpn-demo.ashes.cc)์ ์ค์ ๋ FQDN๊ณผ ๊ฐ ํด๋ฌ์คํฐ ๋ ธ๋์ ์ธ๋ถ ์ฃผ์์ ์ฐ๊ฒฐ๋ ๊ฐ FQDN์ ์ธ๋ถ DNS ์์ญ์์ OUTSIDE ์ธํฐํ์ด์ค์ IP ์ฃผ์(๋๋ ํฌํธ ํฌ์๋ฉ udp/443(DTLS) ๋ฐ tcp/443(TLS)์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋งคํ๋ ์ฃผ์๋ก). ์ธ์ฆ์ ์๊ตฌ ์ฌํญ์ ๋ํ ์์ธํ ์ ๋ณด๋ ์น์ ์ ์ง์ ๋์ด ์์ต๋๋ค. ์ธ์ฆ์ ํ์ธ ์ ์ ์๋ฅ ๋น์น.
! vpn-demo-1(config)# crypto ca trustpoint SELF vpn-demo-1(config-ca-trustpoint)# enrollment self vpn-demo-1(config-ca-trustpoint)# fqdn vpn-demo.ashes.cc vpn-demo-1(config-ca-trustpoint)# subject-name cn=*.ashes.cc, ou=ashes-lab, o=ashes, c=ru vpn-demo-1(config-ca-trustpoint)# serial-number vpn-demo-1(config-ca-trustpoint)# crl configure vpn-demo-1(config-ca-crl)# cry ca enroll SELF % The fully-qualified domain name in the certificate will be: vpn-demo.ashes.cc Generate Self-Signed Certificate? [yes/no]: yes vpn-demo-1(config)# ! vpn-demo-1(config)# sh cry ca certificates Certificate Status: Available Certificate Serial Number: 4d43725e Certificate Usage: General Purpose Public Key Type: RSA (4096 bits) Signature Algorithm: SHA256 with RSA Encryption Issuer Name: serialNumber=9A439T02F95 hostname=vpn-demo.ashes.cc cn=*.ashes.cc ou=ashes-lab o=ashes c=ru Subject Name: serialNumber=9A439T02F95 hostname=vpn-demo.ashes.cc cn=*.ashes.cc ou=ashes-lab o=ashes c=ru Validity Date: start date: 00:16:17 MSK Mar 19 2020 end date: 00:16:17 MSK Mar 17 2030 Storage: config Associated Trustpoints: SELF CA Certificate Status: Available Certificate Serial Number: 0509 Certificate Usage: General Purpose Public Key Type: RSA (4096 bits) Signature Algorithm: SHA1 with RSA Encryption Issuer Name: cn=QuoVadis Root CA 2 o=QuoVadis Limited c=BM Subject Name: cn=QuoVadis Root CA 2 o=QuoVadis Limited c=BM Validity Date: start date: 21:27:00 MSK Nov 24 2006 end date: 21:23:33 MSK Nov 24 2031 Storage: config Associated Trustpoints: _SmartCallHome_ServerCA
- ASDM์ด ์๋ํ๋์ง ํ์ธํ๊ธฐ ์ํด ํฌํธ๋ฅผ ์ง์ ํ๋ ๊ฒ์ ์์ง ๋ง์ญ์์ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ํฐ๋์ ๊ธฐ๋ณธ ์ค์ ์ ์ํํด ๋ณด๊ฒ ์ต๋๋ค.
- ํฐ๋์ ํตํด ํ์ฌ ๋คํธ์ํฌ๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ํ๊ณ , ์ธํฐ๋ท์ด ์ง์ ๊ฐ๋๋ก ํฉ์๋ค(์ฐ๊ฒฐํ๋ ํธ์คํธ์ ๋ณดํธ ์ฅ์น๊ฐ ์์ผ๋ฉด ๊ฐ์ฅ ์์ ํ ๋ฐฉ๋ฒ์ด ์๋๋ฉฐ, ๊ฐ์ผ๋ ํธ์คํธ๋ฅผ ํตํด ์นจํฌํ์ฌ ํ์ฌ ๋ฐ์ดํฐ๋ฅผ ํ์ํ ์ ์์, ์ต์ ๋ถํ ํฐ๋ ์ ์ฑ tunnelall ๋ชจ๋ ํธ์คํธ ํธ๋ํฝ์ ํฐ๋๋ก ํ์ฉํฉ๋๋ค. ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ๋ถํ ํฐ๋ VPN ๊ฒ์ดํธ์จ์ด๋ฅผ ์คํ๋ก๋ํ๊ณ ํธ์คํธ ์ธํฐ๋ท ํธ๋ํฝ์ ์ฒ๋ฆฌํ์ง ์๋๋ก ํจ)
- 192.168.20.0/24 ์๋ธ๋ท์์ ํฐ๋์ ํธ์คํธ๋ก ์ฃผ์๋ฅผ ๋ฐ๊ธํด ๋ด ์๋ค(10~30๊ฐ์ ์ฃผ์ ํ๋ง(๋ ธ๋ #1์ ๊ฒฝ์ฐ)). VPN ํด๋ฌ์คํฐ์ ๊ฐ ๋ ธ๋์๋ ์์ฒด ํ์ด ์์ด์ผ ํฉ๋๋ค.
- ASA์์ ๋ก์ปฌ๋ก ์์ฑ๋ ์ฌ์ฉ์๋ก ๊ธฐ๋ณธ ์ธ์ฆ์ ์ํํฉ๋๋ค(๊ถ์ฅํ์ง ์์, ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ). LDAP/๋ฐ๊ฒฝ, ๋๋ ๋ ๋์ ์์ง, ๋ฅํ์ด ๋ค์ค ์ธ์ฆ(MFA)์๋ฅผ ๋ค์ด ์์ค์ฝ ๋์ค.
! vpn-demo-1(config)# ip local pool vpn-pool 192.168.20.10-192.168.20.30 mask 255.255.255.0 ! vpn-demo-1(config)# access-list split-tunnel standard permit 192.168.0.0 255.255.0.0 ! vpn-demo-1(config)# group-policy SSL-VPN-GROUP-POLICY internal vpn-demo-1(config)# group-policy SSL-VPN-GROUP-POLICY attributes vpn-demo-1(config-group-policy)# vpn-tunnel-protocol ssl-client vpn-demo-1(config-group-policy)# split-tunnel-policy tunnelspecified vpn-demo-1(config-group-policy)# split-tunnel-network-list value split-tunnel vpn-demo-1(config-group-policy)# dns-server value 192.168.99.132 vpn-demo-1(config-group-policy)# default-domain value ashes.cc vpn-demo-1(config)# tunnel-group DefaultWEBVPNGroup general-attributes vpn-demo-1(config-tunnel-general)# default-group-policy SSL-VPN-GROUP-POLICY vpn-demo-1(config-tunnel-general)# address-pool vpn-pool ! vpn-demo-1(config)# username dkazakov password cisco vpn-demo-1(config)# username dkazakov attributes vpn-demo-1(config-username)# service-type remote-access ! vpn-demo-1(config)# ssl trust-point SELF vpn-demo-1(config)# webvpn vpn-demo-1(config-webvpn)# enable outside vpn-demo-1(config-webvpn)# anyconnect image disk0:/anyconnect-win-4.8.03036-webdeploy-k9.pkg vpn-demo-1(config-webvpn)# anyconnect enable !
- (์ ํ ๊ณผ๋ชฉ): ์์ ์์์๋ ์๊ฒฉ ์ฌ์ฉ์๋ฅผ ์ธ์ฆํ๊ธฐ ์ํด ITU์ ๋ก์ปฌ ์ฌ์ฉ์๋ฅผ ์ฌ์ฉํ๋๋ฐ, ๋ฌผ๋ก ์คํ์ค์ ์ ์ธํ๊ณ ๋ ์ ์ฉํ๊ธฐ๊ฐ ์ด๋ ต์ต๋๋ค. ์ธ์ฆ์ ์ํ ์ค์ ์ ๋ฐ์ง๋ฆ ์๋ฅผ ๋ค์ด ์ฌ์ฉ๋๋ ์๋ฒ Cisco ID ์๋น์ค ์์ง:
vpn-demo-1(config-aaa-server-group)# dynamic-authorization vpn-demo-1(config-aaa-server-group)# interim-accounting-update vpn-demo-1(config-aaa-server-group)# aaa-server RADIUS (outside) host 192.168.99.134 vpn-demo-1(config-aaa-server-host)# key cisco vpn-demo-1(config-aaa-server-host)# exit vpn-demo-1(config)# tunnel-group DefaultWEBVPNGroup general-attributes vpn-demo-1(config-tunnel-general)# authentication-server-group RADIUS !
์ด ํตํฉ์ ํตํด ์ธ์ฆ ์ ์ฐจ๋ฅผ AD ๋๋ ํฐ๋ฆฌ ์๋น์ค์ ๋น ๋ฅด๊ฒ ํตํฉํ ์ ์์ ๋ฟ๋ง ์๋๋ผ ์ฐ๊ฒฐ๋ ์ปดํจํฐ๊ฐ AD์ ์ํ๋์ง ์ฌ๋ถ๋ฅผ ๊ตฌ๋ถํ๊ณ ์ด ์ฅ์น๊ฐ ํ์ฌ์ธ์ง ๊ฐ์ธ์ธ์ง ์ดํดํ๊ณ ์ฐ๊ฒฐ๋ ์ฅ์น์ ์ํ๋ฅผ ํ๊ฐํ ์ ์์ต๋๋ค. .
- ํด๋ผ์ด์ธํธ์ ํ์ฌ ๋คํธ์ํฌ ๋คํธ์ํฌ์ ๋ฆฌ์์ค ๊ฐ์ ํธ๋ํฝ์ด ๊ธฐ๋ก๋์ง ์๋๋ก ํฌ๋ช NAT๋ฅผ ๊ตฌ์ฑํด ๋ณด๊ฒ ์ต๋๋ค.
vpn-demo-1(config-network-object)# subnet 192.168.20.0 255.255.255.0 ! vpn-demo-1(config)# nat (inside,outside) source static any any destination static vpn-users vpn-users no-proxy-arp
- (์ ํ ๊ณผ๋ชฉ): ASA๋ฅผ ํตํด ํด๋ผ์ด์ธํธ๋ฅผ ์ธํฐ๋ท์ ๋ ธ์ถํ๊ธฐ ์ํด(์ฌ์ฉ ์ ํฐ๋ ์ต์ ) PAT๋ฅผ ์ฌ์ฉํ๊ณ ์ฐ๊ฒฐ๋ ๋์ผํ OUTSIDE ์ธํฐํ์ด์ค๋ฅผ ํตํด ์ข ๋ฃํ๋ ค๋ฉด ๋ค์ ์ค์ ์ ์ง์ ํด์ผ ํฉ๋๋ค.
vpn-demo-1(config-network-object)# nat (outside,outside) source dynamic vpn-users interface vpn-demo-1(config)# nat (inside,outside) source dynamic any interface vpn-demo-1(config)# same-security-traffic permit intra-interface !
- ํด๋ฌ์คํฐ๋ฅผ ์ฌ์ฉํ ๋ ์ด๋ค ASA๊ฐ ์ฌ์ฉ์์๊ฒ ๋ฐํ ํธ๋ํฝ์ ๋ผ์ฐํ
ํ ์ง ์ดํดํ๋๋ก ๋ด๋ถ ๋คํธ์ํฌ๋ฅผ ํ์ฑํํ๋ ๊ฒ์ด ๋งค์ฐ ์ค์ํฉ๋๋ค. ์ด๋ฅผ ์ํด ํด๋ผ์ด์ธํธ์ ๋ฐ๊ธ๋ ๊ฒฝ๋ก/32 ์ฃผ์๋ฅผ ์ฌ๋ถ๋ฐฐํด์ผ ํฉ๋๋ค.
์ง๊ธ์ ์์ง ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ฑํ์ง ์์์ง๋ง FQDN ๋๋ IP๋ฅผ ํตํด ๊ฐ๋ณ์ ์ผ๋ก ์ฐ๊ฒฐํ ์ ์๋ ์๋ ์ค์ธ VPN ๊ฒ์ดํธ์จ์ด๊ฐ ์ด๋ฏธ ์์ต๋๋ค.
์ฒซ ๋ฒ์งธ ASA์ ๋ผ์ฐํ ํ ์ด๋ธ์์ ์ฐ๊ฒฐ๋ ํด๋ผ์ด์ธํธ๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
์ ์ฒด VPN ํด๋ฌ์คํฐ์ ์ ์ฒด ํ์ฌ ๋คํธ์ํฌ๊ฐ ํด๋ผ์ด์ธํธ์ ๋ํ ๊ฒฝ๋ก๋ฅผ ์๊ธฐ ์ํด ํด๋ผ์ด์ธํธ ์ ๋์ฌ๋ฅผ ๋์ ๋ผ์ฐํ ํ๋กํ ์ฝ(์: OSPF)์ ์ฌ๋ฐฐํฌํฉ๋๋ค.
! vpn-demo-1(config)# route-map RMAP-VPN-REDISTRIBUTE permit 1 vpn-demo-1(config-route-map)# match ip address VPN-REDISTRIBUTE ! vpn-demo-1(config)# router ospf 1 vpn-demo-1(config-router)# network 192.168.255.0 255.255.255.0 area 0 vpn-demo-1(config-router)# log-adj-changes vpn-demo-1(config-router)# redistribute static metric 5000 subnets route-map RMAP-VPN-REDISTRIBUTE
์ด์ ๋ ๋ฒ์งธ ASA-2 ๊ฒ์ดํธ์จ์ด์์ ํด๋ผ์ด์ธํธ๋ก ๊ฐ๋ ๊ฒฝ๋ก๊ฐ ์๊ฒผ๊ณ ํด๋ฌ์คํฐ ๋ด์ ๋ค๋ฅธ VPN ๊ฒ์ดํธ์จ์ด์ ์ฐ๊ฒฐ๋ ์ฌ์ฉ์๋ ์๋ฅผ ๋ค์ด ํ์ฌ ์ํํธํฐ์ ํตํด ์ง์ ํต์ ํ ์ ์์ ๋ฟ๋ง ์๋๋ผ ์ฌ์ฉ์๊ฐ ์์ฒญํ ๋ฆฌ์์ค์์ ํธ๋ํฝ์ ๋ฐํํ ์ ์์ต๋๋ค. ์ํ๋ VPN ๊ฒ์ดํธ์จ์ด๋ก ์ด๋:
-
๋ถํ ๋ถ์ฐ ํด๋ฌ์คํฐ ๊ตฌ์ฑ์ผ๋ก ์ด๋ํ๊ฒ ์ต๋๋ค.
์ฃผ์ 192.168.31.40์ ๊ฐ์ IP(VIP - ๋ชจ๋ VPN ํด๋ผ์ด์ธํธ๊ฐ ์ด๊ธฐ์ ์ฐ๊ฒฐ๋จ)๋ก ์ฌ์ฉ๋๋ฉฐ, ์ด ์ฃผ์์์ ๋ง์คํฐ ํด๋ฌ์คํฐ๋ ๋ถํ๊ฐ ์ ์ ํด๋ฌ์คํฐ ๋ ธ๋๋ก ๋ฆฌ๋๋ ์ ๋ฉ๋๋ค. ์์ฑํ๋ ๊ฒ์ ์์ง ๋ง์ธ์ ์๋ฐฉํฅ ๋ฐ ์ญ๋ฐฉํฅ DNS ๋ ์ฝ๋ ํด๋ฌ์คํฐ์ ๊ฐ ๋ ธ๋์ ๊ฐ ์ธ๋ถ ์ฃผ์/FQDN๊ณผ VIP ๋ชจ๋์ ๋ํด.
vpn-demo-1(config)# vpn load-balancing vpn-demo-1(config-load-balancing)# interface lbpublic outside vpn-demo-1(config-load-balancing)# interface lbprivate inside vpn-demo-1(config-load-balancing)# priority 10 vpn-demo-1(config-load-balancing)# cluster ip address 192.168.31.40 vpn-demo-1(config-load-balancing)# cluster port 4000 vpn-demo-1(config-load-balancing)# redirect-fqdn enable vpn-demo-1(config-load-balancing)# cluster key cisco vpn-demo-1(config-load-balancing)# cluster encryption vpn-demo-1(config-load-balancing)# cluster port 9023 vpn-demo-1(config-load-balancing)# participate vpn-demo-1(config-load-balancing)#
- ๋ ๊ฐ์ ์ฐ๊ฒฐ๋ ํด๋ผ์ด์ธํธ๋ก ํด๋ฌ์คํฐ์ ์๋์ ํ์ธํฉ๋๋ค.
- ASDM์ ํตํด ์๋์ผ๋ก ๋ก๋๋๋ AnyConnect ํ๋กํ์ผ๋ก ๊ณ ๊ฐ ๊ฒฝํ์ ๋์ฑ ํธ๋ฆฌํ๊ฒ ๋ง๋ค์ด ๋ณด์ญ์์ค.
ํธ๋ฆฌํ ๋ฐฉ์์ผ๋ก ํ๋กํ ์ด๋ฆ์ ์ง์ ํ๊ณ ๊ทธ๋ฃน ์ ์ฑ ์ ์ฐ๊ฒฐํฉ๋๋ค.
๋ค์์ ํด๋ผ์ด์ธํธ๋ฅผ ์ฐ๊ฒฐํ๋ฉด ์ด ํ๋กํ์ผ์ด ์๋์ผ๋ก ๋ค์ด๋ก๋๋์ด AnyConnect ํด๋ผ์ด์ธํธ์ ์ค์น๋๋ฏ๋ก ์ฐ๊ฒฐํด์ผ ํ๋ ๊ฒฝ์ฐ ๋ชฉ๋ก์์ ์ ํํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
ASDM์ ์ฌ์ฉํ์ฌ ํ๋์ ASA์์๋ง ์ด ํ๋กํ์ผ์ ์์ฑํ์ผ๋ฏ๋ก ํด๋ฌ์คํฐ์ ๋ค๋ฅธ ASA์์ ๋จ๊ณ๋ฅผ ๋ฐ๋ณตํ๋ ๊ฒ์ ์์ง ๋ง์ญ์์ค.
๊ฒฐ๋ก : ๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ ์๋ ๋ก๋ ๋ฐธ๋ฐ์ฑ ๊ธฐ๋ฅ์ด ์๋ ์ฌ๋ฌ VPN ๊ฒ์ดํธ์จ์ด์ ํด๋ฌ์คํฐ๋ฅผ ์ ์ํ๊ฒ ๋ฐฐํฌํ์ต๋๋ค. ์๋ก์ด ASAv ๊ฐ์ ๋จธ์ ์ ๋ฐฐํฌํ๊ฑฐ๋ ํ๋์จ์ด ASA๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋จํ ์ํ ํ์ฅ์ ํตํด ํด๋ฌ์คํฐ์ ์ ๋ ธ๋๋ฅผ ์ฝ๊ฒ ์ถ๊ฐํ ์ ์์ต๋๋ค. ๊ธฐ๋ฅ์ด ํ๋ถํ AnyConnect ํด๋ผ์ด์ธํธ๋ ๋ค์์ ์ฌ์ฉํ์ฌ ๋ณด์ ์๊ฒฉ ์ฐ๊ฒฐ์ ํฌ๊ฒ ํฅ์์ํฌ ์ ์์ต๋๋ค. ์์ธ(์ํ ์ถ์ ์น), ์ค์ ์ง์ค์ ์ ์ด ๋ฐ ์ก์ธ์ค ๊ณ์ ์์คํ ๊ณผ ํจ๊ป ๊ฐ์ฅ ํจ๊ณผ์ ์ผ๋ก ์ฌ์ฉ๋จ ID ์๋น์ค ์์ง.
์ถ์ฒ : habr.com