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

Quản trị hệ thống mạng Tìm hiểu và đánh giá công cụ Nessus

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 (2.26 MB, 32 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
*****

BÁO CÁO
MÔN: QUẢN TRỊ HỆ THỐNG MẠNG
Đề tài: Tìm hiểu và đánh giá công cụ Nessus

GVHD: Ths. Vũ Trí Dũng
Nhóm sinh viên thực hiện:
1/ Trịnh Văn Tuân
2/ Đỗ Tiến Mạnh
3/ Vũ Bảo Quốc

10/12/2010

07520385
07520220
07520297


MỤC LỤC
Trang
TÓM TẮT NỘI DUNG
I GIỚI THIỆU TỔNG QUAN
II CHƯƠNG TRÌNH NESSUS
II.1. Giới thiệu chương trình
II.1.1. Sơ nét về lịch sử
II.1.2. Tại sao lại sử dụng Nessus?
II.2. Các chức năng chính
II.2.1. Công nghệ client-server


II.2.2. Hệ thống plugins phong phú
II.2.3. Cơ chế scan được dựa trên các Polices
II.3. Đánh giá chương trình
II.3.1. Điểm mạnh
II.3.2. Điểm yếu
II.4. Lời khuyên khi dùng chương trình
III KẾT LUẬN
IV TÀI LIỆU THAM KHẢO

2

3
4
4
4
4
5
6
6
12
14
28
31
32
32
33
34


TÓM TẮT NỘI DUNG

Trong công việc quản trị hệ thống mạng hiện nay tại các công ty, một trong những điều quan
trọng đó chính là hệ thống mạng phải bảo đảm dữ liệu nhạy cảm của công ty được bảo vệ, nhất là
các công ty lớn và với tình hình các nguy cơ bị tấn công bởi các hacker ngày càng tăng trên toàn
thế giới. Theo báo cáo về các nguy cơ bảo mật của Qualys(2006,trang 2) thì từ 8/9/2002 đến
31/1/2006 khi tiến hành quét hơn 40631913 IP trên toàn thế giới bằng QualysGuard đã có
45378619 lỗ hổng bảo mật được phát hiện. Do đó, để tránh những điều đáng tiếc xảy ra, việc
thường xuyên kiểm tra và phát hiện các nguy cơ về bảo mật mạng trong công ty là vô cùng quan
trọng và cần thiết.
Các lỗ hổng về bảo mật có thể là do code chương trình, lỗi cấu hình thiết bị hệ thống, hoặc do
các malware với rất nhiều dạng khác nhau. Do đó người quản trị nhất thiết cần phải có công cụ
hỗ trợ trong việc kiểm tra và đề ra giải pháp giải quyết các nguy cơ bảo mật. Một trong những
chương trình rất mạnh, nhanh hỗ trợ tốt việc này đó chính là phần mềm Nessus của hãng Tenable
Network Security.
Nessus của hãng Tenable Network Security là một phần mềm gần như hoàn hảo, toàn diện cho
việc kiểm tra và đề ra giải pháp cho các vần đề về an ninh hệ thống mạng từ nhỏ đến lớn. Bài
viết sẽ cho thấy cái nhìn từ tổng quan cho đến chi tiết về chương trình cùng vần đề an toàn mạng.

3


I GIỚI THIỆU TỔNG QUAN


Bài viết sẽ giúp hiểu rõ hơn về một chương trình kiểm tra phát hiện lỗ hổng bảo mật
mạng Nessus , do đó thấy được sự cần thiết phải sử dụng nó để giám sát được tình
trạng và hiệu suất hiện tại của hệ thống, xác định xu hướng và tìm ra nguyên nhân và



giải quyết vấn đề gây ảnh hưởng xấu đến hiệu suất hệ thống mạng.

Nội dung bài viết sẽ giới thiệu, hướng dẫn sử dụng, đánh giá một trong số những
chương trình hàng đầu về bảo mật hệ thống mạng hiện nay trên toàn thế giới -



NESSUS.
Bài viết được trình bày như sau:
o Giới thiệu chương trình Nessus: lịch sử và lý do nên sử dụng Nessus.
o Các tính năng chính của chương trình : hướng dẫn sử dụng, giải thích cụ thể

từng tính năng.
o Đánh giá chương trình: điểm mạnh và điểm yếu.
o Lời khuyên khi sử dụng chương trình.
II CHƯƠNG TRÌNH NESSUS
II.1. Giới thiệu chương trình

II.1.1. Sơ nét về lịch sử
Vào năm 1988, các công cụ phát hiện lỗ hổng bảo mật cho hệ thống mạng là các
phần mềm thương mại và được bán cho các doanh nghiệp với giá khá cao. Công cụ
miễn phí mã nguồn mở tồn tại lúc bấy giờ là Administrator Tool for Analyzing
Networks ( SATAN), nhưng nó cũng không thể cạnh trạnh được với các phần mềm
thương mại lúc bấy giờ với tính năng và sự hỗ trợ toàn diện hơn. Khi đó, Renaud
Deraison đã phát triển một dự án mã nguồn mở với tên gọi Nessus như một câu trả
lời đối với các phần mềm thương mại và sự trì trệ của SATAN. Với các ưu điểm
như miễn phí, mạnh mẽ, cập nhật hàng ngày, Nessus đã trở thành một công cụ phát
4


hiện lỗ hổng bảo mật được nhiều người biết đến và nằm trong Top các phần mềm
trong ngành công nghiệp bảo mật an ninh mạng.( Deraison et al, 2004).

Vào năm 2002, Renaud Deraison đồng sáng lập công ty Tenable Network Security
với phần mềm Nessus như sản phẩm chính của công ty (ngoài ra còn các phần mềm
ứng dụng khác như Tenable's Security Center, Passive Vulnerability Scanner và
Log Correlation Engine). Đến 5/10/2005, Tenable chuyển Nessus thành phần mềm
mã nguồn đóng và là độc quyền của công ty ( và
)

II.1.2. Tại sao lại sử dụng Nessus?


Ngày nay, số lượng các lỗ hổng bảo mật trong hệ thống mạng được phát
hiện ngày càng nhiều, tạo điều kiện thuận lợi cho hacker xâm nhập các dữ
liệu nhạy cảm của doanh nghiệp. Nessus được thiết kế để xác định và giải



quyết các nguy cơ về bảo mật mạng trước khi hacker có cơ hội khai thác nó.
Nessus được xem như công cụ hàng đầu trong lĩnh vực này, được sử dụng



trên 75000 tổ chức, doanh nghiệp trên thế giới (Qureshi, 2007).
Nessus giúp người quản trị phát hiện các port, dịch vụ đang chạy trên hệ
thống mạng, và xác định những dịch vụ nào có nguy cơ về an ninh, đánh giá
độ nghiêm trọng của chúng và đưa ra giải pháp, lời khuyên. Và một trong
nhưng ưu điểm nổi bật nhất của Nessus là công nghệ Client-Server giúp nhà



quản trị có thể thực hiện giám sát hệ thống của mình bất cứ đâu.

Nessus có thể chạy trên nhiều hệ điều hành: Windows, Linux, MacOS,
*BSD.

5


Hình minh họa Nessus (Jei 2004, trang 34 )

II.2. Các tính năng chính
II.2.1. Công nghệ client-server
Công nghệ Client-Server: máy tính làm nhiệm vụ Server sẽ tiến hành quét hệ thống
mạng dựa trên sự điều khiển từ máy Client kết nối đến thông qua giao thức Https.
Công nghệ Client-Server giúp người quản trị:
• Tiết kiệm thời gian: thay vì phải đến tận nơi để tiến hành quét ở từng khu
vực mạng. Ta có thể cài đạt server nessus ở các khu vực này rồi sau đó truy
cập đến để tiến hành quét đồng thời. Có thể kết nối từ ngoài mạng Internet


thông qua VPN.
Bảo mật hơn: do server được đạt trong hệ thống mạng ở vị trí mà chỉ người
quản trị biết, các báo cáo về việc quét hệ thống cũng được lưu trên server
nên khi máy client dùng để điều khiển bị mất cắp hoặc bị trojan thì dữ liệu
cũng không bị lộ ra ngoài. Dữ liệu kết nối giữa client và server được mã hóa
bởi giao thức https hoàn toàn bảo mật.
6


Mô hình mạng server Nessus(Deraison 2004, trang 67)
Hướng dẫn cài server Nessus 4.2.2 và thực hiện kết nối đến server từ máy
client(dùng hệ điều hành Window):

Tại máy server cài đặt phần mềm Nessus tải từ trang chủ .
Sau khi cài đặt, tiến hành update plugin(plugin là gì được đề cập bên dưới):

7


Sau đó tạo user để chứng thực điều khiển từ xa:

8


Khi tạo user ta nên tạo một user có quyền admin, admin chỉ có thể dùng để sử dụng
nessus trên máy server. Các user bình thường mới có thể kết nối từ xa đến server:

Sau đó nhấn Start Nessus Server để khởi động server và check ô Allow remote user
để client có thể kết nối từ xa:

9


Sau đó tại máy client dùng trình duyệt web để thực hiện kết nối bằng cách gõ IP
server và port 8834 vào. Ví dụ: https://IPserver:8834. Sau đó sẽ hiện lên bảng thông
báo lỗi certificate do certificate của Nessus không nằm trong danh sách các
Certificated Authority-CA tin tưởng toàn cầu. Ta chỉ cần add certificate của nessus
vào:

10


Sau đó ta đăng nhập vào server với username&password đã tạo ở trên:

11


II.2.2. Hệ thống plugins phong phú
“Plugin như thịt và khoai tây của Nessus. Mỗi plugin miêu tả một hay nhiều các
cuộc kiểm tra lỗ hổng bảo mật trong quá trình quét của nessus” (Deraison et al,
2004, trang 123).
“Nessus plugin rất giống các chữ ký virus trong các chương trình ứng dụng quét
virus. Mỗi plugin được viết để kiểm tra một lỗ hổng, nguy cơ về bảo mật cụ
thể.”(Anderson, 2003 ).

12


Ở trên là hai định nghĩa về plugin trong nessus. Có thể nói plugin như một script,
một module được viết với một nhiệm vụ riêng để kiểm tra một lỗ hổng bảo mật
riêng biệt.
Plugin có thể được viết bởi nhiều các ngôn ngữ nhưng hầu hết đều được viết bởi
Nessus Attack Scripting Language(NASL). NASL là ngôn ngữ do chính Nessus tạo
ra và sở hữu, nhằm mục đích để viết các script thực hiện kiểm tra lỗ hổng bảo mật.
NASL plugin sẽ gửi một đoạn code đến máy cần kiểm tra và so sánh kết quả trả về
với dữ liệu về nguy cơ bảo mật được lưu sẵn. Ngoài ra có một số plugin nếu viết
bằng NASL sẽ rất khó khăn nên Nessus sử dụng ngôn ngữ C hoặc Perl.(Anderson,
2003)
Có thể nói plugins là nhân của chương trình Nessus. Với chương trình Nessus 4.2.2
bản HomeFeed có khoảng 40000 plugins để phục vụ cho việc kiểm tra hệ thống
mạng và được cập nhật thêm mỗi ngày.
Để tiện cho việc quản lý các plugins được sắp xếp vào trong các Families trong
nessus và mỗi plugin đều có mô tả về chức năng và nguy cơ bảo mật:


13


Các plugin sẽ được tùy chọn thêm vào trong quá trình điều khiển quét hệ thống
mạng được trình bày phía dưới.
II.2.3. Cơ chế scan được dựa trên các Policies
• Policy là tập hợp các điều kiện, tùy chọn mà người quản trị dùng để tiến
hành quét hệ thống mạng nhằm mục đích xác định một hay nhiều lỗ hổng


bảo mật theo từng mục tiêu cụ thể.
Ta hình dung giống như Group Policy của Active Directory trong Window
Server, mỗi policy có một nhiệm vụ riêng. Giúp người quản trị quản lý, kiểm
tra hệ thống dễ dàng hơn.
Ví dụ: người quản trị muốn kiểm tra độ an toàn về web server sẽ tạo ra một
policy tên là “web server” với các thông số điều kiện nhất định. Sau đó dùng
nó để quét hệ thống mạng, có thể sao lưu lại policy để tiến hành quét trên
nhiều hệ thống khác. Tương tự cho các policies khác như FTP policy, Base
policy… tùy mục tiêu của người quản trị.
14




Policy là phương thức chính để tiến hành kiểm tra hệ thống mạng bằng
Nessus. Sau đây là các bước để tạo một policy:
Sau khi client kết nối đến server qua giao diện web, ta click chọn Policies,
nhấn Add để tạo mới:

Tab General:

o Save Knowledge Base: nessus lưu lại kết quả scan trong một khoảng
thời gian, dựa vào kết quả nessus sẽ tiết kiệm được thời gian và băng
thông trong lần scan kế tiếp.
o Safe Check: không làm ảnh hưởng đến các dịch vụ ở host đích
15


o TCP scan, SYN scan: xác định các port TCP đang mở
o Port Scan Range: xác định số lượng port sẽ scan
o …

Hình minh họa Tab General
Tab Credential: nhập các thông tin chứng thực cần thiết để truy cập đối
tượng, thực hiện scan như là một local user.
o Window credential: sử dụng giao thức truyền SMB để chứng thực
account cho đối tượng dùng Windows.
16


o SSH settings: sử dụng giao thức truyền SSH để chứng thực account
cho đối tượng dùng Linux.
o Kerboros Configuration: hỗ trợ cho hệ thống domain sử dụng window
o Cleartext Protocols: các giao thức truyền không mã hóa (không an
toàn).
(Nessus Credential Checks for Unix and Windows, 2010 )

Hình minh họa Tab Credentials
Tab Plugins
o Như đã nói ở trên, plugins là những scripts dùng để kiểm tra lỗ hổng
bảo mật trên đối tượng.

17


o Nessus mô tả về mỗi plugin khi click vào nó
o Dựa vào dạng của các plugin, chúng được sắp xếp vào các families
để tiện cho việc sử dụng. Có gần 40000 plugins trong 42 families(bản
homefeed 4.2 cập nhật ngày 6/10/2010) và được hỗ trợ update mỗi
ngày.

Hình minh họa Tab Plugins
Một số plugin:
o ID 11522- Linksys default router password(admin): phát hiện
router linksys có dùng password mặc định hay không.

18


o ID 23938- Cisco Device Default Password: nếu thiết bị cisco sử
dụng mật khẩu mặc định hoặc chưa thiết lập password “enable”
thì sẽ dễ dàng bị attacker lấy thông tin về mạng và tắt nó!
o ….
Nessus giúp phát hiện các lỗ hổng trên.
Tab Preferences: tùy chỉnh thêm, bổ trợ cho các thiết lập ở trên liên quan
đến các dịch vụ, giao thức.
Ví dụ: Web Application Test Settings:


Maximum Runtime: 60ph có thể quét mạng local với các ứng dụng





nhỏ, nếu không phải tăng thời gian lên.
Send POST request: kiểm tra bằng cách gửi các gói tin POST
Combinations of arguments value: gửi scripts gồm chuỗi và biến để
kiểm tra web server. Chọn all combination để kiểm tra tất cả các giá




trị nhưng mất nhiều thời gian.
HTML pollution: kiểm tra lổ hổng của HTML forms
Stop at first flaws: khi Nessus phát hiện lỗi(flaws) sẽ dừng lại ở mỗi
port hoặc CGI script, tức là Nessus sẽ không kiểm tra tiếp ở port đó,
CGI đó, hoặc chọn look for all flaws để quét tất cả các khả năng lỗi.

(Enhanced

Web

Application

Attacks

Added

To

Nessus,


)

19


Hình minh họa Tab Preferences

20


Đến đây ta đã hoàn thành xong việc tạo một policy cơ bản. Tiếp theo ta tiến
hành quét hệ thống mạng bằng cách chọn Scan  Add scan  đặt tên
scan(scan1) chọn policy đã tạo ở trên  cấu hình địa chỉ mạng cần quét:

21


Sau đó server sẽ tiến hành quét hệ thống:

22


Sau khi quét xong ta sẽ có kết quả ở phần Reports:

23


Tiến hành xem kết quả, ta thấy có hai host trên hệ thống mạng đã quét và các
nguy cơ bảo mật được chia làm ba cấp độ High, Medium, Low. Ngoài ra còn
có số port đang mở tại host đó:


24


Tiến hành chọn vào nguy cơ có cấp độ High tại máy 192.168.1.1, sau đó
chọn vào một trong ba nguy cơ bảo mật ta thấy các thông tin như ID Plugin,
nguy cơ đó là gì và giải pháp do Nessus đề ra:

25


×