Tải bản đầy đủ (.doc) (94 trang)

triển khai và nâng cao bảo mật cho hệ thống website trên hệ điều hành linux

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 (5.89 MB, 94 trang )

TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP. HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
LUẬN VĂN TỐT NGHIỆP
TRIỂN KHAI VÀ NÂNG CAO BẢO MẬT CHO HỆ THỐNG
WEBSITE TRÊN HỆ ĐIỀU HÀNH LINUX
Ngành: CÔNG NGHỆ THÔNG TIN
Chuyên ngành: MẠNG MÁY TÍNH VÀ TRUYỀN THÔNG
GVHD : Ths. Lê Quốc Tuấn
SVTH : HOÀNG NGỌC TUYỂN 11L1120076
LÊ THỊ KIM HƯƠNG 11L1120028
Lớp : CN11LT
TP. Hồ Chí Minh, 2013
TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP. HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
LUẬN VĂN TỐT NGHIỆP
TRIỂN KHAI VÀ NÂNG CAO BẢO MẬT CHO HỆ THỐNG
WEBSITE TRÊN HỆ ĐIỀU HÀNH LINUX
Ngành: CÔNG NGHỆ THÔNG TIN
Chuyên ngành: MẠNG MÁY TÍNH VÀ TRUYỀN THÔNG
GVHD : Ths. Lê Quốc Tuấn
SVTH : HOÀNG NGỌC TUYỂN 11L1120076
: LÊ THỊ KIM HƯƠNG 11L1120028
Lớp : CN11LT
TP. Hồ Chí Minh, 2013
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
………………………………………………………………………
…………………………………………………………………
………………………………………………………………………
…………………………………………………………………
………………………………………………………………………
…………………………………………………………………


………………………………………………………………………
…………………………………………………………………
………………………………………………………………………
…………………………………………………………………
………………………………………………………………………
…………………………………………………………………
………………………………………………………………………
…………………………………………………………………
………………………………………………………………………
…………………………………………………………………
………………………………………………………………………
…………………………………………………………………
………………………………………………………………………
…………………………………………………………………
………………………………………………………………………
…………………………………………………………………
………………………………………………………………………
…………………………………………………………………
………………………………………………………………………
…………………………………………………………………
………………………………………………………………………
…………………………………………………………………
………………………………………………………………………
…………………………………………………………………
………………………………………………………………………
…………………………………………………………………
………………………………………………………………………
…………………………………………………………………
TpHCM, ngày … tháng …… năm ……
Giáo viên hướng

dẫn
[Ký tên và ghi rõ
họ tên]

NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
……………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………….

……………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………….
Khóa luận đáp ứng yêu cầu của Khóa luận kỹ sư CNTT.
TpHCM, ngày … tháng …… năm ……
Giáo viên phản
biện
[Ký tên và ghi rõ
họ tên]
LỜI CAM ĐOAN
Chúng tôi là : Họ và tên: Hoàng Ngọc Tuyển. Sinh ngày:21/6/1980 Tại: Bắc Giang
Số CMND: 023 334 827 Ngày cấp: 5/10/2010 Tại: Công an TPHCM.
Mã số sinh viên : 11L1120076. Lớp: CN11LT
Họ và tên: Lê Thị Kim Hương. Sinh ngày: 20/4/1987 Tại Tiền Giang.
Số CMND: 311 900 306 Ngày cấp: 18/9/2001 Tại : Công an Tiền Giang.
Mã số sinh viên : 11L1120028. Lớp: CN11LT
Xin cam đoan rằng đây là quá trình nghiên cứu và tìm hiểu đề tài dưới sự hướng dẫn của
Thầy Lế Quốc Tuấn. Tài liệu tìm hiểu và nghiên cứu có nguồn trích dẫn rõ ràng. Chúng tôi
hoàn toàn chịu trách nhiệm về kết quả nghiên cứu và tìm hiểu trong luận văn của mình.
TP.HCM, ngày 27 tháng 12 năm 2013
Sinh viên thực hiện
Hoàng Ngọc Tuyển Lê Thị Kim Hương
LỜI CẢM ƠN
Lời đầu tiên, chúng tôi xin gửi lời cảm ơn chân thành đến quý thầy cô Khoa Công
Nghệ Thông Tin và quý thầy cô các bộ môn khoa khác Trường Đại Học Giao Thông Vận
Tải TPHCM đã tạo điều kiện cho chúng tôi môi trường học tập tốt, đã dìu dắt, hướng dẫn
và chỉ dạy tận tình cho chúng tôi trong suốt hai năm qua.

