Cấu hình xác thực

Một phần của tài liệu An toàn mạng máy tính và giải pháp xác thực người dùng (Trang 46)

Khi CSACS ( Cisco Secure Access Control Server ) đƣợc cấu hình (CSACS là một phần mềm đƣợc cài đặt trên server cung cấp đầy đủ 3 dịch vụ AAA), một entry tƣơng ứng với AAA server phải đƣợc cấu hình trên ASA. Các bƣớc cấu hình nhƣ sau[4

] :

 Tạo AAA group, chỉ ra giao thức dùng cho xác thực:

aaa-server group_tag (if_name) host server_ip key timeout

seconds

 Tạo ra AAA server và đăng ký nó đến AAA group, nhiều AAA server có thể ở trong cùng một group:

47

aaa-server group_tag protocol auth_protocol

Group_tag: tên của server group

If_name: tên interface kết nối với server

Host server_ip: địa chỉ IP của TACACS+ server hoặc RADIUS server

Key: là từ khoá case-sensitive, có độ dài tối đa là 127 kí tự, từ khoá này phải giống với từ khoá của server. Key đƣợc sử dụng giữa client và server cho việc mã hoá dữ liệu giữa chúng. Nếu key không đƣợc chỉ ra, mã hoá sẽ không xảy ra. Không đƣợc sử dụng khoảng trắng giữa các kí tự trong key.

Timeout seconds: chỉ ra khoảng thời gian mà ASA phải chờ để thử lại lần

nữa, ASA sẽ thử lại 4 lần trƣớc khi chọn server kế tiếp cho việc xác thực. Giá trị mặc định của timeout là 30 giây.

Auth_protocol: là chỉ ra loại server nào đƣợc sử dụng, tacacs hay là radius. Lƣu ý: Mặc định, ASA firewall giao tiếp với RADIUS server dùng port 1645 dành cho việc xác thực và port 1646 dành cho accounting. Các RADIUS đời mới hơn có thể sử dụng port 1812 và port 1813. Nếu server sử dụng port khác 1645 và 1646, ta cần phải định nghĩa lại giá trị port tƣơng ứng trên ASA bằng câu lệnh aaa- server radius-authport và aaa-server radius-acctport trƣớc khi cấu hình RADIUS server.

Với ASA firewall, nhà quản trị có thể định nghĩa từng group riêng cho các loại traffic khác nhau, ví dụ nhƣ một TACACS + server cho inbound traffic, một TACACS+ server khác cho outbound traffic. Ta có thể có đến 16 tag group và mỗi group có thể có đến 16 AAA server, tổng cộng có đến 256 server.

Cấu hình mặc định ở ASA có hai giao thức AAA server là:

aaa-server tacacs+ protocol tacacs+ aaa-server radius protocol radius

Sau khi đã chỉ ra aaa-server, ta cần phải cấu hình xác thực, sử dụng câu lệnh aaa authentication để bật hay tắt việc xác thực user. Có các loại xác thực sau:

3.3.2.1. Xác thực khi user truy cập vào ASA

Câu lệnh:

aaa authentication [serial | enable | telnet | ssh | http] console <group_tag>

Xác thực việc access vào ASA console có nhiều loại khác nhau tuỳ thuộc vào option đƣợc chọn. Enable option cho phép 3 lần thử trƣớc khi từ chối việc

48

access . Serial và telnet cho phép user thử nhiều lần cho đến khi log in vào đƣợc thiết bị.

Telnet cho phép ta chỉ ra host nào có thể access vào ASA. Đối với các OS version 5.0 trở về trƣớc, telnet đến ASA chỉ đƣợc thực hiện từ internal interface đi ra mạng ngoài, không cho phép outside interface. Nhƣng các version OS sau này đều hỗ trợ tính năng này. Tuy nhiên, ASA firewall bắt buộc rằng tất cả telnet traffic đến outside interface phải đƣợc bảo vệ bởi IPSEC. Do đó, để khởi động một telnet session đến outside interface, cấu hình IPSEC ở outside interface bao gồm cả IP traffic do ASA tạo ra. Chỉ có traffic trở về telnet client đƣợc gửi qua IPSEC tunnel, không phải là tất cả traffic đƣợc phát ra bởi outside interface.

