Bối cảnh và vấn đề nghiên cứu

Trong hạ tầng công nghệ thông tin của các doanh nghiệp, CentOS là một trong những bản phân phối mã nguồn mở dựa trên nhân Linux được sử dụng phổ biến nhất cho hệ thống máy chủ. Được phát triển nhằm cung cấp một nền tảng miễn phí cấp doanh nghiệp và duy trì khả năng tương thích nhị phân với Red Hat Enterprise Linux (RHEL), CentOS sở hữu nhiều ưu điểm như tính ổn định cao, khả năng vận hành mượt mà trên môi trường máy chủ lớn, hệ thống quản lý gói RPM phong phú và nhiều lớp bảo mật tích hợp sẵn. Tuy nhiên, việc cài đặt và nâng cao tính bảo mật (hardening) cho phần lớn hệ thống máy chủ CentOS trên thực tế vẫn chưa nhận được sự quan tâm tương xứng.

Nguyên nhân chính xuất phát từ tính chất phức tạp, rườm rà và tiêu tốn thời gian của các quy trình cấu hình an ninh thủ công. Trung bình, quản trị viên phải mất từ 15 phút đến 1 giờ để hoàn tất việc thiết lập cơ bản cho một máy chủ đơn lẻ. Đối với doanh nghiệp vận hành nhiều máy tính và máy chủ, việc áp dụng các thao tác thủ công, lặp đi lặp lại không chỉ tiêu hao nguồn nhân lực và tài nguyên mà còn dễ dẫn đến sai sót kỹ thuật, bỏ qua các bước kiểm tra quan trọng hoặc tạo ra sự bất đồng nhất về trạng thái an ninh giữa các nút mạng. Việc để tồn tại các lỗ hổng bảo mật trên hệ thống máy chủ CentOS có thể dẫn đến nguy cơ bị xâm nhập, đe dọa trực tiếp đến an toàn dữ liệu, tài sản số và các dịch vụ vận hành của tổ chức.

Từ bối cảnh thực tiễn trên, khóa luận tốt nghiệp kỹ sư ngành An toàn thông tin của nhóm tác giả Huỳnh Minh Thái và Phạm Nguyễn Hữu Tân (Trường Đại học Công nghệ Thông tin, Đại học Quốc gia TP. Hồ Chí Minh, thực hiện năm 2021 dưới sự hướng dẫn của ThS. Trần Thị Dung) đã tập trung giải quyết bài toán: xây dựng một giải pháp kỹ thuật có khả năng tự động rà soát, phát hiện lỗ hổng, đưa ra khuyến nghị và tự động thắt chặt an toàn đồng loạt cho nhiều máy chủ sử dụng hệ điều hành CentOS 7.

Theo văn bản khóa luận, đề tài xác định 3 mục tiêu cụ thể:

  1. Xây dựng một sản phẩm có khả năng tự động nâng cao bảo mật cho hệ thống với những thao tác đơn giản nhất, có ứng dụng đề án môn học đề tài tự động hóa và các kiến thức an toàn hệ thống.
  2. Đơn giản hóa tối đa cho người dùng với giao diện web đơn giản, dễ thao tác, hướng tới đa người dùng.
  3. Tận dụng các công nghệ tự động hóa và kiến thức quản trị hệ thống nhằm tối ưu sản phẩm.

Về đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Quy trình quản lý cấu hình tự động, các lỗ hổng an ninh hệ thống và các tiêu chuẩn thắt chặt bảo mật cho hệ điều hành máy chủ.
  • Phạm vi nghiên cứu: Khóa luận tập trung nghiên cứu trên hệ điều hành CentOS phiên bản 7. Nội dung an toàn thông tin được giới hạn chọn lọc hơn 85 nội dung từ 247 tiêu chí chuẩn hóa của tiêu chuẩn CIS Benchmark. Hệ thống thực nghiệm được triển khai trên môi trường máy ảo VirtualBox kết hợp các máy chủ dịch vụ thực tế như elk-stack, zabbix, prometheus, vps-openvz.

