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

Đánh giá an toàng mạng máy tính

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 (694.75 KB, 18 trang )

Đồ án đánh giá an toàn m ạng máy tính

Huỳnh Cao Tuấn – Phan Hữu Tiếp

Giới thiệu đề tài:
Ngày nay, lĩnh vực thông tin ngày càng phát triển vượt bậc, những ứng
dụng của công nghệ thông tin đã mang lại nhiều lợi ích trong nhiều lĩnh vực
như y tế, giáo dục, kinh tế, quốc phòng… Trong đó, Website được sử dụng
trong hều hết mọi lĩnh vực và có quy mô toàn cầu.
Chính vì vậy, website ngày nay có th ể được xem như bộ mặt đại diện
cho công ty, cơ quan trên m ạng Internet. Thông qua website, m ọi việc trao đổi,
giao dịch, tiếp xúc giữa mọi người đều được thực hiện một cách dễ dàng tạo ra
vô số điều kiện thuận lợi để phát triển.
Tuy nhiên, bên cạnh những ưu điểm thuận lợi mà các website đem lại thì
cũng có những khó khăn thử thách mà người dùng phải đối mặt: đó là, làm
cách nào để bảo vệ website của mình một cách an toàn, vững chắc trước sự
tấn công của hacker. Một website bị “đánh sập” thì đồng nghĩa với việc: uy tín
công ty giảm xúc, mất khách hàng, cổ phiếu giảm giá và kéo theo việc làm ăn
thua lỗ dẫn đến phá sản.
Để giải quyết phần nào những khó khăn thử thách nêu trên, chúng em
xin dùng đề tài :” Trình bày những nguy cơ, những đe doạ đối với hệ
thống Web Server. Xây d ựng chính sách an toàn thông tin và các bi ện
pháp ngăn ngừa, hạn chế rủi ro cho dịch vụ Web” để làm rõ vấn đề.
Đề tài này do hai học viên: Huỳnh Cao Tuấn và Phan Hữu Tiếp đảm
nhận.Trước khi phân tích vấn đề, chúng em xin chân thành cám ơn các th ầy đã
hỗ trợ chúng em rất nhiều trong môn học: “ Đánh giá an toàn mạng máy tính”
Vì lấy những kinh nghiệm thực tế mà bản thân mình có trong quá trình
làm việc để trình bày đề tài này, vì vậy rất mong được sự góp ý của Thầy.
Chúng em xin chân thành cám ơn !
Biên Hòa, ngày 15 tháng 12 n ăm 2009
Huỳnh Cao Tuấn


Phan Hữu Tiếp

Trang 1/18


Đồ án đánh giá an toàn m ạng máy tính

Huỳnh Cao Tuấn – Phan Hữu Tiếp

Nội dụng chính của đề tài gồm 03 phần:
 Phần 1: Khái quát về Web Server
 Phần 2: Những nguy cơ đe dọa đến hệ thống Web Server (học viên
Huỳnh Cao Tuấn đảm nhiệm)
 Phần 3: Xây dựng chính sách an toàn thông tin và các bi ện pháp ngăn
ngừa, hạn chế rủi ro cho dịch vụ Web ( học viên Phan Hữu Tiếp đảm
nhiệm)

Phần 1: Khái quát Web Server
Web Server (máy chủ Web): là máy tính mà trên đó dịch vụ Web được
cung cấp chủ yếu. Web Server thường 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à lhu.edu.vn. Server này s ẽ
tìm trang Web có tên là *.htm r ồi gửi nó đến trình duyệt của bạn.

Trang 2/18


Đồ án đánh giá an toàn m ạng máy tính

Huỳnh Cao Tuấn – Phan Hữu Tiếp

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 độ truyền tải thông tin từ
server và máy tính truy c ập.

Phần 2: Những nguy cơ đe dọa sự an toàn của

hệ thống Web Server
I. Nguy cơ khách quan
1.

Đường truyền kết nối hệ thống Web Server với Internet bị đứt.


Hậu quả: hệ thống Web Server không thể truy cập được



Lý giải: việc này rất thường xảy ra do chất lượng của các nhà
cung cấp mạng không tốt.

2.

Sử dụng các hệ thống phần mềm không có bản quyền:


Ở Việt Nam đa số máy tính sử dụng những hệ điều hành không
có bản quyền hoặc bản quyền không hợp pháp. Điều này dẫn
đến việc hệ thống không được cập nhật kịp thời các bản vá lỗi.
Trang 3/18


Đồ án đánh giá an toàn m ạng máy tính

Huỳnh Cao Tuấn – Phan Hữu Tiếp

Hoặc Server có thể bị “đóng băng” bất cứ lúc nào để yêu cầu

xác nhận quyền sử dụng hợp pháp.
3.

Các tác nhân thiên nhiên hay s ự cố khác như :


Hoả hoạn, lũ lụt, chập điện, sét đánh…



Sự cố về phần cứng máy tính....

II. Nguy cơ chủ quan
Là những nguy cơ do con người cố tình gây ra, nhằm mục đích phá hoại
hệ thống dữ liệu, tính chính xác của thông tin mà Website đó cung c ấp. Những
người có những hành vi như vậy được giới chuyên môn gọi là Hacker. Thông
thường thì những hành vi đó có động cơ chính là vì kinh tế hoặc phục vụ cho
mục đích chính trị.
Có 2 tầng để Hacker tiến hành tấn công Web Server.
 Tầng web service (như IIS ...)


Software trên Web Server bị lỗi (bị buffer overflow, bị thiếu
kiểm soát chủ quyền cần thiết để chạy service).



Admin vô tình thiếu sót khi thiết lập server (.htaccess bị lỗi,
gán quyền trên filesystem không đúng).




Server software không lo li ệu đầy đủ việc kiểm soát encode và
decode cũng như MIME type khiến cho service có thể bị quản
lý bất hợp pháp.

 Tầng ứng dụng (như chạy cgi, php, asp, jsp ...)


Các INPUT data thiếu xác thực (cần INPUT validation) nên b ị
xss, sql injection.



Dùng SSI nhưng không kiểm soát chặt chẽ.



Cho phép include nhưng không ki ểm soát nội dung include.



Thiếu chặt chẽ trong cơ chế gán quyền và thực thi quyền trên
mỗi web application (nên bị leo thang).

Trang 4/18


Đồ án đánh giá an toàn m ạng máy tính


Huỳnh Cao Tuấn – Phan Hữu Tiếp

Sau đây là một số lỗ hỏng khiến Web Server hoặc Website có thể bị
chiếm quyền điều khiển bất hợp pháp.
1.

Lỗi SQL Injection
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 này đó là SQL injection.
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.
Có bốn dạng thông thường bao gồm: vượt qua kiểm tra lúc đăng nhập
(authorization bypass), s ử dụng câu lện SELECT, sử dụng câu lệnh INSERT, sử
dụng các stored-procedures.
1.1. Dạng tấn công vượt qua kiểm tra đăng nhập
Với dạng tấn công này, tin tặc có thể dễ dàng vượt qua các trang
đăng nhập nhờ vào lỗi khi dùng các câu lệnh SQL thao tác trên cơ s ở dữ
liệu của ứng dụng web. Xét một ví dụ điển hình, thông thường để cho

phép người dùng truy cập vào các trang web đư ợc bảo mật, hệ thống
thường xây dựng trang đăng nhập để yêu cầu người dùng nhập thông
tin về tên đăng nhập và mật khẩu. Sau khi người dùng nhập thông tin
vào, hệ thống sẽ kiểm tra tên đăng nhập và mật khẩu có hợp lệ hay
không để quyết định cho phép hay từ chối thực hiện tiếp.

Trang 5/18


Đồ án đánh giá an toàn m ạng máy tính

Huỳnh Cao Tuấn – Phan Hữu Tiếp

Trong trường hợp này, người ta có thể dùng hai trang, một trang
HTML để hiển thị form nhập liệu và một trang ASP dùng để xử lí thông
tin nhập từ phía người dùng. Ví dụ:
login.htm
<form action="ExecLogin.asp" method="post">
Username: <input type="text" name="fUSRNAME">

Password: <input type="password" name="fPASSWORD">

<input type="submit">
</form>

execlogin.asp
<%
Dim vUsrName, vPassword, objRS, strSQL
vUsrName = Request.Form("fUSRNAME")
vPassword = Request.Form("fPASSWORD")
strSQL = "SELECT * FROM T_USERS " & _
"WHERE USR_NAME=' " & vUsrName & _

" ' and USR_PASSWORD=' " & vP assword & " ' "
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, "DSN=..."
If (objRS.EOF) Then
Response.Write "Invalid login."
Else
Response.Write "You are logged in as " & objRS("USR_NAME")
End If
Set objRS = Nothing
%>

Thoạt nhìn, đoạn mã trong trang execlogin.asp d ường như không
chứa bất cứ một lỗ hổng về an toàn nào. Người dùng không thể đăng
nhập mà không có tên đăng nh ập và mật khẩu hợp lệ. Tuy nhiên, đoạn
mã này thực sự không an toàn và là tiền đề cho một lỗi SQL injection.
Đặc biệt, chỗ sơ hở nằm ở chỗ dữ liệu nhập vào từ người dùng được
dùng để xây dựng trực tiếp câu lệnh SQL. Chính điều này cho phép
những kẻ tấn công có thể điều khiển câu truy vấn sẽ được thực hiện. Ví
dụ, nếu người dùng nhập chuỗi sau vào trong cả 2 ô nhập liệu
username/password của trang login.htm là:
vấn sẽ được gọi thực hiện là:

' OR ' ' = ' ' .

Lúc này, câu truy

SELECT * FROM T_USERS WHERE USR_NAME =''

OR ''='' and USR_PASSWORD= '' OR ''=''


Câu truy vấn này là hợp lệ và sẽ trả về tất cả các bản ghi của
T_USERS và đoạn mã tiếp theo xử lí người dùng đăng nhập bất hợp
pháp này như là người dùng đăng nhập hợp lệ.

Trang 6/18


Đồ án đánh giá an toàn m ạng máy tính

Huỳnh Cao Tuấn – Phan Hữu Tiếp

1.2. Dạng tấn công sử dụng câu lệnh SELECT
Dạng tấn công này phức tạp hơn. Để thực hiện được kiểu tấn
công này, kẻ tấn công phải có khả năng hiểu và lợi dụng các sơ hở trong
các thông báo lỗi từ hệ thống để dò tìm các điểm yếu khởi đầu cho việc
tấn công. Xét một ví dụ rất thường gặp trong các website v ề tin tức.
Thông thường, sẽ có một trang nhận ID của tin cần hiển thị rồi sau đó
truy vấn nội dung của tin có ID này.
Ví dụ: Mã ngu ồn
cho chức năng này thường được viết khá đơn giản theo dạng
<%
Dim vNewsID, objRS, strSQL
vNewsID = Request("ID")
strSQL = "SELECT * FROM T_NEWS WHERE NEWS_ID =" & vNewsID
3
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, "DSN=..."
Set objRS = Nothing
%>


Trong các tình huống thông thường, đoạn mã này hiển thị nội
dung của tin có ID trùng với ID đã chỉ định và hầu như không thấy có lỗi.
Tuy nhiên, giống như ví dụ đăng nhập ở trước, đoạn mã này để lộ sơ hở
cho một lỗi SQL injection khác. Kẻ tấn công có thể thay thế một ID hợp
lệ bằng cách gán ID cho một giá trị khác, và từ đó, khởi đầu cho một
cuộc tấn công bất hợp pháp, ví dụ như: 0 OR 1=1 (nghĩa là,
or 1=1).
Câu truy vấn SQL lúc này sẽ trả về tất cả các article từ bảng dữ
liệu vì nó sẽ thực hiện câu lệnh:

SELECT * FROM T_NEWS WHERE NEWS_ID=0

or 1=1

