Tải bản đầy đủ (.docx) (39 trang)

XÂY DỰNG VÀ TRIỂN KHAI HỆ THỐNGCAPTIVE PORTAL

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.12 MB, 39 trang )


BỘ CƠNG THƯƠNG
TRƯỜNG ĐẠI HỌC CƠNG NGHIỆP TP. HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
------ oOo ------

ĐỒ ÁN CHUYÊN NGÀNH

ĐỀ TÀI:

XÂY DỰNG VÀ TRIỂN KHAI HỆ THỐNG
CAPTIVE PORTAL

Giáo viên hướng dẫn: Nguyễn Phúc Hưng
Sinh viên thực hiện : 11238941 - Nguyễn Quốc Huy
11260931 - Mai Chiếm Minh

TP. Hồ Chí Minh Tháng 5 Năm 2015


LỜI CẢM ƠN
Để hoàn thành đồ án này, chúng em xin gửi lời cảm ơn sâu sắc đến các giảng viên
khoa Công Nghệ Thông Tin trường Đại học Công Nghiệp Thành Phố Hồ Chí Minh đã
trực tiếp giảng dạy và cung cấp cho chúng em những kiến thức quý báu để chúng em có
thể tìm hiểu và tiếp cận được với những công nghệ mới.
Đặc biệt, chúng em xin chân thành gửi lời cảm ơn đến thầy Nguyễn Phúc Hưng đã tận
tình hướng dẫn chúng em cũng như tạo mọi điều kiện về kiến thức cũng như tài liệu và
các thiết bị để chúng em có thể hồn thành được đồ án này.
Và cuối cùng chúng em xin chân thành cảm ơn các bạn bè cũng như các giáo viên
khác trong khoa Cơng Nghệ Thơng Tin như thầy Nguyễn Hịa, thầy Mai Xuân Phú, thầy
Bùi Công Trường và thầy Đặng Thanh Bình đã động viên, góp ý cho đồ án chúng em


trong suốt q trình thực hiện của nhóm.
Do thời gian eo hẹp và khả năng cịn có hạn nên đồ án này của chúng em không thể
tránh khỏi những thiếu sót. Kính mong nhận được nhiều ý kiến đóng góp cũng như phê
bình của q thầy cơ và các bạn để chúng em có thể hồn thiện hơn kiến thức cũng như
bài đồ án của mình.
Chúng em xin chân thành cảm ơn!

TP.Hồ Chí Minh, ngày 5 tháng 5 năm 2015
Sinh viên thực hiện
Nguyễn Quốc Huy
Mai Chiếm Minh

3


NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................

Phần đánh giá:
Ý thức thực hiện:..................................................................................................................
Nội dung thực hiện:..............................................................................................................
Hình thức trình bày:.............................................................................................................
Tổng hợp kết quả:................................................................................................................
Điểm bằng số:.................................................. Điểm bằng chữ:..........................................
Tp. Hồ Chí Minh, ngày… tháng … năm ……
Giáo viên hướng dẫn

4


NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
Phần đánh giá:
Ý thức thực hiện:..................................................................................................................
Nội dung thực hiện:..............................................................................................................

Hình thức trình bày:.............................................................................................................
Tổng hợp kết quả:................................................................................................................
Điểm bằng số:.................................................. Điểm bằng chữ:..........................................
Tp. Hồ Chí Minh, ngày… tháng … năm ……
Giáo viên phản biện

5


LỜI NĨI ĐẦU
Ngày nay, mạng máy tính và Internet đã được phổ biến rộng rãi, các tổ chức và cá
nhân đều có nhu cầu sử dụng máy tính và mạng máy tính để tính tốn, lưu trữ, quảng bá
thơng tin hay sử dụng các dịch vụ giao dịch trực tuyến trên mạng. Nhưng đồng thời với
những cơ hội được mở ra ấy, lại có những nguy cơ khi mạng máy tính khơng được quản
lý sẽ dễ dàng bị tấn cơng, gây hậu quả nghiêm trọng.
Từ đó, việc quản lý và xác thực người dùng trong một hệ thống mạng, đặc biệt là
mạng không dây là hết sức cần thiết để bảo mật tài nguyên của một cá nhân, tổ chức,
doanh nghiệp. Để thực hiện công việc này, ta cần xây dựng một hệ thống quản lý truy cập
hiệu quả, và Captive Portal là một giải pháp hữu hiệu.
Xây dựng Captive Portal cho hệ thống mạng không dây của bạn, không chỉ giúp
kiểm soát được khả năng truy cập từ bên ngồi mà cịn giúp cho tổ chức, doanh nghiệp
của bạn có thể tận dụng nó để thực hiện các chính sách quảng cáo trên hệ thống Website
chứng thực của hệ thống này.

6


DANH MỤC TỪ VIẾT TẮT
-


ADSL - Asymmetric Digital Subscriber Line
AP – Access Point
ARP – Address Resolution Protocol
CI – CodeIgniter
DHCP – Dynamic Host Configuration Protocol
DNS – Domain Name System
DoS – Deny of Service
GUI – Graphic User Interface
HTTP – HyperText Transfer Protocol
HTTPS – HyperText Transfer Protocol Sercure
IP – Internet Protocol
LAN – Local Area Network
MAC – Media Access Control
MVC – Model-View-Controller
NAT – Network Address Translation
NIC – Network Interface Card
PHP – Hypertext Preprocessor
SAM – Smart Access Management
TCP – Transmission Control Protocol
URI – Uniform Resource Indentifier
URL – Uniforn Resource Locatior
WAN – Wide Area Network
WPA – Wifi Protected Access

7


DANH MỤC HÌNH ẢNH
Hình 1: Trang đăng nhập Captive Portal..........................................................................11
Hình 2: Mơ hình MVC chuẩn...........................................................................................13

Hình 3: Cách thức làm việc của MVC..............................................................................14
Hình 4: Mơ hình MVC của CodeIgniter...........................................................................15
Hình 5: Mơ hình DHCP cho mạng Wifi...........................................................................22
Hình 6: Cấu hình router Access Point..............................................................................23
Hình 7: Chỉnh sửa cấu hình file sudoers...........................................................................24
Hình 8: File kịch bản cho hệ thống Captive Portal...........................................................25
Hình 9: Kết quả lệnh “iptables –L”..................................................................................25
Hình 10: Kết quả lệnh “iptables –t nat –L”......................................................................25
Hình 11: Kịch bản tc command để quản lý băng thơng....................................................26
Hình 12: Mơ hình database của hệ thống Website quản lý...............................................27
Hình 13: Trang đăng nhập của người dùng......................................................................28
Hình 14: Trang hiển thị khi đăng nhập thành cơng...........................................................29
Hình 15-a: Trang quản lý của admin................................................................................30
Hình 15-b: Trang quản lý của admin................................................................................30
Hình 16: Luật iptables khi có kết nối...............................................................................31
Hình 17: Luật iptables khi ngắt kết nối............................................................................31
Hình 18: Chức năng lấy tài khoản cho Sinh Viên của Giảng Viên...................................32
Hình 19: Lịch sử đăng nhập của các người dùng hệ thống...............................................33

8


MỤC LỤC

9


CHƯƠNG 1: TỔNG QUAN VỀ CAPTIVE PORTAL VÀ CÁCH TRIỂN KHAI
Giới thiệu về công nghệ Captive Portal
Tổng quan

Captive Portal là một tính năng flexible, chỉ có trên các firewall thương mại lớn, tính năng
1
1
-

này giúp chuyển hướng người dùng vào một trang web định sẵn, từ đó chúng ta có thể
quản lý được người dùng hoặc cấm không cho người khác dùng mạng của mình. Tính
năng này tiên tiến hơn các kiểu đăng nhập WPA, WPA2 ở chỗ người dùng sẽ thao tác trực
tiếp với một trang web (http, https) chứ không phải đăng nhập khô khan như kiểu WPA,
-

WPA2.
Với công nghệ Captive Portal sẽ bắt buộc một máy sử dụng Internet trong mạng thì trước
tiên phải sử dụng trình duyệt để được tới một trang đặc biệt, thường là dùng để xác thực.
Captive Portal sẽ chuyển hướng trình duyệt tới một thiết bị xác thực an ninh. Điều này
được thực hiện bằng cách tất cả các gói tin, kể cả địa chỉ và cổng, đến khi người dùng mở
một trình duyệt và thử truy cập Internet. Tại thời điểm đó, trình duyệt sẽ được chuyển
hướng đến trang Web đặc biệt yêu cầu xác thực (đăng nhập) hoặc thanh toán, hoặc đơn
giản chỉ là hiện một bảng thông báo về các quy định mà người dùng sẽ phải tuân theo và
yêu cầu người dùng phải chấp nhận các quy định đó trước khi truy cập Internet. Captive
Portal thường được triển khai ở hầu hết các điểm truy cập Wifi và nó cũng có thể được
dùng để điều khiển mạng có dây.
2 Các cách triển khai.
1
. Chuyển hướng bằng HTTP (Hypertext Transfer Protocol).
Khi có một truy cập từ một máy chưa qua xác thực để đến một website, trình duyệt
vẫn sẽ nhận thông tin địa chỉ IP và DNS tương ứng một cách bình thường và sẽ gửi một
HTTP request tới IP đó. Tuy nhiên nó sẽ bị firewall chặn lại và chuyển tới một máy chủ
chuyển tiếp. máy chủ này sẽ phản hồi một gói HTTP 302 chuyển hướng máy khách tới
Captive Portal. Quá trình này diễn ra ngầm bên dưới nên máy khách tưởng rằng website

