Báo cáo chuyên đề An Ninh Mạng GVHD TS Nguyễn Hồng Sơn BỘ THÔNG TIN VÀ TRUYỀN THÔNG HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG ~~~~~~~~~~~~ BÁO CÁO CHUYÊN ĐỀ AN NINH MẠNG Đề tài NGHIÊN CỨU VÀ TRIỂN KHAI.
BỘ THÔNG TIN VÀ TRUYỀN THÔNG HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THƠNG ~~~~~~*~~~~~~ BÁO CÁO CHUN ĐỀ AN NINH MẠNG Đề tài: NGHIÊN CỨU VÀ TRIỂN KHAI HỆ THỐNG GIÁM SÁT THAY ĐỔI TRONG NỘI DUNG THƯ MỤC VỚI NAGIOS GVHD : TS Nguyễn Hồng Sơn Thực : Nguyễn Hoàn Nam Dương Mã số sinh viên: N14DCAT032 Lớp : D14CQAT01-N Khóa : 2018 – 2019 Hệ : Đại học quy TPHCM, 11/2018 MỤC LỤC CHƯƠNG I: TỔNG QUAN VỀ NAGIOS .1 1.1 Những chức Nagios 1.2 Những điểm bật Nagios 1.3 Thành phần tổ chức hoạt động 1.4 Đánh giá chương trình nagios .4 CHƯƠNG 2: CÀI ĐẶT NAGIOS 2.1 Mô hình Nagios Monitoring Server 2.2 Cài đặt Nagios server giám sát 2.3 Cài đặt thêm plugin giám sát NRPE máy Ubuntu Agent .12 2.4 Thêm command vào Nagios Monitoring Server 15 2.5 Kết 16 Tài liệu tham khảo 18 Báo cáo chuyên đề An Ninh Mạng GVHD: TS Nguyễn Hồng Sơn CHƯƠNG I: TỔNG QUAN VỀ NAGIOS Nagios hệ thống giám sát hạ tầng mạng dịch vụ mạng vô mạnh mẽ cho phép các doanh nghiệp, công ty xác định giải các vấn đề sở hạ tầng Công Nghệ Thông Tin trước chúng làm ảnh hưởng đến các hoạt động kinh doanh, vận hành nội công ty Nagios thực việc theo dõi đưa các cảnh báo trạng thái các host các dịch vụ Một điểm khác so với các công cụ khác Nagios giám sát dựa tình trạng hoạt động các máy trạm dịch vụ Nó sử dụng các Plug-in cài đặt các máy trạm, thực việc kiểm tra các máy trạm dịch vụ theo định kỳ gửi thông tin trạng thái Nagios Server sau thơng tin đưa lên với giao diện Web gửi thơng tin trạng thái tới nhà quản trị qua email, SMS… có cố xảy Việc theo dõi cấu hình cách chủ động bị động dựa mục đích sử dụng người quản trị 1.1 Những chức Nagios Nagios có khả cung cấp số chức sau : Quản lý các dịch vụ mạng là: SMTP, POP2, HTTP, NNTP, ICMP SNMP, FTP, SSH Giám sát tài nguyên máy chủ processor load, dung lượng đĩa sử dụng, nhật ký Hệ thống phần lớn các hệ điều hành mạng, bao gồm Microsoft Windows, sử dụng các agent monitor Giám sát phần cứng nhiệt độ, báo động, v.v có khả gửi liệu thu thập qua mạng tới các plugin cụ thể Giám sát từ xa cách sử dụng Nagios Remote Plugin Executor thông qua SSH đường hầm SSL mã hóa Kiểm tra dịch vụ song song nhật ký xoay vòng log tự động Hỗ trợ triển khai các máy chủ giám sát dự phòng, biểu đồ liệu hiệu suất phần phụ trợ sở liệu Giao diện web để xem trạng thái mạng tại, thông báo, lịch sử cố, các file log, v.v Nguyễn Hoàn Nam Dương – N14DCAT032 Báo cáo chuyên đề An Ninh Mạng 1.2 GVHD: TS Nguyễn Hồng Sơn Những điểm bật Nagios Lên kế hoạch nâng cấp sở hạ tầng trước trở nên lỗi thời thường xuyên gặp lỗi Tự động sửa lỗi phát lỗi Phối hợp các với các hoạt động nhóm kỹ thuật Đảm bảo SLA (Service-Level Agreement) tổ chức áp dụng Đảm bảo cố sở hạ tầng CNTT có tác động tối thiểu đến quá trình vận hành tổ chức Giám sát toàn sở hạ tầng kinh doanh bạn Dễ dàng phát triển các plug-in riêng Cho phép người sử dụng dễ dàng phát triển các dịch vụ giám sát nhu cầu sử dụng việc sử dụng các ngôn ngữ shell script, C ++, Perl, Ruby, Python, PHP, C# ….) Việc giám sát các dịch vụ song song Có khả phát phân biệt host down host unreachable Thông tin cảnh báo (khi host các dịch vụ xảy xự cố) bằngemail, SMS sử dụng 3G, … Sử dụng giao diện Web để theo dõi trạng thái mạng, xem lịch sử các cảnh báo các cố xảy 1.3 Thành phần tổ chức hoạt động Thành phần Hệ thống Nagios gồm phần chính: Phần lõi Nagios có chức quản lý các host/dịch vụ giám sát, thu thập các kết kiểm tra host/dịch vụ từ các plugin gửi về, biểu diễn giao diện chương trình, lưu trữ thông báo cho người quản trị Ngồi cịn tổng hợp đưa các báo cáo tình hình hoạt động chung tưng host/dịch vụ khoảng thời gian Nguyễn Hồn Nam Dương – N14DCAT032 Báo cáo chuyên đề An Ninh Mạng GVHD: TS Nguyễn Hồng Sơn Plugin phận trực tiếp thực kiểm tra host/dịch vụ Mỗi loại dịch vụ có plugin riêng biệt viết để phục vụ riêng cho cơng việc kiểm tra dịch vụ Plugin các script (Perl, C ) hay các tệp biên dịch Khi cần thực kiểm tra host/dịch vụ Nagios việc gọi plugin tương ứng nhận kết kiểm tra từ chúng Với thiết kế này, hệ thống Nagios dễ dạng mở rộng phát triển Bất kì thiết bị hày dịch vụ giám sát viết plugin cho Tổ chức hoạt động Nagios có cách thực thi hành động kiểm tra Kiểm tra dịch vụ trực tiếp - Đối với các dịch vụ mạng có giao thức giao tiếp qua mạng smtp, http, ftp Nagios tiến hành kiểm tra trực tiếp địch vụ xem hoạt động hay khơng cách gửi truy vấn kết nối dịch vụ đến server dịch vụ đợi kết trả Các plugin phục vụ kiểm tra đặt server Nagios Chạy plugin máy xa secure shell - Nagios server khơng có cách truy cập trực tiếp client để theo dõi thông tin tình trạng sử dụng ổ đĩa, swap, tiến trình Để làm việc thì máy giám sát phải cái plugin cục Nagios điều khiển các plugin cục client qua secure shell ssh plugin check_by_ssh Phương pháp yêu cầu tài khoản truy cập host giám sát thực thi tất các plugin cài host Bộ thực thi plugin từ xa (NRPE – Nagios Remote Plugin Executor) - NRPE addon kèm với Nagios Nó trợ giúp việc thực thi các plugin cài đặt máy/ thiết bị giám sát NRPE cài host giám sát Khi nhận truy vấn từ Nagios server thì gọi các plugin cục phù hợp host này, thực kiểm tra trả kết cho Nagios server Phương pháp khơng địi hỏi tài khoản truy cập host giám sát sử dụng ssh Tuy nhiên ssh các plugin phục vụ giám sát phải cái đặt host đước giám sát NRPE thực thi tất các loại plugin giám sát Nagios điều khiển máy cài NRPE kiểm tra các thông số phần cứng, các tài nguyên, tình trạng hoạt động máy sử dụng NRPE để thực thi các plugin yêu cầu truy vấn dịch vụ mạng đến máy thứ để kiểm tra hoạt động các dịch vụ http, ftp, mail Giám sát qua SNMP - Cốt lõi giao thức SNMP (SimpleNetword Mangement Protocol) tập hợp đơn giản các hoạt động giúp nhà quản trị mạng quản lý, thay đổi trạng thái thiết bị Hiện nhiều thiết bị mạng hỗ trợ giao thức SNMP Swich, router, máy in, firewal Nagios có khả sử dụng giao thức SNMP để theo dõi trạng thái củ Nguyễn Hoàn Nam Dương – N14DCAT032 Báo cáo chuyên đề An Ninh Mạng GVHD: TS Nguyễn Hồng Sơn các client, các thiết bị mạng có hỗ trợ SNMP Qua SNMP, Nagios có thông tin tình trạng thời thiết bị Ví dụ với SNMP, Nagios biết các cổng Switch, router có mờ hay khơng, thời gian Uptime (chạy liên tuc) NSCA(Nagios Service Check Acceptor) - Nagios coi phần mềm mạnh vì dễ dàng mở rộng kết hợp với các phần mềm khác Nó tổng hợp thơng tin từ các phần mềm kiểm tra hãng thứ ba các tiến trình Nagios khác trạng thái host/dịch vụ Như Nagios không cần phải lập lịch chạy các hành động kiểm tra host/dịch vụ mà các ứng dụng khác thực điều báo cáo thông tin cho Và các ứng dụng kiểm tra tận dụng khả mạnh Nagios thông báo tổng hợp báo cáo Công cụ giúp cho thông tin gửi mạng an tồn vì mã hóa xác thực 1.4 Đánh giá chương trình nagios - Ưu điểm: • Là phần mã nguồn mở, miễn phí • Cung cấp giao diện đồ họa đẹp mắt, thân thiện người dùng • Tính mở rộng cao • Có khả theo dõi định kỳ theo thời gian cấu hình trước • Ít tốn tài nguyên hệ thống • Có chế hoạt động cảnh báo cho người quản trị có cố xảy • Tự động tạo các báo cáo theo lịch biểu ấn định • Độ ổn định cao giám sát hệ thống mạng • Đặc biệt nagios có khả giám sát phân tán nên hỗ trợ tối đa 100000 node - Nhược điểm: • Khơng có khả tự động nhận biết các thiết bị giám sát mạng mà cần phải định nghĩa Nagios Server • Cần phải cài đặt plugin riêng cho dịch vụ giám sát, điều khiến cho việc cấu hình Nagios trở nên khá phức tạp • Một số thiết bị chưa thể giám sát được, ví dụ Access Point • Triển khai khó người dùng CHƯƠNG 2: CÀI ĐẶT NAGIOS 2.1 Mô hình Nagios Monitoring Server Nagios Monitoring Server Ubuntu– 16.04) Nguyễn Hoàn Nam( Dương N14DCAT032 Mornitoring Server Ubuntu Báo cáo chuyên đề An Ninh Mạng Server cài đặt Nagios IP: 192.168.255.146 GVHD: TS Nguyễn Hồng Sơn Server giám sát (Agent) IP:192.168.255.236 2.2 Cài đặt Nagios server giám sát Tạo Nagios User Group sudo useradd nagios sudo groupadd nagcmd sudo usermod -a -G nagcmd nagios Cài đặt Package cần thiết sudo apt-get install build-essential libgd2-xpm-dev openssl libssl-dev xinetd apache2-utils unzip Cài đặt Nagios Core cd ~ curl -L -O https://assets.nagios.com/downloads/nagioscore/releases/nagios4.1.1.tar.gz Giải nén di chuyển vào thư mục chứa Nagios: tar xvf nagios-*.tar.gz cd nagios-* Cài đặt Nagios lệnh sau: Nguyễn Hoàn Nam Dương – N14DCAT032 Báo cáo chuyên đề An Ninh Mạng GVHD: TS Nguyễn Hồng Sơn /configure with-nagios-group=nagios with-command-group=nagcmd make all sudo make install sudo make install-commandmode sudo make install-init sudo make install-config sudo /usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/sitesavailable/nagios.conf sudo usermod -G nagcmd www-data Cài đặt Nagios Plugins Tải Nagios Plugins giải nén cd ~ curl -L -O http://nagios-plugins.org/download/nagios-plugins-2.1.1.tar.gz tar xvf nagios-plugins-*.tar.gz Biên dịch Nagios Plugins cd nagios-plugins-* /configure with-nagios-user=nagios with-nagios-group=nagios withopenssl make sudo make install 2.3 Cài đặt NRPE - NRPE addon cho Nagios giúp thực thi các plugin khác để monitor/check các resources (CPU load, memory usage, swap usage, disk usage, logged in users, running processes, v.v ) services (http, ftp, v.v ) các máy Linux/Unix xa - Mô hình chế làm việc NRPE mô tả hình đây: NRPE addon bao gồm thành phần: Nguyễn Hoàn Nam Dương – N14DCAT032 Báo cáo chuyên đề An Ninh Mạng GVHD: TS Nguyễn Hồng Sơn Plugin check_nrpe: nằm máy Nagios (là monitoring server) Daemon NRPE: chạy máy Linux/Unix (remote host) cần monitor Khi máy Nagios cần check các resources/services máy Linux/Unix xa: Nagios thực thi plugin check_nrpe cho biết resource/service cần check Plugin check_nrpe liên lạc với daemon NRPE remote host Kênh liên lạc bảo vệ SSL Daemon NRPE chạy các plugin thích hợp (như check_disk, check_load, check_http, v.v ) để check các resource/service yêu cầu NRPE daemon truyền kết cho check_nrpe, sau plugin trả kết lại cho Nagios process Có cách checking sử dụng addon NRPE là: Direct Checks Giúp monitor các “local” / “private” resource remote Linux/Unix host CPU load, memory usage, swap usage, disk usage, logged in users, running processes, v.v Indirect Checks Nguyễn Hoàn Nam Dương – N14DCAT032 Báo cáo chuyên đề An Ninh Mạng GVHD: TS Nguyễn Hồng Sơn Nếu vì lý mà Nagios host khơng thể liên lạc với các public services resources các remote server HTTP, FTP remote Linux/Unix host (được cài NRPE daemon các plugin) lại thì sử dụng cách để NRPE daemon đóng vai trò làm proxy Tải giải nén NRPE cd ~ curl -L -O http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe2.15/nrpe-2.15.tar.gz cd nrpe-* Cài đặt NRPE, Chạy NRPE daemon service xinetd ./configure enable-command-args with-nagios-user=nagios with-nagiosgroup=nagios with-ssl=/usr/bin/openssl with-ssl-lib=/usr/lib/x86_64-linux-gnu make all sudo make install sudo make install-xinetd sudo make install-daemon-config Mở file nrpe thay đổi only_from thành IP Nagios Server sudo gedit /etc/xinetd.d/nrpe Nguyễn Hoàn Nam Dương – N14DCAT032 Báo cáo chuyên đề An Ninh Mạng GVHD: TS Nguyễn Hồng Sơn Khởi động lại dịch vụ xinetd để khởi động NRPE: sudo service xinetd restart Kiểm tra NRPE daemon Đảm bảo NRPE daemon chạy xinetd netstat -at | grep nrpe Đảm bảo local firewall remote Linux/Unix host cho phép NRPE daemon truy cập từ các remote server iptables –I INPUT -p tcp -m tcp –dport 5666 -j ACCEPT service iptables save Như Nagios cài đặt, để Nagios hoạt động giao diện web cách đắn ta cần thực cấu hình phần 2.4 Cấu hình Nagios Mở tập tin cấu hình Nagios xóa dấu # #cfg_dir=/usr/local/nagios/etc/servers : sudo gedit /usr/local/nagios/etc/nagios.cfg Nguyễn Hoàn Nam Dương – N14DCAT032 Báo cáo chuyên đề An Ninh Mạng GVHD: TS Nguyễn Hồng Sơn Định dạng Nagios Contacts Mở file /usr/local/nagios/etc/objects/contacts.cfg thay đổi địa email nhận thông báo Cấu hình check_nrpe Tất các hành động nagios kiểm tra host/dịch vụ, thông báo, xử lý kiện thực gọi lệnh Tất các lệnh nagios định nghĩa tệp cấu hình command.cfg Thêm lệnh vào cấu hình Nagios: /usr/local/nagios/etc/objects/commands.cfg Điều cho phép sử dụng lệnh check_nrpe định nghĩa dịch vụ Nagios Nguyễn Hoàn Nam Dương – N14DCAT032 10 Báo cáo chuyên đề An Ninh Mạng GVHD: TS Nguyễn Hồng Sơn Định dạng Apache Bật mô-đun rewrite cgi Apache: sudo a2enmod rewrite sudo a2enmod cgi Sử dụng htpasswd để tạo admin user, gọi "nagiosadmin" mật khẩu, truy cập vào giao diện web Nagios: sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin Tạo liên kết tượng trưng nagios.conf đến thư mục sites-enabled: sudo ln -s /etc/apache2/sites-available/nagios.conf /etc/apache2/sitesenabled/ sudo service nagios start sudo service apache2 restart Để kích hoạt Nagios để khởi động máy chủ, chạy lệnh sau: sudo ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios Mở trình duyệt web truy cập Nagios server: http://192.168.255.146/nagios Nhập tài khoản mật thiết lập trước Nguyễn Hồn Nam Dương – N14DCAT032 11 Báo cáo chuyên đề An Ninh Mạng GVHD: TS Nguyễn Hồng Sơn Như Nagios cài đặt thành cơng! Nguyễn Hồn Nam Dương – N14DCAT032 12 Báo cáo chuyên đề An Ninh Mạng GVHD: TS Nguyễn Hồng Sơn 2.3 Cài đặt thêm plugin giám sát NRPE máy Ubuntu Agent Cài đặt NRPE-SERVER apt-get install -y perl nagios-nrpe-server useradd nrpe && update-rc.d nagios-nrpe-server defaults Tạo Script giám sát thư mục Perl: Nguyễn Hoàn Nam Dương – N14DCAT032 13 Báo cáo chuyên đề An Ninh Mạng Nguyễn Hoàn Nam Dương – N14DCAT032 GVHD: TS Nguyễn Hồng Sơn 14 Báo cáo chuyên đề An Ninh Mạng GVHD: TS Nguyễn Hồng Sơn Lưu file cấp quyền thực thi cho file vào thư mục /usr/lib/nagios/plugins/ chmod +x /usr/lib/nagios/plugins/check_file.pl Thêm chỉnh sửa nrpe.cfg máy agent: /etc/nagios/nrpe.cfg log_facility=daemon pid_file=/var/run/nagios/nrpe.pid server_port=5666 nrpe_user=nrpe nrpe_group=nrpe allowed_hosts=192.168.255.146 # may server dont_blame_nrpe=1 debug=0 Nguyễn Hoàn Nam Dương – N14DCAT032 15 Báo cáo chuyên đề An Ninh Mạng GVHD: TS Nguyễn Hồng Sơn command_timeout=60 connection_timeout=300 include_dir=/etc/nagios/nrpe.d/ command[check_file]=sudo /usr/lib/nagios/plugins/check_file.pl /home/duong/Desktop/MYLOG /home/duong/Desktop/TEST # MYLOG thư mục chứa file log hash trước TEST thư mục giám sát Khởi động lại dịch vụ: service nagios-nrpe-server restart 2.4 Thêm command vào Nagios Monitoring Server Trong check_file command thêm vào phía agent Trên máy chủ Nagios, tạo tệp cấu hình cho máy chủ từ xa muốn theo dõi /usr/local/nagios/etc/servers/ Tạo file ubuntu.cfg sudo gedit /usr/local/nagios/etc/servers/ubuntu.cfg Nguyễn Hoàn Nam Dương – N14DCAT032 16 Báo cáo chuyên đề An Ninh Mạng GVHD: TS Nguyễn Hồng Sơn Tải lại cấu hình Nagios để cài đặt có hiệu lực service nagios reload Như plugin cài đặt thành công 2.5 Kết Thêm xóa file vào thư mục giám sát: Nguyễn Hoàn Nam Dương – N14DCAT032 17 Báo cáo chuyên đề An Ninh Mạng GVHD: TS Nguyễn Hồng Sơn Thay đổi nội dung file bất kì: Nguyễn Hoàn Nam Dương – N14DCAT032 18 Báo cáo chuyên đề An Ninh Mạng GVHD: TS Nguyễn Hồng Sơn TÀI LIỆU THAM KHẢO Website tham khảo: https://www.digitalocean.com/community/tutorials/how-to-create-nagios- plugins-with-perl-on-ubuntu-12-10?fbclid=IwAR0CrCDGCvNWXoPu7fLQrOhrU2jynyIMMH-zOo-SB68D-3f0X4vtcBItJE https://www.digitalocean.com/community/tutorials/how-to-install-nagios- 4-and-monitor-your-servers-on-ubuntu-16-04 Nguyễn Hoàn Nam Dương – N14DCAT032 19 ... Dương – N14DCAT032 11 Báo cáo chuyên đề An Ninh Mạng GVHD: TS Nguyễn Hồng Sơn Như Nagios cài đặt thành cơng! Nguyễn Hồn Nam Dương – N14DCAT032 12 Báo cáo chuyên đề An Ninh Mạng GVHD: TS Nguyễn... Nguyễn Hoàn Nam Dương – N14DCAT032 13 Báo cáo chuyên đề An Ninh Mạng Nguyễn Hoàn Nam Dương – N14DCAT032 GVHD: TS Nguyễn Hồng Sơn 14 Báo cáo chuyên đề An Ninh Mạng GVHD: TS Nguyễn Hồng Sơn Lưu file... Dương – N14DCAT032 17 Báo cáo chuyên đề An Ninh Mạng GVHD: TS Nguyễn Hồng Sơn Thay đổi nội dung file bất kì: Nguyễn Hoàn Nam Dương – N14DCAT032 18 Báo cáo chuyên đề An Ninh Mạng GVHD: TS Nguyễn