Thuyết minh mô hình

Một phần của tài liệu triển khai và nâng cao bảo mật cho hệ thống website trên hệ điều hành linux (Trang 44 - 94)

LI ỜỞ ĐẦU

2.2 Thuyết minh mô hình

Theo mô hình thực tế, hệ thống Web server Apache kết hợp với PHP, MySQL được triển khai xây dựng trên nền hệ điều hành Linux CentOS 64bit và được đặt trong một Vlan riêng của hệ thống mạng (Vlan 10 với IP là 192.168.10.3).

Người sử dụng từ các Vlan khác trong mạng nội bộ truy cập vào hệ thống webserver bằng các kết nối nội bộ đến máy chủ Web qua giao thức http hoặc https. Người sử dụng từ bên ngoài truy cập vào hệ thống Webserver qua tên miền được trỏ vào địa chỉ IP public của máy chủ mail (Máy chủ web được quảng bá ra bên ngoài qua tường lửa trung tâm).

Trong khuôn khổ đề tài này, nhóm chỉ thực hiện việc thiết lập hệ thống website trên hệ thống ảo, giả lập việc quảng bá máy chủ website ra ngoài internet qua tường lửa Checkpoint UTM. Để triển khai hệ thống này, cần thực hiện các bước sau:

Bước 1: Cài đặt và cấu hình HĐH Linux.

Bước 2: Cài đặt và cấu hình Webserver Apache. Bước 3: Cài đặt và cấu hình PHP.

Bước 4: Cài đặt và cấu hình MySQL.

Bước 5: Cài đặt và cấu hình bảo mật tường lửa Checkpoint UTM.

CHƯƠNG 3: HIỆN THỰC HOÁ MÔ HÌNH THIẾT KẾ 3.1 Cài đặt và cấu hình HĐH Linux

Thực hiện cài đặt máy chủ ảo cho Web server bằng chương trình Oracle VM VirtualBox.

Mở chương trình Oracle VM VirtualBox, click New để tạo máy chủ ảo và cung cấp các thông số:

Hệ điều hành: Linux Version : CentOS 64 bit Ram: 1GB

HDD: 20 GB Hiệu chỉnh:

Ổ đĩa DVD: file ảnh chứa source cài đặt Card mạng: chọn kiểu Bridged

Hình minh hoạ quá trình tạo máy chủ ảo:

Hình 3.2 - Chọn dung lượng cho ổ đĩa cho máy chủ ảo. [11]

Hình 3.4 - Chọn kiểu kết nối mạng. [11]

Sau khi hoàn tất tạo và tuỳ chỉnh máy chủ ảo, click Start để khỏi động máy chủ và bắt đầu quá trinh cài đặt HĐH Linux như sau:

Hình 3.6 - Chọn Skip để bỏ qua quá trình kiểm tra đĩa source cài đặt. [11]

Hình 3.9 - Đặt mật khẩu cho tài khoản quản trị. [11]

Hình 3.10 - Chọn kiểu cài đặt. [11]

Hình 3.11 - Chọn Write changes to disk để tiếp tục quá trình cài đặt. [11]

Hình 3.13 - Chọn Basic Server để cài máy chủ với các gói cài đặt cơ bản. [11]

Hình 3.14 - Quá trình cài đặt các gói cần thiết [11]

Hình 3.15 - Thông báo quá trình cài đặt thành công. Click Reboot để khởi động lại máy chủ. [11]

Cấu hình IP:

Hiệu chỉnh IP trong file cấu hình bằng lệnh:

#vim /etc/sysconfig/network-scripts/ifcfg-eth0

Hình 3.17 [11] Cấu hình SSH:

Dùng lệnh #vim /etc/ssh/sshd_config để hiệu chỉnh các thông số bảo mật cho kết nối SSH như port, user truy cập,…

Hình 3.18 [11]

3.2 Cài đặt và cấu hình Webserver Apache

3.2.1 Cài đặt

a) Cài đặt Webserver Apache:dùng lệnh yum để cài đặt trực tiếp apache

Hình 3.19 - Quá trình cài đặt apche thành công

b) Cài đặt Mod SSL: dùng lệnh yum để cài đặt Mod_SSL cho apache.

#yum –y install mod_ssl

c) Cài đặt Mod Security: dùng lệnh yum để cài đặt Mod Security cho apache.

# yum –y install mod_security

Hình 3.21 - Quá trình cài đặt mod_security thành công.

3.2.1 Cấu hình

a) Cấu hình apache: Hiệu chỉnh cấu hình apache qua file cấu hình httpd.conf

#vim /etc/httpd/conf/httpd.conf

Sau khi hiệu chỉnh cấu hình cho web apache, copy sourcewebsite từ máy thực vào thư mục /var/html/www

Hình 3.23. Và hiệu chỉnh file cấu hình configuration.php

Hình 3.24. b) Cấu hình Mod SSL

 Tạo khóa riêng:

# openssl genrsa –des3 –out www.atr.com.vn.key 1024

 Tao chứng chỉ:

# openssl req –new –key www.atr.com.vn.key –out www.atr.com.vn.csr

Hình 3.25.  Bỏ passphrase ở bước trên.

#cp www.atr.com.vn.key www.atr.com.vn.key.backup

#openssl rsa –in www.atr.com.vn.key.backup –out www.atr.com.vn.key

 Tạo thời hạn cho chứng chỉ.

#openssl x509 –req –days 365 –in www.atr.com.vn.csr –signkey www.atr.com.vn.key –out www.atr.com.vn.crt

Hình 3.27.

Copy file www.atr.com.vn.crt vào thư mục /etc/pki/tls/certs/ và filewww.atr.com.vn.key vào thư mục /etc/pki/tls/private

 Hiệu chỉnh file cấu hình ssl như hình bên dưới

#vim /etc/httpd/conf.d/ssl.conf

Hình 3.28. c) Cấu hình Mod Security

Hình 3.29.

Chỉnh sửa phiên bản webserver để đánh lạc hướng hacker trong việc rò tìm các lỗ hổng bảo mật liên quan đến HĐH (Ở đây mặc dù là Webserver Apache nhưng đã được đổi thành IIS7.0 ).

3.3 Cài đặt và cấu hình PHP, PHP Admin

3.3.1 Cài đặt.

Dùng lệnh yum để cài đặt ngôn ngữ PHP như sau:

#yum –y install php*

Hình 3.30 - Quá trình cài đặt PHP thành công. Dùng lệnh yum để cài đặt phpMyAdmin để quản lý cơ sở dữ liệu

Hình 3.31 - Quá trình cài đặt phpMyAdmin hoàn tất.

3.3.2 Cấu hình

Hiệu chỉnh, cấu hình php qua file cấu hình php.ini

#vim /etc/php.ini

Hình 3.32.

Hình 3.33 - Đăng nhập với tài khoản quản trị mySQL.

Hình 3.36.

3.4 Cài đặt và cấu hình MySQL

Dùng lệnh yum đề cài đặt cơ sở dữ liệu MySQL

#yum –y install mysql*

Hình 3.37 - Quá trình cài đặt MySQL hoàn tất. Thiết lập mật khẩu cho tài khoản quản trị cơ sở dữ liệu

3.5 Cài đặt và cấu hình bảo mật trên tường lửa UTM

3.5.1 Cài đặt

Tạo máy chủ ảo để cài đặt tường lửa Checkpoint UTM và cấu hình các thông số như minh hóa phía dưới trong chương trình tạo máy ảo Virtualbox.

Hình 3.38- Lựa chọn loại HĐH. [12]

Hình 3.40 - Lựa chọn source cài đặt firewall. [12]

Sau khi hoàn tất quá trình hiệu chỉnh máy ảo, khởi động máy ảo và cài đặt firewall UTM theo hình minh họa bên dưới

Hình 3.41. [12]

Màn hình chào của Firewall Checkpoint SecurePlatform. Nhấn phím Enter để bắt đầu quá trình cài đặt Firewall

Hình 3.42 - Chọn kiểu bàn phím và click OK để qua bước tiếp theo. [12]

Hình 3.43 - Kiểm tra link kết nối của các card mạng và click OK để qua bước tiếp theo. [12]

Hình 3.45 - Cấu hình kết nối bảo mật qua SSL (kết nối đến firewall qua web). Click

OK để qua bước tiếp theo. [12]

Hình 3.46- Click OK để cài đặt. [12]

Hình 3.47 - Quá trình cài đặt Firewall bắt đầu. [12]

Hình 3.49 - Quá trình cài đặt hoàn tất. Click OK để khởi động lại Firewall. [12]

Hình 3.50 - Đăng nhập với user: admin và password: admin để vào Firewall. [12]

3.5.1 Cấu hình.

Hình 3.52 - Cấu hình địa chỉ IP có cùng dải IP với card mạng trong (internal) của Firewall. [12]

Hình 3.53. [12]

Kết nối đến Firewall qua giao diện web với địa chỉ IP đã đặt lúc đầu (192.168.10.1) qua giao thức https và đăng nhập với tài khoản quản trị firewall (admin).

Hình 3.54 - Cấu hình IP quản lý của Firewall. [12]

Hình 3.55 - Cấu hình định tuyến cho Firewall. [12]

Hình 3.56 - Cấu hình IP mặt ngoài (External – IP giao tiếp với bên ngoài) cho Firewall. [12]

Hình 3.57 - Cấu hình DNS cho Firewall.

Hình 3.58 - Cấu hình tên máy và đặt card mạng quản lý cho Firewall. [12]

Hình 3.59- Xác định nguồn kết nối từ máy trạm đến Firewall qua Wen hoặc SSH. [12]

Hình 3.60 - Click checkbox Check Point UTM để lụa chọn loại Firewall. [12]

Hình 3.62 - Xác định các dải IP, các máy tính nhất định có thể kết nối đến Firewall từ SmartCenter. [12]

Hình 3.63 - Click Yes để bắt đầu quá trình cấu hình. [12]

Hình 3.64 - Quá trình cài đặt bắt đầu. [12]

Hình 3.66 - Kết nối đến Firewall bằng user đã được tạo ở trên qua SmartCenter. [12]

Hình 3.68 - Thiết lập các chính sách (rule) truy cập vào hệ thống mạng nói chung và vào Web Server nói riêng. [12]

Hình 3.69 - Tạo PC quản lý có IP cùng dải với IP mặt trong của Firewall. [12]

Hình 3.71 - Tạo dải IP mặt trong trên Firewall. [12]

Hình 3.72 - Sau khi hoàn tất thì click install để cài đặt các chính sách. [12]

Hình 3.74 - Các chính sách bảo mật, phòng chống tấn công cho hệ thống mạng và máy chủ webserver (Chống DoS). [12]

Hình 3.76 - Chống 1 loại khác trong tấn công DoS. [12]

Hình 3.78 - Cấu hình chống mã độc cho webserver. [12]

Hình 3.80 - Chống tấn công giả mạo header. [12]

Hình 3.81 - Phòng chống tấn công SQL Injection. [12]

Hình 3.83- Phòng chống browse thư mục web. [12]

3.6 Quảng bá webserver ra bên ngoài qua tường lửa UTM

Hình 3.84 - Quảng bá webserver qua bên ngoài qua điện chỉ mặt ngoài của Firewall.

Hình 3.85 - Thiết lập chính sách cho các hình thức kết nối đến webserver qua giao thức http/https.

Hình 3.86 - Kiểm tra các kết nối đến webserver qua log (SmartView Tracker).

Hình 3.88 - Chấp nhận chứng chỉ số của webserver.

Hình 3.90 - Xem thêm thông tin về chứng chỉ số của webserver.

Hình 3.91- Thông tin về chứng chỉ số của webserver (đã được tạo ở những bước trước).

CHƯƠNG 4: KẾT LUẬN 4.1 Những kết quả đạt được

Qua quá trình thực hiện, nhóm tác giả đã hoàn thành việc triển khai xây dựng hệ thống website apache kết hợp với PHP, MySQL trên Linux, tối ưu hóa các ứng dụng để nâng cao bảo mật cho hệ thống website. Bên cạnh đó, tường lửa Checkpoint UTM cũng được triển khai để nâng cao bảo mật, không chỉ cho hệ thống mạng của doanh nghiệp mà còn cho các máy chủ cung cấp dịch vụ, trong đó có máy chủ cung cấp dịch vụ web.

Việc triển khai cài đặt hệ thống website apache kết hợp PHP, MySQL trên HĐH Linux, đồng thời thực hiện việc tối ưu hóa bảo mật hệ thống website nhằm mục đích hạn chế các lỗi về phần cứng, lỗi kỹ thuật, lỗi con người, lỗi về chính sách,...phần nào góp phần đáng kể cho việc hoạt động liên tục, an toàn cho hệ thống website. Các kết quả đạt được bao gồm:

 Thấy được tổng quan về các lỗi gây mất an toàn, bảo mật cho hệ thống website thường gặp.

 Xây dựng thành công hệ thống website apache kết hợp với PHP, MySQL trên HĐH mã nguồn mở Linux.

 Đưa ra các giải pháp và hướng khắc phục các lỗi gây mất an toàn, bảo mật cho hệ thống webiste.

 Xây dựng thành công hệ thống tường lửa Checkpoint UTM nhằm nâng cao bảo mật cho website.

Qua phân tích, các lỗi gây mất an toàn cho hệ thống webiste bao gồm nhiều nguyên nhân khác nhau, mỗi nguyên nhân gây mất an toàn có những tác động nhất định với sự hoạt động liên tục của website. Do đó, để nâng cao an toàn, bảo mật cho hệ thống website, cần sự phối hợp cũng như nhận thức của từng đối tượng như người quản trị hệ thống, người lập trình phát triển ứng dụng web và người sử dụng.

4.2 Hướng phát triển

 Triển khai thành công hệ thống website apache kết hợp PHP, MySQL trên Linux.

 Triển khai thành công tường lửa UTM bảo vệ cho hệ thống máy chủ.  Đưa ra được các nguy cơ mất an toàn bảo mật và các biện pháp khắc phục. Tuy nhiên, do giới hạn về thời gian nên vẫn chưa thể triển khai hết các kỹ thuật nâng cao bảo mật hệ thống website cũng như cập nhật các kỹ thuật tấn công website mới nhất. Nếu có điều kiện sẽ tiến hành đi sâu vào nghiên cứu:

 Các lỗi gây ra mất an toàn, bảo mật cho hệ thống website.

 Đưa ra các giải pháp tối ưu nhằm ngăn chặn việc mất an toàn thông tin website.

 Cập nhật các kỹ thuật mới nhất có liên quan đến việc mất an toàn, bảo mật website.

 Triển khai các ứng dụng dò tìm lỗi bảo mật website.

 Giả lập các cuộc tấn công vào hệ thống website và thực hiện các biện pháp phòng chống.

TÀI LIỆU THAM KHẢO [1] http://vi.wikipedia.org/wiki/Website [2] http://vi.wikipedia.org/wiki/www [3] http://vi.wikipedia.org/wiki/Trình_duyệt_web [4] http://vi.wikipedia.org/wiki/Linux [5] http://vi.wikipedia.org/wiki/Apache_(HTTP) [6] http://vi.wikipedia.org/wiki/PHP [7] http://vi.wikipedia.org/wiki/MySQL [8] http://vi.wikipedia.org/wiki/Firewall

[9] Nguyễn Duy Thăng, Nguyễn Minh Thu (2003). Nghiên cứu một số vắn đề về bảo mật ứng dụng web trên internet , Luận văn tốt nghiệp, Trường Đại học KHTN Tp. HCM, TP. HCM.

[10]http://en.wikipedia.org/wiki/Secure_Sockets_Layer

[11]Bao gồm thông tin tham khảo từ các website sau:

- http://www.howtoforge.com/ - http://sourceforge.net - http://httpd.apache.org/ - http://php.net/ - http://www.mysql.com/ - http://www.phpmyadmin.net/home_page/index.php - http://www.thegeekstuff.com/2011/03/install-apache2-ssl/ - https://library.linode.com/web-servers/apache/mod-security [12]http://www.checkpoint.com

PHỤ LỤC 5.1 Cơ chế hoạt động của SSL

SSL(Secure Socket Layer ) là giao thức đa mục đích được thiết kế để tạo ra các giao tiếpgiữa hai chương trình ứng dụng trên một cổng định trước (socket 443) nhằm mã hoá toàn bộ thông tin đi/đến, mà ngày nay được sử dụng rộng rãi cho giao dịch điện tử như truyền số hiệu thẻ tín dụng, mật khẩu, số bí mật cá nhân (PIN) trên Internet.

Giao thức SSL (Secure Socket Layer) tổ hợp nhiều giải thuật mã hóa nhằm đảm bảo quá trình trao đổi thông tin trên mạng được bảo mật. Việc mã hóa dữ liệu diễn ra một cách trong suốt, hỗ trợ nhiều giao thức khác chạy trên nền giao thức TCP. Sercure Socket Layer (SSL) hiện nay là giao thức bảo mật rất phổ biến trên Internet trong các hoạt động thương mại điện tử (E-Commerce). Việt Nam đang trên đường hội nhập với nền công nghệ thông tin thế giới, nên nay mai, các hoạt động giao dịch trên mạng ở Việt Nam cũng sẽ diễn ra sôi nổi, khi đó vấn đề bảo mật trở nên quan trọng, việc triển khai SSL là điều thiết yếu. Tuy nhiên đến nay hình như vẫn chưa có trang Web nào ở Việt Nam sử dụng SSL trong các giao dịch của mình. Bài viết này nhằm giới thiệu sơ lược về SSL cũng như cách triển khai SSL trên Internet Information Server (IIS) 5.0 và Windows 2000 Giao thức SSL được hình thành và phát triển đầu tiên năm 1994 bởi nhóm nghiên cứu Netscape dẫn dắt bởi Elgammal và ngày nay đã trở thành chuẩn bảo mật thực hành trên mạng Internet. Phiên bản SSL hiện nay là 3.0 và vẫn đang tiếp tục được bổ sung và hoàn thiện.

SSL là giao thức tầng (layered protocol), bao gồm 4 giao thức con sau: + Giao thức SSL Handshake.

+ Giao thức SSL Change Cipher Spec. + Giao thức SSL Alert.

+ SSL Record Layer.

Hình 5.1

Theo biểu đồ trên, SSL nằm trong tầng ứng dụng của giao thức TCP/IP. Do đặc điểm này, SSL có thể được dùng trong hầu hết mọi hệ điều hành hỗ trợ TCP/IP mà không cần phải chỉnh sửa nhân của hệ thống hoặc ngăn xếp TCP/IP. Điều này

Một phần của tài liệu triển khai và nâng cao bảo mật cho hệ thống website trên hệ điều hành linux (Trang 44 - 94)