Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Azure Linux to Microsoft utrzymywana dystrybucja systemu Linux oparta na ekosystemie Fedora i zoptymalizowana pod kątem Azure. W tym artykule wyjaśniono, jak Azure Linux jest ustrukturyzowany, co zawiera domyślnie i gdzie celowo rysuje granice.
Note
Azure Linux 4.0 jest teraz w wersji zapoznawczej i służy wyłącznie do celów oceny i testowania. Nie nadaje się do użytku produkcyjnego.
Jak Azure Linux odnosi się do Fedora
Azure Linux pochodzi z Fedora i korzysta z tego samego ekosystemu pakietów opartych na rpm. Otrzymujesz znajome dnf5, narzędzia do budowania Fedory (mock, fedpkg, koji, kiwi) oraz nowoczesne toolchainy kompilatorów — wszystko to śledzone bezpośrednio z upstream Fedory. Na tym fundamencie Microsoft dodaje mechanizmy wzmacniania zabezpieczeń specyficzne dla platformy Azure, niestandardowe jądro oraz zarządzany cykl życia dostosowany do obciążeń chmurowych.
Jądro jest dostarczane w wersji 6.18 LTS, rozszerzone o sterowniki gościa dla Hyper-V, optymalizację wydajności dla platformy Azure oraz utwardzanie zabezpieczeń zweryfikowane dla jednostek SKU maszyn wirtualnych platformy Azure.
Architektura warstwowa
Azure Linux używa modelu warstwowego. Każda warstwa opiera się na warstwie znajdującej się pod nią — od sprzętu i oprogramowania układowego u podstaw po obciążenia robocze na samej górze.
Warstwa jądra
Niestandardowe jądro systemu Azure Linux obejmuje sterowniki gościa Hyper-V, poprawki służące utwardzaniu zabezpieczeń oraz optymalizacje wydajności dostosowane do infrastruktury platformy Azure. Można wybierać między jądrami Long-Term Support (LTS), zapewniającymi większą stabilność, a jądrami Hardware Enablement (HWE), które zapewniają obsługę nowego sprzętu i procesorów graficznych (GPU). Szczegółowe informacje zawiera sekcja Harmonogram wydań i cykl życia.
Warstwa podstawowego systemu operacyjnego
Ta warstwa zapewnia minimalny główny system plików: systemd do zarządzania usługami, glibc jako środowiska uruchomieniowego języka C i biblioteki OpenSSL na potrzeby kryptografii. Są to składniki warstwy 1, co oznacza, że są blokowane przez okres istnienia głównej wersji i otrzymują tylko backporty zabezpieczeń. Dzięki temu interfejs binarny aplikacji (ABI) jest stabilny i przewidywalny.
Warstwa pakietów przestrzeni użytkownika
Środowiska uruchomieniowe języka (Python, Go, Rust, Node.js), narzędzia kontenera i zależności aplikacji działają tutaj. Pakiety warstwy 1 są zablokowane w celu zapewnienia stabilności. Pakiety poziomu 2 są aktualizowane w przewidywalnym cyklu. Aby uzyskać więcej informacji, zobacz Cykl wydania i cykl życia.
Warstwa obciążenia roboczego
Usługi i aplikacje Azure działają tutaj. Azure Linux zapewnia tę samą bazę systemu operacyjnego, ten sam zestaw pakietów i takie samo działanie niezależnie od tego, czy działa w usłudze AKS, na maszynach wirtualnych platformy Azure, czy w obrazach kontenerowych.
Zakres platformy
system Azure Linux jest przeznaczony do obsługi obciążeń Azure w chmurze. Mimo że Azure Linux jest oprogramowaniem open source, zobowiązania firmy Microsoft dotyczące pomocy technicznej i cyklu życia mają zastosowanie wyłącznie do scenariuszy platformy Azure.
W poniższej tabeli opisano, co to jest i nie jest obsługiwane w systemie Azure Linux:
| Area | Supported | Niewspierane |
|---|---|---|
| Architektury | x86-64 (minimalna wersja 2), ARMv8 (64-bitowa) | Architektury 32-bitowe |
| Środowiska | maszyny wirtualne platformy Azure, AKS, obrazy kontenerów | obrazy ISO, lokalnie, środowiska wielochmurowe, IoT, urządzenia brzegowe |
| Interfejs użytkownika | Konsola oparta na tekście, SSH | Graficzne środowiska pulpitu, instalator graficznego interfejsu użytkownika |
| Wirtualizacja | Goście KVM, Hyper-V | Xen |
| Sprzęt peryferyjny | pamięć masowa dołączona do platformy Azure, sieć, procesory GPU | Bluetooth, Wi-Fi, drukarki, audio/wideo, robotyka |
| Zaufana platforma | Moduł TPM 2.0 | TPM 1.x |
| Obsługa języków | Dostępna obsługa globalnych ustawień regionalnych | Nie wszystkie pakiety językowe są uwzględniane w obrazie podstawowym |
Każdy obraz systemu Azure Linux zawiera waagent i cloud-init. Te składniki są wymagane do integracji Azure i muszą być zawsze obecne.
Struktura repozytorium
Azure system Linux dostarcza pakiety w kilku oddzielnych repozytoriach. Wiedza o tym, z którego repozytorium pochodzi pakiet, pomaga zrozumieć, czy jest on wspierany, co jest dostępne od razu oraz co wymaga jawnego włączenia. Aby uzyskać informacje na temat codziennego zarządzania pakietami, zobacz Zarządzanie pakietami.
Wartości domyślne sieci
System Azure Linux jest wyposażony w stos sieciowy dostosowany do maszyn wirtualnych Azure, węzłów AKS i obciążeń kontenerowych. Większość obciążeń może używać wartości domyślnych bez zmian.
W poniższej tabeli przedstawiono podsumowanie domyślnych składników sieciowych w systemie Azure Linux oraz alternatywnych, które są dostępne, jeśli trzeba zastąpić wartości domyślne dla określonego scenariusza:
| Składnik | Wartość domyślna | Alternatywne rozwiązanie | Notatki |
|---|---|---|---|
| Menedżer sieci | systemd‑networkd + cloud-init | NetworkManager (dostępny, a nie domyślny) | Systemd-networkd jest domyślnym ustawieniem dla scenariuszy maszyn wirtualnych i kontenerów Azure. |
| Zapora | zapora | N/A | Domyślnie włączone z zasadą blokowania ruchu przychodzącego i zezwalania na ruch wychodzący. |
| Zaplecze zapory | nftables | iptables (starsza wersja, dostępna) | nftables jest nowoczesnym zamiennikiem iptables. Obsługa starszej wersji iptables jest dostępna, ale nie jest domyślna. |
| Protokół IPv6 | Włączone i wzmocnione | N/A | Ścisłe wzmacnianie zabezpieczeń sysctl stosowane zarówno dla protokołów IPv4, jak i IPv6. |
Domyślne ustawienia pamięci
Domyślne ustawienia magazynu w Azure Linux są zoptymalizowane pod kątem dysków dołączonych do platformy Azure oraz hiperwizora Hyper-V stanowiącego podstawę każdej maszyny wirtualnej Azure. System plików, program rozruchowy i źródło zegara są dobierane pod kątem przewidywalnej wydajności i zgodności z funkcjami platformy Azure, takimi jak migawki i dyski zarządzane.
Poniższa tabela podsumowuje domyślne ustawienia magazynu danych w systemie Azure Linux oraz dostępne alternatywy, jeśli w konkretnym scenariuszu musisz zmienić ustawienia domyślne:
| Setting | Wartość domyślna | Alternatives |
|---|---|---|
| System plików | ext4 | xfs, btrfs |
| Rozruch | program rozruchowy GRUB2 | N/A |
| Zegar | Źródło zegara PTP Hyper‑V | N/A |
| NvMe | Limit czasu dostosowany do dołączonej pamięci masowej platformy Azure | N/A |
Architektura zabezpieczeń
Azure linux jest wzmocniony w każdej warstwie, od jądra przez łańcuch dostaw. W poniższych sekcjach opisano mechanizmy kontroli zabezpieczeń, które są domyślnie włączone. Aby uzyskać więcej informacji, zobacz Zabezpieczenia i zgodność .
Obowiązkowa kontrola dostępu
Przymusowa kontrola dostępu (MAC) ogranicza procesy do uprawnień dostępu, których rzeczywiście potrzebują, nawet gdy są uruchamiane jako użytkownik root.
Wersja zapoznawcza Azure Linux 4.0 włącza SELinux w trybie wymuszania jako mechanizm obowiązkowej kontroli dostępu (MAC).
Bezpieczny rozruch
Secure Boot zapewnia, że uruchamiane są tylko podpisane programy rozruchowe i jądra. Blokada jądra chroni uruchomione jądro i wyłącza ładowanie niezaufanych modułów jądra w czasie wykonywania.
Note
Azure system Linux 4.0 jest teraz w wersji preview a jego składniki nie zostały jeszcze podpisane na potrzeby bezpiecznego rozruchu.
Wzmacnianie zabezpieczeń jądra i systemu
Jądro i przestrzeń użytkownika są budowane z użyciem mechanizmów zabezpieczających, które utrudniają tworzenie exploitów, a w razie ich powodzenia ułatwiają ograniczenie ich skutków.
Poniższa tabela zawiera podsumowanie możliwości wzmacniania zabezpieczeń jądra i systemu w systemie Azure Linux:
| Capability | Description |
|---|---|
| ASLR | Włączono silną randomizację układu przestrzeni adresowej. |
| Ochrona stosu | Zabezpieczenia stosu na poziomie kompilatora zastosowano we wszystkich pakietach. |
| Ograniczenia wywołań systemowych | Domyślne profile seccomp i filtrowanie wywołań systemowych. |
| Minimalny obraz podstawowy | Ograniczenie powierzchni ataku dzięki minimalnemu zestawowi pakietów. |
Cryptography
Azure Linux centralizuje zasady kryptograficzne, dzięki czemu algorytmy i rozmiary kluczy pozostają spójne w systemach OpenSSL, GnuTLS, NSS i OpenSSH.
Poniższa tabela zawiera podsumowanie ustawień kryptografii w systemie Azure Linux:
| Setting | Value |
|---|---|
| FIPS | Certyfikacja FIPS 140-3 jest obowiązkowa. |
| Zasady kryptograficzne | Polityki kryptograficzne Fedory przyjęto, aby zapewnić spójny dobór algorytmów. |
| Post-quantum | Planowane jest wdrożenie ML‑KEM, zgodnie z harmonogramem rozwoju Fedory i RHEL. |
Rejestrowanie i inspekcja
Poniższa tabela zawiera podsumowanie ustawień rejestrowania i inspekcji w systemie Azure Linux:
| Setting | Value |
|---|---|
| Demon inspekcji | Włączono auditd. |
| Przechowywanie dziennika | Trwałe przechowywanie dzienników journald. |
Treści powiązane
- Aby dowiedzieć się więcej o systemie Azure Linux, zobacz omówienie Azure Linux.
- Aby zaplanować strategię aktualizacji, zapoznaj się z harmonogramem wydań i cyklem życia.