Cơ sở lý thuyết và phương pháp

Khóa luận thiết lập nền tảng nghiên cứu dựa trên các lý thuyết về quản lý cấu hình hệ thống và các tiêu chuẩn kiểm toán an ninh mạng quốc tế:

  1. Khung lý thuyết quản lý cấu hình và tự động hóa: Quản lý cấu hình là quá trình duy trì hệ thống máy tính, máy chủ và phần mềm ở trạng thái nhất quán, ổn định theo mong muốn của người quản trị. Tự động hóa quản trị cấu hình được nhóm tác giả xác định áp dụng đối với 4 nhóm nhiệm vụ: nhiệm vụ có tần suất thực hiện thường xuyên (ít nhất một tháng một lần), nhiệm vụ mang tính lặp lại (chuỗi câu lệnh cố định), nhiệm vụ phức tạp (chuỗi tác vụ lấy đầu ra bước trước làm đầu vào bước sau) và nhiệm vụ tiêu tốn nhiều thời gian.
  2. Tiêu chuẩn CIS Benchmark: Do Trung tâm An ninh Internet (Center for Internet Security - CIS) ban hành. Đây là tổ chức phi lợi nhuận thành lập năm 2000 nhằm cải thiện khả năng sẵn sàng và ứng phó an ninh mạng. CIS Benchmark cung cấp hệ thống tiêu chuẩn kiểm toán chi tiết gồm phần hướng dẫn kiểm tra (Audit) và phần hướng dẫn khắc phục (Remediation) được công nhận trên toàn cầu.
  3. Cơ chế Kiểm soát truy cập bắt buộc (MAC): Điển hình qua SELinux trên CentOS, cung cấp lớp bảo vệ giới hạn quyền hạn của các tiến trình và ứng dụng nền, giảm thiểu tác động khi dịch vụ bị xâm nhập thông qua việc cấu hình chính sách và chế độ vận hành (enforcing hoặc permissive).

Khóa luận sử dụng các công nghệ kỹ thuật thực tế bao gồm:

  • Ansible: Công cụ quản trị cấu hình mã nguồn mở theo kiến trúc không tác tử (agentless). Ansible điều khiển các máy chủ từ xa thông qua giao thức SSH (hoặc PowerShell), sử dụng tệp mô tả định dạng YAML (gọi là Playbook) và trả kết quả trạng thái dưới dạng JSON. Các module Ansible được sử dụng chính trong đề tài gồm: lineinfile (chỉnh sửa chuỗi ký tự trong file), stat (thu thập thông tin quyền hạn của file), shell (thực thi lệnh Linux), yum (quản lý cài đặt package), file (thay đổi phân quyền tập tin), service (quản lý trạng thái dịch vụ) và meta (ưu tiên thực thi tác vụ handler).
  • Hệ thống quản lý tập trung CI/CD: Khóa luận khảo sát và thử nghiệm trên hai nền tảng: Jenkins (nền tảng mã nguồn mở bằng Java hỗ trợ tích hợp liên tục và hệ thống plugin) và Ansible AWX (phiên bản mã nguồn mở của Ansible Tower, cung cấp giao diện web, REST API, sử dụng AWX engine, NGINX làm Web Server, PostgreSQL lưu trữ cơ sở dữ liệu và Redis làm bộ nhớ đệm cache).

Phương pháp nghiên cứu thực tế gồm:

  • Phương pháp phân tích - tổng hợp tài liệu: Phân tích tiêu chuẩn CIS Benchmark dành cho CentOS 7, lọc ra các lỗ hổng phổ biến và phân cấp mức độ nghiêm trọng.
  • Phương pháp thiết kế và phát triển hệ thống: Lập trình các kịch bản kiểm toán và tự động hóa bằng cú pháp YAML của Ansible, xây dựng giao diện báo cáo dạng bảng HTML/CSS.
  • Phương pháp thực nghiệm: Cài đặt Control Server, kết nối mạng tới các máy chủ đích (Remote Hosts) để đo lường, kiểm tra tính đúng đắn của kịch bản và so sánh hiệu quả giữa Jenkins và Ansible AWX.

Thiết kế và triển khai

Hệ thống được thiết kế theo mô hình điều khiển tập trung, bao gồm một máy chủ trung tâm (Control Server) kết nối không tác tử tới tập hợp các máy chủ từ xa (Remote Hosts) thông qua giao thức SSH. Quá trình triển khai kỹ thuật được vận hành theo quy trình khép kín gồm 5 bước:

[Quản trị viên]

Quy trình hoạt động chi tiết gồm:

  1. Bước 1: Quản trị viên truy cập vào Control Server thông qua giao diện Web của Jenkins hoặc Ansible AWX.
  2. Bước 2: Kích hoạt Playbook kiểm tra cấu hình. Ansible đọc tệp Inventory (chứa các thông số inventory_hostname, ansible_ssh_host, ansible_ssh_user, ansible_ssh_port, ansible_ssh_pass), khởi tạo kết nối SSH và gửi gói thực thi Python tạm thời sang Remote Host.
  3. Bước 3: Remote Host thực thi và trả kết quả JSON về Control Server. Báo cáo kiểm toán được khởi tạo dưới dạng tệp HTML/CSS. Nếu cấu hình đạt chuẩn an toàn, quy trình kết thúc; nếu tồn tại lỗ hổng, quản trị viên chuyển sang bước 4.
  4. Bước 4: Kích hoạt Playbook tự động hóa cấu hình (Hardening) nhằm sửa đổi các tham số hệ thống chưa an toàn.
  5. Bước 5: Kích hoạt lại Playbook kiểm tra để xác nhận hệ thống đã đạt trạng thái tuân thủ bảo mật hoàn toàn.

Khóa luận thiết lập kiến trúc cho hai loại Playbook:

  • Playbook kiểm tra cấu hình: Thiết lập hosts: all và gather_facts: yes để thu thập dữ liệu hệ thống. Sử dụng module lineinfile để tạo trang HTML với định dạng bảng và module stat hoặc shell để kiểm tra thông số (ví dụ: kiểm tra quyền hạn file hoặc kiểm tra thông số sshd -T | grep -i maxsessions). Nếu tham số không đạt chuẩn, kịch bản dùng điều kiện when để ghi dấu "x" vào cột Not Secure; nếu đạt chuẩn, ghi dấu "v" vào cột Secure.
  • Playbook tự động hóa cấu hình: Thiết lập hosts: all và gather_facts: no nhằm rút ngắn thời gian xử lý do không cần thu thập lại dữ liệu phần cứng/hệ điều hành. Kịch bản sử dụng biến vars_prompt để quản trị viên có thể nhập trực tiếp các tham số tùy biến trên giao diện (như danh sách AllowUsers, AllowGroups, DenyUsers, DenyGroups), đồng thời áp dụng module lineinfile để thay thế biểu thức chính quy (ví dụ: thay thế ^MaxSessions thành MaxSessions 10).

Cơ chế liên kết giữa kiểm tra và khắc phục được chuẩn hóa thông qua cột Tags (Alias). Mỗi nội dung kiểm tra được gán một nhãn tương ứng (ví dụ: h21 đại diện cho thiết lập giới hạn SSH MaxSessions). Khi xem báo cáo HTML, quản trị viên có thể nhấp vào liên kết tại cột Hardening hoặc chỉ định tham số Tags trên Jenkins/AWX để chỉ chạy khắc phục riêng mục đó mà không cần thực thi toàn bộ kịch bản.

Báo cáo kết quả kiểm tra được lưu trữ dưới định dạng tệp inventory_hostname-timestamp.html, bao gồm 6 cột thông tin:

  • Task Name: Tên định danh nội dung kiểm tra.
  • Secure: Ký hiệu "v" khi cấu hình an toàn.
  • Not Secure: Ký hiệu "x" khi cấu hình chưa đạt yêu cầu.
  • Note: Ghi nhận dữ liệu thực tế thu được từ máy chủ (ví dụ: maxsessions 10).
  • Hardening: Siêu liên kết trỏ trực tiếp đến Job Template/Project khắc phục lỗi.
  • Tags: Nhãn viết tắt hỗ trợ lọc tác vụ.

