Det första och mest avgörande steget mot att säkra Linux-servrar och -system är att förhindra illvilliga parter från onödig åtkomst. Korrekt kontroll av användarkonton är ett av många sätt att förbättra ditt systems säkerhet.
Ett förstärkt användarkonto förhindrar systemet från de vanligaste attackmetoderna för horisontell eller vertikal privilegieskalering. Därför är du som Linux-systemadministratör också ansvarig för att skydda din server via effektiva säkerhetstekniker.
Den här artikeln täcker några grundläggande säkerhetskontroller för användarkonton för att förhindra onödig åtkomst och åtgärda möjliga kryphål för systemkompromettering.
1. Begränsa åtkomst till rotkonto
Som standard ställer varje Linux-systeminstallation upp ett root-konto som är tillgängligt för alla utifrån via SSH. Åtkomst till root-kontot via SSH eller åtkomst för flera användare inuti systemet kan dock orsaka avvisningsproblem.
Till exempel kan en angripare brute force logga in som en root-användare och få tillgång till systemet.
För att begränsa onödig root-åtkomst från insidan/utsidan av Linux-systemet kan du:
- Lägg till ytterligare en användare och ge root-privilegier till den
- Inaktivera SSH-rotinloggning
Skapa en ny superanvändare
Till ge sudo- eller root-behörigheter till ett vanligt Linux-användarkonto, lägg till användaren i sudo grupp enligt följande:
usermod -aG sudo användarnamn
Byt nu till användarkontot med kommandot su och verifiera dess root-privilegier genom att utfärda ett kommando som endast är tillgängligt för root-användaren:
su - användarnamn
sudo systemctl starta om sshd
Att aktivera sudo-behörigheter ger några bra säkerhetsfördelar, till exempel:
- Du behöver inte dela root-lösenord med vanliga användare.
- Det hjälper dig att kontrollera alla kommandon som körs av vanliga användare, vilket innebär att den lagrar vem, när och var detaljer om kommandoexekveringen i /var/log/secure fil.
- Dessutom kan du redigera /etc/sudoers fil för att begränsa superanvändarbehörigheterna för vanliga användare. Du kan använda kommandot su -l för att kontrollera de aktuella rotbehörigheterna för en användare.
Inaktivera Root SSH-inloggning
För att inaktivera root-SSH-åtkomst på ditt system, öppna först huvudkonfigurationsfilen.
sudo vim /etc/ssh/sshd_config
Avkommentera nu följande rad för att ställa in rotinloggningsbehörigheter till Nej:
PermitRootLogin nr
Spara filen och starta om sshd tjänst genom att skriva:
sudo systemctl starta om sshd
Nu, när du försöker SSH in i systemet som en root-användare, kommer du att få följande felmeddelande:
Tillstånd nekad, försök igen.
2. Ställ in utgångsdatum på konton
Ett annat effektivt sätt att kontrollera onödig åtkomst är att ställa in utgångsdatum på konton som skapats för tillfällig användning.
Till exempel, om en praktikant eller en anställd behöver tillgång till systemet, kan du ange ett utgångsdatum när kontot skapas. Det är en försiktighetsåtgärd om du glömmer att manuellt ta bort eller radera kontot efter att de lämnat organisationen.
Använd förändring kommando med grep-verktyget för att hämta kontoinformation för användaren:
chage -l användarnamn| grep konto
Produktion:
Kontot löper ut: aldrig
Som visas ovan anger den inget utgångsdatum. Använd nu usermod kommandot med -e flagga för att ställa in utgångsdatum i ÅÅÅÅ-MM-DD formatera och verifiera ändringen med kommandot chage ovan.
usermod -e 2021-01-25 användarnamn
chage -l användarnamn| grep konto
3. Förbättra kontolösenordssäkerhet
Att tillämpa en stark lösenordspolicy är en viktig aspekt av att säkra användarkonton, eftersom svaga lösenord gör det möjligt för angripare att enkelt bryta sig in i dina system via råstyrka, ordbok eller regnbågsbordsattacker.
Att välja ett lösenord som är lätt att komma ihåg kan erbjuda viss bekvämlighet, men det öppnar också möjligheter för angripare att gissa lösenord med hjälp av tillgängliga onlineverktyg och ordlistor.
Ställ in lösenordets utgångsdatum
Dessutom erbjuder Linux några standardalternativ inuti /etc/logins.defs fil som låter dig ställa in kontolösenordsåldring. Använd förändring kommando och grep lösenordets utgångsdatum enligt följande:
chage -l användarnamn | grep dagar
Variabler | Standardvärde | Användande | Idealiskt värde |
---|---|---|---|
PASS_MAX_DAYS | 9999 | Det förinställda antalet dagar för att använda ett lösenord som beror på typen av kontoinställning | 40 |
PASS_MIN_DAYS | 0 | Förhindrar användare från att ändra sitt lösenord omedelbart | 5 |
PASS_MIN_LEN | 5 | Tvingar användaren att ställa in lösenord av en viss längd | 15 |
PASS_WARN_AGE | 0 | Varnar användaren att ändra lösenordet innan han tvingas göra det | 7 |
För konton som används kan du kontrollera lösenordets åldrande med hjälp av förändring kommando för att ställa in PASS_MAX_DAYS, PASS_MIN_DAYS och PASS_WARN_AGE till 40, 5 och 7.
chage -M 40 -m 5 -W 7 användarnamn
Lösenordshaschar
Ett annat sätt att förstärka kontolösenordssäkerheten är att lagra lösenordshaschar inuti filen /etc/shadow. Hashes är envägs matematiska funktioner som tar lösenordet som en ingång och matar ut en icke-reversibel sträng.
Tidigare, på Linux-system, när en användare skrev in sitt lösenord för att logga in, genererade systemet sin hash och krysskontrollerade den mot den som lagrades i /etc/passwd fil.
Det finns dock ett problem med åtkomst till passwd-filen, det vill säga alla med systemåtkomst kan läsa filen och knäcka hashen med regnbågstabeller.
Därför sparar Linux nu hasharna inuti /etc/shadow fil med följande uppsättning åtkomstbehörigheter:
ls -l /etc/shadow
1 rotrot 1626 7 jan 13:56 /etc/shadow
Det är fortfarande möjligt för dig att installera Linux med de gamla sätten att lagra hash. Du kan ändra det genom att köra pwconv kommandot, så att det automatiskt sparar hasharna för lösenordet till /etc/shadow fil. På samma sätt kan du aktivera den andra metoden (/etc/passwd fil) med hjälp av pwunconv kommando.
4. Ta bort oanvända användarkonton
En dålig aktör kan utnyttja oanvända och utgångna konton i systemet genom att förnya det kontot och få det att framstå som en legitim användare. För att ta bort ett inaktivt konto och tillhörande data när en användare lämnar organisationen, leta först upp alla filer som är relaterade till användaren:
hitta / -användaranvändarnamn
Inaktivera sedan kontot eller ställ in ett utgångsdatum som diskuterats ovan. Glöm inte att säkerhetskopiera filerna som ägs av användaren. Du kan antingen välja att tilldela filer till en ny ägare eller ta bort dem från systemet.
Slutligen, ta bort användarkontot med kommandot userdel.
userdel -f användarnamn
5. Begränsa fjärråtkomst till en specifik användargrupp
Om du är värd för en webbserver på din Linux-maskin kan du behöva tillåta endast specifika användare att fjärrstyra SSH till systemet. OpenSSL låter dig begränsa användare genom att krysskolla om de tillhör en specifik grupp.
För det, skapa en användargrupp med namnet ssh_gp, lägg till de användare som du vill ge fjärråtkomst till gruppen och lista användargruppsinformationen enligt följande:
sudo groupadd ssh_gp
sudo gpasswd -a användarnamn ssh_gp
gruppens användarnamn
Öppna nu OpenSSL-huvudkonfigurationsfilen för att inkludera den tillåtna användargruppen ssh_gp.
sudo vim /etc/ssh/sshd_config
AllowGroups ssh_gp
Kom ihåg att avkommentera raden för att säkerställa framgångsrik gruppinkludering. När du är klar, spara och avsluta filen och starta om tjänsten:
sudo systemctl starta om sshd
Upprätthålla användarkontosäkerhet på Linux
Nuförtiden har de flesta organisationer kritiska infrastrukturer som webbservrar, brandväggar och databaser på Linux, och kompromissen av någon intern komponent utgör ett betydande hot mot helheten infrastruktur.
Med tanke på hur viktigt det är med installationen är hantering och säkrande av användarkonton en grundläggande utmaning för Linux-administratörer. Den här artikeln har listat några säkerhetsåtgärder som en kontoadministratör måste vidta för att skydda systemet mot potentiella hot på grund av oskyddade användarkonton.
Att hantera användare är en avgörande uppgift som alla Linux-systemadministratörer bör vara skickliga i. Här är den ultimata användarhanteringsguiden för Linux.
Läs Nästa
- Linux
- säkerhet
- Användarkontokontroll
- säkerhet
- Säkerhetstips

Rumaisa är frilansskribent på MUO. Hon har burit många hattar, från en matematiker till en informationssäkerhetsentusiast, och arbetar nu som SOC-analytiker. Hennes intressen inkluderar att läsa och skriva om ny teknik, Linux-distributioner och allt kring informationssäkerhet.
Prenumerera på vårt nyhetsbrev
Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e-böcker och exklusiva erbjudanden!
Klicka här för att prenumerera