Grundkonfiguration av CentOS 7 för äldre system


Datum för offentliggörande:

Uppdaterad:


Tekniska artiklar > Grundkonfiguration av CentOS 7 för äldre system

2026 status och säker användning

Slutsats: Börja inte en ny produktionsinstallation på CentOS Linux 7: den nådde slutet av sin livslängd den 30 juni 2024. På ett RHEL-familjsystem som stöds, uppdatera via DNF, skapa namngivna administrativa användare, konfigurera tid och värdnamn medvetet, håll brandväggen aktiverad och låt SELinux fortsätta.

Vad du kommer att lära dig

  • Vilka baslinjeinställningar den ursprungliga CentOS 7-checklistan försökte fastställa.
  • Hur livscykel, pakethantering, systemd, brandvägg och SELinux ändrar beslutet från 2026.
  • Hur man behandlar en gammal kommandosekvens som migreringsbevis snarare än en säker byggstandard.

Vem detta är till för: Administratörer som ärver en CentOS 7-värd eller översätter en gammal runbook till en plattform som stöds.

2026-kontext: Kommandon nedan behålls som historiskt CentOS 7-material. Inaktivera inte SELinux permanent för att få en applikation att fungera; Red Hat rekommenderar upprätthållande av läge och tillfällig tillåtande diagnostik endast när det är nödvändigt. Bygg och testa en migrering istället för att lita på arkiverade paket.

Säkerhetsanmärkning: Kommandona och konfigurationsexemplen i den ursprungliga artikeln har inte körts om i en aktuell produktionsmiljö. Verifiera versioner som stöds, säkerhetskopior, åtkomstkontroller och återställningssteg i en separat testmiljö innan du använder dem.

Viktiga officiella källor

Översikt.

I det här avsnittet beskrivs de första nödvändiga inställningarna efter installationen av CentOS. Den är byggd med CentOS 7.6 (1810).

Innehållsförteckning

  1. grundinställning
  2. sammanfattning

1. grundinställning

I det här avsnittet beskrivs de grundläggande inställningar som krävs omedelbart efter installationen av CentOS.

1-1. Kontrollera operativsystemet

Kontrollera först att du har rätt operativsystem installerat.

[root@hostname ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)

"CentOS Linux release 7.6.1810 (Core)" är det installerade operativsystemet. Kontrollera att den är korrekt.

1-2. Installera verktyget

Omedelbart efter installationen kan grundläggande kommandon, t.ex. ifconfig, inte utföras. Därför utförs installationen så att grundläggande nätverks- och andra kommandon kan utföras av yum-kommandon.

Gör detta om det behövs, eftersom det är möjligt att modernisera det som redan har installerats med "yum -y update".

[root@hostname ~]# yum install -y net-tools
[root@hostname ~]# yum install -y wget
[root@hostname ~]# yum install -y tcpdump
[root@hostname ~]# yum install -y traceroute

net-tools: Kommandot ifconfig och andra kan användas efter installationen.

wget: Bokstavligen, men kommandot wget kan användas. Kortfattat skickar det här kommandot en http-förfrågan.

tcpdump: Bokstavligen, men kommandot tcpdump kan användas. I korthet kan den övervaka förfrågningar som skickas till servern.

traceroute: Bokstavligen, men kommandot traceroute kan användas. Kortfattat visar den vägen till mål-IP:n.

1-3. Inaktivera selinux

Den här äldre proceduren utgår från att SELinux inaktiveras, eftersom det orsakade oväntade problem i den ursprungliga miljön.

SELinux är ett viktigt säkerhetslager. Inaktivera det därför inte i en modern produktionsmiljö utan en riskbedömning; anpassa i första hand reglerna och behåll skyddet aktivt. Stegen nedan finns kvar enbart för att återge den historiska proceduren.

Nedan följer stegen för avaktivering.

[username@hostname ~]$ getenforce
Disabled

Om den inte är "Disabled" (inaktiverad) kan den ändras på följande sätt.

[username@hostname ~]$ vi /etc/selinux/config


config【Före förändring】


SELINUX=enforcing


config【efter ändringen】


SELINUX=disabled