Nội dung chính theo từng chương

Báo cáo khóa luận được cấu trúc thành 5 chương chính:

Chương 1. Tổng quan

Chương 1 trình bày bối cảnh thực tiễn, phân tích lý do chọn đề tài và đặt vấn đề về sự cần thiết của việc tự động hóa nâng cao bảo mật cho hệ điều hành CentOS 7. Tác giả xác định rõ 3 mục tiêu nghiên cứu, phương pháp tiếp cận dựa trên tiêu chuẩn an toàn và công nghệ tự động hóa, kế hoạch sử dụng các công cụ (Ansible, Jenkins, AWX, VirtualBox), cùng với các kết quả mong đợi của sản phẩm đối với công tác quản trị mạng doanh nghiệp.

Chương 2. Cơ sở lý thuyết

Chương 2 cung cấp nền tảng kiến thức chuyên môn về quản trị cấu hình và các công nghệ sử dụng trong đề tài:

  • Phân tích khái niệm, lợi ích và tiêu chí lựa chọn tác vụ tự động hóa quản lý cấu hình.
  • Định nghĩa, kiến trúc hoạt động của Ansible: tính chất không tác tử (agentless), cơ chế điều khiển qua SSH/Python, định dạng YAML/JSON và chi tiết 3 thành phần cốt lõi: Inventory, Module (phân tích các module lineinfile, stat, shell, yum, file, service, meta) và Playbook.
  • Giới thiệu tổ chức CIS và bộ tiêu chuẩn kiểm toán hệ thống CIS Benchmark.
  • Khảo sát các nền tảng quản lý tập trung: Jenkins (kiến trúc Java, cơ chế plugin, tích hợp CI) và Ansible AWX (các thành phần: AWX engine, NGINX, PostgreSQL, Redis).

Chương 3. Phương pháp thực hiện

Chương 3 mô tả chi tiết phương pháp áp dụng các công cụ vào đề tài và quy trình kỹ thuật:

  • Thiết lập quy trình 5 bước áp dụng Ansible vào hệ thống từ khởi tạo Inventory, xây dựng Playbook, tích hợp điều khiển tập trung đến kiểm tra và tự động hóa.
  • Thiết kế phương pháp kiểm tra cấu hình: quy trình kiểm toán, cấu trúc Playbook kiểm tra, cấu trúc mẫu báo cáo HTML 6 cột và cơ chế dùng handler để tối ưu hóa thời gian thực thi.
  • Thiết kế phương pháp tự động hóa cấu hình: quy trình hardening, cấu trúc Playbook tự động hóa với vars_prompt và các module sửa đổi tập tin.
  • Thiết lập cơ chế liên kết giữa kiểm tra và khắc phục thông qua hệ thống Tags/Alias (minh họa cụ thể qua trường hợp cấu hình SSH MaxSessions đạt giá trị từ 10 trở xuống với nhãn h21).
  • Thiết lập phương thức quản trị tập trung trên giao diện web của Jenkins (quản lý qua Project, cấu hình build và hiển thị trực tiếp workspace) và Ansible AWX (quản lý qua Inventories, Hosts, Credentials, Job Templates và Workflow Templates).
  • Phân loại hơn 85 nội dung thực hiện được chọn lọc từ 6 phần của CIS Benchmark.

Chương 4. Triển khai – thực nghiệm