đó thực sự đã trả lời với yêu cầu đầu tiên và gửi thông tin chuyển hướng.

10


2

Chuyển hướng bằng DNS.
Khi có một truy cập từ máy khách chưa qua xác thực để đến một website, trình

duyệt sẽ yêu cầu địa chỉ IP tương ứng với tên miền từ máy chủ DNS. Tuy nhiên IP chính
xác của tên miền đó sẽ khơng được trả về máy khách mà sẽ trả về Captive Portal.
3
Một số phần mềm sử dụng công nghệ Captive Portal.
1.1.3.1. PfSense.
PfSense là một ứng dụng có chức năng định tuyến vào tường lửa mạnh và miễn phí,
ứng dụng này cho phép bạn mở rộng mạng của mình mà khơng bị thỏa hiệp về sự bảo
mật.
PfSense có nhiều tính năng mà các vẫn thường thấy trên các thiết bị tường lửa hoặc
router thương mại và Captive Portal cũng không phải là ngoại lệ. Với PfSense ta vừa có

-

2

3

thể chạy được tường lửa và mở Captive Portal trên đó.
Ưu điểm:
+

Miễn phí.
+
Có khả năng bổ sung thêm dịch vụ bằng các gói dịch vụ cộng thêm.
+
Dễ cài đặt, cấu hình.
Hạn chế:
+
Phải trang bị thêm modem nếu khơng có sẵn.
+
Không được hỗ trợ từ nhà sản xuất như các thiết bị khác.
+
Vẫn chưa có tính năng chọn lọc URL như các thiết bị thương mại.
+
Đòi hỏi người sử dụng phải có kiến thức căn bản về cấu hình mạng.
Packet Fence
Sử dụng ARP Spoofing thay vì lọc địa chỉ MAC/IP. Có thể sử dụng để phát hiện/cơ
lập worm
HotSpotSystem.com
Giải pháp hồn thiện cho dịch vụ HotSpot miễn phí.

11


Quản lý truy cập Wireless bằng Captive Portal
Nói cách khác, hệ thống sử dụng việc xác thực mật khẩu là để cho ra internet chứ

4

-


mạng khơng dây thì khơng có mật khẩu. Và thường được triển khai ở các quán café, nhà
hàng, khách sạn, văn phòng… Tại các địa điểm này, bạn có thể tìm thấy mật khẩu để truy
cập trên các hóa đơn bán hàng hoặc nếu tại các văn phịng, khách sạn thì hỏi tại quầy lễ
tân.

-

Hình 1: Trang đăng nhập Captive Portal
Với cách truy cập này, khách hàng sử dụng dịch vụ khơng có thêm thao tác gì phức tạp.
Ngược lại, khách hàng ln được truy cập miễn phí vào dịch vụ mạng khơng dây. Tại đây
khách hàng sẽ luôn truy cập đến một trang web của hệ thống cửa hàng trước, đọc các
chương trình khuyến mãi của cửa hàng nếu có, hoặc đơn giản là thực hiện nhập mã truy

-

cập để bắt đầu truy cập internet.
Đối với người quản lý, lại càng tiện lợi hơn, mỗi khách hàng sẽ được quản lý để xác định
được “danh tính” cho lần sử dụng của mình, nên người quản lý không phải lo lắng về việc
thay đổi mật khẩu. Người quản lý có thể giới hạn thời lượng truy cập của mỗi máy, chẳng

-

hạn như 2 giờ để nhắc người dùng không nên sử dụng dịch vụ quá mức.
Một lợi thế hết sức quan trọng của hệ thống này là cửa hàng, văn phịng có thể đưa ra các
chương trình quảng cáo, tiếp thị, giới thiệu sản phẩm mới của mình tới khách hàng thơng
qua trang web xác thực của hệ thống vì cứ khách hàng nào truy cập mạng không dây đều

2

được truy cập đến trang quảng cáo kết hợp đăng nhập của hệ thống đầu tiên.

Giới thiệu về firewall iptables
12