3.3.2.2. Xác thực cho traffic đi qua ASA

Câu lệnh:

aaa authentication {include | exclude} <authen_service>

{inside | outside | <interface>} <local_ip> <local_mask> <foreign_ip> <foreign_mask> <group_tag>

include: tạo ra một quy tắc mới cho dịch vụ cụ thể nào đó.

exclude: chỉ ra host nào đó đƣợc bỏ qua các quy tắc mà ta đã định nghĩa trƣớc

đó

authen_service: dịch vụ mà user muốn access vào. Tham số này có thể là ftp, telnet, http, hay là cả 3 dịch vụ trên (any).

inbound: xác thực các kết nối inbound. Inbound có nghĩa là kết nối đó đƣợc khởi tạo từ interface outside đến interface inside.

outbound: xác thực các kết nối outbound. Outbound có nghĩa là kết nối đƣợc khởi tạo từ inside interface đến outside interface.

if_name: tên của interface mà ở đó user cần xác thực. Sử dụng if_name, cộng với local_ip và foreign_ip để biết đƣợc kết nối đƣợc khởi tạo từ đâu đến đâu.

local_ip: địa chỉ IP của host hoặc mạng đƣợc xác thực. Địa chỉ này có thể đƣợc

set đến 0, có nghĩa là tất cả các host đƣợc xác thực. Local_ip luôn luôn nằm ở interface có mức bảo mật cao nhất.

local_mask: network mask của local_ip. Sử dụng 0 nếu địa chỉ IP là 0. Sử dụng

49

foreign_ip: là địa chỉ IP của các host mà local_ip có khả năng truy cập đến. Sử

dụng 0 cho tất cả các host.

foreign_mask: giống local_mask

group_tag: là tag group trong lệnh aaa-server

ASA firewall chỉ cho phép chỉ một giao thức authentication cho một mạng. Ví dụ, nếu một mạng kết nối inbound thông qua ASA firewall sử dụng TACACS +, thì cùng mạng đó không thể kết nối inbound thông qua ASA sử dụng RADIUS. Tuy nhiên, nếu một mạng kết nối inbound thông qua ASA sử dụng TACACS+, một mạng khác có thể kết nối inbound qua ASA sử dụng RADIUS.

3.3.2.3. Xác thực cho các dịch vụ khác

ASA firewall xác thực user thông qua Telnet, FTP, HTTP. Nhƣng nó cũng có thể xác thực các loại dịch vụ khác[4] . Ví dụ, ASA có thể đƣợc cấu hình để xác thực user khi user cần sử dụng dịch vụ Microsoft file server ở port 139. Khi user đƣợc yêu cầu xác thử để access vào các dịch vụ khác ngoài Telnet, FTP, HTTP, họ cần thực hiện một trong các bƣớc sau:

o Option 1: xác thực đầu tiên bằng việc truy cập vào Telnet, FTP, hay HTTP server trƣớc khi truy cập các dịch vụ khác.

o Option 2: xác thực đến ASA virtual telnet trƣớc khi truy cập vào các dịch vụ khác.

Khi không có các telnet, FTP, hay HTTP server để xác thực, hay chỉ làm đơn giản xác thực ngƣời dùng, ASA firewall cho phép sử dụng một Virtual Telnet hay HTTP. Điều này cho phép user xác thực trực tiếp với ASA qua địa chỉ IP của virtual telnet hay http.

 Virtual telnet:

Virtual telnet cho phép các user cần có các kết nối thông qua ASA sử dụng các dịch vụ hoặc các giao thức không hỗ trợ xác thực. User chỉ đơn giản telnet đến địa chỉ IP virtual, sử dụng AAA username, password của user. AAA server sẽ xác thực điều này. khi user đã đƣợc xác thực, ASA đóng kết nối telnet đó lại, cất giữ thông tin xác thực trong suốt khoảng thời gian uauth.

Câu lệnh tạo ra virtual telnet server:

Virtual telnet <ip_address>

50

