Danh mục

Xây dựng hệ thống tích hợp liên tục nội bộ sử dụng công cụ nguồn mở Jenkins và Gitlab

Số trang: 11      Loại file: pdf      Dung lượng: 849.69 KB      Lượt xem: 95      Lượt tải: 0    
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài báo "Xây dựng hệ thống tích hợp liên tục nội bộ sử dụng công cụ nguồn mở Jenkins và Gitlab", đề xuất và triển khai một hệ thống “tích hợp liên tục” nội bộ, dựa trên hai công cụ mã nguồn mở Jenkins và Gitlab, có tính đến yếu tố đảm bảo an toàn cho các máy chủ trong hệ thống. Trong hệ thống đề xuất, chúng tôi sử dụng kết hợp chức năng của firewall và chức năng của reverse proxy để bảo vệ chính Jenkins server và giảm thiểu rủi ro cho server này trước các cuộc tấn công vào lỗ hổng CVE-2021-44228, có thể tồn tại trong các plugin của Jenkins. Mời các bạn cùng tham khảo!
Nội dung trích xuất từ tài liệu:
Xây dựng hệ thống tích hợp liên tục nội bộ sử dụng công cụ nguồn mở Jenkins và Gitlab 12 N.K.Tuấn, N.T.Tâm, T.H.M.Đăng, H.P.Cường / Tạp chí Khoa học và Công nghệ Đại học Duy Tân 3(58) (2023) 12-22 3(58) (2023) 12-22 Xây dựng hệ thống tích hợp liên tục nội bộ sử dụng công cụ nguồn mở Jenkins và Gitlab Building an internal continuous integration system using two open source tools JENKINS and GITLAB Nguyễn Kim Tuấn, Nguyễn Trí Tâm*, Trần Hữu Minh Đăng, Hoàng Phi Cường Nguyen Kim Tuan, Nguyen Tri Tam*, Tran Huu Minh Dang, Hoang Phi Cuong Trường Khoa học máy tính, Đại học Duy Tân, Đà Nẵng, Việt Nam School of Computer Science, Duy Tan University, 550000, Da Nang, Viet Nam (Ngày nhận bài: 05/4/2023, ngày phản biện xong: 22/4/2023, ngày chấp nhận đăng: 13/5/2023) Tóm tắt Trong bài báo này, chúng tôi đề xuất và triển khai một hệ thống “tích hợp liên tục” nội bộ, dựa trên hai công cụ mã nguồn mở Jenkins và Gitlab, có tính đến yếu tố đảm bảo an toàn cho các máy chủ trong hệ thống. Trong hệ thống đề xuất, chúng tôi sử dụng kết hợp chức năng của firewall và chức năng của reverse proxy để bảo vệ chính Jenkins server và giảm thiểu rủi ro cho server này trước các cuộc tấn công vào lỗ hổng CVE-2021-44228, có thể tồn tại trong các plugin của Jenkins. Hệ thống này có tính thực tế cao, và nó có thể được áp dụng để “ngay lập tức” bảo vệ các server dịch vụ khi mà lỗ hổng trong nó đã được phát hiện nhưng bản vá lỗi tương ứng chưa được tìm thấy hoặc điều kiện cập nhật bản vá chưa cho phép. Từ khóa: Tích hợp liên tục; chuyển giao liên tục; tường lửa bảo mật; phần mềm nguồn mở; CVE-2021-44228. Abstract In this paper, we propose and implement an internal 'continuous integration' system, based on two open-source tools Jenkins and Gitlab, taking into account the safety factor for servers in the system. In the proposed system, we use a combination of firewall function and reverse proxy function to protect Jenkins server itself and reduce the risk of this server against attacks on vulnerability CVE-2021-44228, may exist in plugins of Jenkins. This system is highly practical, and it can be applied to 'immediately' protect service servers when a vulnerability in it has been discovered but the corresponding patch has not been found or the condition to update the patch is not allowed yet. Keywords: Continuous Integration; Continuous Delivery; CVE-2021-44228; Firewalls; Jenkin; Gitlab; 1. Giới thiệu DevOps, một phương pháp phát triển phần Tích hợp liên tục (CI: Continuous mềm hiện đại, có nhiều ưu việt so với phương Integration) và Phân phối liên tục (CD: pháp phát triển phần mềm truyền thống và được Continuous Delivery) là hai quy trình cốt lõi triển khai ở hầu hết các doanh nghiệp, các trong phương pháp phát triển phần mềm nhóm phát triển phần mềm hiện nay. Quy trình  Tác giả liên hệ: Nguyễn Trí Tâm, Khoa Kỹ thuật Mạng máy tính & Truyền thông, Trường Khoa học Máy tính, Đại học Duy Tân, Đà Nẵng, Việt Nam Email: nguyentritam@dtu.edu.vn N.K.Tuấn, N.T.Tâm, T.H.M.Đăng, H.P.Cường / Tạp chí Khoa học và Công nghệ Đại học Duy Tân 3(58) (2023) 12-22 13 CI và quy trình CD được xem là hai mặt của đích. Mối nguy này là tiềm ẩn, vì các server này một vấn đề, nhưng chúng được sử dụng kết hợp cho dù được đặt trên không gian Internet hoặc với nhau để làm cho quá trình phát triển một bên trong mạng nội bộ đều phải có tính chia sẻ, sản phẩm phần mềm, từ lúc một phiên bản mới tính sẵn sàng và tính đa kết nối đồng thời. của mã nguồn được đưa ra (commit) đến khi Ngoài ra, kẻ tấn công không chỉ tấn công sản phẩm mới nhất được triển khai (deploy), trở vào chính các CI server hay Repository server nên đơn giản, nhanh chóng và hiệu quả hơn. mà còn tìm cách khai thác các lỗ hổng bảo mật Thông tin chi tiết, đầy đủ, liên quan đến có thể tồn tại trong các phần mềm được sử DevOps, CI và CD, không thuộc phạm vi của dụng để xây dựng các server này. Như vậy, nghiên cứu này, nên chúng tôi không trình bày đảm bảo an toàn cho CI server và Repository chi tiết ở đây, nó có thể được tìm thấy ở [1-3]. server là cần thiết, có nhiều kỹ thuật và công cụ Hạ tầng mạng máy tính, để triển khai các dịch khác nhau có thể được sử dụng cho nhiệm vụ vụ liên quan, là cần thiết để một doanh nghiệp, này, chúng tôi chọn cách sử dụng firewall cho hoặc một nhóm, phát triển phần mềm có thể hệ thống được đề xuất trong bài báo này. triển khai các quy trình CI, CD một cách tự động Trong hệ thống của chúng tôi, firewall vào chu kỳ phát triển phần mềm theo hướng không những thực hiện nhiệm vụ bảo vệ chính tiếp cận DevOps của họ. Các máy chủ thực hiện CI server (sử dụng Jenkins) và Repository chức năng CI server và CD server đóng vai trò server (sử dụng Gitlab) mà còn có thể ngăn quan trọng trong hạ tầng mạng này, vì thế, chặn các cuộc tấn công khai thác lỗ hổng bảo chúng cần được bảo vệ để có khả năng chống lại mật CVE-2021-44228 tồn tại trong một số các cuộc tấn công vào chính nó, hoặc vào dịch plugin của công cụ mã nguồn mở Jenkins. vụ đang được triển khai trên nó. Hạ tầng mạng Trong trường hợp này, chúng tôi muốn giới này có thể triển khai trên không gian Internet thiệu một cách khác để “bịt” một lỗ hổng tồn (dựa trên các dịch vụ Cloud) hoặc trong mạng tại trong một server dịch ...

Tài liệu được xem nhiều:

Tài liệu liên quan: