Tải bản đầy đủ (.pdf) (34 trang)

bảo mật web và email

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 (922.28 KB, 34 trang )




ĐẠI HỌC ĐÀ NẴNG
TRƢỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA:CÔNG NGHỆ
NGÀNH :CÔNG NGHỆ MẠNG VÀ TRUYỀN THÔNG
LỚP: 08N


BÁO CÁO MÔN MẠNG MÁY TÍNH
TÊN ĐỀ TÀI : Bảo Mật Web Và Email
( Web And Email Security)



Tên Sv Nhóm: Võ Hữu Phƣơng
Phạm Văn Mỹ
Lã Xuân Tâm
Nguyễn Hồng Sự

Giáo Viên Hƣớng Dẫn:Huỳnh Ngọc Thọ





Đà Nẵng: Tháng 09/2009


Bảo mật web và email-Đề tài môn “Mạng máy tính”




2
MỤC LỤC

CHƢƠNG I: BẢO MẬT WEB 3
I. TÌM HIỂU VỀ ỨNG DỤNG WEB 3
I.1 Web là gì? 3
I.2 Ứng dụng Web là gì? 4
I.3 Web Server: 5
I.4 Ngôn ngữ lập trình Web 6
I.4.1 PHP 6
I.4.2 HTML (HyperText Markup Language): 6
I.4.3 XML : 6
I.5 Các hệ cơ sở dử liệu: 8
I.5.1 My SQL: 8
I.5.2 SQL : 9
I.5.3 ACCESS : 9
II. BẢO MẬT WEB 9
II.1. Bảo mật là gì? 9
II.2. Từ phía ngƣời tấn công 11
II.2.1 Thu thập thông tin chung: 12
II.2.3 Dò tìm lỗi: 13
a) SQL Injections 13
b) Session Hijacking 14
c) XSS (Cross-Site Scripting) 15
d) Local Attack 17
e) Dùng các loại trojan, virus 17
f) DOS và DDOS, DRDOS 17
g) Xóa dấu vết 19

II.3. Từ phía ngƣời phòng thủ (Administrator) 19
II.3.1 Phân quyền hợp lí 19
II.3.2 Ẩn Mình-(Hide Path): 20
II.3.3 Không hiển thị lỗi nếu phát sinh 20
II.3.4 Bật safe-mode (chế độ an toàn) và vô hiệu các hàm nguy hiểm 20
II.3.5 Phân quyền account truy cập cơ sở dữ liệu MySQL 20
II.3.6 Mã hoá các file chứa thông tin nhạy cảm 21
II.3.7 Ngăn download source code khi server gặp sự cố: 21
II.3.8 Vô hiệu hoá biên dịch mã PHP trong thƣ mục chỉ định 21
II.3.9 Thƣờng xuyên cập nhật vá lỗi cho : 21
CHƢƠNG II: Bảo Mật Email 22
II. Cấu trúc chung của một địa chỉ email 22
III. Các chức năng có thể có của một hộp thƣ điện tử: 22
IV. Phƣơng thức hoạt động của một hệ thống thƣ điện tử 23
V. Các giao thức 24
VI. Bảo mật 25
VI.1 Biết các trò lừa đảo 25
VI.2 Tạo một địa chỉ vĩnh viễn 25
VI.3 Hợp nhất các địa chỉ 26
Bảo mật web và email-Đề tài môn “Mạng máy tính”


3
VI.4 Không chuyển tay địa chỉ của bạn giống nhƣ một chiếc kẹo 26
VI.5 Không sử dụng "Reply All" một cách mù quáng 26
VI.6 BCC là bạn của bạn 27
VI.7 Nội dung các dòng chủ đề 27
VI.8 Mỗi thƣ một chủ đề 27
VI.9 Sự vắn tắt là cốt lõi trong cách nói hóm hỉnh 27
VI.10 Gửi văn bản thô nếu ngờ vực 27

VI.11 Chạy phần mềm chống virus 28
VI.12 Tránh các đính kèm lớn 28
VI.13 Đính kèm những gì bạn đã hứa 28
VI.14 Không mở các đính kèm hoặc kích vào các liên kết không mong đợi 28
VI.15 Xóa sự vƣợt giới hạn trong các reply 29
VI.16 Không sử dụng caps lock tất cả 29
VI.17 Biết đám đông của bạn 29
VI.18 Không gửi email với nội dung giận dữ 29
VI.19 Recall/Undo một thƣ đã gửi 29
VI.20 Đƣa ra các luật lệ làm việc trên hòm thƣ của bạn 30
VI.21 Không email những gì bạn có thể IM (hoặc tin nhắn hoặc Twitter) 30
VI.22 Đôi khi tuyên bố “phá sản email” 30
VI.23 Tránh những thông tin bí mật 31
VI.24 Tạo một chữ ký hữu dụng 31
VII. Quản lý Email an toàn với Virus, Spam và các thủ thuật 31
VII.1 "Lọc" thƣ rác spam 31
VII.2 Giữ "sạch" hộp thƣ inbox 32
VII.3 Tắt bỏ cửa sổ Preview 32
VII.4 Tạo danh sách email 32
VII.5 Quét virus trong thƣ 32
VII.6 Gửi file kích thƣớc lớn 32
VII.7 Kiểm tra thƣ qua Web 32



CHƢƠNG I: BẢO MẬT WEB


I. TÌM HIỂU VỀ ỨNG DỤNG WEB
I.1 Web là gì?

World Wide Web, gọi tắt là Web hoặc WWW, mạng lƣới toàn cầu 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 Cailliau (Bỉ) tại CERN, Geneva, Switzerland
Bảo mật web và email-Đề tài môn “Mạng máy tính”


4
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ử
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. Hoạt
động truy tìm theo các siêu liên kết thường được gọi là duyệt Web.
I.2 Ứng dụng Web là gì?
Trong kỹ thuật phần mềm, một Ứng dụng web (hay web application) là một
trình ứng dụng mà có thể tiếp cận qua web thông qua mạng như Internet hay
Itranet.

Ứng dụng web phổ biến nhờ vào sự có mặt vào bất cứ nơi đâu của một chương
trình. Khả năng cập nhật và bảo trì ứng dụng Web mà không phải phân phối và cài
đặt phần mềm trên hàng ngàn máy tính là lý do chính cho sự phổ biến của nó. Ứng
dụng web được dùng để hiện thực Webmail, bán hàng trực tuyến, đấu giá trực

tuyến, wiki, diễn đàn thảo luận, Weblog, MMORPG, Hệ quản trị quan hệ khách
hàng và nhiều chức năng khác.

Một ưu thế đặc biệt của việc xây dựng ứng dụng Web để hỗ trợ những tính năng
chuẩn của trình duyệt đó là chúng sẽ hoạt động như mong muốn bất kể hệ điều
hành hay phiên bản hệ điều hành nào được cài trên máy khách cho trước. Thay vì
tạo ra những chương trình khách cho MS Windows, Mac OS X, GNU/Linux, và
những hệ điều hành khác, ứng dụng có thể được viết chỉ một lần và triển khai mọi
nơi. Tuy nhiên, sự hiện thực không được ổn định của HTML, CSS, DOM và
những đặc tính trình duyệt khác có thể gây ra rắc rối trong việc phát triển và hỗ trợ
ứng dụng web. Thêm vào đó, khả năng cho người dùng điều chỉnh nhiều cài đặt
hiển thị cho trình duyệt của họ (như chọn kích thước font, màu sắc, và kiểu chữ,
hoặc tắt tính năng script) có thể can thiệp vào sự ổn định của ứng dụng web

 Cấu trúc 1 ứng dụng web
Dù có nhiều biến thể, một ứng dụng Web thông thường được cấu trúc như
một ứng dụng ba lớp. Ở dạng phổ biến nhất, một trình duyệt Web là lớp
thứ nhất, một bộ máy sử dụng một vài công nghệ nội dung Web động (như
ASP, ASP.NET, CGI, ColdFusion, JSP/Java, PHP, Python, hoặc Ruby On
Rails) là lớp giữa, và một cơ sở dữ liệu là lớp thứ ba. Trình duyệt sẽ gửi
yêu cầu đến lớp giữa, lớp giữa sẽ phục vụ bằng cách tạo ra truy vấn và cập
nhật cơ sở dữ liệu và tạo ra giao diện người dùng.
Bảo mật web và email-Đề tài môn “Mạng máy tính”


