Initial konfiguration som krävs när CentOS är installerat.
Datum för offentliggörande:8 december 2020.
INFOMARTION > Initial konfiguration som krävs när CentOS är installerat.
Ö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
- grundinställning
- 1-1. Kontrollera operativsystemet
- 1-2. Installera verktyget
- 1-3. Inaktivera selinux
- 1-4. ytterligare en operativ användare
- 1-5. Ändra lösenordet för rotanvändaren
- 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).
- 1-7. tidssynkronisering.
- 1-8. Inställningar för nyckelautentisering
- 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 ifconifg 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
Inaktivera selinux eftersom det är aktiverat och kan bete sig oväntat.
Till att börja med är selinux en säkerhetsrelaterad inställning. Om du kan använda den kan du aktivera den, men om det är svårt kan du inaktivera den. Att inaktivera Selinux gör inte nödvändigtvis säkerheten sårbar.Det är mer sannolikt att den orsakar problem om den är aktiverad, även om jag personligen inte förstår den så bra. Den enkla förklaringen är att selinux är en säkerhetsåtgärd efter att servern har blivit kränkt (konfigurerad för att minimera skadan i händelse av en kränkning), så det är viktigare att vidta säkerhetsåtgärder för att förhindra att servern blir kränkt.
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
SELINUX=enforcing
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
※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
※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
#LoginGraceTime 2m
#PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
#LoginGraceTime 2m
PermitRootLogin no
AllowUsers xxxxxx
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
※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
※xxxxxxxx är namnet på den ytterligare operativa användaren.
※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
※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
※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
※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
PasswordAuthentication yes
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.
■INFORMATION
Klicka här för att komma till den översta sidan med information.
■PROFILE
■Kontaktuppgifter.