Zoeken op website

Hoe u de modus voor één gebruiker met een wachtwoord kunt beveiligen in CentOS 7


In een van onze eerdere artikelen hebben we beschreven hoe je op CentOS 7 kunt opstarten in de modus voor één gebruiker. Het staat ook bekend als de “onderhoudsmodus”, waarbij Linux slechts een handvol services start om de basisfunctionaliteit mogelijk te maken een enkele gebruiker (meestal een superuser) voert bepaalde administratieve taken uit, zoals het gebruik van fsck om beschadigde bestandssystemen te repareren.

In de modus voor één gebruiker voert het systeem een shell voor één gebruiker uit waar u opdrachten kunt uitvoeren zonder inloggegevens (gebruikersnaam en wachtwoord). U komt rechtstreeks in een beperkte shell terecht met toegang tot het volledige bestandssysteem.

Dit is een enorm beveiligingslek, omdat het indringers directe toegang geeft tot een shell (en mogelijk toegang tot het hele bestandssysteem). Daarom is het belangrijk om de modus voor één gebruiker op CentOS 7 met een wachtwoord te beveiligen, zoals hieronder wordt uitgelegd.

In CentOS/RHEL 7 zijn de reddingsdoelen en nooddoelen (die ook modi voor één gebruiker zijn) wachtwoord standaard beschermd.

Wanneer u bijvoorbeeld het target (runlevel) via systemd probeert te wijzigen in rescue.target (ook >emergency.target), wordt u om een rootwachtwoord gevraagd, zoals weergegeven in de volgende schermafbeelding.

systemctl isolate rescue.target
OR
systemctl isolate emergency.target

Als een indringer echter fysieke toegang heeft tot een server, kan hij of zij een kernel selecteren om op te starten vanuit het grub-menu-item door op de e-toets te drukken om de eerste opstartoptie te bewerken.

Op de kernelregel die begint met “linux16“, kan hij/zij het argument ro veranderen in “rw init=/sysroot/bin/sh ” en start de modus voor één gebruiker op CentOS 7 zonder dat het systeem om een rootwachtwoord vraagt, zelfs als de regel SINGLE=/sbin/sushell is gewijzigd in SINGLE=/sbin/sulogin in het bestand /etc/sysconfig/init.

De enige manier om de modus voor één gebruiker in CentOS 7 met een wachtwoord te beveiligen, is door GRUB met een wachtwoord te beveiligen met behulp van de volgende instructies.

Hoe Grub met een wachtwoord te beveiligen in CentOS 7

Maak eerst een sterk gecodeerd wachtwoord met behulp van het hulpprogramma grub2-setpassword, zoals weergegeven.

grub2-setpassword

De Hash voor het wachtwoord wordt opgeslagen in /boot/grub2/user.cfg en gebruiker, d.w.z. ”root ” is gedefinieerd in / boot/grub2/grub.cfg bestand, kunt u het wachtwoord bekijken met de cat-opdracht, zoals weergegeven.

cat /boot/grub2/user.cfg

Open nu het bestand /boot/grub2/grub.cfg en zoek naar het opstartitem dat u met een wachtwoord wilt beveiligen. Het begint met menuentry. Zodra het item is gevonden, verwijdert u de parameter --unrestricted ervan.

Sla het bestand op en sluit het. Probeer nu het CentOS 7-systeem te opnieuw opstarten en wijzig de opstartgegevens door op de e-toets te drukken. U wordt gevraagd om de weergegeven inloggegevens op te geven.

Dat is het. Je hebt met succes je CentOS 7 GRUB-menu beveiligd met een wachtwoord.