5

Hình I. 1
I.3 Web Server:
Web Server là máy chủ có dung lượng lớn, tốc độ cao, được dùng để lưu

trữ thông tin như một ngân hàng dữ liệu, chứa những website đã được thiết kế
cùng với những thông tin liên quan khác. (các mã Script, các chương trình, và các
file Multimedia)
Web Server có khả năng gửi đến máy khách những trang Web thông qua
môi trường Internet (hoặc Intranet) qua giao thức HTTP - giao thức được thiết kế
để gửi các file đến trình duyệt Web (Web Browser), và các giao thức khác.
Tất cả các Web Server đều có một địa chỉ IP (IP Address) hoặc cũng có thể
có một Domain Name. Giả sử khi bạn đánh vào thanh Address trên trình duyệt của
bạn một dòng sau đó gõ phím Enter bạn sẽ gửi một yêu cầu
đến một Server có Domain Name là www.abc.com. Server này sẽ tìm trang Web
có tên là index.htm rồi gửi nó đến trình duyệt của bạn.
Bất kỳ một máy tính nào cũng có thể trở thành một Web Server bởi việc cài
đặt lên nó một chương trình phần mềm Server Software và sau đó kết nối vào
Internet.Khi máy tính của bạn kết nối đến một Web Server và gửi đến yêu cầu truy
cập các thông tin từ một trang Web nào đó, Web Server Software sẽ nhận yêu cầu
và gửi lại cho bạn những thông tin mà bạn mong muốn.
Giống như những phần mềm khác mà bạn đã từng cài đặt trên máy tính của
mình, Web Server Software cũng chỉ là một ứng dụng phần mềm. Nó được cài đặt,
và chạy trên máy tính dùng làm Web Server, nhờ có chương trình này mà người
sử dụng có thể truy cập đến các thông tin của trang Web từ một máy tính khác ở
trên mạng (Internet, Intranet).
Web Server Software còn có thể được tích hợp với CSDL (Database), hay
điều khiển việc kết nối vào CSDL để có thể truy cập và kết xuất thông tin từ
CSDL lên các trang Web và truyền tải chúng đến người dùng.
Server phải hoạt động liên tục 24/24 giờ, 7 ngày một tuần và 365 ngày một năm,
để phục vụ cho việc cung cấp thông tin trực tuyến. Vị trí đặt server đóng vai trò
quan trọng trong chất lượng và tốc độ lưu chuyển thông tin từ server và máy tính
truy cập.
Bảo mật web và email-Đề tài môn “Mạng máy tính”



6
I.4 Ngôn ngữ lập trình Web
I.4.1 PHP
Năm 1994 rasmus lerdorf dua một doạn perl script vào trang web đề theo
giỏi ai đang đọc tài liệu của ông.dần dẩn người ta thích đoạn cript này và bác đầu
san xuất một gói công cụ mang ten personal home pages dó là tên đầu tiên của
php.
Ông đã viết một số cơ chế nhúng kết hợp với các công cụ khác để phân tích các
biểu mẩu html hay phiên dịch biểu mẫu và dạc tên là PHP2 được gọi là PHP/FI.
PHP/FI vào năm 1995
Nhóm phát triển rasmus lerdorf , andigutmans, Zeev suraski đã loại bỏ những
điểm yếu của php2 và thêm một số hàm API cho phép các lập trình viên khác bổ
xung những tính năng của ngôn ngử để viết những module cho nó .vào tháng
11/1997 phiên bản php3 ra đời
Cuối năm 1998, PHP đã có khoảng 10 triệu người sử dụng và hàng trăm
triệu Website đã báo cáo là có sử dụng PHP
Vào năm 1999 phiên bản php4 đã ra dới vói tính năng nỗi trội.hỗ trợ nhiều
web server mới phiên http.
I.4.2 HTML (HyperText Markup Language):
Đây là một ngôn ngữ đơn giản được sử dụng trong các tài liệu siêu văn bản nó chỉ
là các tài liệu văn bản bình thường nhưng có chứa các thành phần đặc biệt gọi là
các thẻ (hoặc các cặp thẻ) đánh dấu. Dựa theo các cặp thẻ này mà trình duyệt có
thể biết được nó phải thực hiện cái gì.
Cấu trúc của 1 thẻ trong HTML bao gồm:
Dấu "<". Nếu là thẻ đóng thì sẽ bắt đầu bằng "</"
- Tên thẻ
- Các tham số khác nếu có. Nếu là thẻ đóng thì không cần tham số
- Dấu ">".
Cấu trúc của một file HTML có dạng:

<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
phần thân tài liệu
</BODY>
</HTML>
Toàn bộ nội dung chính của trang HTML được đặt trong cặp thẻ
<BODY></BODY>
I.4.3 XML :
Là ngôn ngử mở rộng đƣợc phát triển trên tính đơn giản, dể dùng của
HTML và tính phức tạp và đa chức năng của SGML. XML được thiết kế để
cho phép máy tính có thể trao đổi tài liệu với nhau thông qua Web mà không làm
mất đi ý nghĩa của dữ liệu.
Bảo mật web và email-Đề tài môn “Mạng máy tính”


7
Một tài liệu XML bao gồm một tập các cặp thẻ được lồng vào nhau. Mỗi thẻ có
một cặp các thuộc tính và giá trị
 Cấu trúc của một tài liệu XML:
Một tài liệu XML có thể được chia thành hai phần chính, mỗi phần có thể có các
thành phần theo quy định khác nhau:
- Phần Prolog: Chứa các khai báo cho tài liệu XML. Phần này có thể chứa các
định đạng như: Các chỉ thị xử lý, định nghĩa kiểu cho tài liệu, chú thích, phiên bản
đang sử dụng, cách thức mã hóa dữ liệu, báo cáo các chỉ thị xử lý cho ứng dụng.
- Phần thân chứa nội dung dữ liệu, bao gồm một hay nhiều phần tử, mỗi phần tử
được chứa trong một cặp thẻ. Phần tử đầu tiên của tài liệu được gọi là phần tử gốc
(root element).

Một tài liệu XML được coi là hợp khuôn dạng (well-form) nếu nó tuân thủ các
quy tắc sau:
• Các khai báo XML cần được đặt tại dòng đầu tiên của tài liệu, chẳng hạn
như khai báo phiên bản hay các chỉ thị xử lý XML.
• Mỗi tài liệu XML chỉ có một thành phần gốc (root) chứa mọi thành phần
khác trong tài liệu. Các thành phần có thể đứng trước phần tử gốc là chú thích, chỉ
thị xử lý và định nghĩa DTD (nếu khai báo ở phần khởi đầu của tài liệu).
• Mỗi phần tử của tài liệu phải được nằm trong một cặp thẻ. Nếu là phần tử
rỗng thì thẻ phải được kết thúc bằng "/>". Ví dụ: "<image/>"
• Các thành phần trong tài liệu XML, khác thành phần gốc đều nằm giữa cặp
thẻ gốc và phải lồng nhau một cách hợp lý, tức là không có thành phần phủ, tập
hợp thẻ này không được phép chồng lên thẻ kia, mỗi tập trong phải nằm trong tập
hợp lớn hơn kế tiếp.
• Các cặp thẻ phải được viết chính xác như nhau kể cả chữ hoa hay chữ
thường.
• Các giá trị của các thuộc tính đều phải nằm giữa hai ngoặc kép. Ví dụ:
hide=true là không hợp lệ, mà phải là hide="true".

I.4.4 ASP (active server pages)
Vào những thập niên 90 một Kì thuật mới của microsoft là kết hợp html với
các đoạn script, các thanh phần sử lí server trên cùng 1 file được gọi là ASP
Về bản chất, ta có thể coi ASP như là một ngôn ngữ thông dịch vậy. Một
trang ASP có thể sử dụng HTML, JScript và VBScript. Qua các đoạn mã nhúng
này, ASP có thể truy cập đến các thành phần phía server. Các thành phần này có
thể được viết trên bất kỳ ngôn ngữ nào hỗ trợ các thành phần COM của Microsoft
Các thành phần này có thể được viết trên bất kỳ ngôn ngữ nào hỗ trợ các thành
phần COM của Microsoft.
 Ƣu điểm :
