Chương 1 - TONG QUAN Dat vấn dé và trình bày sơ lược về mục tiêu, phạm vi, phương pháp thực hiện và kết quả mong đợi. Chương 2 —- CƠ SỞ LÝ THUYET Trình bày và giải thích các cơ sở lý thuyết, định nghĩa và nguyên tắc hoạt động của công cụ tự động hoá là Ansible cũng như công cụ hỗ trợ dựng mô hình mạng là GNS3. Tìm hiểu về chuẩn mực đánh giá cấu hình thiết bị cụ thể là dựa trên CIS Benchmark. Chương 3 - PHƯƠNG PHAP THỰC HIỆN Trình bày cách thức thực hiện cấu hình tự động hoá nói chung và riêng mô hình WAN nói riêng dé làm ví dụ cụ thể.
Phương pháp thực hiện lấy thông tin của thiết bị và tính an toàn của tự động hoá. Chương 4 - TRIEN KHAI VÀ THU NGHIEM Thực hiện triển khai các file YAML để thực thi nhiệm vụ của quản trị viên. Thống kê các lệnh kiểm tra đã thực thi với mô hình và đưa ra danh sách kết quả kiêm tra. Dựa vào CIS Benchmark viết các playbook thực hiện cấu hình an toàn cho thiết bi, áp dụng level 1 và level 2.
Chương 5 - TONG KET VÀ HUONG PHÁT TRIEN Nêu ra đã thực hiện được những gì, các điểm tiện lợi và lợi ích của tự động hoá. Nêu mong muốn và hướng phát triển trong tương lai khi tiếp cận sâu và có nhiều thời gian nghiên cứu. Lý do chon đề tai Trong một doanh nghiệp hay một công ty khi có nhiều chỉ nhánh hoặc phòng ban, việc cải đặt và quản lý các thiết bị mạng trọng tâm là thiết bị mạng Cisco sẽ gặp nhiều khó khăn. Việc cài đặt và thiết lập cấu hình cho các thiết bị sẽ rất khó khăn khi được đặt ở các phòng ban, chỉ nhánh xa nhau.
Từ đó để giải quyết các khó khăn trên nên việc tìm kiếm một chương trình tự động hóa có thé giúp người quản trị dù chỉ ngồi ở máy chủ cũng có thé cấu hình, cập nhật nhiều thiết bị chỉ trong khoảng thời gian ngắn là vô cùng cần thiết và nhờ vào đó tiết kiệm được rất nhiều khoảng chỉ phí phát sinh có liên quan khác. Công cụ tự động hoá Ansible đáp ứng được đầy đủ các vấn dé trên. Ansible là một công cụ giúp quan sát, cấu hình, cập nhật các thiết bị mạng Cisco có liên kết. Trong quá trình cài đặt và làm việc, có thể thu thập thông tin các thiết bị, thời gian thực trên thiết bị và model phòng khi có người cắt giảm chỉ phí ở các chỉ nhánh và mua sai sản phảm, từ đó quản trị viên có thể truy cập từ xa vào máy đó để sửa chữa và thông báo đến các chỉ nhánh một cách nhanh chóng.
Mục tiêu e Xây dựng một mô hình mạng có khả năng tự động triển khai các cấu hình lệnh trên các thiết bị mạng trọng tâm là thiết bị Cisco. e Kiểm tra tính an toàn cấu hình của thiết bị dựa vào CIS Benchmark. e Thiết lập cấu hình an toàn tự động cho thiết bị mạng 1. Phạm vi Áp dụng cho mô hình mạng với thiết bị là Cisco 1.
Đối tượng nghiên cứu © Các thiết bị mạng Cisco, công cụ tự động hoá Ansible 1. Đối tượng sứ dụng e Cho quản trị viên mạng. Phương pháp thực hiện Tìm hiéu các tài liệu về mô hình mạng từ đơn giản đến phức tạp. Tìm hiểu và sử dụng công cụ tự động hoá (Ansible).
Tìm hiéu và sử dụng môi trường giả lập mô hình mạng (GNS3). Sử dụng cấu trúc file Yaml để tạo nên các “Playbook” có khả năng triên khai tự động hoá trên các thiết bi Cisco. Tìm hiéu và thực hiện lấy thông tin cấu hình, thông số phần cứng, mẫu mã. Tìm hiểu và áp dụng kiểm tra an toàn cấu hình của thiết bị dựa vào CIS Benchmark.
Tìm hiểu và triển khai cấu hình an toàn cho thiết bị dựa vào CIS Benchmark. Kết quả mong đợi Xây dựng mô hình mang mô phỏng với công cụ GNS3. Xây dựng thành công một mô hình mạng nhằm dé tự động quá trình triển khai các tác vụ mà người quản trị mong muốn với các thiết bị mạng. Qua đó, củng có kiến thức của bản thân, đồng thời giúp giảm tối đa thời gian cấu hình hoặc kiểm tra các thiết bị mạng cho người quản trị.
Tự động hoá cấu hình cho mô hình mạng. Có khả năng cập nhật, triển khai cực kỳ nhanh chóng cho nhiều thiết bị mạng cùng lúc. Giảm chi phí cho công ty, quy mô công ty càng lớn thì chi phí giảm đi càng nhiều, tự động hoá chỉ cho thêm lợi ích cho các công ty. Tự động hoá còn giúp giảm đáng ké chi phí nhân lực.
Tự động hóa trong quản lí cấu hình Quan lý cấu hình nhằm duy trình tính ổn định cũng như theo dõi các thiết bị mạng, máy chủ ở trạng thái tốt nhất, sẵn sàng hoạt động hoặc dự phòng trong tình huống xấu theo như mong muốn người quản trị. Đó là một cách dé đảm bảo rằng hệ thống hoạt động đúng như mong đợi khi các thay đổi được thực hiện theo thời gian như cập nhật cấu hình. Tự động hóa là việc sử dụng phần mềm để từ máy điều khién thực hiện các tác vụ như cấu hình, cập nhật, cài đặt, xóa, sao chép, thay thế các nhiệm vụ lặp đi lặp lại của quản trị viên nhằm duy trì tính ổn định lên các thiết bị khác một cách tự động. Loi ích của tự động hóa: Tiết kiệm thời gian: Đề cài đặt cấu hình cho một thiết bị mạng theo như yêu cầu của công ty hay mô hình mat thời gian từ 15 phút đến 45 phút va quản trị viên phải thực hiện thao tác từng lệnh.
Đối với môi trường công ty, ngân hàng sẽ có thiết bị được đặt cách xa nhau chưa ké đến phải làm cho toàn bộ mạng của công ty sử dụng trơn tru nếu như công ty mới được thành lập. Nếu thực hiện thủ công như vậy sẽ rất mất thời gian cho quản trị viên. Bằng việc thực hiện tự động hóa các việc này, quản trị viên có thể rút ngắn thời gian và thực hiện được nhiều công việc khác quan trọng hơn. Giảm sai sót trong quá trình thực hiện: Việc thực hiện cùng một lệnh lặp đi lặp lại có thé dé gây ra lỗi hoặc bỏ qua một số lệnh nào đó có thé ảnh hưởng đến thiết bị và hệ thống.
Với tự động hóa, khi thực thi sẽ thực hiện theo cách tương tự mỗi lần mà không bỏ qua bước nào hay chạy sai thứ tự câu lệnh. Không phải bất kỳ một công việc nào cũng cần thực hiện tự động hóa. Nên thực hiện tự động hóa với các nhiệm vụ: e Nhiệm vụ thường xuyên: các nhiệm vụ thường hay thực hiện (ít nhất là 1 tháng). Về mặt lý thuyết, nhiệm vụ càng thường xuyên sẽ càng tiết kiệm được thời gian từ việc tự động hóa nó.
e Nhiệm vụ lặp lại: Khi quản trị viên phải thực hiện | quy trình bao gồm một loạt các dong lệnh. Thật không cần thiết nếu cứ phải coppy va paste từng dòng lệnh vào terminal đề thực thi. se _ Nhiệm vụ phức tap: Nếu một tác vụ có nhiều bước, và cụ thể các bước đó yêu cầu quản trị viên lấy output của bước này dé sử dụng làm input của bước khác hoặc các bước sử dụng có chuỗi đối số phức tạp. ¢ Nhiém vụ tốn thời gian: Các tác vụ càng mất nhiều thời gian để hoàn thành.
Đặc biệt là nếu có các giai đoạn chạy lệnh, chờ đợi load, như cài đặt và cấu hình hệ điều hành không nên thực hiện tự động hóa với các nhiệm vụ mỗi năm chỉ thực hiện một lần; các nhiệm vụ có đầu vào thay đổi; nhiệm vụ không bao giờ phải làm lại. Có rất nhiều công cụ cho phép quản trị viên thực hiện việc tự động hóa như Puppet, CHEF, Ansible, Foreman, Kattello, SaltStack. Trong đó, Ansible là công cụ tự động hóa phổ biến nhất trên GitHub và được nhiều quản trị viên lựa chọn. Chính vì Ansible là công cụ dé tiép cận va làm quen do được xây dựng bằng Python và sử dụng file cấu hình theo dạng YAML (YAML Ain’t Markup Language) dé đọc và dễ hiểu.
Đồng thời sử dụng giao thức SSH nên đảm bảo an toàn. Giao thức SSH SSH hoặc được gọi là Secure Shell, là một giao thức điều khiển từ xa cho phép người dùng kiểm soát và chỉnh sửa server từ xa qua Internet. Giao thức SSH cung cấp khả năng xác thực mật khẩu và xác thực khóa công khai, cũng như thông tin liên lạc dữ liệu được mã hóa giữa hai máy tính kết nối qua Internet. Giao thức SSH thường được si dụng qua cổng 22 TCP.
Định nghĩa Ansible là công cụ quản lý cấu hình khá nổi bật. Ansible là một platform opensource. Ansible khá đơn giản, dễ học và tiếp cận hơn rất nhiều so với các công cụ khác cùng tính năng. Ansible là công cụ tạo điều kiện tốt cho các quản trị viên thực hiện các thao tác cài đặt, quản lý và bảo trỉ từ xa.
Ansible cho phép quản lý cài đặt, cấu hình hệ thống một cách tập trung và cho phép thực thi câu lệnh điều khiển. Sử dung SSH (hoặc Powershell) dé giao tiếp với các nút (thiết bi cần được triển khai tự động). Sử dụng định dạng JSON dé hiển thị thông tin và sử dụng ngôn ngữ YAML (Yet Another Markup Language) để xây dựng cấu trúc mô tả hệ thống. Tổng quan Có 5 thành phần cơ bản trong việc xử lý tiến trình của Ansible: Ansible Architecture Inventory là một tệp chứa các thông tin cần thiết để thực hiện kết nối cấu hình tự động từ máy chủ đến các thiết bị như là password, username của phương thức SSH, hệ điều hành của thiết bị.
Modules là các tác vụ hệ thống mà Ansible cung cấp cho quản trị viên để thực hiện nhiệm vụ mong muốn. Đơn giản hơn là module giúp giao tiếp với Ansible. Playbook là một file YAML được tạo ra nhằm thực hiện các nhiệm vụ của quản trị viên. Đơn giản hơn là một cuốn sách làm nhiệm vụ của người sử dụng.
Ansible Config là nơi dé thiết lập các biến cầu hình cho Ansible. Người quan trị có thể thực hiện thay đổi hoặc ghi đè lên các biến trong tệp này. Cuối cùng là Python. Ansible không đi kèm với Python nhưng máy chủ sẽ đọc các tác vụ trong Playbook va day các lệnh thực thi tương ứng bằng Python xuống các thiết bị.
Inventory Nếu Ansible không có Inventory File, thì Ansible sẽ không biết mình đang quản lý được những hệ thống nao. Inventory cung cấp các thông tin về các Plays trong Playbooks của hệ thống. Định nghĩa môi trường làm việc bằng các đường dẫn chỉ định cho hệ thống hoạt động, bởi vì mỗi môi trường mỗi khác nhau nên Inventory sẽ khác nhau.