Chương 4 mô tả quá trình xây dựng hệ thống thử nghiệm thực tế và kết quả đo lường trên 3 kịch bản:

  • Kịch bản 1: Triển khai kiểm tra và tự động hóa cấu hình đồng loạt các Part dựa vào chức năng Workflow trên Ansible AWX. Hệ thống kích hoạt template Check All trên máy chủ elk-stack, trích xuất nhật ký qua máy chủ web NGINX, phân tích mức độ nghiêm trọng của lỗ hổng, sau đó chạy template Hardening All để thắt chặt cấu hình và đối chiếu lại trạng thái an toàn.
  • Kịch bản 2: Triển khai kiểm tra và tự động hóa Part 6 (System File Permissions) trên Jenkins đối với máy chủ vps-openvz. Kịch bản thực hiện build project, lưu nhật ký kiểm tra trong Workspace của Jenkins, kích hoạt project tự động hóa cấu hình và gửi thông báo trạng thái tức thời qua Telegram.
  • Kịch bản 3: Thực hiện giám sát (Monitor) các thông số cơ bản của Remote Host trên nền tảng Jenkins.

Chương 5. Kết quả thực hiện – hướng phát triển

Chương 5 tổng kết toàn bộ các kết quả đạt được sau quá trình thực nghiệm, đưa ra các đánh giá, so sánh khách quan giữa Jenkins và Ansible AWX trong vai trò công cụ điều khiển tập trung, tự đánh giá mức độ hoàn thành mục tiêu của nhóm nghiên cứu và đề xuất các định hướng mở rộng hệ thống trong tương lai.

Kết quả và đóng góp

Khóa luận đã hiện thực hóa thành công giải pháp tự động hóa quản lý cấu hình và nâng cao tính bảo mật cho hệ thống máy chủ CentOS 7. Nhóm tác giả đã chuyển hóa các hướng dẫn kỹ thuật phức tạp của CIS Benchmark thành tập hợp các Playbook có khả năng tái sử dụng cao.

Phần theo tiêu chuẩn CIS Nội dung kỹ thuật chính được triển khai trong khóa luận
Part 1: Initial Setup Vô hiệu hóa các hệ thống tập tin không sử dụng (cramfs, squashfs, udf, FAT); cấu hình an toàn cho công cụ sudo (yêu cầu cài đặt, sử dụng pseudo-pty, tạo file nhật ký log); kích hoạt và cấu hình chính sách SELinux ở chế độ enforcing/permissive.
Part 2: Services Rà soát và gỡ bỏ các dịch vụ không cần thiết trên máy chủ; định cấu hình an toàn cho các dịch vụ đang vận hành.
Part 3: Network Configuration Thắt chặt các tham số cấu hình mạng hệ thống; kiểm soát danh sách truy cập mạng và thiết lập tường lửa an toàn.
Part 4: Logging and Auditing Cấu hình hệ thống ghi nhật ký (logging) và kiểm toán (auditing) nhằm phục vụ công tác điều tra hành vi xâm nhập.
Part 5: Access, Authentication and Authorization Kiểm soát truy cập, định danh người dùng; cấu hình an ninh toàn diện cho dịch vụ SSH Server (phân quyền tệp sshd_config, quản lý SSH Key, giới hạn MaxSessions <= 10, LogLevel INFO, vô hiệu hóa các phương thức xác thực không an toàn).
Part 6: System Maintenance Thiết lập phân quyền tệp tin hệ thống (System File Permissions), đảm bảo quyền sở hữu và chế độ truy cập an toàn cho các tệp cốt lõi.

Khóa luận đưa ra bảng so sánh đánh giá giữa hai nền tảng quản lý tập trung dựa trên dữ liệu thực nghiệm:

Tiêu chí so sánh Nền tảng Ansible AWX Nền tảng Jenkins
Mục đích thiết kế Xây dựng chuyên biệt cho hệ sinh thái Ansible. Nền tảng tự động hóa CI/CD đa dụng.
Quản lý Inventory & Host Trực quan, chia theo các tab chuyên biệt (Inventories, Hosts), cho phép bật/tắt từng host dễ dàng. Quản lý thông qua cấu hình chuỗi tham số hoặc file trong từng Project/Job.
Thực thi Playbook Hỗ trợ Job Template (chạy đơn lẻ) và Workflow Template (kết hợp chạy đồng loạt nhiều Playbook). Quản lý thông qua tác vụ Build Project độc lập.
Hiển thị báo cáo kết quả Không hỗ trợ máy chủ web nội bộ để xem trực tiếp file HTML; cần tích hợp thêm Web Server NGINX phụ trợ. Hỗ trợ lưu trữ và xem trực tiếp tệp báo cáo HTML ngay trong tab Workspace của Project.
Thông báo kết quả Hỗ trợ cấu hình thông báo hệ thống tích hợp sẵn. Hỗ trợ gửi thông báo linh hoạt đến ứng dụng bên thứ ba (đã thực nghiệm thành công với Telegram Bot).

Về mặt đóng góp, khóa luận cung cấp một quy trình khép kín giúp người quản trị hệ thống không cần nhớ cú pháp câu lệnh phức tạp hay thao tác thủ công trên terminal từng máy chủ. Toàn bộ thao tác kiểm tra, đối chiếu tiêu chuẩn an toàn và khắc phục lỗ hổng được chuyển đổi thành các cú nhấp chuột trực tiếp trên giao diện web, giúp rút ngắn thời gian xử lý từ hàng giờ xuống chỉ còn vài phút trên quy mô nhiều máy chủ cùng lúc.

Hạn chế và hướng nghiên cứu tiếp

Khóa luận tự xác định các hạn chế kỹ thuật và phạm vi triển khai như sau:

  • Hạn chế:
    • Nghiên cứu mới chỉ chọn lọc và triển khai được hơn 85 nội dung trong tổng số 247 khuyến nghị của CIS Benchmark dành cho CentOS.
    • Phạm vi kiểm thử chỉ tập trung trên hệ điều hành CentOS phiên bản 7, chưa mở rộng đánh giá tính tương thích trên các phiên bản Linux khác hoặc các hệ điều hành họ hàng như RHEL, Rocky Linux, Ubuntu.
    • Trên nền tảng Ansible AWX, hệ thống chưa hỗ trợ cơ chế xem trực tiếp tệp báo cáo dạng HTML nội tại mà bắt buộc phải cấu hình thêm máy chủ web NGINX ngoài để hiển thị bảng nhật ký cho người dùng.
  • Hướng nghiên cứu tiếp:
    • Tiếp tục nghiên cứu, viết bổ sung Playbook để bao quát toàn bộ các tiêu chí còn lại của CIS Benchmark.
    • Mở rộng hỗ trợ tự động hóa bảo mật cho các hệ điều hành máy chủ khác (CentOS 8, RHEL, Ubuntu Server).
    • Tối ưu hóa cấu trúc mã nguồn Playbook nhằm nâng cao tốc độ thực thi khi quản lý số lượng nút mạng lớn.
    • Phát triển giao diện quản trị độc lập hoặc hoàn thiện các plugin tích hợp sâu hơn trên nền tảng quản trị tập trung.

Giá trị tham khảo

Báo cáo khóa luận là tài liệu tham khảo có giá trị chuyên môn đối với:

  • Sinh viên ngành An toàn thông tin, Mạng máy tính và Truyền thông: Cung cấp tài liệu tham khảo thực tế về việc áp dụng lý thuyết bảo mật hệ thống vào thực tiễn thông qua các tiêu chuẩn an toàn thông tin quốc tế (CIS Benchmark).
  • Quản trị viên hệ thống (SysAdmin) và Kỹ sư DevOps: Hướng dẫn chi tiết phương pháp xây dựng hạ tầng tự động hóa không tác tử với Ansible; cách thiết kế Playbook hai giai đoạn (kiểm toán - khắc phục); và phương pháp tích hợp công cụ quản trị cấu hình lên nền tảng Jenkins hoặc Ansible AWX.
  • Nội dung đáng tham khảo nhất: Chương 3 và Chương 4, đặc biệt là cấu trúc thiết kế Playbook kiểm tra gắn điều kiện when để tạo tệp log HTML, giải pháp liên kết nhãn Tags giữa hai pha xử lý và mô hình triển khai thực tế trên môi trường máy ảo đa dịch vụ.