1.3. Dạng tấn công sử dụng câu lệnh INSERT
Thông thường các ứng dụng web cho phép người dùng đăng kí
một tài khoản để tham gia. Chức năng không thể thiếu là sau khi đăng kí
thành công, người dùng có thể xem và hiệu chỉnh thông tin của mình.
SQL injection có thể được dùng khi hệ thống không kiểm tra tính hợp lệ
của thông tin nhập vào. Ví dụ, một câu lệnh INSERT có thể có cú pháp

Trang 7/18


Đồ án đánh giá an toàn m ạng máy tính

dạng:

Huỳnh Cao Tuấn – Phan Hữu Tiếp


INSERT INTO TableName VALUES('Value One', 'Value Two', 'Value Three' ).

Nếu

đoạn mã xây dựng câu lệnh SQL có dạng :
<%
strSQL = "INSERT INTO TableName VALUES(' " & strValueOne & " ', ' " _
& strValueTwo & " ', ' " & strValueThree & " ') "
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, "DSN=..."

Set objRS = Nothing
%>

Thì chắc chắn sẽ bị lỗi SQL injection, bởi v ì nếu ta nhập vào trường
thứ nhất ví dụ như: ' + (SELECT TOP 1 FieldName FROM TableName) + '. Lúc này

câu truy vấn sẽ là:

INSERT INTO TableName VALUES(' ' + (SELECT TOP 1

FieldName FROM TableName) + ' ', 'abc', 'def').

Khi đó, lúc thực hiện lệnh xem

thông tin, xem như bạn đã yêu cầu thực hiện thêm một lệnh nữa đó là:
SELECT TOP 1 FieldName FROM TableName

1.4. Dạng tấn công sử dụng stored -procedures
Việc tấn công bằng stored -procedures sẽ gây tác hại rất lớn nếu

ứng dụng được thực thi với quyền quản trị hệ thống 'sa'. Ví dụ, nếu ta
thay đoạn mã tiêm vào dạng: ' ; EXEC xp_cmdshell ‘cmd.exe dir C:
'. Lúc này hệ thống sẽ thực hiện lệnh liệt k ê thư mục trên ổ đĩa C:\ cài
đặt server. Việc phá hoại kiểu n ào tuỳ thuộc vào câu lệnh đằng sau
cmd.exe.
2.

Tấn công từ chối dịch vụ
Tấn công từ chối dịch vụ (DoS) là các cuộc tấn công trên hệ
thống mạng nhằm ngăn cản những truy xuất tới một dịch vụ. Tấn công
DoS phá hủy dịch vụ mạng bằng cách làm tràn ngập số lượng kết nối,
quá tải server hoặc chương trình chạy trên server, tiêu tốn tài nguyên
của server, hoặc ngăn chặn người dùng hợp lệ truy nhập tới dịch vụ
mạng. Các cuộc tấn công có thể được thực hiện nhằm vào bất kì một
thiết bị mạng nào bao gồm là tấn công vào các thiết bị định tuyến, web,
thư điện tử và hệ thống DNS.
Tấn công từ chối dịch vụ có thẻ được thực hiện theo một số cách
nhất định. Có năm kiểu tấn công cơ bản sau đây:

Trang 8/18


Đồ án đánh giá an toàn m ạng máy tính

Huỳnh Cao Tuấn – Phan Hữu Tiếp

1. Nhằm tiêu tốn tài nguyên tính toán như băng thông, dung
lượng đĩa cứng hoặc thời gian xử lý.
2. Phá vỡ các thông tin cấu hình như thông tin định tuyến.
3. Phá vỡ các trạng thái thông tin như vi ệc tự động reset lại các

phiên TCP.
4. Phá vỡ các thành phần vật lý của mạng máy tính
5. Làm tắc nghẽn thông tin liên lạc có chủ đích giữa các người
dùng và nạn nhân dẫn đến việc liên lạc giữa hai bên không
được thông suốt.
Một cuộc tấn công từ chối dịch vụ có thể bao gồm cả việc thực thi
malware nhằm:


Làm quá tải năng lực xử lý, dẫn đến hệ thống không thể
thực thi bất kì một công việc nào khác.



Những lỗi gọi tức thì trong microcode của máy tính.



