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.. Xây dựng
Trang 2BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
Trang 3LỜ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ênkhoa 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ậntì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ể hoà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ênkhác trong khoa Công Nghệ Thông Tin như thầy Nguyễn Hòa, thầy Mai Xuân Phú, thầyBùi Công Trường và thầy Đặng Thanh Bình đã động viên, góp ý cho đồ án chúng emtrong suốt quá 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 quý thầy cô và các bạn để chúng em có thể hoà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ệnNguyễn Quốc HuyMai Chiếm Minh
Trang 4NHẬ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
Trang 5NHẬ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
Trang 6LỜ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 toá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ớinhữ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ậphiệ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úpkiểm soát được khả năng truy cập từ bên ngoài mà còn giúp cho tổ chức, doanh nghiệpcủ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 Websitechứng thực của hệ thống này
Trang 8DANH 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
Trang 9MỤC LỤC
Trang 10CHƯƠNG 1: TỔNG QUAN VỀ CAPTIVE PORTAL VÀ CÁCH TRIỂN KHAI
1 Giới thiệu về công nghệ Captive Portal
1 Tổng quan
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ínhnă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ựctiếp với một trang web (http, https) chứ không phải đăng nhập khô khan như kiểu WPA,WPA2
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ểnhướ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 đơngiả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 CaptivePortal thường được triển khai ở hầu hết các điểm truy cập Wifi và nó cũng có thể đượcdù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ệtvẫ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ộtHTTP 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ớiCaptive 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
Trang 112 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ìnhduyệ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ínhxá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.
ứ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ảomật
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óthể chạy được tường lửa và mở Captive Portal trên đó
Trang 124 Quản lý truy cập Wireless bằng Captive Portal
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 để truycậ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
Ngược lại, khách hàng luôn được truy cập miễn phí vào dịch vụ mạng không dây Tại đâykhá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ácchươ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ã truycập để bắt đầu truy cập internet
đượ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ệcthay đổ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ẳnghạn như 2 giờ để nhắc người dùng không nên sử dụng dịch vụ quá mứ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ôngqua 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đượ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
2 Giới thiệu về firewall iptables
Trang 131.2.1 Tổng quan
Linux Netfilter/Iptables gồm 2 phần là Netfilter trong nhân Linux và Iptables nằm ngoàinhâ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ườidùng đã thiết lập vào cho Netfilter xử lý
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
1.2.3 Iptables với hệ thống Captive Portal
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 ngoài Internet
đó, 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ặncác kết nối khi hết thời gian sử dụng
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ácthự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 trongviệ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ìnhthiế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ụngcủ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
Trang 15Hình 3: Cách thức làm việc của MVC
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 trongquá 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 trongquá 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đây
4 Giới thiệu về framework CodeIgniter
Trang 16Hình 4: Mô hình MVC của CodeIgniter
1 CodeIgniter là gì?
hỗ trợ cả PHP4 và PHP5
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 tathự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áccô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
Trang 171.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:
Trong số các mô hình MVC khác, CodeIgniter có các ưu điểm sau:
năng hữu ích khác như khả năng gọi phương thức dây chuyền
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ệclập trình hệ thống web PHP cho Captive Portal Việc lập trình trong Framework này giúpcho 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
Trang 185 Giới thiệu về cách triển khai hệ thống
gói tin khi có yêu cầu từ máy trong mạng muốn đi ra ngoài Internet, theo nguyên lý củaCaptive 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 khixá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
Point, một Ubuntu Server có 2 NIC và các máy host trong mạng LAN nối với WirelessAccess Point
cài đặt và vận hành trên Ubuntu Server
khai hệ thống SAM – Smart Access Management
theo
Trang 19CHƯƠ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 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 toàn nhất? Có làm cho ngườidù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ọithứ
Đươ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áccâ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ạngbê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ạicho tổ chức…
đặ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ôngbằng và sẽ đánh giá vào hệ thống mạng của bạn một điểm trừ
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ạnmuố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
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ểnkhai 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 đề
Trang 20trê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.
Trang 212.1.1.2 Giải pháp.
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 đangsẵ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:
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
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
thông tin quảng cáo, thông báo trên trang web dùng để đăng nhập
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
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ủamì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.
người dùng tương ứng để cung cấp cho khách hàng có thể truy cập
trang quản lý của hệ thống SAM.
2.1.2.2 Quản lý thời gian sử dụng Internet.
Trang 22- 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 Internetcủ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.
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.
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
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ònlại
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.
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
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.
người dùng sử dụng Internet Cũng như cho phép người dùng vào một số website khichưa thực hiện việc đăng nhập kết nố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
Trang 23cá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âyhạ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 ngoài sự cho phép của bạn và tổ chức, hoặc ngườidù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ăngnà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.
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 truycập; biết được những website mà họ thường đến nhất…
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ượckinh 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ếucác thành phần sau
2.2.1 Phần cứng.
2.2.1.1 Wireless Access Point.
thống mạng nếu tất cả các máy tính đó có gắn một wireless network card
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ạngkhác nhau lại
một cổng WAN để cắm vào ADSL hoặc là Cable Modem