1.2.1. Tổng quan
Iptables là một tường lửa ứng dụng lọc gói dữ liệu rất mạnh, miễn phí và có sẵn trên
Linux. Netfilter/Iptables gồm 2 phần là Netfilter trong nhân Linux và Iptables nằm ngoài
nhân chịu trách nhiệm giao tiếp giữa người dùng và Netfilter để đẩy các luật mà người
dùng đã thiết lập vào cho Netfilter xử lý.
Iptable yêu cầu quyền cao cấp trong hệ thống để hoạt động và phải được người dùng
root thực thi, nếu không một số chức năng của chương trình sẽ khơng hoạt động.
1.2.2. Tính năng của Iptables
Tích hợp tốt với nhân của Linux.
Có khả năng phân tích gói tin hiệu quả.
Lọc gói tin dựa vào MAC và một số cờ hiệu trong TCP Header.
Cung cấp chi tiết các tùy chọn để ghi nhận sự kiện hệ thống.
Cung cấp kĩ thuật NAT.
Có khả năng ngăn chặn một số cơ chế tấn công theo kiểu Dos.
1.2.3. Iptables với hệ thống Captive Portal
Trong hệ thống Captive Portal mà chúng ta đang triển khai, Iptables được thiết lập
tại máy Server và các luật sẽ được cài đặt trên đó để có thể thực hiện việc chặn gói tin, xử
lý và cho phép gói tin ra ngồi Internet.
Cùng với đó, các luật Iptables sẽ được thực hiện thơng qua các câu lệnh PHP để từ
đó, giúp cho phép kết nối của người dùng từ bên trong mạng ra Internet cũng như chặn
các kết nối khi hết thời gian sử dụng.
Iptables nhờ có tính năng lọc gói tin dựa vào địa chỉ MAC và một số cờ hiệu trong
TCP header nên nó đặc biệt hiệu quả trong việc chuyển hướng các kết nối đến trang xác
thực và dùng việc lọc gói tin qua địa chỉ MAC, giúp cho người quản trị dễ dàng hơn trong
việc quản lý các kết nối trong mạng.


1.3. Giới thiệu về mơ hình MVC
1.3.1. Khái niệm
Mơ hình MVC (Model – View – Controller) là một kiến trúc phần mềm hay mơ hình
thiết kế được sử dụng trong kỹ thuật phần mềm, nó giúp cho các developer tách ứng dụng
của họ ra 3 phần khác nhau Model, View và Controller. Mỗi thành phần có một nhiệm vụ
riêng biệt và độc lập với các thành phần khác.
1.3.2. Các thành phần trong MVC

13


Hình 2: Mơ hình MVC chuẩn
1.3.2.1. Model
Đây là thành phần chứa các nghiệp vụ logic, phương thức xử lý, truy xuất database,
đối tượng mô tả dữ liệu các Class, hàm xử lý...
1.3.2.2. View
Đảm nhận việc hiển thị thông tin, tương tác với người dùng, nơi chứa các đối tượng
GUI như textbox, image... Hiểu một cách đơn giản thì nó là tập hợp các form hoặc các
file HTML.
1.3.2.3. Controller
Giữ nhiệm vụ nhận điều hướng các yêu cầu từ người dùng và gọi đúng những
phương thức xử lý chúng... Chẳng hạn, thành phần này sẽ nhận request từ URL và form
để thao tác, thực hiện với Model.
1.3.3. Cách thức làm việc của MVC

14


-


Hình 3: Cách thức làm việc của MVC
User tương tác với View, bằng cách click vào button,user gửi yêu cầu đi.
Controller nhận và điều hướng chúng đến đúng phương thức xử lý ở Model.
Model nhận thông tin và thực thi các yêu cầu.
Khi Model hoàn tất việc xử lý, View sẽ nhận kết quả từ Model và hiển thị cho người

dùng.
1.3.4. Ưu điểm và nhược điểm của MVC
1.3.4.1. Ưu điểm
Thể hiện tính chun nghiệp trong lập trình, phân tích thiết kế. Do được chia thành
các thành phần độc lập nên giúp phát triển ứng dụng nhanh hơn, đơn giản, dễ nâng cấp,
bảo trì.
1.3.4.2. Nhược điểm
Đối với dự án nhỏ, việc áp dụng mơ hình MVC gây cồng kềnh, tốn thời gian trong
quá trình phát triển. Tốn thời gian trung chuyển dữ liệu giữa các thành phần.
1.3.5. Mơ hình MVC và hệ thống Captive Portal
Trong hệ thống Captive Portal của chúng ta, mơ hình MVC được ứng dụng trong
q trình lập trình web ở server để thực hiện việc xác thực của người dùng. Và framework
mà chúng ta sử dụng có ứng dụng mơ hình MVC là Codeigniter, sẽ được trình bày dưới
4

đây.
Giới thiệu về framework CodeIgniter

15


Hình 4: Mơ hình MVC của CodeIgniter
1