- Nó có thể làm được bất kỳ cái gì mà máy chủ có thể làm được với các
thành phần COM. Sau khi được thi hành, ASP sẽ sản sinh ra một trang Web có

khuôn dạng HTML và trả nó về cho Web server.
- Soạn thào thêm nội dung vào website rất linh động
Bảo mật web và email-Đề tài môn “Mạng máy tính”


8
- Đáp ứng truy vấn người dùng hoặc dử liệu được gởi từ HTML
- Giảm thiểu lưu thông mạng
- Trả về trang HTML nên người dùng có thể xem ở bất kì trình duyệt web
nào
 Nhƣợc điểm:
- Một bất lợi lớn đối với ASP là nó chỉ có thể hoạt động trên các họ Web
server của Microsoft (bao gồm PWS trên Win9x hay IIS trên
WinNT/2000/XP)
I.4.5 Javascript
Theo phiên bản hiện hành, là một ngôn ngữ lập trình kịch bản dựa trên đối tượng
được phát triển từ các ý niệm nguyên mẫu. Ngôn ngữ này được dùng rộng rãi cho
các trang web, nhưng cũng được dùng để tạo khả năng viết script sử dụng các đối
tượng nằm sẵn trong các ứng dụng. Nó vốn được phát triển bởi Brendan Eich tại
Hãng truyền thông Netscape với cái tên đầu tiên Mocha, rồi sau đó đổi tên thành
LiveScript, và cuối cùng thành JavaScript
JavaScript có cú pháp tương tự C, nhưng nó gần với Self hơn Java. .js là phần
mở rộng thường được dùng cho tập tin mã nguồn JavaScript.
Phiên bản mới nhất của JavaScript là phiên bản 1.5, tương ứng với ECMA-
262 bản 3. ECMAScript là phiên bản chuẩn hóa của JavaScript. Trình duyệt
Mozilla phiên bản 1.8 beta 1 có hỗ trợ không đầy đủ cho E4X - phần mở rộng
cho JavaScript hỗ trợ làm việc với XML, được chuẩn hóa trong ECMA-357.
JavaScript được dùng để thực hiện một số tác vụ không thể thực hiện được
với chỉ HTML như kiểm tra thông tin nhập vào, tự động thay đổi hình ảnh, Ở
Việt Nam, JavaScript còn được ứng dụng để làm bộ gõ tiếng Việt

JavaScript có thể được sử dụng trong tập tin PDF của Adobe Acrobat và
Adobe Reader
JavaScript là một ngôn ngữ lập trình dựa trên nguyên mẫu với cú pháp phát
triển từ C.
I.5 Các hệ cơ sở dử liệu:
Cơ sở dử liệu là một hệ thống tập hợp của các tập tin dược thiết kế nhầm giảm
thiểu việc lập lại dử liệu
Các tập tin trong cơ sở dử liệu là một thành phần của một bộ chương trình
nhằm tạo lập quản lí và truy xuất các tập tin cơ sở dử liệu
Hệ quản trị cơ sở dử liệu (database managements system ) viết tắc là
DBMS là bộ phần mềm của những công cụ có sẳn do một số nhà sản xuất phần
mềm cung cấp.
I.5.1 My SQL:
MySQL là một phần mềm quản trị CSDL mã nguồn mở, miễn phí
nằm trong nhóm LAMP (Linux - Apache -MySQL - PHP)
 Một số đặc điểm của MySQL
MySQL là một phần mềm quản trị CSDL dạng server-based (gần tương
đương với SQL Server của Microsoft).
MySQL quản lý dữ liệu thông qua các CSDL, mỗi CSDL có thể có nhiều bảng
Bảo mật web và email-Đề tài môn “Mạng máy tính”


9
quan hệ chứa dữ liệu.
MySQL có cơ chế phân quyền người sử dụng riêng, mỗi người dùng có
thể được quản lý một hoặc nhiều CSDL khác nhau, mỗi người dùng có một tên
truy cập (user name) và mật khẩu tương ứng để truy xuất đến CSDL.
Khi ta truy vấn tới CSDL MySQL, ta phải cung cấp tên truy cập và mật
khẩu của tài khỏan có quyền sử dụng CSDL đó. Nếu không, chúng ta sẽ không
làm được gì cả.

I.5.2 SQL :
Mô hình cơ sở dữ liệu (CSDL) quan hệ - RDBMS, do E.F Codd đưa ra vào
đầu thập kỷ 70. Từ đó đến nay, nó liên tục phát triển trở thành mô hình CSDL phổ
biến bậc nhất. Mô hình quan hệ gồm các thành phần sau:
 Tập hợp các đối tượng và / hoặc các mối quan hệ
 Tập hợp các xử lý tác động tới các quan hệ
 Ràng buộc dữ liệu đảm bảo tính chính xác và nhất quán.
SQL (Structured Query Language, đọc là "sequel") là tập lệnh truy xuất
CSDL quan hệ.
Ngôn ngữ SQL được IBM sử dụng đầu tiên trong hệ quản trị CSDL
System R vào giữa những năm 70. Hệ ngôn ngữ SQL đầu tiên (SEQUEL2) được
IBM công bố vào tháng 11 năm 1976. Năm 1979, tập đoàn Oracle giới thiệu
thương phẩm đầu tiên của SQL. SQL cũng được cài đặt trong các hệ quản trị
CSDL như DB2 của IBM và SQL/DS. Ngày nay, SQL được sử dụng rộng rãi và
đuợc xem là ngôn ngữ chuẩn để truy cập CSDL quan hệ.
 Chuẩn SQL
Năm 1989, viện tiêu chuẩn quốc gia Hoa Kỳ (ANSI) công nhận SQL là
ngôn ngữ chuẩn để truy cập CSDL quan hệ trong văn bản ANSI SQL89.
Năm 1989, tổ chức tiêu chuẩn quốc tế (ISO) công nhận SQL ngôn ngữ
chuẩn để truy cập CSDL quan hệ trong văn bản ISO 9075-1989.
Tất cả các hệ quản trị CSDL lớn trên thế giới cho phép truy cập bằng
SQL và hầu hết theo chuẩn ANSI.
I.5.3 ACCESS :
Là công cụ hiệu quả cho các ứng dụng quản lí hồ sơ dử liệu quan hệ hệ với
nhau .tập hợp các hồ sơ dử liệu này gọi là cơ sở dử liệu quan hệ.
Access rất tốt cho việc tổ chức và quản lí các cơ sở dử liệu lớn bạn có thể tạo
một trang web với access thông qua công nghệ asp.

II. BẢO MẬT WEB


II.1. Bảo mật là gì?
Trong thế giới thay đổi từng ngày trong việc truyền thông dữ liệu toàn cầu,
những kết nối Internet rẻ tiền và tốc độ ngày một nhanh hơn thì việc bảo mật hệ
thống là một vấn đề hết sức hữu ích. Bảo mật là một đòi hỏi thiết yếu bởi vì những
máy tính mang tính toàn cầu đang ngày càng trở nên kém an toàn. Thử tưởng
tượng một gói dữ liệu khi di chuyển từ điểm A sang điểm B, gói dữ liệu này có thể
Bảo mật web và email-Đề tài môn “Mạng máy tính”