Sử dụng virtual telnet không chỉ cho việc log in mà còn dành cho việc log out . Sau khi xác thực thành công thông qua virtual telnet, user sẽ không phải xác thực trở lại cho đến khi hết thời gian uauth. Nếu ta không muốn sử dụng dịch vụ nữa, và muốn chặn không cho các traffic qua firewall sử dụng thông tin xác thực của mình, ta có thể telnet đến virtual telnet lại một lần nữa. Điều này sẽ kết thúc phiên làm việc và log out.

 Virtual http:

Nếu xác thực đƣợc yêu cầu trong các site ngoài cũng nhƣ trong bản thân ASA, vì các browser có lƣu username và password nên có thể việc xác thực sẽ không xảy ra đối với các browser mà ASA không hiểu. Để tránh điều này, ta có thể sử dụng virtual http. ASA firewall giả sử rằng AAA server và web server chia sẻ cùng database, và ASA tự động cung cấp cho 2 server này thông tin giống nhau. Virtual http sử dụng trong ASA dùng để xác thực user, tách thông tin AAA server từ request URL của web client, chuyển web client đến web server. Virtual http lại chuyển tiếp kết nối khởi tạo của web browser đến một địa chỉ IP thuộc về ASA firewall, xác thực user, sau đó chuyển browser về lại URL mà user đã yêu cầu.

Virtual http đặc biệt hữu dụng cho ASA khi thao tác với Microsoft IIS

(Internet Information Server). Khi dùng xác thực HTTP đến các site chạy Microsoft ÍIS có “Basic text authentication” hoặc là “NT Challenge”, user có thể bị Microsoft từ chối truy cập vì browser thêm vào trong các lệnh HTTP GET dòng chữ sau:

Authorization: Basic = Uuhjksdkfhk==”. Dòng chữ này bao gồm các yếu tố xác

thực trong ASA mà không có trong Microsoft IIS. Nhờ vào đặc điểm của Virtual http, kết nối khởi tạo của Web browser đƣợc chuyển trực tiếp đến địa chỉ IP của virtual http trong ASA, xác thực user, và browser đƣợc chuyển đến URL mà user đã yêu cầu. Virtual http trong suốt với ngƣời dùng.

Để định nghĩa Virtual http server, sử dụng command sau:

Virtual http <ip_address>

Tham số ip_address giống trong virtual telnet

51

Hình 3-5 Mô tả tiến trình sử dụng Virtual http

1. Web browser gửi HTTP request đến web server

2. ASA firewall chặn connection này lại và reply bằng một message “ HTTP 401 Authorization Required ”

3. Web browser nhận response từ firewall và sử dụng username, password cho user chứng thực.

4. Web browser gửi lại HTTP request này với username, password đã đƣợc mã hoá đến ASA.

5. ASA firewall nhận HTTP request, tách nó ra làm 2 phần: phần request AAA authentication bao gồm username, password và phần khởi tạo HTTP request không có username, password.

6. ASA gửi AAA authentication request đến cho AAA server

7. AAA server xác thực user, sau đó gửi lại message là accept hay reject

8. Giả sử rằng user xác thực thành công, ASA sẽ chuyển http request ban đầu (không có username, password) đến web server. Nếu web server yêu cầu xác thực, nó sẽ gửi challenge lại cho user.

Với vitural http, khi user đã xác thực xong, user sẽ không bao giờ phải xác thực trở lại ngay khi browser đã active. Uauth timer sẽ không bao giờ hết vì mỗi subsequent web request đều có username và password đƣợc mã hoá.

Lƣu ý: Không nên set uauth timer về 0 khi đã bật vitural http vì điều này sẽ chặn các kết nối đến web server đƣợc yêu cầu.

52 3.3.3. Cấu hình uỷ quyền

Khi đã cấu hình xác thực cho traffic thông qua firewall sử dụng cut-through proxy, ta có thể cấu hình authorization cho traffic thông qua firewall.

Authentication là một yêu cầu cho authorization, tức là authorization sẽ quyết định dịch vụ nào mà user sau khi đƣợc chứng thực có thể truy cập vào.