CodeIgniter là gì?
CodeIgniter (CI) là một PHP Framework theo cấu trúc MVC được biết trên PHP4 và
hỗ trợ cả PHP4 và PHP5.
Nói nơm na nó là một tập hợp các thư viện viết sẵn trên PHP giúp chúng ta phát
triển web bằng PHP nhanh hơn là cách lắp ghép thông thường, các thư viện này giúp ta
thực hiện các tác vụ thông thường của một ứng dụng web như kết nối và thực hiện các
công việc liên quan đến cơ sở dữ liệu, upload file, xử lý hình ảnh, phân trang, cookie,
session, bảo mật... Đồng thời các thư viện này cũng giúp chúng ta code tốt hơn với mơ
hình MVC.

16


1.4.2. Tính năng của CodeIgniter
CodeIgniter cũng mang một số khái niệm đặc thù và các tính năng cơ bản của mơ
hình MVC:
-

Hỗ trợ kết nối và tương tác đa nền tảng cơ sở dữ liệu.

-

Tương tác với cơ sở dữ liệu thông qua active records

-

Quản lý Session

-


Định dạng và chuẩn hóa form và dữ liệu đầu vào

-

Hỗ trợ Caching tồn trang để tăng tốc độ thực thi và giảm tải tối thiểu cho máy chủ.

-

Hỗ trợ Template Engine hoăc sử dụng chính PHP tag để điều hướng trong View

-

Hỗ trợ Hook, các lớp ngoại và các Plugin
Trong số các mô hình MVC khác, CodeIgniter có các ưu điểm sau:

-

Tương thích hoản toàn với PHP4. Nếu sử dụng được PHP5 sẽ sử dụng được các tính

năng hữu ích khác như khả năng gọi phương thức dây chuyền.
-

Mơ hình code nhẹ cho hệ thống, cải thiện tốc độ thực thi.

-

Đơn giản trong việc cài đặt, cấu hình và cấu trúc thư mục.

-


Error logging

-

Mềm dẻo trong việc định tuyến URI

1.4.3. CodeIgniter và hệ thống Captive Portal
Trong hệ thống Captive Portal, CodeIgniter được sử dụng làm Framework cho việc
lập trình hệ thống web PHP cho Captive Portal. Việc lập trình trong Framework này giúp
cho việc lập trình dễ dàng hơn, đồng thời tạo điều kiện để người quản lý dễ dàng tiếp cận
hệ thống hơn.

17


5

Giới thiệu về cách triển khai hệ thống
Để hệ thống có thể triển khai một cách trơn tru, ta phải định hình được đường đi của
gói tin khi có u cầu từ máy trong mạng muốn đi ra ngoài Internet, theo ngun lý của
Captive Portal thì ta sẽ chặn gói tin yêu cầu kết nối Internet đó và cho xác thực, sau khi
xác thực xong mới cho gói tin đi qua, ra ngoài Internet và sau một thời gian xác định, sẽ
không cho ra Internet nữa.
Các thành phần phần cứng cần có trong hệ thống này bao gồm, một Wireless Access
Point, một Ubuntu Server có 2 NIC và các máy host trong mạng LAN nối với Wireless
Access Point.
Các thành phần phần mềm cần có trong hệ thống là tường lửa iptables, apaches được
cài đặt và vận hành trên Ubuntu Server.
Từ những cơ chế và nguyên lý cơ bản về Captive Portal, nhóm chúng em đã triển
khai hệ thống SAM – Smart Access Management.

Để hiểu rõ hơn về cách vận hành của hệ thống SAM, ta sẽ tìm hiểu ở chương tiếp
theo.

18


CHƯƠNG 2: HỆ THỐNG SAM – TỔNG QUAN, CÁC THÀNH PHẦN VÀ VẤN
ĐỀ CHỨNG THỰC TRONG HỆ THỐNG.
2.1. Giới thiệu về hệ thống SAM – Smart Access Management.
2.1.1. Vấn đề và giải pháp.
2.1.1.1. Vấn đề
-

Bạn có một hệ thống WIFI ở công ty, quán cà phê, ký túc xá, trường học,… nhưng

bạn chỉ sử dụng nó với cách thơng thường và cơ bản nhất. Bạn có chắc với cách triển khai
và cài đặt đó có làm cho hệ thống bạn bảo mật một cách an tồn nhất? Có làm cho người
dùng cảm thấy thích thú nhất? Hoặc có làm cho bạn cảm thấy mình quản lý được hết mọi
thứ.
Đương nhiên với cách triển khai và quản lý thông thường hiện tại, bạn chưa thể trả lời các
câu hỏi trên một cách chắc chắn nhất, với cách triển khai đó, hệ thống của bạn có thể bị
một kẻ xấu hack mật khẩu để sử dụng, hoặc tệ hơn là kẻ đó đột nhập vào hệ thống mạng
bên trong để lấy những tài liệu mật trong hệ thống mạng đó và làm hư hỏng và thiệt hại
cho tổ chức…
Cũng theo đó, người dùng cũng chưa chắc đã thích thú với hệ thống bạn đang cài
đặt, họ cảm thấy tốc độ mạng họ xài không ổn định, lúc nhanh chậm thất thường, hoặc là
chỉ cần một người dùng nào đó tiến hành download, thì tốc độ của hệ thống mạng sẽ bị
kéo xuống và ảnh hưởng đến các người dùng khác. Người dùng sẽ cảm thấy không công
bằng và sẽ đánh giá vào hệ thống mạng của bạn một điểm trừ.
Bạn cũng không thể quản lý tất cả các truy cập trong hệ thống mạng của mình, trang