Chúng tôi xin chân thành cảm ơn Thầy Ths. Lê Quốc Tuấn đã tận tình hướng dẫn, chỉ
dạy và giúp đỡ nhóm chúng tôi tìm hiểu nghiên cứu và hoàn thành khóa luận đúng thời
hạn. Sau cùng, chúng tôi xin kính chúc quý thầy cô Khoa Công Nghệ Thông Tin và các
thầy cô Trường Đại Học giao Thông Vận Tải TPHCM dồi dào sức khỏe, vững niềm tin để
truyền dạy cho thế hệ mai sau những lời quý báo
TP.HCM, ngày 27 tháng 12 năm 2013
Sinh viên thực hiện
Hoàng Ngọc Tuyển Lê Thị Kim Hương
MỤC LỤC
M C L CỤ Ụ 1
DANH M C CÁC T VI T T TỤ Ừ Ế Ắ 3
L I M UỜ Ở ĐẦ 1
CH NG 1: TÌM HI U V H TH NG WEBSITE TRÊN LINUX - CÁC NGUY C ƯƠ Ể Ề Ệ Ố Ơ
M T AN TOÀN VÀ CÁC BI N PHÁP NÂNG CAO B O M TẤ Ệ Ả Ậ 5
1.1 Tìm hiểu về hệ thống website trên Linux 5
1.1.1. Website 5
1.1.2. H đi u hành Linuxệ ề 6
1.1.3. Apache 9
1.1.4. PHP 10
1.1.5. My SQL 10
1.1.6. T ng l aườ ử 10
1.2. Tìm hiểu về các nguy cơ mất an toàn và các biện pháp nâng cao bảo mật cho hệ
thống website 12
1.2.1 L i ph n c ngỗ ầ ứ 12
1.2.2 L i k thu tỗ ỹ ậ 13
1.2.3 L i qu n trỗ ả ị 31
1.2.4 L i v con ng iỗ ề ườ 32
1.2.5 L i v chính sáchỗ ề 33
CH NG 2: THI T K VÀ THUY T MINH MÔ HÌNH H TH NGƯƠ Ế Ế Ế Ệ Ố 34
2.1 Thiết kế mô hình 34

2.1.1 Mô hình th c tự ế 34
2.1.2 Mô hình gi l pả ậ 34
2.2 Thuyết minh mô hình 35
CH NG 3: HI N TH C HOÁ MÔ HÌNH THI T KƯƠ Ệ Ự Ế Ế 36
3.1 Cài đặt và cấu hình HĐH Linux 36
3.2 Cài đặt và cấu hình Webserver Apache 42
3.2.1 Cài đ tặ 42
3.2.1 C u hìnhấ 44
3.3 Cài đặt và cấu hình PHP, PHP Admin 47
3.3.1 Cài đ t.ặ 47
3.3.2 C u hìnhấ 48
3.4 Cài đặt và cấu hình MySQL 50
3.5 Cài đặt và cấu hình bảo mật trên tường lửa UTM 51
3.5.1 Cài đ tặ 51
3.5.1 C u hình.ấ 55
3.6 Quảng bá webserver ra bên ngoài qua tường lửa UTM 67
CH NG 4: K T LU NƯƠ Ế Ậ 72
4.1 Những kết quả đạt được 72
4.2 Hướng phát triển 72
TÀI LI U THAM KH OỆ Ả 74
PH L CỤ Ụ 75
5.1 Cơ chế hoạt động của SSL 75
5.2 Tấn công từ chối dịch vụ 81
ii
DANH MỤC CÁC TỪ VIẾT TẮT
STT Từ viết tắt Viết đầy đủ
1 WWW World Wide Web
2 CSDL Cơ sở dữ liệu
3 DoS Denial-of-Service
4 FTP File Transfer Protocol

5 HTTP Hypertext Transfer Protocol
6 HĐH Hệ điều hành
7 IT Information Technology
8 IPS Intrusion Prevention System
9 SSH Secure Shell
10 SSL Secure Sockets Layer
11 XSS Cross-site Scripting
iii
LỜI MỞ ĐẦU
1. Tính cấp thiết của đề tài
Hiện nay, với sự phát triển không ngừng của công nghệ, trong đó có công
nghệ về nội dung số mà điển hình là việc quảng bá hình ảnh, thông tin qua
internet. Hầu như các tổ chức, doanh nghiệp ở mọi ngành nghề, lĩnh vực khác
nhau đều xây dựng cho riêng mình một trang web với mục đích quảng bá hình
ảnh, sản phẩm của doanh nghiệp đến các đối tác trên toàn thế giới. Đây là mặt
tích cực của việc quảng bá thông tin qua website trên internet. Tuy nhiên, đi đôi
với nó là các nguy hiểm tiềm tàng của việc mất mát dữ liệu, các thông tin quan
trọng. Do đó, việc triển khai bảo mật cho hệ thống website để bảo đảm sự hoạt
động liên tục của website có ý nghĩa rất quan trọng đối với các doanh nghiệp,
các tổ chức quan tâm đến vấn đề an toàn giao dịch trên website, an toàn về cơ sở
dữ liệu hệ thống… vì nó không chỉ bảo đảm về tính toàn vẹn của dữ liệu mà còn
duy trì uy tín của doanh nghiệp.
Bên cạnh đó, khi website của doanh nghiệp được bảo đảm an toàn, bảo
mật thì lợi thế kinh doanh của doanh nghiệp được tăng lên đáng kể, doanh
nghiệp sẽ tiết giảm được chi phí, thời gian, giảm thiểu các cạnh tranh không lành
mạnh hay sự phá hoại của các đối tượng khác. Ngược lại, nếu vấn đề bảo mật an
toàn cho hệ thống website không được chú trọng thì thiệt hại đối với doanh
nghiệp là rất lớn, kể cả khả năng dẫn đến phá sản.
Để hiểu rõ hơn về những vấn đề liên quan đến bảo mật, bảo đảm an toàn
cho hệ thống website chạy trên HĐH Linux, nhóm chúng em lựa chọn đề tài

“Triển khai và nâng cao bảo mật cho hệ thống web trên HĐH Linux” nhằm mục
đích đi vào một số giải pháp thực tế giúp giảm nguy cơ mấtan toàn cho hệ thống
website.
2. Tình hình nghiên cứu
1
Đề tài được xây dựng, nghiên cứu triển khai theo các kiến thức dựa trên
mã nguồn mở, kết hợp với nhau theo các đặc tính kỹ thuật của các sản phẩm như
HĐH Linux, tường lửa UTM, PHP, CSDL MySQL, Apache.
Website của các doanh nghiệp, tổ chức thường nhằm mục đích quảng bá hình
ảnh, giới thiệu sản phẩm, công bố thông tin. Trong đó, các trang website có các
dữ liệu nhạy cảm, quan trọng như các trang web của chính phủ, các doanh
nghiệp kinh doanh online, thương mại điện tử luôn được các doanh nghiệp, tổ
chức chú trọng nghiên cứu về bảo mật và đưa ra các giải pháp nhằm nâng cao
tính bảo mật của hệ thống website điển hình như:
- Các hãng phần mềm anti-virus: Mcafee, Kaspersky, Norton,Panda,
- Các hãng cung cấp các sản phẩm bảo mật như Checkpoint, Juniper,
Astaro,…
- Các viện nghiên cứu, các trường đại học.
Tại Việt Nam, có nhiều diễn đàn, hội nghị, hội thảo về an toàn bảo mật
liên tục được tổ chức hàng năm như:
- Ngày An Toàn Thông Tin 2012 vào ngày 16/11/2012 tại TP.HCM
- Cafe bảo mật diễn ra thường xuyên của Chi hội An Toàn Thông Tin
phía Nam.
- Ngày An toàn thông tin 2013 vào ngày 14/11/2013 tại HN và
Tp.HCM.
Các luật có liên quan đến bảo đảm an toàn thông tin trên internet như:
- Luật Giao dịch điện tử số 51/2005/QH11 của Quốc hội nước
CHXHCN Việt Nam năm 2005.
- Nghị định 57/2006/NĐ-CP của Chính phủ về thương mại điện tử.
- Quyết định 25/2006/QĐ-BTM của Bộ Thương mại về việc ban

hành .Quy chế sử dụng chữ ký số của Bộ Thương mại.
2
3. Mục đích nghiên cứu
Ngăn chặn, giảm thiểu được các cuộc tấn công vào hệ thống website dựa
trên các lỗ hổng nhất định liên quan đến phần cứng, kỹ thuật, con người, chính
sách…, đảm bảo hệ thống website hoạt động liên tục, không bị gián đoạn và các
dữ liệu được bảo toàn.
Đưa ra một số giải pháp nâng cao an toàn và bảo mật website, hạn chế việc
bị xâm nhập trái phép.
4. Nhiệm vụ nghiên cứu
Tìm hiểu về cách thức triển khai, cài đặt xây dựng hệ thống web server với
Apache kết hợp PHP, MySQL trên hệ điều hành Linux.
Tìm hiểu về cách thức triển khai, cài đặt hệ thống tường lửa UTM nhằm bảo
đảm an toàn cho hệ thống web server.
Tìm hiểu về cách thức triển khai, nâng cao tính bảo mật cho hệ thống web
5. Phương pháp nghiên cứu
+ Phương pháp:
Thu thập dữ liệu : Tìm hiểu các thông tin về an toàn bảo mật cho hệ
thống website qua Internet, qua các diễn đàn công nghệ thông tin về mã nguồn
mở, qua các tài liệu liên quan đến an toàn bảo mật thương mại điện tử.
Phân tích và xử lý số liệu : Dữ liệu có được sẽ được chọn lọc, phân tích,
tổng hợp để chọn ra được thông tin phù hợp với mục đích nghiên cứu của đề tài.
+ Đối tượng nghiên cứu:
Nghiên cứu về các vấn đề liên quan đến việc mất an toàn bảo mật của hệ
thống website.
Nghiên cứu về các giải pháp nhằm nâng cao an toàn bảo mật cho hệ
thống website.
+ Phạm vi nghiên cứu:
Không gian nghiên cứu: Nghiên cứu trên hệ thống máy ảo chạy HĐH
Linux.

3
Thời gian nghiên cứu: Nghiên cứu, thực nghiệm các vấn đề liên quan trong
12 tuần
6. Các kết quả đạt được của đề tài;
Triển khai thành công hệ thống máy chủ web Apache kết hợp với PHP,
MySQL trên HĐH Linux và được bảo vệ bởi tường lửa UTM.
Hệ thống web server sẽ hoạt động liên tục khi có sự cố .
7. Kết cấu khóa luận
- Lời mở đầu
- Chương 1: Tìm hiểu về hệ thống website trên Linux - các nguy cơ mất an
toàn và các biện pháp nâng cao bảo mật.
- Chương 2: Thiết kế và thuyết minh mô hình hệ thống.
- Chương 3: Hiện thực hoá mô hình thiết kế.
- Chương 4: Kết luận.
- Tài liệu tham khảo.
- Phụ lục.
4
CHƯƠNG 1: TÌM HIỂU VỀ HỆ THỐNG WEBSITE TRÊN LINUX - CÁC
NGUY CƠ MẤT AN TOÀN VÀ CÁC BIỆN PHÁP NÂNG CAO BẢO
MẬT
1.1 Tìm hiểu về hệ thống website trên Linux
1.1.1. Website
 Định nghĩa:
Website là một tập hợp các trang web (web pages) bao gồm văn bản,
hình ảnh, video, flash v.v… thường chỉ nằm trong một tên miền (domain name)
hoặc tên miền phụ (subdomain) World Wide Web của Internet. Website được lưu
trữ trên máy chủ web (web server) có thể truy cập thông qua Internet hoặc mạng nội
bộ qua giao thức TCP/IP.Website có thể được xây dựng bằng nhiều ngôn ngữ lập
trình khác nhau (PHP,.NET, Java, Ruby on Rails ).
Website đóng vai trò là cổng thông tin của doanh nghiệp, nơi giới thiệu

thông tin về doanh nghiệp, giới thiệu, quảng bá sản phẩm hoặc dịch vụ do doanh
nghiệp cung cấp… Có thể coi website chính là bộ mặt của doanh nghiệp, là nơi tiếp
nhận thông tin và giao dịch với các khách hàng, đối tác trên toàn thế giới. [1]
 Lịch sử:
World Wide Web (mạng lưới toàn cầu), gọi tắt là Web hoặc WWW là
một không gian thông tin toàn cầu mà mọi người có thể truy nhập (đọc và viết) qua
các máy tính nối với mạng Internet. Thuật ngữ này thường được hiểu nhầm là từ
đồng nghĩa với chính thuật ngữ Internet. Nhưng Web thực ra chỉ là một trong các
dịch vụ chạy trên Internet, chẳng hạn như dịch vụ thư điện tử. Web được phát minh
và đưa vào sử dụng vào khoảng năm 1990, 1991 bởi viện sĩ Viện Hàn lâm Anh Tim
Berners-Lee và Robert Cavay illiau (Bỉ) tạivay European Organization for Nuclear
Research (được biết đến như CERN- Tổ chức Nghiên cứu nguyên tử Châu Âu),
Geneva, Switzerland.
Các tài liệu trên World Wide Web được lưu trữ trong một hệ thống siêu
văn bản (hypertext), đặt tại các máy tính trong mạng Internet.Người dùng phải sử
5
dụng một chương trình được gọi là trình duyệt web (web browser) để xem siêu văn
bản. Chương trình này sẽ nhận thông tin (documents) tại ô địa chỉ (address) do
người sử dụng yêu cầu (thông tin trong ô địa chỉ được gọi là tên miền (domain
name)), rồi sau đó chương trình sẽ tự động gửi thông tin đến máy chủ (web server)
và hiển thị trên màn hình máy tính của người xem. Người dùng có thể theo các liên
kết siêu văn bản (hyperlink) trên mỗi trang web để nối với các tài liệu khác hoặc gửi
thông tin phản hồi theo máy chủ trong một quá trình tương tác.
 Phân loại:
Có 02 loại web tỉnh (không có cơ sở dữ liệu) và web động (bao gồm các
cơ sở dữ liệu). Website thương mại điện tử là 01 trong những loại web động.
[2]
 Trình duyệt web
Trình duyệt web là một phần mềm ứng dụng cho phép người sử dụng xem
và tương tác với các văn bản, hình ảnh, đoạn phim, nhạc, trò chơi và các thông tin

khác ở trên một trang web của một địa chỉ web trên mạng toàn cầu hoặc mạng nội
bộ. Văn bản và hình ảnh trên một trang web có thể chứa siêu liên kết tới các trang
web khác của cùng một địa chỉ web hoặc địa chỉ web khác. Trình duyệt web cho
phép người sử dụng truy cập các thông tin trên các trang web một cách nhanh chóng
và dễ dàng thông qua các liên kết đó. Trình duyệt web đọc định dạng HTML để
hiển thị, do vậy một trang web có thể hiển thị khác nhau trên các trình duyệt khác
nhau. Một số trình duyệt web phổ biến hiện nay bao gồm Internet Explorer, Mozilla
Firefox, Safari, Opera, Google Chrome, [3]
1.1.2. Hệ điều hành Linux
 Định nghĩa