Để thực hiện uỷ quyền, đầu tiên cần cấu hình cho TACACS server. Sau đó ta cần phải cấu hình uỷ quyền AAA cho ASA sử dụng câu lệnh sau:

aaa authorization {include | exclude} <author_service> {inside | outside} <if_name> <local_ip> <local_mask> <foreign_ip> <foreign_mask> <group_tag>

Cấu trúc của câu lệnh trên tƣơng tự trong chứng thực. Tất cả các tham số đều giống ngoại trừ author_service. Các giá trị có thể cho author_service là any, ftp, telnet, http, hay là <protocol/port> (ví dụ nhƣ TCP là 6, UDP là 17, ICMP là 1). Thiết lập giá trị port về 0 chỉ ra tất cả các port.

3.3.4. Cấu hình kiểm toán

Sau khi cấu hình chứng thực(authentication) và uỷ quyền (authorization), thông thƣờng ta cần phải cấu hình kiểm toán (accounting). Thông tin kiểm toán có thể đƣợc sử dụng để theo dõi user đã làm gì khi truy cập vào một dịch vụ nào đó. Các bản ghi accounting có thể chỉ ra số lƣợng thời gian user login vào, hoặc là chỉ ra số lƣợng thông tin đƣợc truyền và nhận. Thông tin này có thể dành cho mục đích thanh toán hoá đơn.

Cấu trúc của câu lệnh aaa accounting nhƣ sau:

aaa accounting {include | exclude} <acctg_service> {inside | outside}

if_name <local_ip> <local_mask> <foreign_ip> <foreign_mask> <group_tag>

53

Chƣơng 4 - NETWORK ACCESS SERVER

4.1.RouterOS

4.1.1. Hệ Điều Hành RouterOS  Mikrotik RouterOS[9]  Mikrotik RouterOS[9]

là hệ điều hành đƣợc xây dựng cho kiến trúc phần cứng RouterBoard của Mikrotik. Hệ điều hành RouterOS đƣợc xây dựng với đầy đủ các chức năng nhƣ định tuyến (router), tƣờng lửa (firewall), quản lý băng thông, AP, liên kết mạng trục, quản lý Truy cập Mạng Công cộng (có dây hoặc không dây) , thiết lập VPN, ..

 RouterOS là một hệ điều hành chuẩn dựa trên nền Linux v2.6, cung cấp tất cả những tính năng của bộ định tuyến cộng với khả năng cài đặt nhanh chóng, đơn giản và giao diện sử dụng dễ dàng.

4.1.2. Kiến trúc phần cứng

 Hệ điều hành RouterOS hỗ trợ kiến trúc phần cứng đa lõi (multi-core) và đa CPU (multi-CPU), có thể hoạt động ổn định trên kiến trúc Mainboard lớn và hiện đại nhất của Intel cùng với các chip CPU đa lõi mới nhất.

 Hệ điều hành RouterOS có thể hỗ trợ cài đặt trên các thiết bị lƣu trữ USB, SATA, IDE bao gồm HDD, SDD, thẻ nhớ SD, CF… và cần ít nhất 64Mb dung lƣợng trống để cài đặt.

 Bên cạnh đó, nó có thể hỗ trợ nhiều loại cổng giao tiếp mạng bao gồm các card Ethernet 10Gb mới nhất, bảng mạch Wireless 802.11a/b/g/n và modem 3G…

4.1.3. Định tuyến (Router)

 Hệ điều hành RouterOS hỗ trợ nhiều giao thức định tuyến nhƣ: với IPv4 là RIP v1/v2, OSPF v2, BGP v4 hoặc với IPv6 là Ripng, OSPFv3, và BGP.  Hỗ trợ định tuyến và chuyển tiếp theo kiểu mạch ảo[5][6]

