Udostępnij przez


Utwardzanie obrazu systemu Linux w celu usunięcia użytkowników sudo

Dotyczy: ✔️ Obrazy systemu Linux

Ten "poradnik" pokazuje kroki usuwania użytkowników sudo z obrazu systemu Linux i wdrażania poufnej maszyny wirtualnej (confidential VM) w Azure.

Celem tego artykułu jest utworzenie obrazu systemu Linux bez administratora na potrzeby poufnych wdrożeń maszyn wirtualnych. Usunięcie administratora gościa ma ogromną wartość zabezpieczeń, zmniejsza uprawnienia administratora w systemie operacyjnym.

Opis różnych typów użytkowników w systemach Unix/Linux:

  • Administrator (sudoer): regularni użytkownicy z dodatkowymi uprawnieniami. Ci użytkownicy mogą wykonywać pewne zadania modyfikujące konfiguracje systemu.

  • Zwykły użytkownik: regularni użytkownicy są użytkownikami niebędącymi administratorami. Nie mają uprawnień do modyfikowania konfiguracji systemu ani instalowania oprogramowania dla całego systemu.

W kontekście obrazów systemu Linux bez możliwości administracyjnych celem jest wdrożenie systemów bez użytkowników z uprawnieniami sudo.

Uwaga

Sama konfiguracja nie zapewnia zapobiegania dodawaniu użytkowników do grupy sudo. Każda usługa z uprawnieniami root lub sudo może eskalować uprawnienia.

Wymagania wstępne

Usuwanie użytkowników sudo i przygotowywanie uogólnionego obrazu systemu Linux

Proponowane rozwiązanie powoduje wyświetlenie obrazu systemu Linux bez użytkowników sudo.

Kroki tworzenia uogólnionego obrazu, który usuwa użytkowników sudo, są następujące:

  1. Pobierz obraz Ubuntu. Tworzenie obrazu niestandardowego dla poufnej maszyny wirtualnej Azure

  2. Zainstaluj obraz.

    Istnieje kilka sposobów na wykonanie tego, dołącz dysk. W przykładzie użyto urządzenia pętli do zamontowania obrazu. Może to być podłączony dysk lub urządzenie pętli Zamontuj obraz.

    $imagedevice jest partycją głównego systemu plików na urządzeniu, które zawiera obraz.

    mount /dev/$imagedevice /mnt/dev/$imagedevice
    

    Ten proces jest często używany do uzyskiwania dostępu do obrazów dysków i pracy z tym obrazami. Tutaj jest używane do usuwania użytkowników z uprawnieniami sudo na obrazie Ubuntu.

  3. Chrootuj się do systemu plików vhd, aby uruchomić następujące polecenie, które wyświetla listę użytkowników w grupie sudo.

    sudo chroot /mnt/dev/$imagedevice/ getent group sudo
    
  4. Zweryfikuj krok 3, wyświetlając listę użytkowników w katalogu głównym sudoers.d i w plikach /etc/passwd, /etc/shadow. Jeśli istnieją użytkownicy z uprawnieniami sudo, są one wymienione tutaj,

    sudo ls /mnt/dev/$imagedevice/etc/sudoers.d
    
    sudo cat /mnt/dev/$imagedevice/etc/passwd
    
    sudo cat /mnt/dev/$imagedevice/etc/shadow
    
  5. Usuń uprawnienia sudo: użyj polecenia deluser, aby usunąć uprawnienia sudo dla użytkownika,

    sudo chroot /mnt/dev/$imagedevice/ deluser -r [sudo_username]
    
  6. Powtórz krok 4, aby sprawdzić, czy użytkownik nie ma uprawnień sudo na dysku vhd.

  7. Odmontuj obraz.

    umount /mnt/dev/$imagedevice
    

Przygotowany obraz nie zawiera żadnych użytkowników sudo, których można użyć do tworzenia poufnych maszyn wirtualnych.

Wykonaj kroki Tworzenia obrazu niestandardowego dla poufnej maszyny wirtualnej platformy Azure, aby utworzyć poufną maszynę wirtualną platformy Azure. Użyj obrazu bez dostępu administratora w kroku 4 sekcji Tworzenie obrazu niestandardowego dla poufnej maszyny wirtualnej platformy Azure, wykonując polecenie azcopy, a pozostałe kroki pozostają bez zmian.