10
đi qua nhiều điểm trên mạng và nếu như tại một máy nào đó người sử dụng có thể
lấy thông tin trên gói dữ liệu này và biết các thông tin chi tiết của máy gửi, họ có
thể sử dụng các kỹ thuật cao để truy nhập bất hợp pháp vào máy gửi và có thể phá
hỏng máy này hoặc toàn bộ hệ thống tùy theo mức độ thao tác. Những thao tác mà
các người sử dụng bất hợp pháp này có thể làm trên hệ thống là ăn cắp thông tin
hệ thống, từ chối các dịch vụ sử dụng trên hệ thống.
Mục đích của việc bảo mật là thông báo cho người sử dụng, phòng ban trong
hệ thống biết các vấn đề về việc bảo vệ thông tin và kỹ thuật của họ. Các luật bảo
mật cũng chỉ dẫn cho họ biết thông tin về các máy mà họ có thể gặp trong đường
mạng.
Trước hết phải nhận ra một điều là không có một hệ thống nào là hoàn toàn
bảo mật tuyệt đối. Tất cả những gì mà nhà quản trị có thể làm là tăng thêm sự khó
khăn cho người dùng khi họ có ý định thâm nhập hệ thống. Nhà quản trị hệ thống
cần phải quyết định sự cân bằng giữa các mục đích, ý định sử dụng của hệ thống.
Cần phải quyết định mức độ bảo mật cần thiết cho hệ thống của mình.
Đối với các nhà cung cấp sản phẩm thì mục tiêu của họ là cung cấp càng nhiều các
dịch vụ càng tốt, đơn giản hóa các việc sử dụng dịch vụ trong hệ thống, và nói
chung là tất cả những gì mà họ có thể làm để cho sản phẩm có thể tiêu thụ nhiều.
Việc này vô hình chung đã làm cho nhà quản trị hệ thống trở nên phức tạp hơn.
Bởi vì các dịch vụ đa dạng má các nhà cung cấp phát triển có thể trở thành cổng

sau cho các cracker có thể thâm nhập hệ thống.
Như vậy, có thể mô tả sự tác động của việc này đối với các nhà quản trị như sau :
 Các dịch vụ chống lại các vấn đề bảo mật : như đã nói ở trên thì các dịch vụ
mà các nhà cung cấp sản phẩm phát triển có thể cho phép người dùng sở hữu
các nguồn tài nguyên trên hệ thống và dĩ nhiên là điều này hoàn toàn không đòi
hỏi một chứng thực nào cả. Đây là một việc hết sức nguy hiểm cho hệ thống và
nhiệm vụ của nhà quản trị là cần phải quyết định hạn chế các dịch vụ cần thiết
trong hệ thống hơn là bảo mật cho các dịch vụ này.
 Dễ dàng trong sử dụng thì khó khăn trong bảo mật : một hệ thống mà dễ dàng
cho phép sự thâm nhập của người dùng là một điều hết sức nguy hiểm cho việc
bảo mật hệ thống. Nên có cơ chế chứng thực cho mỗi sử dụng, điều này có thể
gây rắc rối trong việc sử dụng nhưng nó làm cho hệ thống trở nên an toàn hơn,
đặc biệt nếu có thể thì nên áp dụng cơ chế chứng thực thường xuyên để tăng
thêm phần bảo mật cho hệ thống.
 Kết quả của sự bảo mật chính là giảm sự mất mát thông tin : việc thiết lập các
cơ chế bảo mật như sử dụng firewall, cơ chế chứng thực, nghiêm ngặt trong
vấn đề sử dụng tương ứng sẽ làm giảm bớt sự mất mát thông tin, mất mát dịch
vụ, … Điều này tương ứng với cái giá phải trả cho các nhà quản trị.
 3 yếu tố đảm bảo an ninh thông tin:

* Tính bảo mật: đảm bảo rằng chỉ người được phép mới có thể truy cập thông tin


Bảo mật web và email-Đề tài môn “Mạng máy tính”


11
* Tính toàn vẹn: đảm bảo tính chính xác và đầy đủ của thông tin và các phương
pháp xử lý thông tin




* Tính sẵn sàng: đảm bảo người sử dụng được phép có thể truy cập thông tin và
các tài sản tương ứng khi cần 3 tính chất quan trọng này được viết tắt bằng nhóm
từ tiếng Anh: C.I.A, trong đó C là Confidentiality (tính bảo mật); I là Integrity
(tính toàn vẹn); và A là Availability (tính sẵn sàng).







Hình I. 2 :Thống Kê Các Vụ Tấn Công Website

II.2. Từ phía ngƣời tấn công


Bảo mật web và email-Đề tài môn “Mạng máy tính”


12





Hình I. 3 Phương thức tấn công
II.2.1 Thu thập thông tin chung:
Đây là việc đầu tiên cần phải làm, ta tìm kiếm các thông tin xung quanh

Website
-Chủ sở hữu trang Web, đội ngũ quản trị, điều hành
-Địa chỉ IP, máy chủ DNS của Server
-Môi trường mạng, hệ điều hành, phần mềm máy chủ Web, ngôn ngữ lập trình, hệ
CSDL
-Các cổng và dịch vụ tương ứng đang mở trên Server
- Số lượt truy cập, băng thông hàng tháng của Website
II.2.2 Khảo sát ứng dụng Web: bước tiếp theo là tập trung nghiên cứu
Website
-Website sử dụng ứng dụng Web nào?
-Mã nguồn mở hay đóng? Phiên bản?
-Nếu là mã nguồn mở thì download source code về để phân tích và kiểm tra, tìm
đọc các thông tin về bug và exploit từ trang chủ của sản phẩm
Bảo mật web và email-Đề tài môn “Mạng máy tính”


13
II.2.3 Dò tìm lỗi:
 Dò tìm lỗi tự động: Dùng các công cụ quét và dò lỗi Website như
Scrawlr, MaxQ, Selenium, Acunetix Web Vulnerability Scanner, …

Hình I. 4: giao diện của Acunetix Web Vulnerability Scanner

Giao diện của Acunetix Web Vulnerability Scanner
 Dò tìm lỗi bằng tay:
Vận dụng các kiến thức lập trình, hệ điều hành, bảo mật và mạng máy tính, như
một “người dùng tinh nghịch” hacker tiến hành các thao tác dò lỗi trực tiếp ngay
trên website, nhất là ở phần nhập dữ liệu đầu vào.
II.2.4 Khai thác lỗi để tấn công: Đây là giai đoạn quan trọng nhất để có thể
phá hoại hoặc chiếm quyền điều khiển được Website

Một vài cách thức tấn công phổ biến
-SQL Injections
-Session Hijacking
- Local Attack
-Dùng các loại trojan, virus đánh cắp mật khẩu admin
-DoS và DDoS
a) SQL Injections
Khi triển khai các ứng dụng web trên Internet, nhiều người vẫn nghĩ rằng việc đảm
bảo an toàn, bảo mật nhằm giảm thiểu tối đa khả năng bị tấn công từ các tin tặc chỉ
đơn thuần tập trung vào các vấn đề như chọn hệ điều hành, hệ quản trị cơ sở dữ
liệu, webserver sẽ chạy ứng dụng, mà quên mất rằng ngay cả bản thân ứng dụng
chạy trên đó cũng tiềm ẩn một lỗ hổng bảo mật rất lớn. Một trong số các lỗ hổng
Bảo mật web và email-Đề tài môn “Mạng máy tính”


14
này đó là SQL jection. Tại Việt Nam, đã qua thời kì các quản trị website lơ là việc
quét virus, cập nhật các bản vá lỗi từ các phần mềm hệ thống, nhưng việc chăm
sóc các lỗi của các ứng dụng lại rất ít được quan tâm. Đó là lí do tại sao
trong thời gian vừa qua, không ít website tại Việt Nam bị tấn công và đa số đều là
lỗi SQL injection. Vậy SQL injection là gì ?
SQL injection là một kĩ thuật cho phép những kẻ tấn công lợi dụng lỗ hổng trong
việc kiểm tra dữ liệu nhập trong các ứng dụng web và các thông báo lỗi của hệ
quản trị cơ sở dữ liệu để "tiêm vào" (inject) và thi hành các câu lệnh SQL bất hợp
pháp (không được người phát triển ứng dụng lường trước). Hậu quả của nó rất tai
hại vì nó cho phép những kẻ tấn công có thể thực hiện các thao tác xóa, hiệu
chỉnh, … do có toàn quyền trên cơ sở dữ liệu của ứng dụng, thậm chí là server mà
ứng dụng đó đang chạy. Lỗi này thường xảy ra trên các ứng dụng web có dữ liệu
được quản lí bằng các hệ quản trị cơ sở dữ liệu như SQL Server, MySQL, Oracle,
DB2, Sysbase.

