(+84) 463.28.7979

Cấu hình hệ thống Cisco ASA với thiết bị Android, VPN và Active Directory Authentication


Trong bài viết dưới đây, chúng tôi sẽ trình bày một số thao tác cơ bản để cấu hình, thiết lập hệ thống Cisco ASA với những thiết bị dựa trên nền tảng hệ điều hành Android, VPN và Active Directory Authentication. Ví dụ, bạn muốn kết nối chiếc điện thoại HTC Incredible với hệ thống mạng của công ty, văn phòng để sử dụng và khai thác những tiện ích của smartphone thì sẽ phải làm thế nào? Rất nhiều đã đưa ra ý tưởng và phương pháp nhưng đều không thành công. Nhưng khi tác giả của bài viết tiếp tục kiên trì, tìm kiếm và thử nghiệm các phương án khác nhau thì cuối cùng họ cũng đã đạt được mục đích. Cụ thể, 2 chiếc smartphone HTC incredible 2.2 và Samsung Infuse đã kết nối thành công với hệ thống mạng qua mô hình VPN, mặc dù vẫn còn một số khuyết điểm.

Trước khi bắt tay vào tiến hành và việc thiết lập, chúng ta cần biết rằng phiên bản ASA của hệ thống sử dụng hệ điều hành iOS phải là 8.4.1 và Android là 2.1 dựa trên yêu cầu của Cisco. Nhưng trên thực tế, có một số mẫu ASA chỉ có bộ nhớ lưu trữ 512 MB, do vậy khá khó khăn và phức tạp trong việc nâng cấp hệ điều hành iOS.

Bên cạnh đó, nếu các bạn đang sử dụng dịch vụ port forward trên địa chỉ IP chính bên ngoài, thì sẽ khiến hệ thống ngừng hoạt động, nguyên nhân vì không hỗ trợ NAT trong môi trường VPN. Nếu trong trường hợp này thì chúng ta sẽ có 2 phương án:

- Xóa bỏ dòng lệnh:

nat (outside,outside) source dynamic [name your VPN LAN] interface

sẽ khiến cho các thành phần VPN client không thể truy cập được Internet qua VPN.

- Cách khác là di chuyển thành phần port forward tới 1 địa chỉ IP khác.

Cụ thể, trong bài thử nghiệm này chúng tôi sẽ áp dụng trên hệ thống ASA 5505. Mặt khác, nếu chúng ta muốn thực hiện quá trình tích hợp Active directory – nên áp dụng cách thức này, thì sẽ phải cần đến một số dạng server Radius, ví dụ tại đây là NPS được bao gồm trong hệ điều hành Windows Server 2008. Việc thiết lập và khởi tạo hệ thống server NPS là 1 quá trình hoàn toàn khác, nhưng lại khá đơn giản và dễ dàng.

Trong các lệnh cấu hình bên dưới đây, chúng tôi sẽ sử dụng hầu hết là cú pháp mặc định của ASA, các bạn chỉ cần thay thế thông tin bên trong dấu [ ] với dữ liệu riêng, dấu * ở phía cuối dòng để chú thích và không nên thêm bất cứ tham số nào khác vào sau ký hiệu *!