Câu hỏi thường gặp

1. Tại sao nhóm tác giả lại lựa chọn Ansible làm công cụ cốt lõi thay vì Puppet, Chef hay SaltStack?
Ansible được lựa chọn nhờ cơ chế vận hành không cần cài đặt tác tử (agentless) trên các máy chủ đích, giúp giảm thiểu chiếm dụng tài nguyên hệ thống khi ở chế độ chờ do không có tiến trình daemon chạy ngầm. Ngoài ra, Ansible sử dụng giao thức bảo mật có sẵn SSH, viết bằng Python và cấu hình bằng cú pháp YAML rõ ràng, giúp quản trị viên dễ tiếp cận và vận hành hơn so với các công cụ yêu cầu cài đặt agent phức tạp.

2. Làm thế nào người dùng có thể chỉ định khắc phục riêng một lỗ hổng mà không cần chạy toàn bộ Playbook Hardening?
Trong quá trình kiểm tra, hệ thống gán một nhãn định danh viết tắt (Alias) tại cột Tags của file log HTML (ví dụ nhãn h21 cho mục SSH MaxSessions). Trong Playbook tự động hóa, mỗi tác vụ khắc phục đều được gán tags tương ứng. Người dùng chỉ cần sử dụng tính năng Tags to Run trên giao diện Jenkins hoặc Ansible AWX để chỉ định nhãn cần thiết lập.

3. Tại sao khi chạy Playbook tự động hóa cấu hình nhóm tác giả lại thiết lập gather_facts: no?
Quá trình thu thập thông tin phần cứng và hệ điều hành của Remote Host (gather_facts) đã được thực hiện ở bước kiểm tra cấu hình trước đó. Khi bước vào pha tự động hóa (Hardening), việc tắt chức năng này (gather_facts: no) giúp loại bỏ tác vụ thu thập dư thừa, từ đó tăng tốc độ thực thi của Playbook trên hệ thống máy chủ.

4. Hai nền tảng Jenkins và Ansible AWX có sự khác biệt cơ bản nào trong việc quản lý nhật ký kiểm tra?
Jenkins cho phép lưu trữ và xem trực tiếp nội dung các tệp log HTML ngay trong giao diện web thông qua tính năng Workspace của từng Project. Ngược lại, Ansible AWX không tích hợp sẵn tính năng hiển thị trực tiếp tệp HTML, do đó nhóm tác giả phải triển khai thêm một máy chủ NGINX Web Server có xác thực người dùng để phục vụ việc xem log tập trung.

5. Trong kịch bản thực nghiệm trên Jenkins, nhóm tác giả đã tích hợp công cụ nào để cảnh báo tự động?
Khóa luận đã tích hợp bot ứng dụng Telegram vào quy trình Build Project trên Jenkins. Khi một tác vụ kiểm tra hoặc tự động hóa cấu hình hoàn tất (như thực nghiệm trên máy chủ vps-openvz), hệ thống sẽ tự động gửi thông báo kết quả thực thi về kênh Telegram đã được cấu hình từ trước.

Kết luận

Khóa luận tốt nghiệp của sinh viên Huỳnh Minh Thái và Phạm Nguyễn Hữu Tân đã giải quyết thành công bài toán tự động hóa quản lý cấu hình và thắt chặt an ninh cho hệ điều hành CentOS 7 dựa trên tiêu chuẩn quốc tế CIS Benchmark. Bằng việc kết hợp công cụ Ansible với hai nền tảng quản trị tập trung Jenkins và Ansible AWX, đề tài đã xây dựng được giải pháp rà soát lỗ hổng trực quan, cho phép khắc phục linh hoạt các nguy cơ mất an toàn chỉ thông qua giao diện web. Đề tài đạt độ hoàn thiện kỹ thuật tốt, mang tính ứng dụng thực tiễn cao cho công tác quản trị hệ thống máy chủ trong môi trường doanh nghiệp.