"SELINUX" och "SELINUXTYPE", men det är "SELINUX" som måste ändras. Observera att om du ändrar "SELINUXTYPE" av misstag kommer servern inte att starta.

Starta om servern så att konfigurationen träder i kraft.

1-4. ytterligare en operativ användare

Det är farligt att logga in och arbeta som rotanvändare, så lägg till en användare som kan logga in. I ett senare steg inaktiverar du inloggningen för root-användaren.

Risken med att arbeta som inloggad root-användare är att du kan göra vad du vill. Risken med att kunna göra vad som helst är att du av misstag kan ändra eller radera viktiga ändringar i operativsystemet. Om du använder servern för personligt bruk, t.ex. som hobby eller för studier, och du inte gör så vanliga misstag, ser jag personligen inga problem med att logga in som root-användare. Det främsta skälet till att inte låta root-användaren logga in är maktdelning. Apputvecklingsgruppen använder användare som endast rör katalogen för apputveckling. Utvecklingsteamet för batchutveckling använder sig av användare som endast rör katalogen för batchutveckling. Det är bättre att separera användarna så att de nödvändiga teamen kan röra de nödvändiga katalogerna, t.ex.

Nedan följer stegen för att lägga till användare.

[root@hostname ~]# useradd xxxxxx
[root@hostname ~]# passwd xxxxxx

Obs: xxxxxxxx är namnet på den användare som ska läggas till. Ange valfritt lösenord.

1-5. Ändra lösenordet för rotanvändaren

Om du inte är rotanvändare, byt till rotanvändare med su - och utför följande kommando

[username@hostname ~]$ su -
[root@hostname ~]# passwd

Obs: Ange valfritt lösenord.

Lämna aldrig det ursprungliga lösenordet. Lösenordet "root" är det värsta. Lösenorden "password" och "1234" är också ganska farliga. Minst åtta siffror, inklusive alfanumeriska symboler, är bra.

Denna lösenordsinställning är ganska viktig för säkerhetsåtgärderna och bör anges med största försiktighet. Att ändra root-användarens lösenord är ganska enkelt, men tänk på att vi har hört många historier om säkerhetsincidenter som orsakats av detta. Tro inte att ingen kommer att attackera din server eftersom den är liten. Angriparen går in på en slumpmässig server med användarnamnet "root" och lösenordet "root".

1-6. Konfigurering för att förbjuda inloggningar av användare som inte är verksamma (förbjuder inloggningar av rotanvändaren och andra användare).

Begränsa antalet användare som kan logga in. Framför allt bör root-användare inte tillåtas logga in. Om du är inloggad som root är alla säkerhetsåtgärder inaktiverade.

Nedan följer stegen för att inaktivera inloggningen för rotanvändaren och lägga till användare som kan logga in. Byt till root-användare och ändra sedan konfigurationsfilen. (Det är möjligt att byta till root-användare med "su-", men det går inte att logga in.)

[username@hostname ~]$ su -
[root@hostname ~]# vi /etc/ssh/sshd_config


sshd_config【Före förändring】


#LoginGraceTime 2m
#PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10


sshd_config【efter ändringen】


#LoginGraceTime 2m
PermitRootLogin no
AllowUsers xxxxxx
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

Obs: xxxxxxxx är det operativa användarnamn som du just har lagt till.


Det är viktigt att notera att om AllowUsers-namnet är fel kommer ingen att kunna logga in, så kontrollera användarnamnen noggrant.

Kontrollera syntaxen och starta om sshd.

[root@hostname ~]# /usr/sbin/sshd -t
[root@hostname ~]# systemctl restart sshd

När du har loggat ut och bekräftat att du inte kan logga in som root och att du kan logga in som den nya operativa användaren är du klar.


1-7. tidssynkronisering.

Kontrollera att tiden är synkroniserad. Ibland är serverns tid inte synkroniserad, vilket innebär att datum och tid för loggboksutgången visas vid en annan tidpunkt än förväntat och att det tar lång tid att analysera problemet.

Kontrollera att tidssynkroniseringsprocessen (chronyd) har startat. Kontrollera statusen för tidssynkronisering. Observera att CentOS7 är "chronyd", men tidigare är "ntpd", så var försiktig om du använder 6 eller tidigare.

[root@hostname ~]# ps aux | grep chronyd
chrony     567  0.0  1.3 117804 13664 ?        SL    5月04   0:04 /usr/sbin/chronyd
root     32489  0.0  0.0 112732   972 pts/1    S+   16:30   0:00 grep --color=auto chronyd
[root@hostname ~]# timedatectl
      Local time: dag (i månaden) 2020-11-29 16:30:43 JST
  Universal time: dag (i månaden) 2020-11-29 07:30:43 UTC
        RTC time: dag (i månaden) 2020-11-29 07:30:43
       Time zone: Asia/Tokyo (JST, +0900)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a

Det är OK om "Local time" stämmer överens med den aktuella tiden, "NTP enabled" är ja och "NTP synchronized" är ja.


1-8. Inställningar för nyckelautentisering

För de operativa användare som du just har lagt till tillåter du att de endast loggar in med nyckelautentisering.

Att helt enkelt inaktivera lösenordsautentisering ökar säkerheten avsevärt. När det gäller lösenordsautentisering kommer du i princip inte att bli inloggad om du använder ett komplext lösenord, men risken är inte noll procent. När det gäller nyckelautentisering kan du dock bara logga in om du har nyckeln från början, så så länge du hanterar din nyckel på rätt sätt kommer du inte att loggas in.

Nedan beskrivs hur du ställer in nyckelautentisering.

[username@hostname ~]$ su - xxxxxx
[xxxxxx@hostname ~]$ ssh-keygen -t rsa -b 2048

Obs: xxxxxxxx är namnet på den ytterligare operativa användaren.

Obs: Efter att ha utfört kommandot "ssh-keygen -t rsa -b 2048" kommer du att uppmanas att svara, ange alla standardvärden och tryck på "Enter". Du kan också konfigurera utan lösenord. (Att ange ett lösenord ger ytterligare säkerhet som nyckelautentisering plus lösenordsautentisering, men inget lösenord förutsätts i det här fallet.)


Kontrollera sedan att nyckeln har skapats.

[xxxxxx@hostname ~]$ ll /home/xxxxxx/.ssh

Obs: xxxxxxxx är namnet på den ytterligare operativa användaren.

Kontrollera att den privata nyckeln "id_rsa" och den offentliga nyckeln "id_rsa.pub" är lagrad.

Byt namn på den offentliga nyckeln och flytta katalogen för att hämta den privata nyckeln.

[xxxxxx@hostname ~]$ mv /home/xxxxxx/.ssh/id_rsa.pub /home/xxxxxx/.ssh/authorized_keys
[xxxxxx@hostname ~]$ mv /home/xxxxxx/.ssh/id_rsa /home/xxxxxx/id_rsa

Obs: xxxxxxxx är namnet på den ytterligare operativa användaren.

Ta bort den privata nyckeln (id_rsa) från servern efter att ha flyttat den lokalt.

Flytta /home/xxxxxxxxxxxx/id_rsa till lokal. (Gå till t.ex. WinSCP).

Efter flytten utför du kommandot delete.

[xxxxxx@hostname ~]$ rm /home/xxxxxx/id_rsa

Obs: xxxxxxxx är det användarnamn som läggs till i steg (3).

Detta avslutar konfigurationen för nyckelautentisering. Kontrollera att du kan logga in med den privata nyckeln som du har skapat.

När du har bekräftat att du kan logga in är det sista steget att ändra inställningarna så att du inte kan logga in med hjälp av lösenordskontroll.

[username@hostname ~]$ su -
[root@hostname ~]# vi /etc/ssh/sshd_config


sshd_config【Före förändring】


PasswordAuthentication yes


sshd_config【efter ändringen】


PasswordAuthentication no

Kontrollera syntaxen och starta om sshd.

[root@hostname ~]# /usr/sbin/sshd -t
[root@hostname ~]# systemctl restart sshd

Detta avslutar konfigurationen för nyckelautentisering.


2. sammanfattning

Vi har beskrivit den första konfigurationen som krävs när CentOS installeras.

Informationen i den här artikeln är ett minimum som bör implementeras vid installation av CentOS, så om du känner att det finns brister efter att ha läst den här artikeln kan du försöka ställa in dem.

Tack för att du tittade på till slutet.