ASA Version 8.4(1) * Hãy đảm bảo rằng bạn đã sử dụng đúng phiên bản?
!
hostname [tên asa hostname] * Ví dụ: MainASA
names
!
interface Vlan1
nameif inside
security-level 100
ip address [địa chỉ IP của hệ thống asa local] 255.255.255.0
!
interface Vlan2
nameif outside
security-level 0
ip address [địa chỉ IP OUTSIDE ] [subnetmask bên ngoài]
!
interface Ethernet0/0
switchport access vlan 2
!
boot system disk0:/asa841-k8.bin * Hãy chắc chắn rằng bạn đang boot bằng phiên bản 8.4.1!
same-security-traffic permit intra-interface
object network obj_any
subnet 0.0.0.0 0.0.0.0
object network [tên hệ thống lan1] * Ví dụ: MainLAN
subnet [subnet và mask của lan1] * Ví dụ: 192.168.1.0 255.255.255.0
object network [tên hệ thống lan2] * Đây là mục tùy chnj nếu bạn có nhiều hơn 1 kết nối cần giao tiếp
subnet [subnet mask của lan2]
object network [tên hệ thống lan3]
subnet [subnet và mask của lan3]
object network [tên của VPN LAN] * Ví dụ: VPN_NET
subnet [subnet và mask của VPN LAN] * Ví dụ: 172.16.30.0 255.255.255.0
object-group network [tên group của các hệ thống lan] * Ví dụ: LANS
network-object object [tên lan1]
network-object object [tên lan2]
network-object object [tên lan3]
ip local pool [tên địa chỉ pool của VPN IP] [IP Pool Range] mask [pool mask] * Ví dụ: GroupPool 172.16.30.5-172.16.30.200 255.255.255.0
nat (inside,outside) source static [tên nhóm lan] [tên nhóm lan] destination static [tên VPN LAN] [name your VPN LAN] * Ví dụ: LANS LANS VPN_NET VPN_NET – NEW WAY OF DOING NONAT
nat (outside,outside) source dynamic [tên VPN LAN] interface
!
object network obj_any
nat (inside,outside) dynamic interface
route outside 0.0.0.0 0.0.0.0 [địa chỉ gateway] 1 * Ví dụ: 199.10.199.10
route inside [địa chỉ subnet và mask của lan1] [địa chỉ gateway lan1] 1 * Ví dụ: 10.0.0.0 255.0.0.0 10.61.0.1
route inside [địa chỉ subnet và mask của lan2] [địa chỉ gateway lan2] 1
route inside [địa chỉ subnet và mask của lan3] [địa chỉ gateway lan3] 1
dynamic-access-policy-record DfltAccessPolicy
aaa-server TACACS+ protocol tacacs+
aaa-server RADIUS protocol radius
aaa-server [tên server RADIUS] protocol radius * Ví dụ: MainRAD
aaa-server [tên server RADIUS](inside) host [địa chỉ IP server RADIUS] * Ví dụ: 10.1.2.1
key [radius key] * Ví dụ: secretsquirrel
crypto ipsec ikev1 transform-set TRANS_ESP esp-aes esp-sha-hmac
crypto ipsec ikev1 transform-set ESP-3DES-SHA esp-3des esp-sha-hmac
crypto ipsec ikev1 transform-set ESP-AES-256-MD5 esp-aes-256 esp-md5-hmac
crypto ipsec ikev1 transform-set ESP-DES-SHA esp-des esp-sha-hmac
crypto ipsec ikev1 transform-set ESP-DES-MD5 esp-des esp-md5-hmac
crypto ipsec ikev1 transform-set ESP-AES-192-MD5 esp-aes-192 esp-md5-hmac
crypto ipsec ikev1 transform-set ESP-3DES-MD5 esp-3des esp-md5-hmac
crypto ipsec ikev1 transform-set ESP-AES-256-SHA esp-aes-256 esp-sha-hmac
crypto ipsec ikev1 transform-set ESP-AES-128-SHA esp-aes esp-sha-hmac
crypto ipsec ikev1 transform-set ESP-AES-192-SHA esp-aes-192 esp-sha-hmac
crypto ipsec ikev1 transform-set ESP-AES-128-MD5 esp-aes esp-md5-hmac
crypto ipsec ikev1 transform-set TRANS_ESP_3DES_SHA esp-3des esp-sha-hmac
crypto ipsec ikev1 transform-set TRANS_ESP_3DES_SHA mode transport
crypto ipsec ikev1 transform-set TRANS_ESP_ esp-aes esp-sha-hmac
crypto ipsec ikev1 transform-set TRANS_ESP_ mode transport
crypto dynamic-map SYSTEM_DEFAULT_CRYPTO_MAP 65535 set ikev1 transform-set ESP-AES-256-MD5 ESP-3DES-SHA ESP-3DES-MD5 ESP-DES-SHA ESP-DES-MD5 TRANS_ESP_3DES_SHA TRANS_ESP_
crypto dynamic-map SYSTEM_DEFAULT_CRYPTO_MAP 65535 set reverse-route
crypto map outside_map 65535 ipsec-isakmp dynamic SYSTEM_DEFAULT_CRYPTO_MAP
crypto map outside_map interface outside
crypto isakmp nat-traversal 21
crypto ikev1 enable outside
crypto ikev1 policy 10
authentication pre-share
encryption 3des
hash sha
group 2
lifetime 86400
group-policy DefaultRAGroup internal
group-policy DefaultRAGroup attributes
dns-server value [địa chi ip của your server DNS] * Ví dụ: 10.1.2.5
vpn-tunnel-protocol l2tp-ipsec
tunnel-group DefaultRAGroup general-attributes
address-pool [tên địa chỉ pool của VPN IP] * Ví dụ: GroupPool
authentication-server-group [tên server RADIUS] * Ví dụ: MainRAD
default-group-policy DefaultRAGroup
tunnel-group DefaultRAGroup ipsec-attributes
ikev1 pre-shared-key [client pre-shared key] * Ví dụ: vpnpassword
!