Những lỗi gọi tức thì trong chuỗi chỉ thị, dẫn đến máy
tính rơi vào trạng thái hoạt động không ổn định hoặc bị
đơ.



Những lỗi có thể khai thác được ở hệ điều hành dẫn đến
việc thiếu thốn tài nguyên hoặc bị thrashing. VD: như sử
dụng tất cả các năng lực có sẵn dẫn đến không một công
việc thực tế nào có thể hoàn thành được.




Gây crash hệ thống.



Tấn công từ chối dịch vụ iFrame: trong một trang HTML
có thể gọi đến một trang web nào đó với rất nhiều yêu
cầu và trong rất nhiều lần cho đến khi băng thông của
trang web đó bị quá hạn.

Có rất nhiều các phương cách để thực hiện các cuộc tấn công từ
chối dịch vụ, vì thế cũng có rất nhiều cách phân loại DoS.
Cách phân loại phổ biến thường dùng dựa vào giao thức trong
hình thức tấn công của DoS, ví dụ như tràn ngập ICMP với Smurf, Ping
of Death, khai thác điểm yếu của TCP trong hoạt động của giao thức và
phân mảnh gói tin với SYN flood, LanD attacks, TearDrop hay trên m ức

Trang 9/18


Đồ án đánh giá an toàn m ạng máy tính

Huỳnh Cao Tuấn – Phan Hữu Tiếp

dịch vụ như với Flash Crowds (ở Việt Nam thường biết đến với tên Xflash).
Phân loại theo phương thức tấn công, DoS có thể được thực hiện
bằng một vài gói tin đơn lẻ gửi thẳng tới server gây rối loạn hoạt động
(như slammer worm), ho ặc kích hoạt để gửi từ nhiều nguồn (từ chối dịch
vụ phân tán – DdoS). Tấn công có thể thực hiện trên mạng Internet (sử
dụng ngay các web server), h oặc broadcast trong mạng bên trong

(insider attacks – như với Blaster worm), trên m ạng P2P (P2P index
poinsioning) hay Wireless (WLAN authentication rejection attack -spoof
sender). Tuy nhiên, có th ể thấy các cách phân loại trên dựa chủ yếu vào
cách nhìn từ sự phát sinh tấn công, và vì thế, không hệ thống hóa được
phương thức phòng tránh.
3.

Nguy cơ trong việc cho Upload File lên Web Server:
Khi cài đặt ứng dụng Web, thường thì người quản trị quên kiểm
tra việc phân quyền các thư mục chứa những file mà người dùng Upload
lên server. Thông thường thì thư mục đó được cấp quyền mặc định là
cho thực thi các tập tin có dạng *.exe, *.bat, *.asp,.... Chính đi ều này,
tạo cơ hội cho phép Hacker upload nh ững file có chứa những đoạn mã
gây hại và sau đó tìm cách thực thi chúng.

4.

Tấn công thông qua các port không đư ợc kiểm soát:
Nếu người quản trị không chú ý đến các port được mở trên Server
thì có nguy cơ bị hacker dò quét và lợi dụng các port đó để xâm nhập,
tấn công server.

5.

Web Server không được bảo vệ trong hệ thống mạng:
Vấn đề cuối cùng là Web Server không đư ợc đặt ở vị an toàn
trong hệ thống mạng. Ta không có các chính sách xây d ựng hệ thống
mạng an toàn, không có phân vùng đ ặt biệt cho server, không có
firewall hoặc các giải pháp bảo đảm sự an toàn cho server.


Trang 10/18


Đồ án đánh giá an toàn m ạng máy tính

Huỳnh Cao Tuấn – Phan Hữu Tiếp

Phần 3: Xây dựng chính sách an toàn thông tin
& các biện pháp ngăn ngừa, hạn chế rủi ro cho
dịch vụ Web
Từ những nguy cơ khách quan cũng như chủ quan đe dọa hệ
thống Web Server đã được trình bày như trên, nhóm chúng em có đưa
ra một chính sách gồm nhiều mục nhằm đảm bảo độ an toàn thông tin
cũng như là các biện pháp ngăn ngừa hạn chế rủi ro cho dịch vụ Web
Chính sách này được xây dựng phù hợp với các nguy cơ đã trình
bày trong phần trên