b) Session Hijacking
 Thế nào là Session Hijacking:
Session Hijacking là sử dụng session của một người dùng nào đó, đã tạo được kết
nối hợp lệ bằng một phương thức không hợp lệ. Phương thức này như thế nào thì
mời bạn đọc tiếp ở phần dưới. Để dễ hiểu, ta đưa ra một ví dụ thế này: Pc A và Pc
B kết nối thành công với nhau, kẻ tấn công chiếm lấy session ID của Pc A để kết
nối với PC B, dĩ nhiên lúc này Pc B cho rằng kẻ tấn công là Pc A, và cho kẻ tấn
công có tấn cả quyền thực hiện các hành động mà Pc A có thể thực hiện.
Mở rộng:
Một admin của một website đăng nhập vào hệ thống quản lí website
.Một cookie được tạo ra kèm theo Session ID của user Admin ngay lúc đó.
.Vì một lí do nào đó, admin này không dùng computer nữa, nhưng không logout
khỏi trình điều khiển, nghĩa là cookies và Session ID này vẫn còn hiệu lực
. Bằng cách nào đó, bạn đoán được session ID này, nghiễm nhiên bạn có quyền
truy cập vào hệ thống quản lí của website với quyền hạn của Admin đó.
HTTP là một giao thức có tính stateless cho nên, thông tin giữa client (trình duyệt)
và server (web server) thường được kết thúc càng nhanh càng tốt và connection
này sẽ được tắt bỏ sau khi quy trình chuyển gởi thông tin hoàn tất. Vì vậy, Session
đã được tạo không được kiểm tra còn tồn tại hay không, cho đến khi user bấm vào
nút logout, xóa bỏ cookies. Trừ phi web server kiểm tra xem Session này còn sống
hay không sau một khoảng thời gian định sẳn, pingsession của HVA là một ví dụ.

Sự cần thiết của Session ID: Hãy tưởng tượng bạn vào một website nào đó,
VNDEV chẳng hạn, bạn đăng nhập thành công. Nhưng mỗi lần muốn trả lời một
bài nào đó, bạn phải đăng nhập lại, rất bất tiện. Session ID sinh ra để khắc phục sự
bất tiện đó. Với một session ID tạo ra riêng cho một user khi kết nối tới một
website nào đó, web server dựa vào session ID để nhận ra user, và chấp nhận cho
user này thực hiện các hành động mà user được quyền mà không phải xác nhận lần
này qua lần khác.
Bảo mật web và email-Đề tài môn “Mạng máy tính”



15

Một ít về cookies: Có nhiều loại cookies, nhưng có 2 loại bạn cần tìm hiểu là
persistent cookies và non-persistent cookies
-Persistent cookies là loại cookies vẫn tồn tại khi bạn tắt trình duyệt. Khi bạn
chọn remember me, thì non-persistent cookies trở thành Persistent cookies
-Non-Persistent cookies thì ngược lại, trình duyệt tắt, cookies hết hiệu lực, và dĩ
nhiên session ID cũng đi theo. Non-persistent cookies còn được gọi nôm na là
session cookies (cookies theo phiên làm việc)

c) XSS (Cross-Site Scripting)
 XSS là gì?
Cross-Site Scripting hay còn được gọi tắt là XSS (thay vì gọi tắt là CSS để
tránh nhầm lẫn với CSS-Cascading Style Sheet của HTML) là một kỹ thuật tấn
công bằng cách chèn vào các website động (ASP, PHP, CGI, JSP ) những thẻ
HTML hay những đoạn mã script nguy hiểm có thể gây nguy hại cho những người
sử dụng khác. Trong đó, những đoạn mã nguy hiểm đựơc chèn vào hầu hết được
viết bằng các Client-Site Script như JavaScript, JScript, DHTML và cũng có thể là
cả các thẻ HTML.
Kỹ thuật tấn công XSS đã nhanh chóng trở thành một trong những lỗi phổ
biến nhất của Web Applications và mối đe doạ của chúng đối với người sử dụng
ngày càng lớn. Người chiến thắng trong cuộc thi eWeek OpenHack 2002 là người
đã tìm ra 2 XSS mới. Phải chăng mối nguy hiểm từ XSS đã ngày càng được mọi
người chú ý hơn.
 XSS hoạt động nhƣ thế nào?
Về cơ bản XSS cũng như SQL Injection hay Source Injection, nó cũng là các
yêu cầu (request) được gửi từ các máy client tới server nhằm chèn vào đó các
thông tin vượt quá tầm kiểm soát của server. Nó có thể là một request được gửi từ

các form dữ liệu hoặc cũng có thể đó chỉ là các URL như là
was found
!');</script>
Và rất có thể trình duyệt của bạn sẽ hiện lên một thông báo "XSS was found !".
Các đoạn mã trong thẻ <script> không hề bị giới hạn bởi chúng hoàn toàn
có thể thay thế bằng một file nguồn trên một server khác thông qua thuộc tính src
của thẻ <script>. Cũng chính vì lẽ đó mà chúng ta chưa thể lường hết được độ
nguy hiểm của các lỗi XSS.
Nhưng nếu như các kỹ thuật tấn công khác có thể làm thay đổi được dữ liệu
nguồn của web server (mã nguồn, cấu trúc, cơ sở dữ liệu) thì XSS chỉ gây tổn hại
đối với website ở phía client mà nạn nhân trực tiếp là những người khách duyệt
site đó. Tất nhiên đôi khi các hacker cũng sử dụng kỹ thuật này đề deface các
website nhưng đó vẫn chỉ tấn công vào bề mặt của website. Thật vậy, XSS là
những Client-Side Script, những đoạn mã này sẽ chỉ chạy bởi trình duyệt phía
client do đó XSS không làm ảnh hưởng đến hệ thống website nằm trên server.

Bảo mật web và email-Đề tài môn “Mạng máy tính”


16
Mục tiêu tấn công của XSS không ai khác chính là những người sử dụng
khác của website, khi họ vô tình vào các trang có chứa các đoạn mã nguy hiểm do
các hacker để lại họ có thể bị chuyển tới các website khác, đặt lại homepage, hay
nặng hơn là mất mật khẩu, mất cookie thậm chí máy tính bạn có thể sẽ bị cài các
loại virus, backdoor, worm
 Cảnh Giác Với XSS
Có lẽ không cần liệt kê những nguy hiểm của XSS, nhưng trên thực tế nếu bạn có
một chút hiểu biết về XSS bạn sẽ không còn phải sợ chúng nữa. Thật vậy bạn
hoàn toàn có thể tránh khỏi việc bị tấn công bởi những lỗi XSS nếu hiểu kỹ về nó.
 Phát Hiện XSS Bằng Cách Nào?