Linux là tên gọi của một hệ điều hành máy tính và cũng là tên hạt nhân của
hệ điều hành.Nó là hệ điều hành mã nguồn mở.
 Lịch sử
Phiên bản Linux đầu tiên do Linus Torvalds viết vào năm 1991, lúc ông
còn là một sinh viên của Đại học Helsinki tại Phần Lan. Ông ra đời phiên bản Linux
6
1.0 vào năm 1994. Bộ phận chủ yếu này được phát triển và tung ra trên thị trường
dưới bản quyền GNU General Public License. Do đó mà bất cứ ai cũng có thể tải và
xem mã nguồn của Linux.
Một cách chính xác, thuật ngữ "Linux" được sử dụng để chỉ nhân Linux,
nhưng tên này được sử dụng một cách rộng rãi để miêu tả tổng thể một hệ điều
hành giống Unix (còn được biết đến dưới tên GNU/Linux) được tạo ra bởi việc
đóng gói nhân Linux cùng với các thư viện và công cụ GNU, cũng như là các bản
phân phối Linux. Thực tế thì đó là tập hợp một số lượng lớn các phần mềm
như máy chủ web, các ngôn ngữ lập trình, các hệ quản trị cơ sở dữ liệu, các môi
trường làm việc desktop như GNOME và KDE, và các ứng dụng thích hợp cho
công việc văn phòng như OpenOfficehay LibreOffice.
Khởi đầu, Linux được phát triển cho dòng vi xử lý 386, hiện tại hệ điều
hành này hỗ trợ một số lượng lớn các kiến trúc vi xử lý, và được sử dụng trong
nhiều ứng dụng khác nhau từ máy tính cá nhân cho tới các siêu máy tính và

các thiết bị nhúng như là các máy điện thoại di động.
Ban đầu, Linux được phát triển và sử dụng bởi những người say mê. Tuy
nhiên, hiện nay Linux đã có được sự hỗ trợ bởi các công ty lớn như
IBM và Hewlett-Packard, đồng thời nó cũng bắt kịp được các phiên bản Unix độc
quyền và thậm chí là một thách thức đối với sự thống trị của Microsoft Windows trong
một số lĩnh vực. Sở dĩ Linux đạt được những thành công một cách nhanh chóng là
nhờ vào các đặc tính nổi bật so với các hệ thống khác: chi phí phần cứng thấp, tốc
độ cao (khi so sánh với các phiên bản Unix độc quyền) và khả năng bảo mật tốt, độ
tin cậy cao (khi so sánh với Windows) cũng như là các đặc điểm về giá thành rẻ,
không bị phụ thuộc vào nhà cung cấp. Một đặc tính nổi trội của nó là được phát
triển bởi một mô hình phát triển phần mềm nguồn mở hiệu quả.
Tuy nhiên, hiện tại số lượng phần cứng được hỗ trợ bởi Linux vẫn còn rất
khiêm tốn so với Windows vì các trình điều khiển thiết bị tương thích với Windows
nhiều hơn là Linux. Nhưng trong tương lai số lượng phần cứng được hỗ trợ cho
Linux sẽ tăng lên. [4]
7
 Các phiên bản
