Một số vấn đề bảo mật IPv6 trong mạng LAN
Diễn đàn - Ngày đăng : 21:58, 03/11/2015
Trong IPv4, các giao thức phân giải địa chỉ (ARP- Address Resolution Protocol) và Giao thức cấu hình động máy chủ (DHCP- Dynamic Host Configuration Protocol) dễ bị tác động bởi các nguy cơ an toàn an ninh từ lớp 2 (tầng liên kết dữ liệu trong mô hình OSI). Các nguy cơ này rất phổ biến và đã có các công cụ hiệu quả như Dynamic ARP inspection và DHCP snooping làm giảm tác động của các cuộc tấn công như vậy. IPv6 cũng bị ảnh hưởng bởi các nguy cơ tương tự, nhưng về hình thức có khác biệt. Mặc dù IPv6 không sử dụng ARP, nó vẫn bị tác động bởi các cuộc tấn công như giả mạo địa chỉ MAC (MAC hijacking), giả mạo các máy chủ DHCP và bộ định tuyến.
IPv4 và IPv6 có các điểm tương đồng và có các điểm khác biệt. Điểm tương đồng cho phép áp dụng các quy tắc an toàn an ninh trên mạng IPv4 để bảo vệ mạng IPv6. Tuy nhiên những đặc điểm mới của IPv6 sẽ yêu cầu những giải pháp mới để đảm bảo an toàn, an ninh mạng lưới IPv6 trong tương lai. Hiện nay, vấn đề an toàn an ninh tại lớp 2 cho IPv6 vẫn đang được nghiên cứu và trao đổi. Bài báo giới thiệu một số phương pháp chống giả mạo địa chỉ để bảo mật IPv6 trên mạng LAN.
1. Không sử dụng địa chỉ riêng mở rộng trong cấu hình tự động
Địa chỉ này được định nghĩa trong RFC 4941 cho mục đích cấu hình địa chỉ tự động phi trạng thái (Privacy Extentions for Stateless Address Autoconfiguration) hay còn gọi là địa chỉ riêng mở rộng. Địa chỉ riêng mở rộng này không phải là địa chỉ riêng (private address) trong IPv4, nó là địa chỉ IPv6 định danh toàn cầu (global unicast address). Người sử dụng chỉ cần bật tính năng IPv6 khi kết nối mạng và các thiết bị đầu cuối dựa vào bản tin RA ( Router Advertisements) để tự cấu hình địa chỉ.
Trong các hệ điều hành Windows XP, Vista, 7 OS X 10.7, IOS 4, Android 4 mặc định bật địa chỉ riêng mở rộng, các địa chỉ riêng mở rộng này có tính che đậy danh tính người sử dụng, và người quản trị mạng được khuyến nghị tắt chúng khi không cần thiết phải sử dụng. Ví dụ cụ thể về thao tác thực hiện tắt tính năng tự động cho một số hệ điều hành như sau:
- Windows XP
Trong cửa sổ dòng lệnh được chạy với quyền Administrator:
netsh interface ipv6 set privacy state=disabled store=persistent
netsh interface ipv6 set privacy state=disabled
Hoặc vào Registry cài đặt khóa
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\GlobalParams\UseTemporaryAddresses về 0
- Windows Vista
Trong cửa sổ dòng lệnh được chạy với quyền Administrator:
netsh interface ipv6 set global randomizeidentifiers=disabled
netsh interface ipv6 set global randomizeidentifiers=disabled store=persistent
netsh interface ipv6 set privacy disabled
- Mac OS X10 (“Lion”)
Để tắt tính năng này vĩnh viễn, sửa tệp /etc/sysctl.conf và đặt
net.inet6.ip6.use_tempaddr=0
Sau đó khởi động lại
Nếu bạn muốn tắt tính năng này mà không cần khởi động, ta có thể sử dụng lệnh sysctl để tắt với phiên hiện tại. Chú ý rằng tính năng này sẽ bật lại khi khởi động lại máy trong lần kế tiếp trừ khi chúng ta sửa tệp sysctl.conf
sysctl -w net.inet6.ip6.use_tempaddr=0
- iOS
Hệ điều hành iOS của hãng Apple sử dụng trên các sản phẩm IPhone, IPad và ITouch, không có cách nào tắt tính năng tự động cấu hình địa chỉ riêng mở rộng trên các thiết bị này. Cách khác chúng ta có thể tắt flag A trong bản tin RA từ các bộ định tuyến.
- Android
Tương tự IOS không có cách nào để tắt tính năng tự động cấu hình địa chỉ riêng mở rộng.
Các hệ điều hành khác cũng mặc định bật tự động cấu hình địa chỉ riêng mở rộng như Ubuntu, Centos, Redhat…chúng ta cũng cần xem hướng dẫn của từng hệ điều hành để tắt tính năng này.
2. Sử dụng tính năng uRPF
uRPF là tính năng trên bộ định tuyến (router), có khả năng kiếm soát các gói tin đi qua router, nhờ đó giúp giảm thiểu nguy cơ lọt các gói tin có địa chỉ IP bị thay đổi hoặc giả mạo vào mạng. hạn chế được các nguy cơ tấn công tiềm ẩn (như DDos).
Người quản trị có thể sử dụng tính năng uRPF ((Unicast Reverse Path Forwarding) để giúp hạn chế các lưu lượng giả mạo. Nó xác nhận nguồn địa chỉ gói tin gửi tới giao diện kết nối trước khi gửi đi.
3. Sử dụng địa chỉ theo chuẩn EUI 64
Nhằm tạo nên một không gian định danh thiết bị lớn hơn cho các nhà sản xuất, IEEE đưa ra một phương thức đánh số mới cho các giao diện mạng gọi là EUI-64 (Extented Unique Identifier 64), trong đó giữ nguyên 24 bít định danh nhà sản xuất thiết bị và phần mở rộng tăng lên thành 40 bít. Như vậy, nếu giao diện mạng được định danh theo dạng thức này, địa chỉ phần cứng của nó sẽ gồm 64 bít.
64 bít định danh giao diện địa chỉ Ipv6 khi đó sẽ được tạo nên từ 64 bít dạng EUI-64 theo quy tắc: Trong số 24 bít xác định nhà cung cấp thiết bị, có một bít được quy định là bít U (xxxx xxUx xxxx xxxx xxxx xxxx). Thông thường bít này có giá trị 0. Người ta tiến hành đảo bít bít U này (từ 0 thành 1 và từ 1 thành 0), và lấy 64 bít sau khi thực hiện như vậy làm 64 bít định danh giao diện trong địa chỉ Ipv6.
Cisco ASA/PIX/FWSM có thể cấp phát tự động địa chỉ dạng EUI-64. Do đó chúng có thể bắt buộc địa chỉ MAC nhúng trong địa chỉ dạng EUI-64 phải trùng với địa chỉ MAC tới từ gói tin.
ipv6 enforce-eui64
4. Tắt đường hầm IPv6 over IPv4 không sử dụng
Trong vài trường hợp, Windows Vista và Windows 7 có thể tạo đường hầm IPv6 over IPv4 tự động. Để tắt giao thức đường hầm này thực hiện các câu lệnh sau:
netsh interface 6to4 set state state=disabled
netsh interface teredo set state disable
netsh interface isatap set state disabled
netsh interface httpstunnel set interface state=disabled
Windows 2008R2, Windows 7 có thể cài đặt trong group policy, Computer Configuration à Policies à Administrative Templates à Network à TCP/IP Settings à IPv6 Transition Technologies
5. Sử dụng Firewall hạn chế ICMPv6
ICMPv6 thực hiện nhiều chức năng hơn so với ICMPv4, bao gồm Path MTU discovery, Router Discovery, Neighbor Discovery, Mobile IPv6, quản lý multicast và tái cấu hình địa chỉ. Như vậy chắc chắn các bản tin ICMPv6 phải được phép đi qua Firewall. Các hướng dẫn về lọc ICMPv6 được đề cập trong RFC 4890.
Windows XP SP2 Firewall và Windows 2003 SP1 hỗ trợ IPv6, Tuy nhiên Windows XP Firewall không thể cài đặt các luật khác nhau cho IPv4 và IPv6. Chẳng hạn không thể chỉ mở cổng cho IPv4, hay chỉ chặn ICMP echo request cho IPv6. Windows XP cũng không thể tạo luật cho một vùng địa chỉ mạng IPv6.
Windows Vista, Windows 7 và 2008 là hỗ trợ IPv6 trong Firewall của hệ điều hành, cho phép cài đặt các luật với một vùng địa chỉ mạng IPv6, và các luật khác nhau cho ICMPv4 và ICMPv6.
Một số các chương trình Firewall khác hỗ trợ IPv6 như: ESET Personal Firewall từ phiên bản 3 trở đi. F-Secure Client Security 7.12. Norton Personal Firewall, Symantec Endpoind Security không hỗ trợ IPv6.
RedHat 5.x không hỗ trợ IPv6 stateful qua Firewall, tuy vậy Redhat 6.x đã được bổ sung để hỗ trợ IPv6 stateful qua Firewall. Tương tự với hệ điều hành Ubuntu với phiên bản từ 7.04, Mac OS X 10.7.3, Solaris 10 cũng đã hỗ trợ IPv6 trong Firewall.
Phần cứng Firewal Cisco ASA, Pix hỗ trợ IPv6 từ phiên bản IOS 7.0, FWSM từ 4.0. PIX và ASA không hỗ trợ IPv6 trong brigde mode (chỉ trong routed mode). IOS firewall có hỗ trợ từ phiên bản 12.3(7)T. IOS Vlan ACL không hỗ trợ IPv6
6. Hạn chế các bản tin RA
Các máy đầu cuối cấu hình các địa chỉ IPv6 và nhận thông tin từ router của vùng mạng đó thông qua các bản tin IPv6 RA (Router Advertisement). Những bản tin RA này không cần nhận thực, do đó có thể ẩn chứa mất an toàn với mạng LAN. Điều quan trọng là các bản tin RA giả xâm nhập vào trong mạng LAN, và có thể gây ra DoS trên nhiều hệ điều hành và thiết bị mạng. IETF cũng đã thảo luận vấn đề này trong RFC 6104 . Chúng ta cần tắt các bản tin này trên các bộ định tuyến khi không cần thiết sử dụng.
7. Ngăn chặn máy chủ DHCPv6 giả mạo
Để ngăn chặn DHCPv6 giả mạo có thể chặn các luồng DHCPv6 trên các cổng không cần thiết. DHCPv6 sử dụng các cổng TCP và UDP 546, 547.
Tài liệu tham khảo
1. RFC 6104: Rogue IPv6 Router Advertisement Problem Statement.
2. DAVID FARMER, "IPv6 Autoconfguration: Plug & Play Dream or Security Nightmare".
3. RFC 4890: Recommendations for Filtering ICMPv6 Messages in Firewalls - http://tools.ietf.org/html/rfc4890.
4. Recommended Simple Security Capabilities in Customer Premises Equipment for Providing Residential IPv6 Internet Service - RFC 6092.
5. NSA Router Security Configuration Guide Supplement - Security for IPv6 http://www.nsa.gov/ia/_files/routers/I33-002R-06.pdf.
6. NSA Firewall Design Considerations for IPv6.
7. http://www.nsa.gov/notices/notic00004.cfm?Address=/snac/ipv6/I733-041R-2007.pdf
8. NIST Special Publication 500-267, "A Profile for IPv6 in the U.S. Government - Version 1.0" - http://www.antd.nist.gov/usgv6/usgv6-v1-draft2.pdf, section 6.12 has requirements for Network Protection Devices.
9. IPv6 RA guard - http://tools.ietf.org/html/draft-ietf-v6ops-ra-guard-01.
10. PETER BIEINGER, Status of Open Source and commercial IPv6 firewall implementations
11. ICANN SAC-016: Testing Firewalls for IPv6 and EDNS0 Support - http://www.icann.org/committees/security/sac016.htm (should also include DNS-over-TCP).
12. ICANN SAC-021: Survey of IPv6 Support Among Commercial Firewalls - http://www.icann.org/committees/security/sac021.pdf.
13. Cisco Security Appliance Command Line Configuration Guide and FWSM.