quản lý của admin của router chưa thể hỗ trợ một cách đầy đủ và chính xác những gì bạn
muốn quản lý, bạn khơng thể biết chính xác ai đang truy cập mạng của mình và họ có làm
gì để phá hoại hệ thống mạng mình khơng.
-

Có q nhiều vấn đề được đặt ra khi sử dụng cách thiết lập hệ thống WIFI thông

thường thông qua xác nhận bằng một khóa dùng chung, bạn hãy thử một giải pháp triển
khai hệ thống WIFI mới, chuyên nghiệp hơn, tốt hơn, không chỉ khắc phục các vấn đề

19


trên, mà cịn tao cho bạn những ích lợi mà chính bạn cũng khơng ngờ sẽ có được ở hệ
thống WIFI của mình.

20


2.1.1.2. Giải pháp.
-

Sau một thời gian thử nghiệm và triển khai thực tế ở một số nơi, nhóm phát triển của

chúng tơi đã xây dựng được một giải pháp có thể tối ưu hóa hệ thống WIFI của bạn đang
sẵn có, làm cho việc truy cập WIFI trở nên chuyên nghiệp và dễ dàng nhất.
-

Smart Access Management - SAM là giải pháp mà chúng tơi đã xây dựng được,


nó cung cấp các tính năng quan trọng mà đa số các hệ thống WIFI hiện nay chưa có được:
+
Cung cấp một cách xác thực khác so với cách sử dụng thông thường là sử dụng
một mật khẩu chung, SAM xác thực thông qua một giao diện website, cho phép người
dùng đăng nhập với một username, password nhất định.
+
Quản lý các kết nối của tất cả các máy trong hệ thống, quản lý được thời gian kết
nối, băng thông sử dụng của các máy, quyền truy cập đến các trang web nhất định.
+
Tạo ra nhiều cơ hội hơn cho việc quảng cáo, maketing thông qua việc đặt các
thông tin quảng cáo, thông báo trên trang web dùng để đăng nhập.
+
Đánh giá được mối quan tâm của khách hàng thông qua việc thống kê và phân tích
những xu hướng mà khách hàng truy cập trên Internet khi sử dụng mạng WIFI của bạn.
Giúp ích rất nhiều cho những người muốn tìm hiểu thị trường kinh doanh.
-

Đây là một dịch vụ mở nên tính năng của nó sẽ khơng bao giờ giới hạn, chúng tôi sẽ

tiếp tục nghiên cứu và phát triển thêm nhiều tính năng để giúp sử dụng hệ thống WIFI của
mình một cách tối ưu và chuyên nghiệp nhất.
2.1.2. Chức năng chính của hệ thống.
2.1.2.1. Tạo người dùng và nhóm người dùng.
-

Chức năng này giúp bạn tạo được các tài khoản người dùng ứng với từng nhóm

người dùng tương ứng để cung cấp cho khách hàng có thể truy cập.
-


Việc thiết lập username, password, nhóm người dùng đều do bạn tự thiết lập trong

trang quản lý của hệ thống SAM.
2.1.2.2. Quản lý thời gian sử dụng Internet.
-

Chức năng này giúp bạn thiết lập được thời gian sử dụng Internet cho từng nhóm

người dùng cụ thể. Việc này giúp nhận được thiện chí từ khách hàng.
21


-

Ví dụ khi bạn triển khai trong một quán café, và thiết lập thời gian sử dụng Internet

của một khách quen là 1 giờ và một khách mới vào là 30 phút thì sẽ tạo được thiện chí từ
khách quen hơn, giúp người dùng chủ động hơn so với việc sử dụng Internet của mình.
-

Việc cài đặt và cấu hình thời gian sử dụng sẽ được chúng tơi cấu hình trong trang

web quản lý của hệ thống SAM theo yêu cầu của bạn, và bạn cũng có thể chỉnh sửa nó dễ
dàng trong trang quản lý hệ thống.
2.1.2.3. Quản lý lưu lượng, tốc độ download/upload.
-

Chức năng này giúp bạn kiểm sốt được tốc độ sử dụng Internet của từng nhóm