Nếu như các bạn sử dụng các mã nguồn của các chương trình có sẵn bạn có
thể tham khảo danh sách các lỗ hổng của chương trình bạn trên các trang web
chứa các thông tin về bảo mật như securityfocus.com, securiteam.com, Tuy
nhiên nếu các website được tự viết mã nguồn thì bạn không thể áp dụng phương
pháp trên. Trong trường hợp này bạn cần đến các chương trình scanner tự động.
Nếu như bạn sử dụng trong môi trường Windows bạn có thể dùng N-Stealth hay
AppScan, đó là những chương trình scan khá tuyệt, bạn không chỉ kiểm tra được
các lỗi XSS mà nó còn cho phép bạn kiểm tra các lỗi khác trong Website đó,
Server đó.
Tất nhiên đâu phải lúc nào bạn cũng cần kiểm tra tất cả, nếu như bạn chỉ
muốn kiểm tra các lỗi XSS có trong website, bạn chỉ cần sử dụng screamingCSS.
Đó là một Perl Script sẽ mở các kết nối tới website (sử dụng Perl's socket) để kiểm
tra các lỗi XSS của bạn. Hơn nữa bạn có thể sử dụng nó trong cả môi trường Unix
lẫn Windows.
 Ngăn Ngừa XSS nhƣ thế nào?
Người ta không lường hết được mức độ nguy hiểm của XSS nhưng cũng
không quá khó khăn để ngăn ngừa XSS. Có rất nhiều cách để có thể giải quyết vấn
đề này.
OWASP (The Open Web Application Standard Project) nói rằng để có thể xây
dựng các website bảo mật cao, đối với các dữ liệu của người sử dụng bạn nên
+ Chỉ chấp nhận những dữ liệu hợp lệ.
+ Từ chối nhận các dữ liệu hỏng.
+ Liên tục kiểm tra và thanh lọc sữ liệu.
Tuy nhiên trên thực tế, một số trường hợp bạn phải chấp nhận mọi loại dữ liệu hay
không có một bộ lọc phù hợp. Chính vì vậy bạn phải có những cách riêng để giải
quyết.
Một trong những cách hay sử dụng là bạn mã hoá các kí tự đặc biệt trước
khi in ra website, nhất là những gì có thể gây nguy hiểm cho người sử dụng. Trong
trường hợp này thẻ <script> sẽ được đổi thành <script>. Như vậy nó sẽ vẫn được
in ra màn hình mà không hề gây nguy hiểm cho người sử dụng.

Kỹ thuật XSS được mô tả lần đầu tiên cách đây 2 năm và hầu hết các khả năng
tiềm ẩn của kỹ thuật này đã được biết đến. Tuy nhiên chúng ta mới chỉ khắc phục
Bảo mật web và email-Đề tài môn “Mạng máy tính”


17
được một phần của nó. Không phải vô tình mà Yahoo Mail lại để sót một lỗi XSS
trong bộ lọc của mình. Một phương pháp tối ưu vẫn còn đang ở phía trước.
d) Local Attack
Local Attack, tấn công nội bộ từ bên trong, là một khái niệm xuất hiện từ
khi các máy chủ mạnh lên trong thời gian gần đây, để hiểu rõ khái niệm, chúng ta
sẽ lấy một số ví dụ.
Vào thập niên trước, các máy chủ chạy web(web server) có cấu hình chỉ ở
mức trung bình và chỉ có thể đảm nhiệm việc gồng gánh một hoặc 2,3 trang web
cùng tồn tại. Theo thời gian, cấu hình các máy chủ ngày càng mạnh hơn, tốc độ bộ
vi xử lý và các công nghệ phân luồng, đa nhân, xử lý song song; đồng bộ với sự
phát triển của phần cứng là phần mềm hệ thống và web server software ngày càng
được viết chuyên biệt để xử lý đa tác vụ. Chính nhờ sự phát triển đó, một máy chủ
ngày nay(có thể là chiếc PC của bạn) có thể đặt được nhiều website trên đó, ví dụ
như PC của bạn có thể đặt 3 trang web: của lớp bạn, của bạn gái bạn và 1 blog của
bạn. Và cũng chính nhờ vậy, mà 1 công nghệ khai thác lỗi mới ra đời? Nó mang
tên local attack -tấn công từ nội bộ.
Bước 1: Xác định các website cần tấn công
Bước 2: Xác định các website đặt cùng server với mục tiêu
Bước 3: Tìm cách khai thác một trong các website đặt chung server với mục tiêu .
Khai thác được 1 trong số các website đó .Tìm cách upload webshell hoặc thực thi
shell code .
Bước 4:Thành công có webshell, kiểm tra quyền của user hiện tại
Bước 5: Nếu quyền hiện tại đủ đến tấn công mục tiêu. Sang bước 7
Bước 6: Nếu quyền hiện tại không đủ tấn công, tìm cách nâng quyền lên

Bước 7:Đã có đủ quyền, tiến hành đọc file config, tìm user password, deface mục
tiêu nếu có thể
Bước 8:Kết thúc
e) Dùng các loại trojan, virus
Hacker tìm cách cài trojan và virus vào máy của nạn nhân để đánh cắp mật khẩu
của admin trong quá trình đăng nhập
f) DOS và DDOS, DRDOS
o Tấn công từ chối dịch vụ (DOS) là gì?
Tấn công DOS là từ viết tắt của Deny Of Service attack - Tấn công từ chối
dịch vụ. Theo lý thuyết, các dịch vụ web trên Internet đều có một giới hạn
về khả năng cung cấp dịch vụ cho người truy cập. Nếu một trang web bị
gửi tới số lượng yêu cầu truy cập vượt quá giới hạn có thể đáp ứng, thì dịch
vụ web sẽ bị tê liệt, không thể trả lời cho các yêu cầu truy cập hợp lệ của
người sử dụng bình thường.
Tương tự với DOS trên web, phương thức tấn công DOS bằng phần mềm
cũng khiến ĐTDĐ liên tục phải nhận các cuộc gọi đến. Các thuê bao hợp lệ
khác không thể gọi tới thuê bao bị tấn công vì máy luôn bận. Thuê bao nạn
nhân cũng khó có thể thực hiện các cuộc gọi đi vì luôn có điện thoại gọi
đến.
Bảo mật web và email-Đề tài môn “Mạng máy tính”


18
o Tấn công từ chối dịch vụ phân tán (DDOS) là gì?
Tấn công DDOS là từ viết tắt của Distributed Deny Of Service attack - Tấn
công từ chối dịch vụ phân tán. Tương tự với tấn công DOS, nhưng nguồn
gửi không đến từ một máy tính trên Internet, mà từ một hệ thống nhiều máy
tính với vô số địa chỉ IP khác nhau. Việc ngăn chặn DDOS khó khăn hơn
nhiều so với DOS.




Hình I. 5



o Tấn công từ chối dịch vụ bằng phƣơng pháp phản xạ nhiều vùng
(DRDOS) là gì?


Bây giờ, chúng ta hãy nhớ lại phương pháp SYN attack truyền thống của DoS,
phương pháp này dựa trên bước thứ nhất để mở connection của TCP để tạo các
"open half" connection làm Server bị ăn mòn hết tài nguyên. Các SYN packet
được gửi trực tiếp đến Server sau khi đã giả mạo IP nguồn. IP giả mạo sẽ là 1
IP không có thật trên Internet để cho Server không thể nào hoàn thành được
connection.
Ta có Server A và Victim, giả sử ta gửi 1 SYN packet đến Server A trong đó
IP nguồn đã bị giả mạo thành IP của Victim, bạn nghĩ chuyện gì sẽ xảy ra ???
Đúng, Server A sẽ mở 1 connection và gủi SYN/ACK packet cho Victim vì
nghĩ rằng Victim muốn mở connection với mình. Và đây chính là khái niệm
của Reflection ( Phản xạ ).
DRDoS có thể được mô tả như sau :
Bảo mật web và email-Đề tài môn “Mạng máy tính”


19

Hình I. 6
Hacker sẽ điều khiển Spoof SYN generator, gửi SYN packet đến tất cả các TCP
Server lớn, lúc này các TCP Server này vô tình thành Zombie cho Hacker để cùng

tấn công Victim và làm nghẽn đường truyền của Victim.
g) Xóa dấu vết
Bước cuối cùng đó là xóa các dấu vết còn lưu lại trên server cũng như phía Client
trước khi thoát ra (các file log, địa chỉ IP, phiên làm việc, cache,, history, …)
II.3. Từ phía ngƣời phòng thủ (Administrator)
Ngày nay các ứng dụng web với mã nguồn mở phát triển rất mạnh, trong đó đặc biệt phổ
biến là PHP – MySQL. Nhưng công nghệ phát triển đồng thời kéo theo những “tin tặc”
trẻ luôn muốn khẳng định mình sau khi xem những hướng dẫn tấn công, khai thác lỗi đầy
rẫy trên các forum hacker. Vì thế bất kì một website nào cũng có khả năng bị tấn công bất
cứ lúc nào, đặc biệt là các site cá nhân, tập thể vừa và nhỏ sẽ chọn giải pháp là thuê
shared hosting trên một server. Vì các shared hosting ở cùng server nên độ riêng tư không
cao, việc kiên cố hoá website trên shared hosting là rất cần thiết.
Shared hosting là gì ?Ta vẫn quen gọi ngắn shared hosting là host, vì hầu hết các site
đều thuê dịch vụ hosting để tiết kiệm chi phí, ngoại trừ một số site yêu cầu tài nguyên lớn
và độ bảo mật cao mới sử dụng server riêng.
II.3.1 Phân quyền hợp lí
 Tìm hiểu về chmod:
