Azure Linux là bản phân phối Linux nội bộ dành cho cơ sở hạ tầng đám mây cũng như các sản phẩm và dịch vụ biên của Microsoft.
Sau hơn 3 năm, CBL-Mariner, bản phân phối Linux mà Microsoft đã phát triển, đã trải qua một sự thay đổi lớn: Microsoft quyết định đổi tên bản phân phối CBL-Mariner thành Azure Linux.
Cần nhớ rằng trước đây, cái tên Azure Linux được liên kết với một bản dựng chuyên dụng cho Azure Kubernetes Service (AKS), trong khi nền tảng chung để tạo ra các bản phân phối được biết đến với tên gọi CBL-Mariner (Common Base Linux Mariner).
Gần đây, Microsoft đã đổi tên kho lưu trữ CBL-Mariner thành Azure Linux, thay đổi tên các tiện ích và cập nhật tài liệu Azure Linux để phản ánh những thay đổi này. Kết quả là, phiên bản đầu tiên của nền tảng với tên gọi mới, Azure Linux 2.0.20240301, đã được phát hành, bao gồm các bản vá lỗi và các lỗ hổng bảo mật tích lũy trong các phiên bản trước đó.
Mục tiêu chính của sự thay đổi này là thống nhất các giải pháp Microsoft Linux và đơn giản hóa việc bảo trì các hệ thống Linux được cập nhật cho nhiều mục đích khác nhau. Azure Linux được sử dụng trong cơ sở hạ tầng đám mây, hệ thống biên và nhiều dịch vụ của Microsoft, và các phát triển của dự án được phân phối theo giấy phép MIT.
Azure Linux được sử dụng làm nền tảng cho bản phân phối nhỏ WSLg , cung cấp các thành phần ngăn xếp đồ họa để chạy các ứng dụng GUI Linux trong môi trường dựa trên hệ thống con WSL2 (Windows Subsystem for Linux). WSLg mở rộng chức năng của mình bằng cách bao gồm các gói bổ sung như Weston Composite Server, XWayland, PulseAudio và FreeRDP.
Hệ thống xây dựng Azure Linux cho phép tạo ra các gói RPM riêng lẻ dựa trên các tệp SPEC và mã nguồn, cũng như các ảnh hệ thống nguyên khối được tạo bằng bộ công cụ rpm-ostree, được cập nhật một cách đồng bộ mà không cần chia thành các gói riêng biệt. Điều này cho phép hai mô hình phân phối cập nhật: cập nhật các gói riêng lẻ hoặc xây dựng lại và cập nhật toàn bộ ảnh hệ thống. Một kho lưu trữ gồm khoảng 3000 gói RPM được cấu hình sẵn có sẵn để tạo ảnh tùy chỉnh dựa trên các tệp cấu hình.
Nền tảng Linux cơ bản của Azure được thiết kế để tiêu thụ tài nguyên tối thiểu và có tốc độ tải cao. Nó áp dụng phương pháp "bảo mật tối đa theo mặc định" bằng cách triển khai một số cơ chế bảo mật bổ sung:
- Lọc cuộc gọi hệ thống: Nó sử dụng cơ chế seccomp để lọc các cuộc gọi hệ thống.
- Mã hóa phân vùng đĩa: Phân vùng đĩa được mã hóa để bảo vệ dữ liệu.
- Xác minh gói: Các gói được xác minh bằng chữ ký số để đảm bảo tính xác thực và toàn vẹn.
- Ngẫu nhiên hóa không gian địa chỉ: Việc ngẫu nhiên hóa không gian địa chỉ được áp dụng để làm cho các cuộc tấn công trở nên khó khăn hơn.
- Bảo vệ chống lại các cuộc tấn công cụ thể: Bảo vệ chống lại các cuộc tấn công symlink, mmap, /dev/mem và /dev/kmem.
- Chế độ chỉ đọc và cấm thực thi: Chế độ chỉ đọc được thiết lập và việc thực thi mã trong các vùng bộ nhớ quan trọng bị cấm.
- Vô hiệu hóa tải mô-đun hạt nhân: Bạn có thể tắt tính năng tải mô-đun hạt nhân sau khi khởi tạo hệ thống.
- Lọc gói mạng: Iptables được sử dụng để lọc các gói mạng và cải thiện bảo mật mạng.
- Bảo vệ chống tràn và các vấn đề định dạng chuỗi: Các chế độ bảo vệ chống tràn ngăn xếp, tràn bộ đệm và các vấn đề định dạng chuỗi được bật trong quá trình biên dịch.
Hệ thống sử dụng systemd để quản lý các dịch vụ và khởi động , đồng thời cung cấp trình quản lý gói RPM và DNF. Máy chủ SSH không được bật theo mặc định. Trình cài đặt cung cấp các tùy chọn ở cả chế độ văn bản và đồ họa, bao gồm chọn bộ gói đầy đủ hoặc cơ bản, cấu hình phân vùng đĩa, đặt tên máy chủ và tạo người dùng.
Ngoài ra, Microsoft còn giới thiệu Azure Sphere 24.03, một nền tảng được thiết kế cho các thiết bị IoT dựa trên bộ vi điều khiển tiết kiệm năng lượng. Nó kết hợp hệ thống con Pluton, cung cấp phần cứng để mã hóa, lưu trữ khóa riêng và các hoạt động mã hóa phức tạp, bao gồm bộ xử lý chuyên dụng, công cụ mã hóa, trình tạo số ngẫu nhiên phần cứng và lưu trữ khóa riêng biệt.
Cuối cùng, nếu bạn muốn tìm hiểu thêm , bạn có thể xem chi tiết tại liên kết sau. Điều đáng chú ý là các ảnh ISO có khả năng khởi động đều có sẵn cho kiến trúc x86_64 và aarch64, với một bộ gói cốt lõi tiêu chuẩn đóng vai trò là nền tảng chung để tạo container, môi trường máy chủ và dịch vụ đám mây.