Saltstack là gì

Configuration Management [CM] là gì? Tại sao phải dùng tới CM? Hạn chế của nó cũng như ứng dụng trong Cloud Computing. Chúng ta sẽ cùng trả lời các câu hỏi trên trong bài viết về Configuration Management trước khi đi vào loạt bài chi tiết về công cụ quản lý cấu hình Ansible.

Configuration Management là gì?

Configuration management [CM] là công cụ thực hiện việc thay đổi trạng thái hiện tại của hệ thống sang trạng thái được xác định trước. Hay nói cách khác, là công cụ hỗ trợ, cấu hình, cài đặt hệ thống một cách tự động.

Có rất nhiều công cụ như Ansible, Chef, Puppet, Saltstack … Loạt bài viết này sẽ không tập trung vào việc so sánh các công cụ CM mà chỉ hướng dẫn bạn cách cài đặt và sử dụng Ansible.

Tại sao lại cần Configuration management?

Ví dụ một ngày sếp bạn vào và bảo bạn triển khai 1 hệ thống LAMP stack gồm 2 server, 1 web và 1 database. OK không vấn đề gì, chỉ cần yum/apt, sửa config apache, php, mysql,.. bạn hoàn thành công việc.

Rồi một ngày khác sếp bạn yêu cầu bạn mở rộng triển khai sang n webserver, m database với cấu hình keepalive, HA, replication database loằng ngoằng… “Anh đùa em?”. Không !! Nhưng bạn vẫn hoàn thành công việc.

Lại một ngày khác, sếp bạn vào và nói: “Chú dựng cho anh 1 hệ thống tương tự như vậy nữa nhé. Số lượng server tăng gấp đôi”. Và bạn đã khóc

Giờ thì bạn đã hiểu tại sao lại có Ansible, Saltstack rồi chứ … 😀

Lợi ích của configuration management

  • Giúp thực hiện công việc triển khai hệ thống đơn giản và thuận tiện.
  • Hạn chế những công đoạn lặp lại, tiết kiệm thời gian
  • Có thể sử dụng lại cho những hệ thống tương tự.
  • Linh hoạt, mềm dẻo trong quản lý.

So sánh với shell script [Linux]

Thế shell script thì sao ? Tôi vẫn dùng shell script để triển khai hệ thống. Có vấn đề gì đâu ?

Đúng, shell script vẫn tốt. Nhưng hãy tưởng tượng bạn có 10 server, bạn phải download script trên từng server rồi thực thi script. Tiếp tục, ví dụ 10 server đó của bạn có Ubuntu, CentOS, thì chí ít bạn lại phải có 2 version shell script, như apt >< yum, gói Apache trên Ubuntu là apache2, trên CentOS là httpd… Rồi thì version hệ điều hành khác nhau, như Ubuntu 12.04, 14.04, CentOS thì 5, 6, 7. Bạn cần chục version khác nhau của shell script? [hoặc bạn phải if/else mệt nghỉ]. Việc maintaince code rất khó khăn.

Với những công cụ như Ansible, Chef… hỗ trợ sẵn việc xác định distro, phiên bản cũng như sử dụng những cấu trúc linh hoạt, dễ đọc như yaml, jinja2 giúp đỡ rất nhiều cho người quản trị để xây dựng kịch bản hệ thống, maintaince code cũng như tái sử dụng.

Có hạn chế gì không ?

Mặc dù rất tốt nhưng CM không phải là vạn năng. Nếu không phải triển khai 1 hệ thống đủ lớn, hoặc chỉ phải thực hiện trên 1, 2 server thì thực sự không cần thiết dùng đến CM. Viết ra kịch bản có khi tiêu tốn nhiều thời gian hơn việc bạn thực hiện nó bằng lệnh.

Trong những tình huống như hệ thống gặp sự cố hay troubleshooting thì CM không có nhiều tác dụng. Đó là những tình huống cần sự cẩn thận, tránh những sai sót không đáng có.

CM với Cloud Computing

Cloud computing mang đến cho bạn khả năng tạo các server ảo hóa một cách nhanh chóng. Chỉ 1 nút bấm, bạn đã có 10 đến hàng trăm cloud server sẵn sàng phục vụ. Với tốc độ phát triển chóng mặt cùng với cạnh tranh quyết liệt trong việc cung cấp dịch vụ trên Internet, những yêu cầu của sếp như ví dụ trên sẽ xảy ra thường xuyên với những deadline ngắn hạn. Là nhà cung cấp dịch vụ trên nền điện toán đám mây, VCCloud hiểu rằng việc tự động hóa các thao tác cài đặt, cấu hình, triển khai và mở rộng với CM sẽ giúp tiết kiệm rất nhiều thời gian và tiền bạc.