Là sự phân quyền truy cập vào một file hay một folder đối với các lớp người dùng
giống
như các thuộc tính dùng lệnh attrib trong DOS.
Các lớp người dùng gồm có: Owner – Group – World
Owner : người “sở hữu” host.
Bảo mật web và email-Đề tài môn “Mạng máy tính”


20
Group : là nhóm người dùng.
World : bất kì ai.
 CHMOD thế nào để an toàn:
Cách CHMOD tối ưu nhất :

chmod 404 (chỉ cho phép đọc) tất cả các file.
chmod 101 (chỉ cho thực thi) tất cả các folder.
chmod 501 thư mục /public_html/Các cách chmod trên đều không cho write, do đó
bố cục được bảo toàn, đồng thời không thể xem cấu trúc site, thư mục, file. Có thể
nói đó là các chmod an toàn nhất mà ứng dụng web như diễn đàn, site nhạc, tin tức
có thể hoạt động ổn định.
Tuy nhiên không phải server nào cũng cho phép bạn chmod như vậy, nếu bạn dùng
FTP không thể chmod được như vậy, thì hãy chmod như sau:
chmod 704 (chỉ cho phép đọc) tất cả các file.
chmod 701 (chỉ cho thực thi) tất cả các folder.Lưu ý: Phiên bản cPanel 11 có File
Manager V3, có thể dùng để chmod hàng loạt rất tốt và có thể chmod được file 404,
folder 101.
II.3.2 Ẩn Mình-(Hide Path):
Khi đăng kí hosting, domain chính thường được trỏ vào ngay trong thư mục
/public_html/, điều này giúp “kẻ tấn công” dễ dàng mò đến file quan trọng của
website (vd như file config.php của các forum chẳng hạn), và khi đó thông tin đăng
nhập quản lí cơ sở dữ liệu của website đã bị kẻ xấu lấy mất. Điều tệ hại gì sẽ xảy ra ?
Để khắc phục điểm này, ta nên yêu cầu bên cung cấp hosting tạo host không có
domain (tên miền) chính và để ta tự gắn vào bằng chức năng add-on domain. Khi add
domain sẽ có chỗ để bạn nhập đường dẫn đến thư mục mà domain sau khi gắn thành
công.
II.3.3 Không hiển thị lỗi nếu phát sinh
Khi có lỗi phát sinh, PHP sẽ hiện thông báo ra trình duyệt và chỉ rõ lỗi ở file nào,
dòng nào và đường dẫn của file, vì thế điều này rất nguy hiểm.
Để che lỗi, bạn tạo một file php.ini với nội dung như sau:
display_errors = Off
log_errors = On
Sau đó upload lên thư mục chứa website.
Gợi ý: bạn nên up file php.ini trên vào các thư mục mà người dùng sẽ truy cập bằng
trình duyệt, thường là thư mục chứa website, thư mục quản trị, thư mục của user …

II.3.4 Bật safe-mode (chế độ an toàn) và vô hiệu các hàm nguy hiểm
Thêm hoặc edit 2 dòng sau trong nội dung file php.ini
disable_functions = passthru, system, shell_exec, exec, dir, readfile, virtual,
proc_terminate
safe-mode = on
Lưu ý: bạn có thể bỏ bớt các hàm trong danh sách hàm bị vô hiệu nếu hàm đó cần cho
website của bạn hoạt động
II.3.5 Phân quyền account truy cập cơ sở dữ liệu MySQL
Khi bạn tạo user truy cập vào database, bạn cần lưu ý:
Bảo mật web và email-Đề tài môn “Mạng máy tính”


21
Không dùng user và pass của host làm user của database.
II.3.6 Mã hoá các file chứa thông tin nhạy cảm
Các file nhạy cảm chứa các thông tin kết nối cơ sở dữ liệu như config.php với các
kiểu mã hoá như base64 của PHP hoặc mã hoá dùng phần mềm zendguard
Nếu mã hoá base64 PHP thì các bạn có thể dùng google để tìm với từ khoá base64
encode.
II.3.7 Ngăn download source code khi server gặp sự cố:
Tạo file .htaccess nội dung như sau:
<Files "config.php">
Order Allow,Deny
Deny from All
</Files>
<Files "class_core.php">
Order Allow,Deny
Deny from All
</Files>
Mục đích để ngăn cản việc download source code khi PHP bị overload hoặc

terminated. Nguyên nhân có thể đến từ bên trong hoặc bên ngoài.
II.3.8 Vô hiệu hoá biên dịch mã PHP trong thƣ mục chỉ định
Nếu bạn có một thư mục dành cho việc upload, bạn nên vô hiệu hoá việc biên dịch và
thực thi mã PHP trong thư mục ấy vì attacker có thể lợi dụng việc upload để đưa
script độc
(webshell) lên host của bạn.
Tạo file .htaccess đặt vào thư mục đó với nội dung như sau:
php_admin_flag engine off
Sau đó chmod 444 cho file.
II.3.9 Thƣờng xuyên cập nhật vá lỗi cho :
 Hệ điều hành Server

 Phần mềm Web Server

 Phần mềm thông dịch Web

 Phần mềm quản lý CSDL

 Phần mềm chống Virus
Dựng Firewall
Chỉ mở những port cần thiết sử dụng trên Server
và đặt một mật khẩu quản trị tƣơng đối kiên cố, liên hệ với nhà cung cấp dịch
vụ để sửa lỗi.


Bảo mật web và email-Đề tài môn “Mạng máy tính”


22




CHƢƠNG II: Bảo Mật Email

I. Thƣ Điện Tử (Electronic Mail):là một hệ thống chuyển nhận thư từ qua các
mạng máy tính.Email là một phương tiện thông tin rất nhanh. Một mẫu thông
tin (thư từ) có thể được gửi đi ở dạng mã hoá hay dạng thông thường và được
chuyển qua các mạng máy tính đặc biệt là mạng Internet. Nó có thể chuyển
mẫu thông tin từ một máy nguồn tới một hay rất nhiều máy nhận trong cùng
lúc.Ngày nay, email chẳng những có thể truyền gửi được chữ, nó còn có thể
truyền được các dạng thông tin khác như hình ảnh, âm thanh, phim, và đặc biệt
các phần mềm thư điện tử kiểu mới còn có thể hiển thị các email dạng sống
động tương thích với kiểu tệp HTML.
II. Cấu trúc chung của một địa chỉ email
Một địa chỉ email sẽ bao gồm ba phần chính có dạng Tên_định_dạng_thêm
tên_email@tên_miền
II.1 Phần tên_định_dạng_thêm: Đây là một dạng tên để cho người đọc có
thể dễ dàng nhận ra người gửi hay nơi gửi. Tuy nhiên, trong các thư
điện tử người ta có thể không cần cho tên định dạng và lá thư điện tử
vẫn được gửi đi đúng nơi. Thí dụ: Trong địa chỉ gửi thư tới viết dưới
dạng Nguyễn Thị A hay viết dưới dạng
thì phần mềm thư điện tử vẫn hoạt động
chính xác và gửi đi đến đúng địa chỉ.
II.2 Phần tên_email: Đây là phần xác định hộp thư. Thông thường, cho dễ
nhớ, phần này hay mang tên của người chủ ghép với một vài kí tự đặc
biệt. Phần tên này thường do người đăng kí hộp thư điện tử đặt ra. Phần
này còn được gọi là phần tên địa phƣơng.
II.3 Phần tên_miền: Đây là tên miền của nơi cung cấp dịch vụ thư điện tử.
Ngay sau phần tên_email bắt đầu bằng chữ "@" nối liền sau đó là tên
miền.

III. Các chức năng có thể có của một hộp thƣ điện tử:
Ngoài chức năng thông thường để nhận và soạn thảo email, các phần mềm thư
điện tử có thể còn cung cấp thêm những chức năng khác như là:
 Lịch làm việc (calendar): người ta có thể dùng nó như là một thời khoá
