Hình minh họa của Cacti: Tài liệu tham khảo: http://www.cacti.net/ Bài tập số 02: Nghiên cứu, phát triển xây dựng hệ thống giám sát mạng bằng phần mềm mã nguồn mở NAGIOS và ứng dụng.. Hì
Trang 1TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
BÀI TẬP MÔN HỌCQUẢN TRỊ LINUX
Trang 2BÀI TẬP I./ DANH MỤC BÀI TẬP QUẢN TRỊ HỆ THỐNG VÀ GIÁM SÁT MẠNG
Bài tập số 01: Nghiên cứu, phát triển xây dựng hệ thống giám sát mạng bằng phần mềm mã nguồn mở CACTI và ứng dụng
Mô tả: Đây là chương trình giám sát hiệu năng hệ thống rất chuyên sâu, giám sát lưu lượng (traffic) trong từng thiết bị và giữa các thiết bị trong hệ thống mạng thể hiện qua các đồ thị: theo dõi các lưu lượng ra vào các cổng giao tiếp, hoạt động của CPU, bộ nhớ,… của các thiết bị mạng quan trọng như Core Switch, Router, Firewall, Server…Điều này giúp các nhà quản trị mạng có những phân tích để phát hiện những bất thường trong hệ thống Hình minh họa của Cacti:
Tài liệu tham khảo: http://www.cacti.net/
Bài tập số 02: Nghiên cứu, phát triển xây dựng hệ thống giám sát mạng bằng phần mềm mã nguồn mở NAGIOS và ứng dụng
Mô tả:
Đây là một trong những hệ thống giám sát Linux hiển thị kết quả trên nền web phổ biến nhất hiện nay, thực sự nó là tiêu chuẩn công nghiệp để theo dõi cơ sở hạ tầng CNTT Được cấp phép theo GPL Nagios và miễn phí , cho phép giám sát độ sẵn sàng
Trang 3và thời gian đáp ứng của các dịch vụ mạng, sử dụng tài nguyên hệ thống như tải CPU, phân bổ RAM, số lượng người dùng đăng nhập Hình ảnh minh họa của Nagios:
Tài liệu tham khảo: http://www.nagios.org/
Bài tập số 03: Nghiên cứu, phát triển xây dựng hệ thống giám sát mạng bằng phần mềm mã nguồn mở ICINGA và ứng dụng
Mô tả: Đây là một bản khác của Nagios với giao diện mới hơn Nó có một framework giám sát và cảnh báo xuyên suốt, được thiết kế khá “thoáng” và nhiều tuỳ chọn cũng như Nagios, nhưng có vài điểm khác biệt về tuỳ chọn cho giao diện Web Icinga có 2 bản chuyên nghiệp, trong đó Icinga 1 giống với Nagios, trong khi Icinga 2 được viết lại mới Người dùng Nagios có thể chuyển sang Icinga 1 rất dễ dàng Hình ảnh minh họa của Icinga:
Trang 4Tài liệu tham khảo: https://www.icinga.org/
Bài tập số 04: Nghiên cứu, phát triển xây dựng hệ thống giám sát mạng bằng phần mềm mã nguồn mở NEDI và ứng dụng
Mô tả: Đây là giải pháp rất tốt để theo dõi các thiết bị qua mạng Nó liên tục dò mọi thứ trên mạng, theo dõi mọi thứ nó phát hiện được Nó có thể cung cấp vị trí hiện thời của bất kỳ thiết bị nào cũng như ghi lại mọi lịch sử của thiết bị đó
NeDi có thể dùng để định vị thiết bị bị mất cắp hoặc thất lạc bằng cách cảnh báo bạn nếu nó thấy thiết bị đó xuất hiện lại trên mạng Thậm chí nó có thể hiển thị mọi kết nối mà nó phát hiện được trên bản đồ, hiển thị mọi đa liên kết trên mạng, thậm chí báo cáo ở mức cổng kết nối Hình ảnh minh họa của NeDi:
Trang 5Tài liệu tham khảo: http://www.nedi.ch/installation/os-x/
Bài tập số 05: Nghiên cứu, phát triển xây dựng hệ thống giám sát mạng bằng phần mềm mã nguồn mở OBVERVIUM và ứng dụng
Mô tả: Đây là công cụ này kết hợp giám sát hệ thống và mạng Observium sử dụng dữ liệu tĩnh kết hợp với dữ liệu tự động nhận diện trên máy chủ và thiết bị trên mạng để đưa ra nhiều phương pháp giám sát khác nhau và có thể cấu hình để theo dõi những chỉ số cụ thể nào đó Giao diện Web rất gọn đẹp và dễ định vị
Observium là công cụ giám sát mạng dựa trên khả năng tự động dò tìm PHP/MySQL/SNMP, bao gồm hỗ trợ cho rất nhiều phần cứng mạng và hệ điều hành,
bao gồm Cisco, Linux, FreeBSD, Juniper, Brocade, Foundry, HP,
Như trong hình dưới, Observium cũng có thể hiển thị vị trí địa lý của các thiết
bị đang theo dõi trên một bản đồ Giao diện cũng có các hộp hiển thị cảnh báo hiện thời và số lượng thiết bị đang theo dõi
Trang 6Tài liệu tham khảo: http://www.observium.org/docs/rhel/
Bài tập số 06: Nghiêu cứu, phát triển xây dựng hệ thống giám sát mạng bằng phần mềm mã nguồn mở ZABBIX và ứng dụng
Mô tả: Công cụ này giám sát máy chủ và mạng bằng rất nhiều công cụ Có những agent Zabbix cho nhiều hệ điều hành khác nhau, hoặc bạn có thể chọn sử dụng cách kiểm tra thụ động, gồm SNMP để giám sát host và các thiết bị mạng Bạn cũng
có thể tìm được nhiều công cụ cảnh báo và thông báo Giao diện Web có thể tuỳ biến giúp chúng ta dễ dàng theo dõi những thành phần quan trọng trong hệ thống Ngoài ra, Zabbix có các công cụ đặc biệt để giám sát các ứng dụng web và các hypervisor ảo hoá
Zabbix cũng có thể vẽ ra các biểu đồ đa liên kết logic, liệt kê chi tiết các đối tượng được giám sát Những biểu đồ như vậy cũng có thể tuỳ biết và tạo thành nhóm các thiết bị được giám sát Hiện nay ở Việt Nam rất nhiều các cơ quan Nhà nước đã triển khai và ứng dụng rất hiệu quả, ví dụ: Bộ Tài nguyên và Môi trường (đơn vị triển khai: Cục Công nghệ Thông tin) Hình ảnh minh họa của Zabbix
Trang 7Tài liệu tham khảo: http://www.zabbix.com/download.php
Bài tập số 07: Nghiên cứu, phát triển xây dựng hệ thống giám sát mạng bằng phần mềm mã nguồn mở NTOP và ứng dụng
Mô tả: Đây là công cụ lần theo dấu packet dữ liệu qua giao diện Web gọn gẽ, hiển thị dữ liệu thời gian thực trên mạng Dữ liệu tức thời đang luân chuyển trên mạng được hiển thị dạng đồ thị chi tiết Thông tin dữ liệu host và giao tiếp của host cũng được hiển thị theo thời gian thực Hình ảnh minh họa của Ntop:
Trang 8Tài liệu tham khảo: http://www.ntop.org/
Bài tập số 08: Nghiên cứu, phát triển xây dựng hệ thống giám sát mạng bằng phần mềm mã nguồn mở ARGUS và ứng dụng
Mô tả: Argus tập trung vào việc giám sát các thiết bị mạng, hỗ trợ cả Ipv4 và Ipv6 Phần mềm này có một quy trình cảnh báo thú vị: sau khi cảnh báo mà sự cố vẫn không được giải quyết trong một khoảng thời gian nhất định (ví dụ network administrator đang ở nhà), cảnh báo này sẽ được gởi đến cho một người khác Hình ảnh minh họa của Argus:
Trang 9Tài liệu tham khảo: http://www.argusmonitoringsoftware.com/
Bài tập số 09: Nghiên cứu, phát triển xây dựng hệ thống giám sát mạng bằng phần mềm mã nguồn mở MONIT và ứng dụng
Mô tả: Monit không đơn giản chỉ là công cụ giám sát máy chủ, nó còn hỗ trợ
xử lý các sự cố bằng cách được định nghĩa trước cách xử lý đối với từng trường hợp nhất định Ví dụ, nếu máy chủ database của bạn bị crashes, Monit có thể tự động khởi động lại dịch vụ Database nếu hành động này là cách thức xử lý bạn mong muốn Nếu chúng ta có nhiều hơn 1 máy chủ cần giám sát, có thể sử dụng M/Monit – một phiên bản mở rộng của Monit cung cấp cách thức giám sát nhiều máy chủ khá đơn giản
Ngoài ra còn có phiên bản M/Monit cho iphone giúp cho việc kiểm tra hệ thống mà không cần đi đâu cũng mang theo laptop bên cạnh Hình ảnh minh họa của Monit:
Trang 10Tài liệu tham khảo: http://mmonit.com/monit/ hoặc
Trang 11Một trong những điểm mạnh của Munin là việc mở rộng rất dễ dàng, với chỉ vài dòng code, bạn có thể viết 1 plugin để giám sát bất cứ thứ gì Vì vậy Munin là lựa chọn tốt cho việc đồ thị hóa dữ liệu giám sát về hiệu năng máy chủ, chẳng hạn số lượng users đăng ký hoặc website popularity Hình ảnh minh họa của Munin:
Tài liệu tham khảo: http://munin-monitoring.org/
Bài tập số 11: Nghiên cứu, phát triển xây dựng hệ thống giám sát mạng bằng phần mềm mã nguồn mở ZENOSS và ứng dụng
Mô tả: Zenoss là một phiên bản nguồn mở miễn phí của công cụ giám sát máy chủ thương mại Zenoss Enterprise, được viết bởi ngôn ngữ Python Công cụ này hỗ
Trang 12trợ định dạng các plugin của Nagios, vì vậy rất nhiều plugins của Nagios có thể được
sử dụng bởi Zenoss
Một trong những điểm mạnh của Zenoss là đầy đủ tính năng nhưng giao diện người dùng quản trị đơn giản Hình ảnh minh họa của Zenoss:
Tài liệu tham khảo: http://www.zenoss.com/
Bài tập số 12: Nghiên cứu, phát triển xây dựng hệ thống giám sát mạng bằng phần mềm mã nguồn mở COLLECTD và ứng dụng
Mô tả: Collectd là phần mềm tương tự như Munin và Cacti ở chỗ dữ liệu được thu thập và hiển thị ở dạng đồ thị Phần mềm này được thiết kế tiêu hao ít tài nguyên, đặc biệt hữu hiệu cho các hệ thống low-end và hệ thống nhúng (embedded systems)
Nó có thể thu thập dữ liệu để cập nhật thông tin trong thời gian gắn khoảng 10s mà không làm trở ngại đến các việc xử lý các tiến trình xử lý của máy chủ Các extension của phần mềm này có thể viết bằng C, Perl, hoặc Java Hình ảnh minh họa của Collectd:
Trang 13Tài liệu tham khảo: http://collectd.org/
Bài tập số 13: Nghiên cứu, phát triển xây dựng hệ thống giám sát mạng bằng phần
Mô tả: Ganglia là hệ thống giám sát mạng mã nguồn mở và được thiết kế đặc biệt để theo dõi và đưa ra các cảnh báo chính xác, phù hợp với môi trường điện toán lớn Ganglia có khả năng mở rộng và phát triển cao dựa trên kiến trúc phân tán và thiết kế
có cấp bậc đặc biệt được xây dựng cho các mạng cao cấp với nhóm cluster Ganglia sử dụng dữ liệu dạng XML để biểu diễn dữ liệu và XDR cho tất cả các loại dữ liệu lưu thông trên cluster
Mục tiêu chính đằng sau sự phát triển của Ganglia là cung cấp các cấu trúc dữ liệu chi tiết và dữ liệu có cấu trúc sử dụng thuật toán phức tạp để đạt được kết quả tối đa
Trang 14Tài liệu tham khảo: http://ganglia.info/
Bài tập số 14: Nghiên cứu, phát triển xây dựng hệ thống giám sát mạng bằng phần
Mô tả: OpenNMS là một hệ thống giám sát mạng tuyệt vời khác cũng hoàn toàn là
mã nguồn mở Được biết đến là hệ thống giám sát mạng cấp doanh nghiệp đầu tiên được phân phối để được sử dụng cho nhiều công ty lớn với số lượng lớn các thiết bị kết nối với mạng của nó Người dùng có thể tự động phát hiện các node hoặc theo dõi tất các loại dịch vụ trong mạng với sự giúp đỡ của công cụ hữu ích này
Tài liệu tham khảo: https://www.opennms.org/en
Bài tập số 15: Nghiên cứu, phát triển xây dựng hệ thống giám sát mạng bằng phần
- Cho phép quản trị viên giám sát mọi máy chủ, ứng dụng và các thành phần liên quan
- Giao diện theo dõi theo thời gian thực
Trang 15- Với sự giúp đỡ các giải pháp của nhà cung cấp trong phần mềm, bạn có thể duy trì hoạt động một các dễ dàng và không gặp vấn đề gì
- Thêm bất kỳ số lượng người dùng nào vào hệ thống giám sát thông qua cơ chế phầm mềm mở
Tài liệu tham khảo: https://www.centreon.com/
Bài tập số 16: Nghiên cứu giải pháp và xây dựng hệ thống phát hiện xâm nhập trái phép IDS/IPS bằng phần mềm mã nguồn mở SNORT trên hệ điều hành Linux
Mô tả: Snort là một phần mềm mã nguồn mở có khả năng phát hiện, chống sự xâm nhập trái phép nhằm đảm bảo bảo mật hệ thống mạng
Snort hoạt động như một phần mềm đứng giữa sự giao tiếp của hai máy tính Các packet trước khi được gửi đến máy tính đích sẽ được snort kiểm tra, thẩm định Snort có thể phát hiện nhiều loại xâm nhập như: buffer overflows, stealth port scans, CGI attacks, SMB probes, OS fingerprinting attempts…
Thiết lập sử dụng IDS/IPS-Snort chạy Demo dò tìm phát hiện máy tính xâm nhập trái phép
Trang 16Tài liệu tham khảo: www.Snort.org
Bài tập số 17: Nghiên cứu, phát triển xây dựng hệ thống giám sát mạng bằng phần mềm mã nguồn mở Firewall Pfsense và ứng dụng
Mô tả: Để bảo vệ hệ thống mạng thì ta có nhiều giải pháp như sử dụng router cisco, dùng firewall cứng, firewall mềm của microsoft như ISA … Những thiết bị như trên rất tốn kinh phí vì vậy đối với các doanh nghiệp vừa và nhỏ thì giải pháp firewall mềm mã nguồn mở là một phương án hiệu quả Pfsense là một ứng dụng có chức năng định tuyến vào tường lửa mạng và miễn phí dựa trên nền tảng FreeBSD
có chức năng định tuyến và tường lửa rất mạnh Pfsense được cấu hình qua giao diện GUI trên nền web nên có thể quản lý một cách dễ dàng Nó hỗ trợ lọc theo địa chỉ nguồn, đích, cũng như port nguồn hay port đích đồng thời hỗ trợ định tuyến và
có thể hoạt động trong chế độ bridge hay transparent Nếu sử dụng pfsense là gateway, ta cũng có thể thấy rõ việc hỗ trợ NAT và port forward trên pfsense cũng như thực hiện cân bằng tải hay failover trên các đường mạng
Trang 17Tài liệu tham khảo: www.pfsense.org
Bài tập số 18: Nghiên cứu, phát triển xây dựng hệ thống giám sát mạng bằng phần mềm mã nguồn mở Firewall Iptables và ứng dụng
Mô tả: IPtables là một ứng dụng rất phổ biến trên nhiều hệ điều hành Linux, iptables
cho phép người quản trị Linux cấu hình cho phép/chặn luồng dữ liệu đi qua mạng IPtables có thể đọc, thay đổi, chuyển hướng hoặc hủy các gói tin đi tới/đi ra dựa trên các tables, chains và rules Mỗi một table sẽ có nhiều chain chứa các rule khác nhau quyết định cách thức xử lý gói tin (dựa trên giao thức, địa chỉ nguồn, đích….) Hiện có nhiều phiên bản khác nhau của iptables dùng cho các giao thức khác nhau như: iptables (IPv4), ip6tables (IPv6), arptables (ARP) và ebtables (Ethernet frame) Một phiên bản mới của iptables là nftables, nftables được hỗ trợ từ bản kernel 3.13
Trang 18Tài liệu tham khảo: www.iptables.org
Bài tập số 19: Nghiên cứu, phát triển xây dựng hệ thống giám sát mạng bằng phần mềm mã nguồn mở ClearOS và ứng dụng
Mô tả: ClearOS được xây dựng trên nền hệ điều hành Centos cơ bản thì nó giống như
Zentyal Server, cơ bản nó là một firewall khá dễ sử dụng Đối với những người dùng bình thường có thể dễ dàng thiết lập các ruler cho ClearOS, còn với những người dùng cao cấp (chuyên gia) có thể dễ dàng thêm các tính năng nâng cao cho firewall này:
Tài liệu tham khảo: www.ClearOS.org
II./ DANH MỤC BÀI TẬP PHÁT TRIỂN VÀ ỨNG DỤNG TRONG ĐIỆN TOÁN ĐÁM MÂY
Trang 19Bài tập số 20: Nghiên cứu giải pháp nguồn mở Openstack trong xây dựng hạ tầng điện toán đám mây
Mô tả: Điện toán đám mây hiện đang là xu hướng phát triển và nhận được nhiều sự quan tâm của các tổ chức cũng như doanh nghiệp lớn trên thế giới OpenStack hiện đã được ứng dụng rộng rãi trong rất nhiều lĩnh vực trên thế giới Các lĩnh vực ứng dụng có thể kể đến như Ngân hàng, thương mại điện tử, nghiên cứu khoa học và chính phủ điện tử,…
Openstack có chu kì phát triển 6 tháng đi cùng với sự phát triển của Cloud Computing Với mỗi phiên bản, Openstack lại bổ sung thêm thành phần mới tương ứng với chức năng mới Openstack hoàn toàn là nguồn mở
Hiện nay Openstack là mã nguồn mở được sử dụng và phát triển rộng rãi nhiều nhất trên thế giới
Mục tiêu cụ thể:
- Điện toán đám mây (Cloud computing)
- Mã nguồn mở Ubuntu Enterprise Cloud
- Xây dựng một số ứng dụng hạ tầng điện toán đám mây trên phần mềm nguồn
mở Ubuntu Enterprise Cloud
Tài liệu tham khảo:
http:// www.openstack.org
Trang 20http://www.ubuntu.com/download/server
https://malibabar.files.wordpress.com/2012/03/guidelines-to-private-cloud-companion-booklet-1.pdf
Bài tập số 22: Phát triển điện toán đám mây trên cơ sở phần mềm nguồn mở
Mô tả: Điện toán đám mây (Cloud computing) còn gọi là điện toán máy chủ ảo, là
mô hình tính toán sử dụng các công nghệ máy tính và phát triển dựa vào mạng Internet Điện toán đám mây cố gắng để thực hiện tầm nhìn của điện toán tiện ích, thông qua dự phòng phần cứng ảo hóa, nền tảng phần mềm và các ứng dụng phần mềm như các dịch vụ trên Internet Cụ thể hơn, cơ sở hạ tầng như một dịch vụ Infrastructure-as-a-Service (IaaS) đám mây cung cấp khả năng để có được các nguồn lực theo yêu cầu, thường là trong các hình thức máy ảo (VM), tức là, triển khai thực hiện phần mềm của máy với kích thước thỏa thuận trước quyền lực, bộ nhớ và đĩa máy tính, hệ điều hành, thư viện và các ứng dụng Platform-as-a-Service (PaaS) đám mây cung cấp các dịch vụ nền tảng như môi trường phát triển ứng dụng, thử nghiệm
và thời gian chạy Cuối cùng, đám mây Software-as-a-Service (SaaS) cung cấp phần mềm chuyên ngành như các dịch vụ dựa trên web
Đám mây IaaS là nơi tập hợp các tài sản vật lý như các phần cứng máy chủ, hệ thống lưu trữ và các thiết bị mạng, được chia sẽ và cung cấp dưới dạng dịch vụ IaaS cho các tổ chức hay doanh nghiệp khác nhau Cũng giống như dịch vụ PaaS, ảo hóa là công nghệ được sử dụng rộng rãi để tạo ra cơ chế chia sẽ và phân phối các nguồn tài nguyên theo yêu cầu Ví dụ về các dịch vụ IaaS như IBM BlueHouse, Vmware, Amazon EC2, Microsoft Azure Platform, Sun Parascale Cloud Storage…
Ảo hóa là một bước tiến mạnh mẽ cho việc tối ưu hóa việc triển khai xây dựng một cách hiệu quả nguồn tài nguyên hệ thống bằng cách tách rời mối liên kết vốn có giữa phần cứng, phần mềm, dữ liệu, đường truyền, lưu trữ thành từng phần riêng biệt Điện toán đám mây mức hạ tầng cơ sở (IaaS) là một loại hệ thống phân bố và xử lý song gồm các máy tính ảo kết nối với nhau và được cung cấp động cho người dùng như một hoặc nhiều tài nguyên đồng nhất dựa trên sự thỏa thuận dịch vụ giữa nhà cung cấp và người sử dụng