Còn trên các thiết bị Android, chúng ta mở phần Settings > Wireless and networks > VPN settings > Add VPN, chọn L2TP/IPSec PSK VPN. Tên VPN phụ thuộc vào người sử dụng, có thể đặt là bất cứ thông tin gì, thiết lập VPN server bên ngoài địa chỉ IP, cấu hình IPSec PSK (client pre-shared key) đã được khởi tạo trong ASA, không kích hoạt chức năng Secret và không cần thiết phải thiết lập tính năng tìm kiếm domain qua DNS.

Chúc các bạn thành công!

Trong bài viết dưới đây, chúng tôi sẽ trình bày một số thao tác cơ bản để cấu hình, thiết lập hệ thống Cisco ASA với những thiết bị dựa trên nền tảng hệ điều hành Android, VPN và Active Directory Authentication. Ví dụ, bạn muốn kết nối chiếc điện thoại HTC Incredible với hệ thống mạng của công ty, văn phòng để sử dụng và khai thác những tiện ích của smartphone thì sẽ phải làm thế nào? Rất nhiều đã đưa ra ý tưởng và phương pháp nhưng đều không thành công. Nhưng khi tác giả của bài viết tiếp tục kiên trì, tìm kiếm và thử nghiệm các phương án khác nhau thì cuối cùng họ cũng đã đạt được mục đích. Cụ thể, 2 chiếc smartphone HTC incredible 2.2 và Samsung Infuse đã kết nối thành công với hệ thống mạng qua mô hình VPN, mặc dù vẫn còn một số khuyết điểm.Trước khi bắt tay vào tiến hành và việc thiết lập, chúng ta cần biết rằng phiên bản ASA của hệ thống sử dụng hệ điều hành iOS phải là 8.4.1 và Android là 2.1 dựa trên yêu cầu của Cisco. Nhưng trên thực tế, có một số mẫu ASA chỉ có bộ nhớ lưu trữ 512 MB, do vậy khá khó khăn và phức tạp trong việc nâng cấp hệ điều hành iOS.

Bên cạnh đó, nếu các bạn đang sử dụng dịch vụ port forward trên địa chỉ IP chính bên ngoài, thì sẽ khiến hệ thống ngừng hoạt động, nguyên nhân vì không hỗ trợ NAT trong môi trường VPN. Nếu trong trường hợp này thì chúng ta sẽ có 2 phương án:

- Xóa bỏ dòng lệnh:

nat (outside,outside) source dynamic [name your VPN LAN] interface

sẽ khiến cho các thành phần VPN client không thể truy cập được Internet qua VPN.

- Cách khác là di chuyển thành phần port forward tới 1 địa chỉ IP khác.

Cụ thể, trong bài thử nghiệm này chúng tôi sẽ áp dụng trên hệ thống ASA 5505. Mặt khác, nếu chúng ta muốn thực hiện quá trình tích hợp Active directory – nên áp dụng cách thức này, thì sẽ phải cần đến một số dạng server Radius, ví dụ tại đây là NPS được bao gồm trong hệ điều hành Windows Server 2008. Việc thiết lập và khởi tạo hệ thống server NPS là 1 quá trình hoàn toàn khác, nhưng lại khá đơn giản và dễ dàng.

Trong các lệnh cấu hình bên dưới đây, chúng tôi sẽ sử dụng hầu hết là cú pháp mặc định của ASA, các bạn chỉ cần thay thế thông tin bên trong dấu [ ] với dữ liệu riêng, dấu * ở phía cuối dòng để chú thích và không nên thêm bất cứ tham số nào khác vào sau ký hiệu *!

ASA Version 8.4(1) * Hãy đảm bảo rằng bạn đã sử dụng đúng phiên bản?
!
hostname [tên asa hostname] * Ví dụ: MainASA
names
!
interface Vlan1
nameif inside
security-level 100
ip address [địa chỉ IP của hệ thống asa local] 255.255.255.0
!
interface Vlan2
nameif outside
security-level 0
ip address [địa chỉ IP OUTSIDE ] [subnetmask bên ngoài]
!
interface Ethernet0/0
switchport access vlan 2
!
boot system disk0:/asa841-k8.bin * Hãy chắc chắn rằng bạn đang boot bằng phiên bản 8.4.1!
same-security-traffic permit intra-interface
object network obj_any
subnet 0.0.0.0 0.0.0.0
object network [tên hệ thống lan1] * Ví dụ: MainLAN
subnet [subnet và mask của lan1] * Ví dụ: 192.168.1.0 255.255.255.0
object network [tên hệ thống lan2] * Đây là mục tùy chnj nếu bạn có nhiều hơn 1 kết nối cần giao tiếp
subnet [subnet mask của lan2]
object network [tên hệ thống lan3]
subnet [subnet và mask của lan3]
object network [tên của VPN LAN] * Ví dụ: VPN_NET
subnet [subnet và mask của VPN LAN] * Ví dụ: 172.16.30.0 255.255.255.0
object-group network [tên group của các hệ thống lan] * Ví dụ: LANS
network-object object [tên lan1]
network-object object [tên lan2]
network-object object [tên lan3]
ip local pool [tên địa chỉ pool của VPN IP] [IP Pool Range] mask [pool mask] * Ví dụ: GroupPool 172.16.30.5-172.16.30.200 255.255.255.0
nat (inside,outside) source static [tên nhóm lan] [tên nhóm lan] destination static [tên VPN LAN] [name your VPN LAN] * Ví dụ: LANS LANS VPN_NET VPN_NET – NEW WAY OF DOING NONAT
nat (outside,outside) source dynamic [tên VPN LAN] interface
!
object network obj_any
nat (inside,outside) dynamic interface
route outside 0.0.0.0 0.0.0.0 [địa chỉ gateway] 1 * Ví dụ: 199.10.199.10
route inside [địa chỉ subnet và mask của lan1] [địa chỉ gateway lan1] 1 * Ví dụ: 10.0.0.0 255.0.0.0 10.61.0.1
route inside [địa chỉ subnet và mask của lan2] [địa chỉ gateway lan2] 1
route inside [địa chỉ subnet và mask của lan3] [địa chỉ gateway lan3] 1
dynamic-access-policy-record DfltAccessPolicy
aaa-server TACACS+ protocol tacacs+
aaa-server RADIUS protocol radius
aaa-server [tên server RADIUS] protocol radius * Ví dụ: MainRAD
aaa-server [tên server RADIUS](inside) host [địa chỉ IP server RADIUS] * Ví dụ: 10.1.2.1
key [radius key] * Ví dụ: secretsquirrel
crypto ipsec ikev1 transform-set TRANS_ESP esp-aes esp-sha-hmac
crypto ipsec ikev1 transform-set ESP-3DES-SHA esp-3des esp-sha-hmac
crypto ipsec ikev1 transform-set ESP-AES-256-MD5 esp-aes-256 esp-md5-hmac
crypto ipsec ikev1 transform-set ESP-DES-SHA esp-des esp-sha-hmac
crypto ipsec ikev1 transform-set ESP-DES-MD5 esp-des esp-md5-hmac
crypto ipsec ikev1 transform-set ESP-AES-192-MD5 esp-aes-192 esp-md5-hmac
crypto ipsec ikev1 transform-set ESP-3DES-MD5 esp-3des esp-md5-hmac
crypto ipsec ikev1 transform-set ESP-AES-256-SHA esp-aes-256 esp-sha-hmac
crypto ipsec ikev1 transform-set ESP-AES-128-SHA esp-aes esp-sha-hmac
crypto ipsec ikev1 transform-set ESP-AES-192-SHA esp-aes-192 esp-sha-hmac
crypto ipsec ikev1 transform-set ESP-AES-128-MD5 esp-aes esp-md5-hmac
crypto ipsec ikev1 transform-set TRANS_ESP_3DES_SHA esp-3des esp-sha-hmac
crypto ipsec ikev1 transform-set TRANS_ESP_3DES_SHA mode transport
crypto ipsec ikev1 transform-set TRANS_ESP_ esp-aes esp-sha-hmac
crypto ipsec ikev1 transform-set TRANS_ESP_ mode transport
crypto dynamic-map SYSTEM_DEFAULT_CRYPTO_MAP 65535 set ikev1 transform-set ESP-AES-256-MD5 ESP-3DES-SHA ESP-3DES-MD5 ESP-DES-SHA ESP-DES-MD5 TRANS_ESP_3DES_SHA TRANS_ESP_
crypto dynamic-map SYSTEM_DEFAULT_CRYPTO_MAP 65535 set reverse-route
crypto map outside_map 65535 ipsec-isakmp dynamic SYSTEM_DEFAULT_CRYPTO_MAP
crypto map outside_map interface outside
crypto isakmp nat-traversal 21
crypto ikev1 enable outside
crypto ikev1 policy 10
authentication pre-share
encryption 3des
hash sha
group 2
lifetime 86400
group-policy DefaultRAGroup internal
group-policy DefaultRAGroup attributes
dns-server value [địa chi ip của your server DNS] * Ví dụ: 10.1.2.5
vpn-tunnel-protocol l2tp-ipsec
tunnel-group DefaultRAGroup general-attributes
address-pool [tên địa chỉ pool của VPN IP] * Ví dụ: GroupPool
authentication-server-group [tên server RADIUS] * Ví dụ: MainRAD
default-group-policy DefaultRAGroup
tunnel-group DefaultRAGroup ipsec-attributes
ikev1 pre-shared-key [client pre-shared key] * Ví dụ: vpnpassword
!

Còn trên các thiết bị Android, chúng ta mở phần Settings > Wireless and networks > VPN settings > Add VPN, chọn L2TP/IPSec PSK VPN. Tên VPN phụ thuộc vào người sử dụng, có thể đặt là bất cứ thông tin gì, thiết lập VPN server bên ngoài địa chỉ IP, cấu hình IPSec PSK (client pre-shared key) đã được khởi tạo trong ASA, không kích hoạt chức năng Secret và không cần thiết phải thiết lập tính năng tìm kiếm domain qua DNS. Chúc các bạn thành công!

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>