Grundkonfiguration av CentOS 7 för äldre system
Publicerad:
Uppdaterad:
Tekniska artiklar > Grundkonfiguration av CentOS 7 för äldre system
Status 2026 och säker användning
Slutsats: CentOS Linux 7 nådde EOL den 30 juni 2024 och ska inte vara grund för en ny produktionsinstallation. På ett RHEL-kompatibelt system som fortfarande stöds bör uppdateringar, namngivna administrativa konton, tidssynkronisering, brandvägg och SELinux ingå i grundkonfigurationen.
Det här går artikeln igenom
- Vilka grundinställningar den ursprungliga checklistan för CentOS 7 omfattade.
- Hur plattformens livscykel, pakethantering, systemd, brandvägg och SELinux påverkar dagens val.
- Hur den äldre kommandosekvensen kan användas som underlag för migrering, inte som en aktuell installationsstandard.
Målgrupp: Administratörer som förvaltar en kvarvarande CentOS 7-server eller anpassar en äldre driftinstruktion till en plattform som stöds.
Läge 2026: Kommandona nedan är historiskt material för CentOS 7. Inaktivera inte SELinux permanent för att kringgå ett applikationsfel; felsök i första hand med tillfälligt permissive-läge och granskningsloggar och korrigera sedan den berörda policyn. Planera och testa en migrering i stället för att förlita dig på arkiverade paket.
Säkerhetsinformation: Kommandona och konfigurationsexemplen har inte testats på nytt i en aktuell produktionsmiljö. Kontrollera supportstatus, säkerhetskopior, åtkomstkontroller och återställning i en separat testmiljö innan de används.
Viktiga officiella källor
Översikt
Artikeln dokumenterar de första inställningarna efter en installation av CentOS 7.6 (1810). Proceduren är bevarad för äldre miljöer och ska inte användas oförändrad för en ny server.
Innehållsförteckning
1. Grundkonfiguration
Det här avsnittet beskriver den grundkonfiguration som användes direkt efter installationen av CentOS 7.
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)
Utdata visar den installerade versionen. Kontrollera att den stämmer med den version som miljön ska använda.
1-2. Installera verktyg
En minimal CentOS-installation saknar vissa äldre verktyg, exempelvis ifconfig. I den historiska miljön installerades de paket som behövdes med yum.
Det befintliga systemet uppdaterades vid behov med "yum -y update". Kontrollera alltid paketkällor och konsekvenser innan en äldre server uppdateras.
[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 innehåller bland annat det äldre nätverksverktyget ifconfig.
wget hämtar resurser via bland annat HTTP och HTTPS.
tcpdump fångar och granskar nätverkstrafik på valda gränssnitt.
traceroute visar den observerade nätvägen mot en målvärd.
1-3. Historisk inaktivering av 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.
Följande steg återger den äldre proceduren och bör inte betraktas som en rekommendation.
[username@hostname ~]$ getenforce
Disabled
I originalmiljön redigerades konfigurationen om statusen inte var "Disabled".
[username@hostname ~]$ vi /etc/selinux/config
SELINUX=enforcing
SELINUX=disabled
Parametern som ändrades i den äldre proceduren var "SELINUX", inte "SELINUXTYPE". En felaktig SELinux-konfiguration kan hindra systemet från att starta korrekt.
Den permanenta inställningen trädde i kraft efter omstart.
1-4. Lägg till ett administrativt konto
Skapa ett namngivet konto för den löpande administrationen. Direkt SSH-inloggning som root stängs av i ett senare steg.
Root-kontot har full behörighet, vilket ökar konsekvenserna av både misstag och komprometterade autentiseringsuppgifter. Namngivna konton och behovsstyrd behörighetshöjning ger bättre spårbarhet och minsta privilegium. Separera dessutom människors administrativa konton från applikations- och tjänstekonton och ge varje konto endast den åtkomst som arbetsuppgiften kräver.
Den äldre proceduren skapar kontot och anger ett lösenord så här.
[root@hostname ~]# useradd xxxxxx
[root@hostname ~]# passwd xxxxxx
Obs: xxxxxx ersätts med det konto som ska skapas. Använd ett unikt och starkt lösenord enligt organisationens policy.
1-5. Ändra root-kontots lösenord
Byt vid behov till root med "su -" och kör sedan lösenordskommandot.
[username@hostname ~]$ su -
[root@hostname ~]# passwd
Obs: Ange ett unikt lösenord som lagras och roteras enligt organisationens rutiner.
Standardvärden och vanliga lösenord som "root", "password" eller "1234" är olämpliga. Använd en lång, unik lösenfras och föredra nyckelbaserad SSH-autentisering.
Internetanslutna SSH-tjänster utsätts regelbundet för automatiserade inloggningsförsök oavsett serverns storlek. Skydda därför root-kontot, begränsa åtkomsten och övervaka misslyckade autentiseringar.
1-6. Begränsa SSH-inloggning
Tillåt endast avsedda administrativa konton att logga in via SSH och stäng av direkt root-inloggning.
I den här proceduren byter administratören först till root och redigerar sedan sshd-konfigurationen. Inställningen hindrar SSH-inloggning som root men påverkar inte i sig lokal behörighetshöjning.
[username@hostname ~]$ su -
[root@hostname ~]# vi /etc/ssh/sshd_config
#LoginGraceTime 2m
#PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
#LoginGraceTime 2m
PermitRootLogin no
AllowUsers xxxxxx
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
Obs: xxxxxx ersätts med det administrativa konto som skapades tidigare.
Ett felaktigt värde i AllowUsers kan låsa ute alla administratörer. Kontrollera kontonamnet och behåll en separat, fungerande session tills den nya inloggningen har verifierats.
Validera syntaxen innan sshd startas om.
[root@hostname ~]# /usr/sbin/sshd -t
[root@hostname ~]# systemctl restart sshd
Verifiera i en ny session att root-inloggning nekas och att det administrativa kontot fortfarande kan logga in innan den befintliga sessionen stängs.
1-7. Tidssynkronisering
Kontrollera att systemklockan är synkroniserad. Fel tid försvårar loggkorrelation, certifikatvalidering och felsökning.
Verifiera att chronyd körs och att systemet rapporterar synkroniserad tid. CentOS 7 använder chronyd i standardinstallationen, medan äldre CentOS-versioner ofta använde ntpd.
[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
Kontrollera att "Local time" är korrekt och att både "NTP enabled" och "NTP synchronized" visar "yes".
1-8. SSH-nyckelautentisering
Konfigurera det administrativa kontot för SSH-inloggning med en kryptografisk nyckel.
Nyckelautentisering minskar beroendet av lösenord, men skyddet beror fortfarande på en säker algoritm, en skyddad privat nyckel och korrekt hantering av authorized_keys.
Följande kommandon visar den äldre proceduren. I en modern miljö bör nyckelparet skapas på klienten och endast den publika nyckeln kopieras till servern.
[username@hostname ~]$ su - xxxxxx
[xxxxxx@hostname ~]$ ssh-keygen -t rsa -b 2048
Obs: xxxxxx ersätts med det administrativa kontots namn.
Kommandot frågar efter filnamn och lösenfras. Den historiska proceduren använde standardvärden och ingen lösenfras; en skyddande lösenfras rekommenderas när den kan hanteras säkert.
Kontrollera därefter att nyckelfilerna har skapats.
[xxxxxx@hostname ~]$ ll /home/xxxxxx/.ssh
Obs: xxxxxx ersätts med det administrativa kontots namn.
Den äldre proceduren förutsätter filerna "id_rsa" och "id_rsa.pub".
Den publika nyckeln flyttas till authorized_keys och den privata nyckeln placeras tillfälligt i hemkatalogen för överföring.
[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: xxxxxx ersätts med det administrativa kontots namn.
Om den historiska metoden används måste den privata nyckeln tas bort från servern efter en verifierad och skyddad överföring.
Överför /home/xxxxxx/id_rsa med en säker filöverföring och kontrollera filens behörigheter lokalt.
Radera därefter serverkopian med kommandot nedan.
[xxxxxx@hostname ~]$ rm /home/xxxxxx/id_rsa
Obs: xxxxxx är det administrativa konto som lades till tidigare.
Verifiera i en separat session att inloggningen med den privata nyckeln fungerar.
Först efter en lyckad kontroll bör lösenordsautentisering stängas av.
[username@hostname ~]$ su -
[root@hostname ~]# vi /etc/ssh/sshd_config
PasswordAuthentication yes
PasswordAuthentication no
Validera syntaxen innan sshd startas om och behåll en fungerande session för återställning.
[root@hostname ~]# /usr/sbin/sshd -t
[root@hostname ~]# systemctl restart sshd
SSH-inloggningen använder nu nyckelautentisering enligt den beskrivna äldre konfigurationen.
2. Sammanfattning
Artikeln dokumenterar en grundkonfiguration för CentOS 7.6 med paketverktyg, administrativa konton, SSH-begränsningar, tidssynkronisering och nyckelautentisering.
Kommandona är historiska och flera säkerhetsval, särskilt inaktiveringen av SELinux och skapandet av den privata SSH-nyckeln på servern, ska omprövas vid migrering.
Bygg nya miljöer på ett operativsystem som stöds och verifiera alla ändringar med dokumenterad återställning.