người dùng cụ thể. Nhờ chức năng này giúp cho việc quản lý tốc độ trên mạng hợp lý, tạo

sự công bằng cho người sử dụng Internet.
Ví dụ mạng WIFI của bạn có tốc độ tối đa là 800Kbits/s và khi thực hiện giới hạn
tốc độ, bạn giới hạn người dùng Guest có tốc độ là 100Kbits/s và Nhân viên trong cơng ty
là 500Kbits/s thì khi người dùng Guest download, tốc độ tối đa của họ cũng chỉ là
100Kbits/s. Vì vậy sẽ không ảnh hưởng đến tốc độ sử dụng mạng của các người dùng cịn
lại.
-

Việc cài đặt và cấu hình giới hạn tốc độ sẽ được chúng tối cấu hình trong trang web

quản lý hệ thống SAM theo yêu cầu của bạn, và bạn cũng có thể chỉnh sửa dễ dàng trong
trang quản lý của hệ thống.
2.1.2.4. Quảng cáo, thông báo các thông tin mà bạn mong muốn.
-

Chức năng này cho phép bạn thiết kế một website theo ý mình, phù hợp với công

ty, trường học, nhà hàng, khách sạn… của bạn. Đảm bảo một giao diện website vừa phù
hợp với yêu cầu của bạn, vừa thu hút và bắt mắt người sử dụng.
Website này cũng là nơi người dùng thực hiện viêc đăng nhập tài khoản để sử dụng
Internet. Và việc thiết kế website này do chúng tôi thực hiện dựa trên các yêu cầu của bạn.
2.1.2.5. Cho phép truy cập cũng như chặn một số website.
Chức năng này cho phép bạn tự thiết lập quyền chặn một hoặc nhiều website khi
người dùng sử dụng Internet. Cũng như cho phép người dùng vào một số website khi
chưa thực hiện việc đăng nhập kết nối.
Ví dụ, bạn thiết lập cho mọi người dùng dù không thực hiện việc đăng nhập tài
khoản kết nối mà vẫn có thể vào được trang web của công ty, hoặc chặn người dùng vào

22



các trang web đen, web có nội dung xấu để tránh lây nhiễm virus và các phần mềm gây
hại cho hệ thống và người dùng khác.
2.1.2.6. Quản lý và chặn kết nối đối với một số người dùng bất hợp pháp.
Sẽ có một số người dùng truy cập ngồi sự cho phép của bạn và tổ chức, hoặc người
dùng đó vi phạm một trong các điều lệ về truy cập mạng, bạn có thể sử dụng chức năng
này để ngắt kết nối tạm thời hoặc vĩnh viễn đối với người dùng đó.
2.1.2.7. Thống kê và phân tích việc truy cập của người dùng.
-

Chức năng này cho phép bạn có thể thực hiện việc thống kê số lượng truy cập hàng

ngày, hàng tuần, hàng tháng; thống kê được nhóm người dùng, cũng như người dùng truy
cập; biết được những website mà họ thường đến nhất…
-

Việc thống kê này thường giúp ích cho những tổ chức kinh doanh, từ việc thống kê

họ có thể phân tích, đánh giá được xu hướng của người dùng để đưa ra các chiến lược
kinh doanh thích hợp.
2.2. Hệ thống SAM và các thành phần.
Để triển khai hệ thống SAM một cách hoàn chỉnh và hiệu quả thì ta khơng thể thiếu
các thành phần sau.
2.2.1. Phần cứng.
2.2.1.1. Wireless Access Point.
-

Wireless Access Point là một thiết bị có nhiệm vụ kết nối các máy tính vào cùng hệ

thống mạng nếu tất cả các máy tính đó có gắn một wireless network card

Wireless Router là một thiết bị có nhiệm vụ kết nối các máy tính vào cùng hệ thống
mạng và có thêm một số bộ phận phần cứng khác, giúp nó có thể kết nối với các mạng
khác nhau lại.
Sự khác biệt giữa Wireless Access Point và Wireless Router là Wireless Router có
một cổng WAN để cắm vào ADSL hoặc là Cable Modem.
-

Trong hệ thống SAM này, ta không sử dụng cổng WAN, nên ở Access Point, chỉ cần

cấu hình defaul gateway trỏ đến địa chỉ của máy Server là hệ thống có thể hoạt động.
2.2.1.2. Server Ubuntu.
23


-

Ở đây ta sử dụng máy chủ Ubuntu bản 12.04, trên đó cài đặt tất cả các phần mềm

cần thiết trên hệ thống, và địa chỉ máy chủ phải được đặt cố định để AP có thể trỏ về khi
có các kết nối muốn đi ra Internet.
-

Ubuntu Server của chúng ta phải có ít nhất 2 card mạng, một để nối với AP, 1 để nối