I. Nguy cơ khách quan:
1.

Đường truyền kết nối hệ thống Web Server với Internet bị đứt

Hướng giải quyết:
Lựa chọn các nhà cung cấp ISP chất lượng phục vụ tốt nhất( có
thể lựa chọn cáp quang, chọn gói có băng thông rộng, đường truyền ổn
định).
Nếu đủ khả năng kéo thêm dây dự phòng. Nghĩa là cùng một lúc
thuê 2 đường truyền của hai nhà cung cấp khác nhau.
FPT


Internet
VNN

2.

Việc sử dụng hệ điều hành trên hệ thống Web Server:

Hướng giải quyết:
Lựa chọn hệ điều hành phù hợp với mục đích của Web Server.
Phải sử dụng hệ điều hành có bản quyền
Luôn luôn cập nhật bản vá lỗi của hệ điều hành (Patch)

Trang 11/18


Đồ án đánh giá an toàn m ạng máy tính

Server

3.

Huỳnh Cao Tuấn – Phan Hữu Tiếp

CD
Key

Newest
Patch
Các tác nhân thiên nhiên hay s ự cố khác.


Safe

Hướng giải quyết:
Chọn vị trí đặt Server sao cho có thể tránh được lũ lụt (đặt trên
cao), đặt trong các toà nhà kiên c ố có thể chịu được động đất.
Phòng đặt server phải có hệ thống phòng cháy và chữa cháy đúng
tiêu chuẩn và thích hợp.
Dùng các hướng dẫn trên ISO27001 để giải quyết tùy tình huống
Có chính sách quản lý việc ra vào phòng an toàn: dùng h ệ thống
camera ghi nhận lại, dùng ổ khóa ...
Có ghi nhật ký những ai có tác động đến Server: ai?, vào thời
điểm nào ?, có tác động gì đến Server?
Thường xuyên xem file log đ ể có biện pháp xử lý kịp thời
Có chính sách cho việc backup Server thường xuyên.

Safe
100
%

??????
?

Khu vực an toàn

Trang 12/18


Đồ án đánh giá an toàn m ạng máy tính

Huỳnh Cao Tuấn – Phan Hữu Tiếp


II. Nguy cơ chủ quan
1.

Lỗi SQL Injection
Mua software có bản quyền đầy đủ để được Update thường xuyên
Thiết lập và gán quyền trên filesystem cẩn thận chính xác.
Các INPUT data cần phải được kiểm tra cẩn thận để tránh bị xss,
sql injection.
Nếu cho phép include thì cần kiểm soát nội dung include.
Thiết lập và gán quyền trên filesystem cẩn thận chính xác.
Tối ưu hóa việc quản lý username và password c ủa người dùng
bằng cách dùng 01 server qu ản lý riêng thông tin đăng nhập. Lưu ý kỹ
mật khẩu phải được mã hóa ( dùng chính sách mã hóa c ủa SQL hay
dùng các thuật toán mã hóa khác như MD5...)

Đăng nhập

Đăng nhập
thành công

Server quản lý
thông tin

Người dùng

Server quản lý
CSDL của Web
Server


Cách thức này của làm giảm thiểu lỗi SQl Injection đã trình bày
lúc ban đầu
Tuy nhiên, để ngăn chặn được lỗi Injection một cách an toàn phụ
thuộc rất nhiều vào kỹ năng lập trình của những người lập trình website.
Thông thường, mỗi lập trình viên thường có cách xử lý vấn đề
theo 01 phong cách riêng c ủa mình. Ít trao đổi hay nghiên cứu các
phương pháp mới. Đây cũng là một hướng để hacker dựa vào đấy để tìm
cách đánh phá. Do vậy, lập trình viên thường xuyên cập nhật các kỹ
năng lập trình để xây dựng phương pháp lập trình an toàn
Một trong những cách để giảm thiểu khả năng gây hại của SQL
Injection là thực thi các câu lệnh trên SQl Server thông qua Store
Procedure của hệ CSDL ( Ví dụ dùng SQL Server). Cách vi ết này giảm
thiểu rất lớn khả năng người sử dụng cố tình chèn đoạn mã nguy hiểm
Trang 13/18


Đồ án đánh giá an toàn m ạng máy tính

Huỳnh Cao Tuấn – Phan Hữu Tiếp

cho Server xử lý. Ví dụ như xóa toàn bộ dữ liệu trong hệ thống, lấy dữ
liệu trái phép.
Yêu cầu dữ liệu thông qua Procedure

SQL Injection
Not Work ???

Kết quả yêu cầu trả về từ Server

Server tiến

hành xử lý
yêu cầu

Server quản lý thông tin đăng nhập của người dùng, ta chứa thêm
ứng dụng web. Còn Server CSDL c ủa Website ta nên để riêng.
2.

Tấn công theo cơ chế DOS hay DDOS:
Hướng giải quyết: Hiện tại, chưa có một phương pháp nào
phòng chống DDOS một cách toàn diện.
Có rất nhiều các công cụ tự động tấn công DoS, chủ yếu là tấn
công phân tán DDoS như TFN, TFN2000 (Tribe Flood Network) t ấn công
dựa trên nguyên lý Smurf, UDP, SYN, hay ICMP; Trinoo cho UDP flood;
Stacheldraht cho TCP ACK, TCP NULL, HAVOC, DNS flood, ho ặc tràn
ngập TCP với packets headers ngẫu nhiên. Do đó, ta phải nghiên cứu
cách phòng chống mà các nhà quản trị khác sử dụng, rồi xem có phù
hợp với hệ thống của mình hay không
Đó là những đề xuất hiện tại được triển khai nhiều nhất. Dưới
đây là các kinh nghiệm thực tiễn mà em biết được:
Thứ nhất: Xây dựng hệ thống phòng thủ vật chắc. Phương pháp
này yêu cầu kinh phí nhiều ( cả về vật chất lẫn con người). Sử dụng các
hệ thống Firewall chuyên về chống DOS, các hệ thống phát hiện được
DOS.
Thứ hai: Trong quá trình lập trình, đưa ra một số cách phòng thủ
trang web khi user yêu c ầu, và server trả về yêu cầu. Có thể giới hạn số

Trang 14/18


Đồ án đánh giá an toàn m ạng máy tính


Huỳnh Cao Tuấn – Phan Hữu Tiếp

lần yêu cầu của 1 user trong 1 khoảng thời gian. Kiểm soát các IP truy
cập hệ thống.
Thứ ba: Thường xuyên kiểm tra trạng thái của băng thông, xem
lưu lượng trên băng thông biến đổi như thế nào? Có bị tăng một cách
đột biến hay không ? Thời điểm nào tăng? IP nào chi ếm dụng thông
nhiều nhất.
Thứ tư: Luôn luôn kiểm tra trạng thái của Web Server. Có thể
dùng các phần mềm hỗ trợ để giảm thiểu công việc. Quan trọng là trạng
thái làm việc của CPU, HDD, RAM... (Kinh nghi ệm thực tiễn: kiểm tra đèn
của HDD có sáng liên tục hay không => Có user đang tr uy xuất dữ liệu
bất hợp pháp)
Thứ năm: hệ thống Web Server hoàn hảo còn phụ thuộc rất nhiều
vào người quản trị mạng. Người quản trị mạng phải thường xuyên cập
nhật những kiến thức mới. Điều đơn giản: Biết hệ thống bị suy yếu chỗ
nào thì mới có biện pháp khắc phục
Thứ năm: Đây là phần quan trọng nhất. Có các chính sách hợp lý
khi Server bị tấn công DOS. Tùy trường hợp quyết định server ngưng
hoạt động để vá lỗi hay không? Phải có sự phối hợp chặt chẽ giữa các
phòng ban trong quá trình x ử lý sự cố.
3.

Việc UpLoad File lên hệ thống Web Server:

Hướng giải quyết:
Kiểm tra kỹ việc phân quyền thư mục trên Server.
Có cơ chế kiểm tra virus của các file trước khi lên Server
Hạn chế các loại file được đưa lên Server. Ngăn ng ừa trường hợp

Upload kèm theo các đoạn mã nguy hiểm
Giới hạn dung lượng của các file ở một mức cho phép để không
chiếm băng thông Upload.
Khi thuê hosting nên thuê host c ủa các ISP uy tín, tránh trư ờng
hợp Web bị đánh từ trong nội bộ. Chú ý việc gia hạn Domain

Trang 15/18


Đồ án đánh giá an toàn m ạng máy tính

Huỳnh Cao Tuấn – Phan Hữu Tiếp

Giới hạn dung lượng

Upload File

Upload
File

Go
home !!!

4.

Tấn công thông qua các port kh ác:

Hướng giải quyết:
Kiểm tra các port của Server một cách kỹ lưỡng
Riêng 02 port HTTP và FTP ph ải phân quyền và chia băng thông

rõ ràng cho 2 port đó. Tùy theo chức năng của Server mà ta phân chia
hợp lý.Các port khác của Server không sử dụng thì nên chặn lại không
cho can thiệp đến

Port HTTP, FTP

Các port khác không sử
dụng

User sử dụng
5.

Khóa

Server

Xây dựng hệ thống mạng an toàn
Hướng giải quyết: Server cần được đặt ở vị trí an toàn trong hệ
thống mạng. Có firewall, các thi ết bị phòng thủ chống các cuộc xâm
nhập trái phép. Ta nên tách web server và database serv er ra 2 vi trí
khác nhau để bảo vệ chúng.
Tuy nhiên, cần chú ý, do Web Server có nhiều người truy cập đến
nếu phòng thủ quá chặt chẽ thì người dùng tốn thời gian lấy dữ liệu từ
Server.Tuy theo Web Server có ch ức năng gì mà ta quyết định xây dựng
Firewall như thế nào?

Trang 16/18


Đồ án đánh giá an toàn m ạng máy tính


Huỳnh Cao Tuấn – Phan Hữu Tiếp

Nên tách phân chia băng thông r õ ràng cho Upload và Download
Điều quan trọng trong WebServer là c ần chú ý: Độ chính xác của
dữ liệu trên web và số lượng user truy cập vào Web Server vào cùng
một thời điểm tránh trường hợp thắt nút chai.
Dùng các phương pháp để mã hóa các dữ liệu quan trọng trong
CSDL. Mật khẩu người quản trị luôn thường xuyên thay đổi.
Luôn phải backup dữ liệu thường xuyên. Nếu được trang bị Server
dự phòng.
Dưới đây là mô hình cơ bản mà em đề xướng. Trong mô hình này
không đề xướng chi tiết dùng Server hãng nào? Router lo ại nào? CSDL
gì? Phần mềm chống virus gì ? Firewall nào? T ất cả là do người quản trị
quyết định khi triển khai thực tiến. Tất cả lý thuyết trình bày chỉ là tương
đối.

Đăng nhập

User sử dụng

Firewall + phần mềm
chống virus

Server quản lý user
Chứa ứng dụng web

Thông tin userame và password
phải được bảo mật kỹ
Password phải có cơ chế mã hóa

Yêu cầu: người dùng phải thay
đổi mật khẩu thường xuyên và
khi đặt mật khẩu phải có độ khó
để không bị phát hiện
Server quản lý đăng nhập
Chứa ứng dụng web

Phải có cơ chế backup CSDL
thường xuyên theo định kỳ
Mọi yêu cầu lên Server lấy dữ
liệu phải được rõ ràng. Khuyến
khích dùng cơ chế Procedure của
hệ quản trị CSDL
Server chứa CSDL
Server quản lý CSDL

Trang 17/18


Đồ án đánh giá an toàn m ạng máy tính

Huỳnh Cao Tuấn – Phan Hữu Tiếp

Mô hình tham khảo:

Hệ thống kiểm tra

Server quản lý User

Đăng nhập Website

Username
Password

Chào mừng
đến với Website

Trang 18/18



×