(Virtual Routing and Forwarding), định tuyến dựa theo chính sách thực thi, định tuyến dựa trên cổng giao diện mạng hoặc định tuyến ECMP.

 Hệ điều hành RouterOS cũng hổ trợ nghi thức MPLS cùng với công nghệ định tuyến và chuyển tiếp kiểu mạch ảo (Virtual Routing and Forwarding). VRF là công nghệ mà cho phép thiết lập nhiều thể hiện của một bảng định tuyến (routing table) cùng tồn tại trong cùng thời điểm tại cùng một bộ định tuyến. Các thể hiện nầy là độc lập, bởi vậy trong cùng thời điểm, các địa chỉ IP cho dù trùng hay chồng lấn nhau vẫn có thể đƣợc dùng mà không mâu thuẫn nhau. VRF cũng thƣờng đƣợc dung để nâng cao an ninh mạng, nhƣng nó không hạn chế chỉ với nghi thức MPLS.

54

 Tính năng Firewall đƣợc xây dựng cho các nhiệm vụ lọc gói tin và thực thi các chức năng an ninh, quản lý lƣu lƣợng vào ra hay ngăn chặn các truy cập chƣa đƣợc chứng thực…

 Hỗ trợ NAT các địa chỉ nguồn, địa chỉ đích cho các ứng dụng và UPnP, cung cấp các tính năng theo dõi kết nối, định tuyến, đánh dấu gói tin.

 Xây dựng chức năng lọc thông qua địa chỉ IP, lớp mạng, các port hoặc giao thức IP, các thông tin phù hợp lớp 7 …

4.1.5. Quản lý Truy cập Mạng Công Cộng (Hotspot Gateway)

Chức năng: Quản lý Truy cập Mạng Công cộng (Hotspot) thực hiện việc xác thực, phân quyền và ghi chép (AAA) thông tin hoạt động của ngƣời dùng Mạng Công Cộng, bất kể họ sử dụng thiết bị kết nối có dây hoặc không dây. Ngƣời dùng sử dụng trình duyệt Web sẽ đƣợc đƣa đến một Trang Chào và để có thể truy cập Mạng Công Cộng, ngƣời dùng phải đăng nhập với tài khoản đƣợc cấp (thƣờng là username/ password).

Lợi ích: Quản lý Truy cập Mạng Công cộng (Hotspot) phù hợp để triển khai Mạng WiFi Công Cộng tại sân bay, trƣờng học, quán cafe Internet, khu vui chơi, khu thƣơng xá, siêu thị, hội chợ triển lảm,.. Đây là những nơi đòi hỏi nhà quản trị mạng không những phải quản lý ngƣời dùng truy cập mạng (AAA - xác thực, phân quyền và ghi chép thông tin hoạt động) mà còn không đƣợc can thiệp vào máy tính của ngƣời dùng (không cho phép cài đặt bất kỳ phần mềm hoặc cấu hình gì). Mâu thuẫn nầy đƣợc giãi quyết nhờ chức năng Quản lý Truy cập Mạng Công Cộng (Hotspot) của RouterOS thông qua việc cấp tài khoản cho ngƣời dùng để đăng nhập tại Trang Chào.  Xác thực: Chức năng Quản lý Truy cập Mạng Công Cộng hỗ trợ xác thực

dựa trên máy chủ RADIUS chuẩn. Nhà quản trị có thể sử dụng RADIUS sẵn có bên trong RouterOS hoặc tự thiết lập RADIUS bên ngoài. Hiện nay, Mikrotik cũng có sẵn User Manager (RADIUS server ) của riêng hãng. Với User Manager, nhà quản trị có khả năng quản lý tập trung ngƣời sử dụng trong toàn bộ hệ thống mạng WiFi của doanh nghiệp trải rông tại nhiều Phòng, Ban và Chi nhánh khác nhau trên toàn quốc.

Phân quyền: Chức năng Quản lý Truy cập Mạng Công cộng quản lý dựa trên các hồ sơ dịch vụ của ngƣời dùng đƣợc tạo ra bao gồm: thời lƣợng và thời hạn sử dụng, giới hạn tốc độ upload và download, ...

Đặc trưng tổng quá

o Xác thực ngƣời dùng bằng nhiều phƣơng pháp khác nhau trên cơ sở dữ liệu lƣu trữ trên OSRouter hoặc trên máy chủ RADIUS bên ngoài.

Một phần của tài liệu An toàn mạng máy tính và giải pháp xác thực người dùng (Trang 46)