với mạng Internet bên ngoài, và đặc biệt, ta phải cấu hình cho 2 card mạng này có thể
thơng với nhau để có thể chuyển tiếp kết nối từ card mạng nối với AP và card mạng nối
với Internet và ngược lại.
2.2.2. Phần mềm.
2.2.2.1. Apache2 trên Ubuntu.
-


Tiến hành cài đặt Apache2 trên Ubuntu để có thể dựng Webserver trên Ubuntu một

cách dễ dàng.
Tại đây, tiến hành lập trình Web trên Framework CodeIgniter để khi có kết nối muốn
ra ngồi Internet của máy trong mạng, thì sẽ chuyển trang sang webserver ta vừa dựng
xong, tại đây sẽ chặn lại và tiến hành xác thực.
2.2.2.2. Tường lửa Iptables.
-

Kiểm tra bản Iptables đã có trong Ubuntu Server chưa, nếu chưa có thì tiến hành cài

đặt bản thích hợp.
Tường lửa Iptables có nhiệm vụ chính là chặn các kết nối ra Internet và thực hiện
việc cho phép kết nối ra ngồi khi đã thực hiện xác thực thành cơng.
Đây là thành phần khá quan trọng trong hệ thống SAM.
2.2.3. Các mối liên hệ.
-

Các thành phần trong hệ thống đều có mối liên hệ với nhau, tất cả đều dựa trên

luồng đi của các gói tin trong hệ thống.
Chúng ta thực hiện định hướng các gói tin đi theo một luồng mà ta đã định sẵn ra để
có thể dễ dàng quản lý các kết nối, từ đó thực hiện các xác thực.
Phần cứng thực hiện điều hướng các luồng đi của gói tin, cịn phần mềm thực hiện
các phương pháp chặn gói tin, cho phép gói tin đi qua, kết hợp với phần cứng, tạo nên
một hệ thống SAM hoàn chỉnh.
24



2.3. Hệ thống SAM và cơ chế hoạt động.
-

Bước 1: Đầu tiên, khi máy client trong mạng kết nối vào Wifi thơng qua Wireleass

Access Point, thì sẽ có u cầu bật trình duyệt lên để thực hiện xác thực. Khi đó, có nghĩa
là các kết nối từ máy client ra Internet đã bị chặn lại ở Ubuntu Server.
Bước 2: Tiếp theo máy client bật trình duyệt lên và vào một website bất kì, lúc đó,
trang web xác thực của hệ thống sẽ hiện ra, tại đây, client sẽ thực hiện các thao tác xác
thực thông qua Username, Password hoặc các kiểu xác thực khác mà Server đã định
nghĩa. Nếu không xác thực thành cơng, thì máy client vẫn khơng thể sử dụng Internet
được.
Bước 3: Nếu client đã xác thực thành cơng, thì sẽ có một trang web hiện ra để báo là
đã xác thực thành cơng và có thể sử dụng Internet, đồng thời báo luôn thời gian sử dụng
của client này. Ở bước này, trên Webserver đã xử lý đồng thời việc đăng nhập xác thực
của người dùng song song với việc mở tường lửa cho phép người dùng này đi ra Internet.
Bước 4: Sau khi đã xác thực thành cơng thì người dùng sẽ sử dụng Internet bình
thường, trong q trình sử dụng, người dùng có thể tự ngắt kết nối của mình khi khơng
dùng nữa để duy trì thời gian sử dụng hoặc khi hết thời gian sử dụng, hệ thống sẽ tự động
ngắt kết nối. Tại đây, Webserver lại tiếp tục xử lý đồng thời việc ngắt session đăng nhập
của người dùng cùng với đóng firewall khơng có người dùng này đi ra Internet nữa.
2.4. Hệ thống SAM và các vấn đề bảo mật.
Cũng như các hệ thống khác, vấn đề bảo mật của hệ thống SAM cũng được chú
trọng bằng cách phân tích các nguy cơ tấn cơng và tìm ra cách phịng chống.
2.4.1. Các nguy cơ tấn công.
-

Một hệ thống SAM về cơ bản là một kỹ thuật mà trong đó tất cả các lưu lượng truy

cập người dùng được giữ lại và chuyển đến một server xử lý xác định. Điều này được

thực hiện bằng cách chặn các truy cập lưu lượng có nguồn gốc từ khách hàng. Khách
hàng được chuyển đến một trang xác thực dựa vào yêu cầu thông tin đăng nhập hợp lệ
trước khi cho phép khách hàng truy cập Internet.
Kỹ thuật dùng để xử lý, chặn các truy cập lưu lượng và xác định từng kết nối của
khách hàng là từ địa chỉ MAC, thế nên nếu đối tượng tấn công biết được cách nhận biết
25


×