biểu. Trong những phần mềm mạnh, chức năng này còn giữ nhiệm vụ
thông báo sự kiện đã đăng kí trong lịch làm việc trước giờ xảy ra cho người
chủ hộp thư.
 Sổ địa chỉ (addresses hay contacts): dùng để ghi nhớ tất cả các địa chỉ cần
thiết cho công việc hay cho cá nhân.
 Sổ tay (note book hay notes): để ghi chép, hay ghi nhớ bất kì điều gì.
 Công cụ tìm kiếm thư điện tử (find hay search mail).
Bảo mật web và email-Đề tài môn “Mạng máy tính”


23
Để hiểu hết tất cả các chức năng của một phần mềm thư điện tử người dùng có thể
dùng chức năng giúp đỡ (thường có thể mở chức năng này bằng cách nhấn nút
<F1> bên trong phần mềm thư điện tử).

Hình II. 1

Giải thích căn bản về giao diện kiểu WebMail của Yahoo


IV. Phƣơng thức hoạt động của một hệ thống thƣ điện tử

Hình II. 2


Hoạt động của hệ thống thư điện tử

Hoạt động của hệ thống email hiện nay có thể dược minh họa qua phân tích một
thí dụ như sau
IV.1 Nguyễn dùng MUA (mail user agent)của mình để soạn một lá thư có địa
chỉ người nhận là Trần với địa chỉ là Nguyễn nhấn nút
Bảo mật web và email-Đề tài môn “Mạng máy tính”


24
Send và phần mềm thư điện tử của Nguyễn áp dụng SMPT để gửi mẫu
thông tin (lá thư) đến MTA, hay máy chủ thư điện tử, của Nguyễn.
Trong thí dụ thì máy chủ này là smtp.a.org được cung cấp từ dịch vụ
Internet của Nguyễn.
IV.2 MTA này sẽ đọc địa chỉ chỗ nhận () và dựa vào phần tên
miền nó sẽ tìm hỏi địa chỉ của tên miền này, nơi có máy chủ sẽ nhận
email gửi đến, qua Hệ thống Tên miền.
IV.3 Máy chủ DNS của b.org là ns.b.org sẽ trả lời về một bản ghi trao đổi thư
từ, đây là bảng ghi chỉ ra cách thức làm thế nào định tuyến cho email
này. Trong thí dụ thì mx.b.org là máy chủ từ dịch vụ cung ứng Internet
của Trần.
IV.4 smtp.a.org gửi mẫu thông tin tới mx.b.org dùng giao thức SMTP, điều
này sẽ phân phối lá thư đến hộp thư của Trần.
IV.5 Khi đọc Trần ra lệnh nhận thư trên máy (MUA) của Trần, điều này tạo
ra việc lấy về mẫu thông tin bằng cách áp dụng giao thức POP3.
Trong trường hợp Nguyễn không có MUA mà chỉ dùng Webmail chẳng hạn thì
bước 1 sẽ không xảy ra tức là MTA của Nguyễn sẽ làm việc trực tiếp. Tưong tự
cho trường hợp Trần không có MUA riêng.
Trước đây, nếu một MTA không thể gửi tới đích thì nó có thể ít nhất ngừng lại ở
chỗ gần với chỗ nhận. Sự ngừng này sẽ tạo cơ hội để máy đích có thể nhận về các
mẫu thông tin trong thời gian trễ hơn. Nhiều MTA sẽ chấp nhận tất cả mẫu thông
tin từ người gửi bất kì và tìm mọi cách để phân nó về đến máy đích. Những MTA

như vậy gọi là những ngƣng đọng thƣ mở (open mail relays). Điều này khá cần
thiết vì sự chất lượng liên lạc của hệ thống Internet lúc đó còn yếu.
Ngày nay, do việc lợi dụng trên cơ chế hoạt động của hệ thống thư điện tử nhiều
người đã gửi ra các loại thư vô bổ. Như là hậu quả, rất ít MTA ngày nay còn chấp
nhận các ngưng đọng thư mở. Bởi vì các thư như vậy rất có thể là các loại thư
nhũng lạm.
V. Các giao thức
 SMTP (từ chữ Simple Mail Transfer Protocol) hay là giao thức chuyển
thƣ đơn giản. Đây là một giao thức lo về việc vận chuyển email giữa các
máy chủ trên đường trung chuyển đến địa chỉ nhận cũng như là lo việc
chuyển thư điện tử từ máy khách đến máy chủ. Hầu hết các hệ thống thư
điện tử gửi thư qua Internet đều dùng giao thức này. Các mẫu thông tin có
thể được lấy ra bởi một email client. Những email client này phải dùng giao
thức POP hay giao thức IMAP.
 IMAP (từ chữ Internet Message Access Protocol) hay là giao thức truy
nhập thông điệp (từ) Internet. Giao thức này cho phép truy nhập và quản
lý các mẫu thông tin về từ các máy chủ. Với giao thức này người dùng
email có thể đọc, tạo ra, thay đổi, hay xoá các ngăn chứa, các mẫu tin đồng
thời có thể tìm kiếm các nội dung trong hộp thư mà không cần phải tải các
thư về.
Phiên bản mới nhất của IMAP là IMAP4 tương tự nhưng có nhiều chức
Bảo mật web và email-Đề tài môn “Mạng máy tính”


25
năng hơn giao thức POP3. IMAP nguyên thuỷ được phát triển bởi đại học
Standford năm 1986.
 POP (từ chữ Post Office Protocol) hay là giao thức phòng thƣ. Giao
thức này được dùng để truy tìm các email từ một MTA. Hầu hết các MUA
đều dùng đến giao thức POP mặc dù một số MTA cũng có thể dùng giao

thức mới hơn là IMAP.
Hiện có hai phiên bản của POP. Phiên bản đầu tiên là POP2 đã trở thành
tiêu chuẩn vào thập niên 80, nó đòi hỏi phải có giao thức SMTP để gửi đi
các mẫu thông tin. Phiên bản mới hơn POP3 có thể được dùng mà không
cần tới SMTP.
VI. Bảo mật
Email đã quá quen thuộc với giới sử dụng máy tính, đôi khi có ngƣời lại cho
rằng hầu nhƣ chúng ta không thể sống nếu thiếu thƣ điện tử Có lẽ là vậy,
tuy nhiên để gửi và nhận thƣ vẫn chƣa đủ, bạn cũng cần phải biết sử dụng
email nhƣ thế nào để có đƣợc hiệu quả, sự tiện dụng cũng nhƣ an toàn. Sau
đây bài viết xin nêu một vài cách thức giúp bạn thực hiện điều này.
Những thông tin sau đây sẽ mang đến cho bạn cách tốt nhất trong việc làm
cho thƣ điện tử đến đƣợc ngƣời nhận mà không tạo cảm giác khó chịu cho cả
ngƣời gửi và ngƣời nhận, không làm ngắt quãng Internet, đúng lúc, kịp thời
và đáp trả thỏa đáng.
VI.1 Biết các trò lừa đảo
Mọi người đều có những ý định tốt nhất khi chuyển tiếp các cảnh báo khẩn cấp,
chẳng hạn như: một loại virus máy tính mới nhất, giá ga đạt kỷ lục, … hay bất cứ
sự kiện nào mà chính quyền hiện hành đưa ra tạo sức hấp dẫn. Vấn đề ở đây là ở
chỗ đa phần các email về các chủ đề đó
đều là hư cấu.
Trong trường hợp này chúng tôi khuyên
các bạn: Bất cứ khi nào bạn gặp một sự
thúc giục hay một hành động dụ dỗ nào
đó trong inbox của mình thì điều cần làm
đầu tiên đó là vào Snopes.com. Đây là
dịch vụ trên Internet cung cấp cho bạn
biết những thông tin nào là lừa đảo,
không tin cậy và những gì không phải
vậy. Hãy bookmark site này. Ghé thăm


Hình II. 3
nó và thực hiện một tìm kiếm xác nhận thông tin trung thực.


VI.2 Tạo một địa chỉ vĩnh viễn
Không có thứ gì là vĩnh cửu nhưng địa chỉ email thì khác. Xét về lịch sử của
Internet, mọi người thường tạo các địa chỉ email thông qua nhà cung cấp dịch vụ

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×