Mô hình triển khai
Hình 3.1: Mô hình triển khai
- Server
+ Sử dụng hệ điều hành CentOS
+ Có 2 card mạng: eth0 kết nối internet, eth1 để chế độ up nhưng
không cấu hình địa chỉ
+ Cài FreeRadius
+ Cài Web Server
+ Cài MySQL - AccessPoint
+ Kết nối đến eth1 của server
+ Tắt DHCP
+ Cấu hình AccessPoint ở chế độ mở khóa
Thực hiện cài đặt chi tiết mô hình
Lưu ý: Thực hiện tất cả cấu hình ở chế độ quyền user root.
1.7.1.1 cài đặt cấu hình Web server
Nếu cài đặt thành công Web server ta sẽ có các file như sau:
/Var/log/httpd/access.log
/Etc/httpd/conf/httpd.conf
/Etc/httpd/conf.d/
Bước 1: Cài đặt các gói cho chương trình với các lệnh:
- yum install httpd
- yum install httpd-manual
Hình 3.2: Cài đặt httpd
Hinh 3.3: Cài đặt gói httpd-manual
Bước 2: Cấu hình Webserver bằng việc sửa cấu hình trong file httpd.conf
Với lệnh:
- vi /etc/httpd/conf/httpd.conf
Sau khi mở file httpd.conf thực hiện sửa các giá trị như sau:
- Dòng 265:#ServerName www.example.com:80
Sửa thành: ServerName www.thang.com
- Dòng 391: DirectoryIndex index.html index.html.var
Sửa thành: DirectoryIndex welcom.html index.html index.html.var
Với welcom.html là trang web mình tạo ra để làm trang chủ cho web server.
Sau khi chỉnh sửa như trên thực hiên thoát và lưu thay đổi đã cấu hình.
Bươc 3: Cho dịch vụ httpd tự start mỗi khi khởi động máy và start dịch vụ lên:
- chkconfig httpd on
- service httpd start
Bước 4: Cấu hình mở cổng cho client truy cập httpd trong firewall iptables bằng lệnh sau:
- setup
Sau đó thực hiện cấu hình như hình ảnh:
Hình 3.6: Select firewall configuration
Hình 3.8: Select mở cổng các dịch vu ssh http https
Chú ý, để chọn ta thực hiện ấn phím space.
Sau khi cấu hình xong thực hiện lưu cấu hình lại.
Bước 5: Lưu firewall và restart lại httpd
- service iptables save
- service httpd restart
Hình 3.9: Lưu và start Iptables
1.7.1.2 cài đặt và cấu hình FreeRadius
Các file được tạo ra khi cài đặt thành công:
/ Etc / raddb / radiusd.conf
/ Etc / raddb / clients.conf
Bước 1: Cài đặt gói FreeRadius bằng lệnh :
- yum install freeradius.
Hình 3.10: Install FreeRadius
Bước 2: Start FreeRadius Cho phép tự chạy khi khởi động hệ thống :
- chkconfig radiusd on
- service radiusd start
Hình 3.11: Start và cấu hình tự động chạy FreeRadius
Bước 3: Kiểm tra chứng thực radius bằng user của linux:
- Adduser chilli
- Passwd chilli
Hình 3.12: Tạo user test Radius
Test radius bằng lệnh sau:
- Radtest chilli chilli123 localhost 0 testing123
Hình 3.13: Kiểm tra Radius
Nhận được thông báo Access-Reject vì user không có quyền đọc file trong /etc/
Để đọc được chỉnh sửa file /etc/raddb/radius.conf như sau:
- Dòng 110 group sửa:#group
Hình 3.14: Sửa file radius.conf
Cấu hình xong thì lưu lại và restart radius.
Test lại Radius với user password tạo từ trước:
- Radtest chilli chilli123 localhost 0 testing123
Hình 3.15: Kiểm tra lại chứng thực với Radius
Kết quả trả về đã Access-Accept
Tạo pass radius bằng cách sửa file /etc/raddb/clients.conf
- Dòng 35 recret = testing123
Hình 3.16: Sửa password Radius
Restart radius và test lại chứng thực radius bằng pass radius mới:
Hình 3.17: Test Radius với password mới
Báo cáo đã Accept với pass radius mới.
1.7.1.3 Cài chillispot và tạo trang web login.
Bước 1: Chuẩn bị các yêu cầu để cài Chillispot
Chillispot cũng là một server DHCP nên để cài chillispot ta phải tắt dịch vụ DHCP trên server CentOS với các lênh sau:
- service dhcpd stop
Nếu không chạy được lệnh trên chứng tỏ không có dhcp trong máy chủ (OK).
Tiếp theo, thiết lập cho máy server như một router để các máy trong client có thể đi internet. Bằng cách sửa file /etc/sysctl.conf
- Dòng7: net.ipv4.ip_forward = 0
Sửa: net.ipv4.ip_forward = 1
Hình 3.18: Sửa đi internet
Thực hiện lênh sau để forward ngay lập tức:
- echo "1"> / proc/sys/net/ipv4/ip_forward
Thiết lập chế độ cho eth1 bằng cách sửa file / etc/sysconfig/network- scripts/ifcfg-eth1 như sau:
- DEVICE = eth1
- ONBOOT = yes
Hình 3.19: Cấu hình eth1
Bước 2: Download chillspot packet và cài đặt
Downlaod chillspot tại địa chỉ web:
http://www.chillispot.org/download/chillispot-1.1.0.i386.rpm bằng lệnh:
- wget http://www.chillispot.org/download/chillispot-1.1.0.i386.rpm
Thực hiện cài đặt gói chillispot mới tải về bằng lệnh:
- Rpm –ivh chillispot-1.1.0.i386.rpm
Hình 3.20: Cài chillispot
Bước 3: Sau khi cài xong thực hiện cấu hình chillispot tại file /etc/chilli.conf
Chình sửa file chilli.conf thành như sau:
- Dòng 38 net 192.168.182.0/24
Sửa: net 10.0.0.0/24
- Dòng113 rad01.chillispot.org
Sửa: radiusserver1 127.0.0.1
Địa chỉ của Server Radius. Cài trên cùng máy với Chilli thì để là 127.0.0.1
- Dòng 120 rad02.chillispot.org
Sửa: radiusserver2 127.0.0.1
- Dòng 139: #radiussecret testing123.
Sửa: radiussecret radius123
Pass là theo pass mà chúng ta đã sửa trong file /etc/radb/clients.conf
- Dòng 237: # Uamserver https://radius.chillispot.org/hotspotlogin
Sửa: uamserver https://10.0.1.1/cgi-bin/hotspotlogin.cgi
- Dòng 244: # Uamhomepage http://192.168.182.1/welcome.html
Sửa: uamhomepage http://10.0.0.1/welcome.html
- Dòng 248: # uamsecret ht2eb8ej6s4et3rg1ulp.
Sửa: uamsecret ht2eb8ej6s4et3rg1ulp.
- Dòng 253: # Uamlisten 192.168.182.1
Sửa: Uamlisten 10.0.0.1
Sau đó lưu file lại.
Bước 4 : Copy file firewall.iptables, hotspotlogin.cgi vào vị trí đã chỉ:
˗ cp /usr/share/doc/chillispot-1.1.0/firewall.iptables /etc
Hình 3.21: Copy file firewall.iptables, hotspotlogin.cgi
Bước 5: Chỉnh sửa file /var/www/cgi-bin/hotspotlogin.cgi
˗ Dòng 27: #$uamsecret = "ht2eb8ej6s4et3rg1ulp";
Sửa: $uamsecret = "ht2eb8ej6s4et3rg1ulp";
˗ Dòng 31: # $ userpassword = 1;
Sửa: $ userpassword = 1;
Hình 3.22: Sửa file hotspotlogin.cgi
Bước 6: Tạo trang web login.
Tạo 1 trang như sau: vi /var/www/html/welcome.html
Hình 3.23: Nội dung file web login
Trong đó chillispot.png là logo của chilli có thể thay hình bạn thích.
Bước 7: Sau khi hoàn thành chúng ta thực hiện cho chilli tự động chạy khi khởi động máy và start nó lên.
- Chkconfig chilli on
- Service chilli start
Bước 8: Thực hiện kiểm tra card mạng để xem chilli hoạt động không:
Hình 3.24: Kiểm tra card mạng
Kết quả đã thấy cổng tun0-00 được cấp địa chỉ IP 10.0.0.1
1.7.1.4 kết nối client và test
Client truy cập đã được cấp ip 10.0.0.2
Client thực hiện trình duyệt web
Hình 3.26: Client trình duyệt web
Client login chứng thực radius
Hình 3.27: Client login chứng thực
Hình 3.28: Truy cập thành công
1.7.1.5 Cài đặt mysql, mysql-server để quản lý user chứng thực RADIUS
Bước 1: Cài đặt mysql, mysql-server bằng lệnh:
- Yum install mysql
- Yum install mysql-server
- Chkconfig mysqld on (cho mysql tự động chạy khi khởi động hệ thống)
- Service mysqld start (khởi động chương trình mysql)
4
Hinh 3.30: Cài đặt mysql-server
Bước 2: Tạo password cho sqladmin, password đặt là root123
- /usr/bin/mysqladmin -u root password 'root123'
Bước 3: truy cập mysql và tạo database radius chứa dữ liệu user chứng thực RADIUS
Truy cập mysql:
- Mysql –uroot –proot123
Hình 3.31: truy cập mysql
Tạo database radius:
- CREATE DATABASE radius;
- GRANT ALL PRIVILEGES ON radius. * To 'radius'@'localhost'
IDENTIFIED BY 'root123';
- FLUSH PRIVILEGES;
Hình 3.32: tạo database radius
Áp dụng mẫu database cho database radius:
- mysql -uroot -proot123 radius </usr/share/doc/freeradius- 1.1.3/examples/mysql.sql
Hình 3.33: Áp dụng mẫu database
Tạo dữ diệu user cho radius bằng cách truy cập vào database radius và dùng các lệnh sau để nhập dữ liệu:
- mysql –uroot –proot123
- use radius;
- INSERT INTO radcheck (UserName, Attribute, Op, Value) VALUES
('thang', 'User-Password', '==', 'thang123');
- INSERT INTO radreply (UserName, Attribute, Op, Value) VALUES
- INSERT INTO radreply (UserName, Attribute, Op, Value) VALUES ('thang', 'WISPr-Bandwidth-Max-Down', ':=', '56000');
- INSERT INTO radreply (UserName, Attribute, Op, Value) VALUES
('thang', 'WISPr-Bandwidth-Max-Up', ':=', '33400');
- INSERT INTO usergroup (UserName, GroupName) VALUES ('thang',
'dynamic');
- INSERT INTO radgroupcheck (GroupName, Attribute, Op, Value)
VALUES ('dynamic', 'Auth-Type', ':=', 'Local');
- INSERT INTO radgroupcheck (GroupName, Attribute, Op, Value)
VALUES ('dynamic', 'Simultaneous-Use', ':=', '1');
- INSERT INTO radgroupreply (GroupName, Attribute, Op, Value)
VALUES ('dynamic', 'Service-Type', ':=', 'Login-User');
Với database được tạo như trên thì chúng ta đã tạo 1 user thang với password là thang123 đồng thời tạo thêm các thuộc tính để radius áp dụng cho user thang là:
- Seesion-timeout: thời gian tối đa user truy cập vào hệ thống
- Idle-timeout: thời gian tối đa mà user không hoạt động trong hệ thống
- WISPr-Bandwidth-Max-Down: dung lượng download
- WISPr-Bandwidth-Max-Up: dung lượn upload
Sau khi tạo database xong ta có thể kiểm tra lại với lệnh sau:
- Select * from radcheck;
- Select * from radreply;
- Select * from usergroup;
- Select * from radgroupcheck;
- Select * from radgroupreply;
Hinh 3.36: Table radreply
Hình 3.37: Table usergroup
Hình 3.38: Table radgroupcheck
Hình 3.39: Table radgroupreply
Bước 4: cài gói freeradius-mysql để RADIUS hoạt động với mysql
- Yum freeradius-mysql
Bước 5: cấu hình file /etc/raddb/sql.conf
- Dòng 22: login = "root"
- Dòng 23: password = "rootpass"
Sửa: password = "root123"
Hình 3.40: Sửa file sql.conf
Bước 6: Cấu hình file /etc/raddb/radius.conf
- Dòng 1248 : #$INCLUDE ${confdir}/sql.conf
Sửa : $INCLUDE ${confdir}/sql.conf (bỏ dấu # đi)
Trong section authorize {}
- Dòng 1837 : file
Sửa : #file
- Dòng 1844 : #sql
Sửa : sql
Trong section accounting {}
- Dòng 2001: #sql
Bước 7: Lưu file lại và khởi động lại Radius với lệnh:
- Service radiusd restart
1.7.1.6 Chứng thực radius với user mới từ sql
Bước 1: Trình duyệt Web
Hình 3.41: Trình duyệt Web
Bước 2: Đăng nhập bằng user mới
Bước 3: Thành công
CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Với sự phát triển của công nghệ thông tin và internet hiện nay thì việc trao đổi thông tin phục vụ cho đời sống ngày càng quan trọng và đòi hỏi tính linh hoạt cao, vì thế bên cạnh hệ thống mạng cable truyền thống thì với sự ra đời của mạng không dây đã cải thiện được tính linh hoạt, trong việc trao đổi thông tin. Song song với việc trao đổi thông tin linh hoạt thì vấn để bảo mật cũng là yếu tố quan trọng.
Đồ án “ Tìm hiểu, triển khai công nghệ và giải pháp chứng thực WIFI ” nhằm nghiên cứu các cách tấn công mạng không dây, từ đó tìm hiểu, nghiên cứu các giải pháp phòng chống tấn công mạng không dây mà trong đó tập trung vào vấn đề nghiên cứu chứng thực trong WIFI. Từ đó đưa ra được giải pháp chứng thực hiệu quả nhất để triển khai cho mô hình mạng thực tế.
Qua quá trình nghiên cứu đã đạt được một số kết quả như sau:
- Nghiên cứu và tìm hiểu các giải pháp xác thực phổ biến:
- Đưa ra được các giải pháp kết hợp để tăng tính an toàn và độ tin cậy của giải pháp.
- Nghiên cứu hoạt động của công nghệ Captive Portal
- Triển khai thành công công nghệ Captive Portal
- Rút ra những hạn chế và triển khai vào thực tế.
- Phần mềm đã thực hiện được các chức năng chính của hệ thống.
- Thu thập được thông tin đưa vào chạy thử chương trình và đã hoàn thiện chương trình.
Trong thời gian tới em sẽ thực hiện thêm các chức năng còn thiếu sót của chương trình:
Tăng cường tính bảo mật, an toàn cho hệ thống mạng bằng việc kết hợp các giải pháp bảo mật hiệu quả.
Do thực hiện đề tài trong một khoảng thời gian ngắn và cộng thêm sự thiếu kinh nghiệm cũng như sự hạn chế về kiến thức, nên đề tài của em chắc chắn còn có nhiều thiếu sót. Em rất mong nhận được sự chỉ bảo của thầy cô và góp ý của các bạn để đề tài của em ngày càng hoàn thiện hơn và có thể đưa vào sử dụng trong thực tế. Chúng tôi xin gửi lời cảm ơn đến giáo viên hướng dẫn ThS. Lế Quốc Tuấn cùng các cá nhân tập thể đã tạo điều kiện giúp đỡ chúng tôi trong quá trình hoàn thiện luận văn tốt nghiệp này.
TÀI LIỆU THAM KHẢO
[1]Cisco. Authentication Types for Wireless Devices
[2]Man chilli
http://www.chillispot.org/chilli.html
[3]John Vollbrecht. Wireless LAN Access Control and Authentication
[4]Phan Quốc Lý. Huong dan cai dat captive portal tren centos.
http://phanquocly.com/huong-dan-cai-dat-captive-portal-tren-centos
[5]Install chillispot on Ubuntu
http://cemun.wordpress.com/2012/08/09/install-chillispot-on-ubuntu
[6]Lê Thị Thùy Lương (2007) .Giải pháp xác thực người dùng bằng công
nghệ Captive Portal, Luận văn tốt nghiệp, ĐHDL Hải Phòng