Do có tính mở nên HĐH Linux có nhiều bản phân phối khác nhau như: [4]
Tên bản phân phối Phiên bản mới nhất Trang web chính thức
Ubuntu 13.04 />Debian GNU/Linux 7.1 />Ultimate Edition 3.4 o/
Red Hat Enterprise
Linux
6.0 />Chrome Linux 2.1.1145 />Fedora 18 />SUSE Linux Enterprise
Desktop
12.2 />Linux Mint 14 />Knoppix 7.0.2 />PCLinuxOS 2012 />Mandrake 2011 driva .com
CentOS 6.4 />Gentoo 12.1 />Slackware 13.37 />SLAX 6.1.2 />Sabayon 10 />Dreamlinux 5 o/
OpenSolaris 11 />Hồng kỳ linux 6.0 SP3 />8
Tên bản phân phối Phiên bản mới nhất Trang web chính thức
Puppy linux 5.3.3 />Hacao Linux 2011 />Asianux 4.5 />SliTaz 4.0 />Linpus 1.7 />Back Track 5r3 />Kali linux 1.0.3 />Super Ubuntu 11.04 />Zorin OS 5 />1.1.3. Apache
Apache là chương trình máy chủ HTTP (dành cho máy chủ đối thoại qua

giao thức HTTP) được cài đặt trên máy chủ web (webserver). Apache chạy trên các
hệ điều hành tương tự như Unix, Microsoft Windows, Novell Netware và các hệ
điều hành khác. Apache đóng một vai trò quan trọng trong quá trình phát triển của
mạng web thế giới.
Khi được phát hành lần đầu, Apache là chương trình máy chủ mã nguồn mở
duy nhất có khả năng cạnh tranh với chương trình máy chủ tương tự của Netscape
Communications Corporation mà ngày nay được biết đến qua tên thương mại Sun
Java System Web Server. Từ đó trở đi, Apache đã không ngừng tiến triển và trở
thành một phần mềm có sức cạnh tranh mạnh so với các chương trình máy chủ khác
về mặt hiệu suất và tính năng phong phú. Từ tháng 4 năm 1996, Apache trở thành
một chương trình máy chủ HTTP thông dụng nhất. Hơn nữa, Apache thường được
dùng để so sánh với các phần mềm khác có chức năng tương tự. Tính đến tháng
1/2007 thì Apache chiếm đến 60% thị trường các chương trình phân phối trang web
Apache được phát triển và duy trì bởi một cộng đồng mã nguồn mở dưới sự bảo trợ
của Apache Software Foundation. Apache được phát hành với giấy phép Apache
License và là một phần mềm tự do và miễn phí. [5]
9
1.1.4. PHP
PHP (Hypertext Preprocessor) là một ngôn ngữ lập trình kịch bản hay một
loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã
nguồn mở, dùng cho mục đích tổng quát. Nó rất thích hợp với web và có thể dễ
dàng nhúng vào trang HTML. Do được tối ưu hóa cho các ứng dụng web, tốc độ
nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm
tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành
một ngôn ngữ lập trình web phổ biến nhất thế giới. [6]
1.1.5. My SQL
MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới
và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng vì
MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt
động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh.

Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập
CSDL trên internet. MySQL miễn phí hoàn toàn và có nhiều phiên bản cho các hệ
điều hành khác nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux,
MAC OSX, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS…
MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu
quan hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL).
MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ khác, nó
làm nơi lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl, [7]
1.1.6. Tường lửa
Firewall (tường lửa), là một thiết bị trung gian giữa hệ thống thông tin của tổ
chức và internet, là rào chắn mà một số cá nhân, tổ chức, doanh nghiệp, cơ quan
nhà nước lập ra nhằm ngăn chặn người dùng mạng Internet truy cập các thông tin
không mong muốn hoặc/và ngăn chặn người dùng từ bên ngoài truy nhập các thông
tin bảo mật nằm trong mạng nội bộ. Việc triển khai firewall được cho là biện pháp
hữu hiệu trong việc hạn chế mất an toàn thông tin, hạn chế việc xâm nhập trái phép
vào hệ thống.
10
Firewall có 02 loại là firewall cứng và firewall mềm:
- Firewall cứng: là firewall được tích hợp sẵn trên Router.
Hình 1.1 [8]
- Firewall mềm: là firewall được cài đặt trên máy chủ
Hình 1.2 [8]
Firewall đặc biệt là các firewall dạng UTM (được tích hợp nhiều các ứng dụng
bảo mật khác nhau) có khả năng kiểm soát, điều khiển luồng thông tin từ intranet ra
internet và ngược lại, cụ thể là:
- Cho phép hoặc cấm những dịch vụ truy cập ra ngoài (từ intranet ra internet)
hoặc ngược lại trong (từ internet vào intranet).
- Theo dõi luồng dữ liệu mạng giữa internet và intrenet.
- Kiểm soát, theo dõi địa chỉ IP truy nhập từ trong mạng nội bộ ra ngoài internet
và ngược lại.

- Kiểm soát, theo dõi việc sử dụng, truy nhập các ứng dụng của người sử dụng.
- Kiểm soát nội dung thông tin lưu chuyển trên mạng.
- Kiểm soát, phát hiện xâm nhập.
- Đóng vai trò là 1 proxy.
- Đóng vai trò là cửa ngõ kiểm soát virus, mã độc.
11
- Đóng vai trò chứng thực người dùng từ xa.
- Đóng vai trò là thiết bị định tuyến cho các mạng nội bộ và mạng ngoài internet.
- Cung cấp khả năng kết nối truy cập từ xa (VPN). [8]
1.2. Tìm hiểu về các nguy cơ mất an toàn và các biện pháp nâng cao bảo mật
cho hệ thống website.
1.2.1 Lỗi phần cứng
1.2.1.1 Truy cập máy chủ trái phép
Các máy chủ web được đặt ở những khu vực (phòng máy chủ) nhưng
không có cửa kiểm soát ra vào, không có biển cảnh báo, không có camera giám sát,
không có nhật ký làm việc, có thể có các nguy cơ ảnh hưởng đến hoạt động liên
tục của máy chủ do các hành động phá hoại có thể là cố tình hoặc vô ý.
Để hạn chế việc truy cập vật lý máy chủ trái phép, cần triển khai phân
quyền đúng và đủ cho từng đối tượng nhất định được phép truy cập vật lý máy chủ
web. Việc truy cập máy chủ cần được phân quyền rõ ràng: ai được phép truy cập,
truy cập vào mục nào, ứng dụng nào, thời điểm truy cập, có quyền gì khi truy cập
thành công và phải có nhật ký lưu lại hành động trên máy chủ.
1.2.1.2 Nguồn điện
Việc không bảo đảm nguồn điện cũng như được đặt ở những khu vực
không bảo đảm độ lạnh, độ ẩm thích hợp có thể dẫn đến việc cung cấp dịch vụ bị
gián đoạn.
Để bảo đảm cho máy chủ web hoạt động liên tục, cần phải đặt máy chủ
trong phòng máy chủ được trang bị các thiết bị lưu điện đủ lớn, có ổn áp và hệ
thống máy phát điện có khả năng cung cấp nguồn điện ổn định liện tục cho hệ thống
máy chủ. Bên cạnh đó, máy chủ web cần được trang bị 02 nguồn để sao lưu dự

phòng cho máy chủ khi 01 nguồn gặp sự cố, bảo đảm máy chủ luôn hoạt động liên
tục khi xảy ra các sự cố đột ngột về điện. Ngoài đảm bảo nguồn điện, hệ thống máy
lạnh trong phòng máy chủ cũng phải được trang bị và hoạt động liên tục để bảo đảm
độ lạnh, độ ẩm cho máy chủ hoạt động ổn định liên tục 24/24.
12
1.2.1.3 Hỏa hoạn, cháy nổ
Máy chủ web được đặt trong khu vực không có hệ thống phòng cháy chữa
cháy luôn tiềm ẩn nguy cơ cháy nổ cao, dẫn đến việc hư hỏng toàn bộ máy chủ vật
lý cùng các dữ liệu trên máy chủ.
Để hạn chế rủi ro này, máy chủ phải được đặt trong phòng máy chủ có hệ
thống phòng cháy chữa cháy theo tiêu chuẩn nhất định, bảo đảm cho máy chủ được
an toàn khi xảy ra sự cố cháy nổ.
1.2.1.4 Kết nối mạng
Máy chủ web không có đường dự phòng cho các kết nối mạng nên khi xảy
ra sự cố hư hỏng card mạng dẫn đến hệ thống web bị tê liệt.
Để bảo đảm kết nối mạng thông suốt, máy chủ web cần trang bị từ 02 card
mạng trở lên để cân bằng tải, tăng tốc độ truy cập cũng như chạy dự phòng khi có
sự cố với 01 card mạng.
1.2.1.5 Ổ cứng
Các ổ cứng, nơi lưu trữ hệ điều hành, các ứng dụng và dữ liệu quan trọng,
có khả năng bị hư hỏng dẫn đến toàn bộ máy chủ web bị sụp đổ.
Do đó, để bảo đảm cho dữ liệu không bị hư hỏng do lỗi của ổ đĩa cứng thì
cần phải triển khai các kỹ thuật liên quan đến việc bảo đảm cho sự hoạt động liên
tục của tổ hợp ổ cứng như chạy Raid cho các dữ liệu liên quan đến HĐH, các dữ
liệu của ứng dụng (thông thường chạy Raid 1 cho HĐH và raid 5 hoặc raid 10 cho
dữ liệu).
1.2.2 Lỗi kỹ thuật
1.2.2.1 SQL Injection
Các lỗ hổng trong quá trình lập trình web liên qua đến CSDL bị hacker
lợi dụng để xâm nhập vào hệ thống website. Cách thức thực hiện là hacker gửi dữ

liệu thông qua các form, ứng dung web sẽ xử lý và trả kết quả về trình duyệt hay
thông báo lỗi có liên quan đến CSDL, do đó, hacker có thể biết được nội dung
CSDL và điều khiển toàn bộ hệ thống thông qua các thông tin này.
Một số lỗi SQL thông dụng được khai thác như sau:
13
Ví dụ: giả sử ứng dụng web có đoạn mã sau:
Đoạn mã trên kiểm tra chuỗi nhập Username và Password. Nếu tồn tại trong bảng
User thì check=true ngược lại check=false.
Giá tri nhập vào là:
Username: ’ OR ‘’=’
Password: ’ OR ‘’=’
Câu lệnh SQL lúc này như sau:
Câu lệnh so sánh trên luôn luôn đúng (vì ‘’ luôn bằng ‘’). Do đó câu điều kiện trong
mệnh đề WHERE luôn đúng. Giá trị tên người sử dụng của dòng đầu tiên trong
bảng sẽ được chọn.
Kết hợp với kí tự đặc biệt của SQL :
• kí tự “ ; ” : đánh dấu kết thúc 1 câu truy vấn
• kí tự “ ” : ẩn chuỗi kí tự phía sau nó trên cùng 1 dòng
Ví dụ:
Username: ’; drop table User
Password:
Câu lệnh SQL lúc này như sau:
SELECT tkUsername FROM User WHERE tkUsername= ‘’;drop table
User AND Password= ‘” & tkPassword & “’”
14
SQLQuery= “SELECT tkUsername FROM User
WHERE tkUsername= ‘” &strUsername & “’ AND Password= ‘” &
tkPassword & “’”
flag= GetQueryResult (SQLQuery)
if flag = “” then

check=FALSE
else
check=TRUE
end if
SELECT tkUsername FROM User WHERE tkUsername= ‘’ OR ‘’=’‘
ANDPassword= ‘’ OR ‘’=’’
Với câu lệnh trên thì bảng User sẽ bị xóa hoàn toàn.
Ví dụ: về việc sử dụng kí tự đặc biệt SQL để thâm nhập vào hệ thống như sau:
Username: admin’
Password:
Câu lệnh SQL như sau:
Câu lệnh trên cho phép đăng nhập vào hệ thống với quyền admin mà không đòi hỏi
password.
Dưới đây là cách để giảm thiểu tấn công SQL Injection:
 Mã hoá các ký tự trên địa chỉ URL trước khi được sử dụng.
 Không cho hiển thị thông báo lỗi cho người dùng mà thay thế bằng cách trỏ đến
1 trang do người phát triển định nghĩa.
 Kiểm tra kĩ giá trị nhập vào của người dùng, thay thế những kí tự như ‘ ; v v
 Loại bỏ các kí tự meta như “',",/,\,;“ và các kí tự extend như NULL, CR, LF,
trong các string nhận được từ dữ liệu nhập do người dùng, các tham số từ URL,
các giá trị từ cookie.
 Chuyển đổi các giá trị số sang interger trước khi thực hiện câu truy vấn SQL.
 Dùng thuật toán để mã hoá dữ liệu.
 Kiểm tra tính đúng đắn của dữ liệu để bảo đảm dữ liệu hợp lệ, loại bỏ những dữ
liệu bất hợp lệ. Ví dụ: lọc bỏ những dữ liệu bất hợp lệ như ‘ ‘,’select’ và
‘union’
 Bảo mật cơ sở dữ liệu (đối với SQL server) như :
o Xác định các phương pháp kết nối đến server.
o Kiểm tra tất cả các tài khoản có trong SQL Server.
o Chỉ tạo tài khoản có quyền thấp cho các ứng dụng.

o Loại bỏ những tài khoản không cần thiết.
o Đảm bảo rằng tất cả tài khoản có một mật khẩu hợp lệ.
o Xoá bỏ tất cả cơ sở dữ liệu mẫu như “northwind” và “pubs”.
o Xóa các stored procedure không dùng như : master xp_cmdshell,
xp_startmail, xp_sendmail, xp_ makewebtask.
o Kiểm tra những tài khoản nào có thể truy xuất đến những đối tượng nào.
15
SELECT tkUsername FROM User WHERE tkUsername= ‘admin’—
ANDPassword= ‘” & tkPassword & “’”
o Đối với những tài khoản của một ứng dụng nào đó dùng để truy xuất cơ
sở dữ liệu thì chỉ được cấp những quyền hạn cần thiết tối thiểu để truy
xuất đến những đối tượng nó cần dùng.
o Kiểm tra lớp sửa chữa của server.
o Kiểm tra các phiên làm việc trên server.
o Thay đổi "Startup và chạy SQL Server" ở mức người dùng quyền hạn
thấp
 Sử dụng tường lửa để bảo vệ cơ sở dữ liệu. [9]
1.2.2.2 Session
Session dùng để lưu trữ trạng thái làm việc giữa trình duyệt tại máy trạm
và trình chủ tại máy chủ. Mỗi session có 01 session ID có thể được lưu trữ trong
cookie hay được nhúng vào địa chỉ URL hay trong biến ẩn của form. Theo thực tế
thì session ID lưu trong cookie vẫn là lựa chọn tốt nhất, và là phương pháp an toàn
hơn cả.
Khi người dùng truy cập vào 01 website nào đó và được chứng thực qua
username/password, thì lúc này session ID được xem là một mật khẩu tĩnh tạm thời
cho những lần yêu cầu đăng nhập tiếp theo, hacker sẽ dùng các kỹ thuật để giành
lấy session ID của người dùng và đột nhập vào phiên làm việc của họ.
Quá trình tấn công như sau:
Bước 1: Thiết lập session ID theo 2 hướng:
- Hướng tự do: chấp nhận bất kì một session ID, nếu chưa tồn tại session thì

tạo mới một session ID. Hacker chỉ cần thiết lập một session ID bất kì, nhớ
và sau đó sử dụng lại session ID này.
- Hướng giới hạn: chỉ chấp nhận session ID nào đã đăng kí trước đó. Hacker
phải đăng kí một session ID với ứng dụng.
- Thường thì một phiên làm việc có thời gian nhất định. Hệ thống sẽ tự động
hủy bỏ phiên làm việc nếu nó không thực hiện một thao tác nào (thời gian
nhàn rỗi ) hoặc hết hạn định. Để duy trì phiên làm việc, hacker phải gửi yêu
cầu đến máy chủ.oa CNTT
• Bước 2: Gửi session ID này đến trình duyệt của nạn nhân.
16

×