Trong các bài tới, tôi và bạn sẽ cùng nhau tìm hiểu về một công cụ quản lý cấu hình khá phổ biến hiện nay: Ansible – các đặc điểm, cài đặt cũng như cấu trúc sử dụng.

Via blog.vccloud.vn

SaltStack là một phần mềm mã nguồn mở nổi tiếng, để quản lý cấu hình và là công cụ để điều khiển từ xa các ứng dụng trên máy chủ doanh nghiệp, với mô hình client-server. Thông qua SaltStack, một máy chủ Server ra lệnh [máy master] có thể dễ dàng điều khiển từ xa cũng như cấu hình hàng loạt máy chủ client [máy minion] bên dưới.

Nhưng mới đây, Công ty cổ phần An ninh mạng Việt Nam vừa phát đi cảnh báo về một lỗ hổng bảo mật có tên SaltStack RCE trong phần mềm mã nguồn mở này. Lỗ hổng này có thể gây ra các tác động nghiêm trọng đến toàn bộ hệ thống công nghệ của doanh nghiệp khi cho phép hacker thực hiện từ xa các mã tùy ý trên những máy chủ trong các trung tâm dữ liệu hoặc các nền tảng điện toán đám mây.

Mức độ nghiêm trọng của SaltStack RCE nằm ở chỗ, nó có thể bị khai thác để tác động đến toàn bộ các máy chủ trong hệ thống, thay vì chỉ tác động đến các máy chủ có tồn tại lỗ hổng. Điều này cho thấy mức độ tác động của nó lớn gấp nhiều lần so với các lỗ hổng trước đây.

Để khai thác thành công lỗ hổng này, hacker sẽ kết hợp với 2 lỗ hổng khác của SaltStack [lỗ hổng CVE-2020-11651 và CVE-2020-11652, vốn đã tồn tại trong các phiên bản 3000.1 trở về trước] để can thiệp vào quá trình trao đổi dữ liệu giữa máy chủ master và máy chủ minion.

Dựa trên việc khai thác với hai lỗ hổng này, hacker có thể vượt qua các lớp xác thực [dựa vào CVE-2020-11651], đồng thời kiểm soát trái phép các thư mục [dựa trên lỗ hổng CVE-2020-11652], chiếm toàn quyền điều khiển với không chỉ máy chủ master mà còn toàn bộ máy chủ minion trong hệ thống. Từ đó hacker có thể cài đặt trái phép các phần mềm độc hại, thậm chí cả phần mềm gián điệp hoặc mã độc tống tiền dữ liệu vào trong hệ thống của doanh nghiệp.

Với mức độ nguy hiểm và quy mô ảnh hưởng nói trên, SaltStack RCE được đánh giá cực kỳ nghiêm trọng và được hệ thống đánh giá lỗ hổng Common Vulnerability Scoring System [CVSS] của Hội đồng tư vấn Hạ tầng thuộc Bộ An ninh Nội địa Mỹ chấm điểm 9,8/10.

Lỗ hổng này được những nhà nghiên cứu tại F-Secure phát hiện vào đầu tháng 3 và công bố vào đầu tháng 5 năm 2020, ngay sau khi SaltStack phát hành và khuyến khích người dùng cập nhật bản vá mới. Một bản vá đặc biệt dành cho phiên bản SaltStack Salt trước bản 2019.2.4 cũng đã được tung ra.

Các nền tảng máy chủ phổ biến có thể bị đe dọa bởi lỗ hổng này.

Theo ông Trương Đức Lượng – Tổng giám đốc công ty cổ phần an ninh mạng Việt nam cho biết "Hiện nay có rất nhiều doanh nghiệp lớn trên thế giới đang sử dụng SaltStack để hỗ trợ quản lý máy chủ như DigiCert Inc., LineageOS… Tại Việt Nam, rất nhiều doanh nghiệp cung cấp dịch vụ, hạ tầng CNTT cũng đang đang sử dụng phần mềm mở này. Nếu hạ tầng của các doanh nghiệp này bị tấn công có thể dẫn đến các máy chủ, dữ liệu của các khách hàng bị rò rỉ, gây ảnh hưởng hàng trăm nghìn doanh nghiệp".

Chuyên gia VSEC khuyến nghị người dùng cài đặt chế độ tự động cập nhật cho SaltStack để đảm bảo hệ thống luôn sử dụng những bản vá bảo mật mới nhất. Thắt chặt quyền truy cập vào máy chủ master, thu hẹp phạm vi những thiết bị có thể truy cập vào các cổng mặc định 4505 và 4506 của SaltStack.

SaltStack lets them chip in with operations such as provisioning of new servers.

Kết quả: 7, Thời gian: 0.0218

Video liên quan

Chủ Đề