TÓM TẮT NỘI DUNGTrong 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 quantrọ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
Trang 1ĐẠ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
10/12/2010
GVHD: Ths Vũ Trí Dũng Nhóm sinh viên thực hiện:
Trang 3TÓ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 quantrọ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ànthế 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 đến31/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ệcthườ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 quantrọ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 docá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ữngchươ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 TenableNetwork 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 choviệ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àiviế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
Trang 4I 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ậtmạng Nessus , do đó thấy được sự cần thiết phải sử dụng nó để giám sát được tìnhtrạ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ữngchươ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
Trang 5thươ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 đó, RenaudDeraison đã 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ểmnhư miễn phí, mạnh mẽ, cập nhật hàng ngày, Nessus đã trở thành một công cụ pháthiệ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ềmtrong 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 Securityvớ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 (http://nessus.org/about/ và
http://sectools.org )
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áthiệ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ảiquyế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ụngtrê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
Trang 6như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
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ốngmạ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 khuvực mạng Ta có thể cài đạt server nessus ở các khu vực này rồi sau đó truy
Trang 7cập đến để tiến hành quét đồng thời Có thể kết nối từ ngoài mạng Internetthông qua VPN.
Bảo mật hơn: do server được đạt trong hệ thống mạng ở vị trí mà chỉ ngườiquả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 servernên khi máy client dùng để điều khiển bị mất cắp hoặc bị trojan thì dữ liệucũng không bị lộ ra ngoài Dữ liệu kết nối giữa client và server được mã hóabởi giao thức https hoàn toàn bảo mật
Trang 8Mô 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áyclient(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ủ http://nessus.org
Sau khi cài đặt, tiến hành update plugin(plugin là gì được đề cập bên dưới):
Trang 9Sau đó tạo user để chứng thực điều khiển từ xa:
Khi tạo user ta nên tạo một user có quyền admin, admin chỉ có thể dùng để sử dụngnessus trên máy server Các user bình thường mới có thể kết nối từ xa đến server:
Trang 10Sau đó nhấn Start Nessus Server để khởi động server và check ô Allow remote user
để client có thể kết nối từ xa:
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õ IPserver và port 8834 vào Ví dụ: https://IPserver:8834 Sau đó sẽ hiện lên bảng thôngbáo lỗi certificate do certificate của Nessus không nằm trong danh sách cácCertificated Authority-CA tin tưởng toàn cầu Ta chỉ cần add certificate của nessusvào:
Trang 11Sau đó ta đăng nhập vào server với username&password đã tạo ở trên:
Trang 12II.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áccuộ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étvirus 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 )
Trang 13Ở 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ậtriê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ởiNessus 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ếtbằ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.2bản HomeFeed có khoảng 40000 plugins để phục vụ cho việc kiểm tra hệ thốngmạ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 trongnessus và mỗi plugin đều có mô tả về chức năng và nguy cơ bảo mật:
Trang 14Các plugin sẽ được tùy chọn thêm vào trong quá trình điều khiển quét hệ thốngmạ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ếnhành quét hệ thống mạng nhằm mục đích xác định một hay nhiều lỗ hổngbả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 WindowServer, mỗi policy có một nhiệm vụ riêng Giúp người quản trị quản lý, kiểmtra 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ộtpolicy tên là “web server” với các thông số điều kiện nhất định Sau đó dùng
Trang 15nhiều hệ thống khác Tương tự cho các policies khác như FTP policy, Basepolicy… tùy mục tiêu của người quản trị.
Policy là phương thức chính để tiến hành kiểm tra hệ thống mạng bằngNessus 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:
Trang 16Tab General:
o Save Knowledge Base: nessus lưu lại kết quả scan trong một khoảngthời gian, dựa vào kết quả nessus sẽ tiết kiệm được thời gian và băngthô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
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 …
Trang 17Hì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ựcaccount cho đối tượng dùng Windows
o SSH settings: sử dụng giao thức truyền SSH để chứng thực accountcho đố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 antoàn)
(Nessus Credential Checks for Unix and Windows, 2010 )
Trang 18Hì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ổngbảo mật trên đối tượng
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ảnhomefeed 4.2 cập nhật ngày 6/10/2010) và được hỗ trợ update mỗi
Trang 19Hình minh họa Tab Plugins
o …
Nessus giúp phát hiện các lỗ hổng trên
Trang 20Tab 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ụngnhỏ, 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ỗiport 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,
attacks-added-to-nessus.html )
Trang 21http://blog.tenablesecurity.com/2009/06/enhanced-web-application-Hình minh họa Tab Preferences
Trang 22Đến đây ta đã hoàn thành xong việc tạo một policy cơ bản Tiếp theo ta tiếnhành quét hệ thống mạng bằng cách chọn Scan Add scan đặt tênscan(scan1) chọn policy đã tạo ở trên cấu hình địa chỉ mạng cần quét:
Trang 23Sau đó server sẽ tiến hành quét hệ thống:
Trang 24Sau khi quét xong ta sẽ có kết quả ở phần Reports:
Trang 25Tiến hành xem kết quả, ta thấy có hai host trên hệ thống mạng đã quét và cácnguy 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 đó:
Trang 26Tiế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:
Trang 27Vậy là ta đã hoàn thanh xong việc kiểm tra hệ thống mạng, ta có thể lưu báocáo về đợt kiểm tra thành file html rất trực quan để sử dụng:
Trang 28II.3 Đánh giá chương trình
Để đánh giá một cách khách quan về chương trình, việc so sánh là không thể thiếu
Ở đây chung ta sẽ so sánh về cơ bản với hai phần mềm có chức năng tương tự làNmap và Iphost network monitor
Nmap: là chương trình dùng để quét các port đang mở trong hệ thống mạng nhằm phát hiện các nguy cơ về an ninh mạng Thực hiện quét hệ thống mạng 192.168.1.0/24 như đã quét với Nessus ở trên với 2 host là localhost và router ta có kết quả:
192.168.1.3: 18192.168.1.1: 9Đánh giá mức độ
trình, không hỗ trợ html
Hỗ trợ định dạng html rất dễnhìn và tiện sử dụngCách chạy chương
trình
Người quản trị phải chạy trênchính máy cài đặt
Do hỗ trợ công nghệ server nên dùng chương trình
Trang 29client-Bảng so sánh Nessus và Nmap
Hình ảnh chương trình Nmap(GUI)
Iphost network monitor: là chương trình dùng để giám sát hệ thống mạng, xác địnhcác dịch vụ chạy trên hệ thống Sở dĩ so sánh ta so sanh với một chương trình giám
Trang 30sát hệ thống mạng là muốn kiểm tra liệu một hệ thống mạng chỉ cần phần mềmgiám sát thôi hay không Thực hiện quét hệ thống mạng 192.168.1.0/24 như đã quétvới Nessus ở trên với 2 host là localhost và router ta có kết quả:
Thời gian quét Khoảng 1 phút 749s
Số port phát
hiện mở
Không hỗ trợ scan port 192.168.1.3: 18
192.168.1.1: 9Đánh giá mức
nhìn và tiện sử dụngCách chạy
chương trình
Hỗ trợ công nghệ client-servernên có thể chạy trực tiếp trênserver hay kết nối từ xa
Hỗ trợ công nghệ client-servernên có thể chạy trực tiếp trênserver hay kết nối từ xa
Trang 31trình hoạt động Giúp người quản trị hiểu rõ hơn
cách vận hành từ đó nắm bắtthông tin về hệ thống mạng
Bảng so sánh Nessus và Iphost network monitor
Hình ảnh chương trình Iphost network monitor
II.3.1 Điểm mạnh
Qua bảng so sánh trên ta có thể thấy những ưu điểm của Nessus như:
Thân thiện với người sử dụng
Mạnh mẽ, nhanh chóng
Hỗ trợ công nghệ client-server
File báo cáo dạng html tiện dụng
Trang 32 Có dữ liệu khổng lồ về cách thức tấn công, từ đó đề ra giải pháp.
II.3.2 Điểm yếu
Cũng dựa trên bảng so sánh ở trên ta nhận thấy Nessus còn các khuyết điểm như:
Không hỗ trợ cái nhìn tổng quát về sơ đồ hệ thống mạng
Không cho thấy quá trình kiểm tra diễn ra như thế nào để giúp người quản trịnâng cao trình độ
Ngoài ra phiên bản miễn phí của Nessus không đầy đủ các chức năng và khôngđược phép tải tất cả các plugin, đồng thời không nhận sự hỗ trợ của hãng
II.4 Lời khuyên khi dùng chương trình
Ta nên dùng máy tính cấu hình mạnh để cài chương trình Nessus do server càngmạnh thì tiến trình quét càng nhanh Ta có thể cài nhiều server ở mỗi khu vựcmạng khác nhau sau đó dùng một client kết nối đến
Do server chứa thông tin về tình hình an ninh mạng nên cần các biện pháp bảo vệnhư đặt trong phòng máy chủ, đặt password phức tạp để bảo vệ máy, tránh đểngười khác biết về vị trí vật lý cũng như IP của máy
Do chương trình ban đầu được viết cho nhân linux nên chạy server trên hệ điềuhành linux sẽ ổn định hơn
Nên đạt mỗi policy với một mục đích quét để dễ quản lý hơn
Do có hệ thống plugin phong phú và hỗ trợ nhiều giao thức nên người quản trịcần có kiến thực rộng về mạng để có thể sử dụng tốt chương trình
Nên lưu file báo cáo dạng html vì rất trực quan và sử dụng
Trang 33 Nên thực hiện kiểm tra hệ thống mạng định kì (tự động chỉ có ở bản ProFeed).
Nâng cấp bản ProFeed để có thể tải tất cả các plugin
Nessus có hẳn một security center để nghiên cứu và giảng dạy,do đó bạn nên sửdụng bản có phí để được hỗ trợ tốt nhất và hoàn toàn yên tâm về hệ thống mạngcủa mình
Nên có thêm chức năng vẽ sơ đồ mạng và giám sát hệ thống 24/24
III KẾT LUẬN
Bên cạnh các phần mềm giúp vận hành hệ thống mạng thì phần mềm giúp kiểm tra,
đề phòng các lỗ hổng bảo mật mạng là vô cùng quan trọng Và một trong những phầnmềm mạnh mẽ và nổi tiếng đó chính là Nessus Hi vọng bài viết giúp bạn hiểu đượcnguyên nhân ta nên sử dụng Nessus trong hệ thống mạng và sử dụng nó như thế nào
để đạt hiệu quả cao nhất
Mặc dù Nessus không còn hoàn toàn miễn phí như trước nhưng Nessus vẫn nắm một
vị thế rất cao như trước kia trong các phần mềm an ninh mạng Với nhiều ưu điểmnhư mạnh, nhanh, dễ sử dụng, hệ thống plugin phong phú, có thể nói Nessus là phầnmềm mà hầu như hệ thống mạng nào cũng nên cài đặt và tận hưởng sự yên tâm về hệthống mạng của mình
IV TÀI LIỆU THAM KHẢO
Qualys Inc, 2006, Laws of vulnerabilities: Six Axioms for Understanding Risk,
<http://www. qualys com/docs/ Laws - Report pdf >