Začetna nastavitev strežnika CentOS 7: stari kontrolni seznam za sodoben Linux


Datum objave:

Osveženo:


Tehnični članki > Začetna nastavitev strežnika CentOS 7: stari kontrolni seznam za sodoben Linux

Status in varna uporaba 2026

Sklep: Ne začenjajte nove produkcijskega sistema graditi na CentOS Linux 7: je dosegel konec življenja 30. junija 2024. Na podprtem sistemu družine RHEL posodobite prek DNF, ustvarite imenovane upravne uporabnike, načrtno nastavite čas in ime gostitelja, ohranite požarni zid omogočen in obdržite SELINux uveljavljanje.

Kaj se boš naučil?

  • Katera osnova nastavi prvotni CentOS 7 kontrolni seznam je poskušal vzpostaviti.
  • Kako življenjski cikel, upravljanje paketov, sistemsko, požarni zid, in SELINux spremeniti odločitev 2026.
  • Kako obravnavati staro zaporedje ukazov kot selitvene dokaze namesto varnih gradbenih standardov.

Za koga je to? Administratorji podedujejo gostitelja CentOS 7 ali prevajajo star runbook na podprto platformo.

Kontekst za leto 2026: Spodnji ukazi se hranijo kot zgodovinsko gradivo CentOS 7. Ne trajno onemogočite SELINux, da bi aplikacija delovala; Red Hat priporoča uveljavljanje načina in začasno permisivno diagnostiko le, če je to potrebno. Gradite in testirajte migracijo namesto zanašanja na arhivirane pakete.

Varnostna opomba: Ukazi in konfiguracijski primeri v prvotnem članku niso bili ponovno predvajani v trenutnem proizvodnem okolju. Pred uporabo preveri podprte različice, varnostne kopije, nadzor dostopa in povratne korake v ločenem preskusnem okolju.

Glavni uradni viri

Pregled.

V tem razdelku so opisane prve potrebne nastavitve po namestitvi sistema CentOS. Zgrajen je s sistemom CentOS 7.6 (1810).

Kazalo vsebine

  1. osnovna nastavitev
  2. povzetek

1. osnovna nastavitev

V tem razdelku so opisane osnovne nastavitve, ki so potrebne takoj po namestitvi sistema CentOS.

1-1. Preverjanje operacijskega sistema

Najprej preverite, ali imate nameščen ustrezen operacijski sistem.

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

'CentOS Linux release 7.6.1810 (Core)' je nameščeni operacijski sistem. Preverite, ali je pravilna.

1-2. Namestitev orodja

Takoj po namestitvi ni mogoče izvesti osnovnih ukazov, kot je ifconfig. Zato je namestitev izvedena tako, da je mogoče z ukazi yum izvesti osnovne omrežne in druge ukaze.

Če je potrebno, to opravite, saj je mogoče že nameščene datoteke posodobiti z ukazom '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: Ukaz ifconfig in druge ukaze lahko uporabite po namestitvi.

wget: Dobesedno, vendar lahko uporabite ukaz wget. Na kratko, ta ukaz pošlje zahtevo http.

tcpdump: Dobesedno, vendar se lahko uporabi ukaz tcpdump. Na kratko lahko spremlja zahteve, poslane v strežnik.

traceroute: Dobesedno, vendar lahko uporabite ukaz traceroute. Na kratko prikazuje pot ciljnega IP-ja.

1-3. Onemogočanje selinuxa

Ta starejši postopek predvideva izklop sistema SELinux, ker je pri prvotni nastavitvi povzročal nepričakovane težave.

SELinux je pomembna varnostna plast. V sodobnem produkcijskem okolju ga zato ne izklopite brez presoje tveganja; primerneje je prilagoditi pravila in ohraniti uveljavljanje. Naslednji koraki so navedeni samo za ponovitev zgodovinskega postopka.

Spodaj so opisani koraki za deaktivacijo.

[username@hostname ~]$ getenforce
Disabled

Če ni "Disabled", jo lahko spremenite z naslednjim postopkom.

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


config【Pred spremembo】


SELINUX=enforcing


config【po spremembi】


SELINUX=disabled

'SELINUX' in 'SELINUXTYPE', vendar je treba spremeniti le 'SELINUX'. Upoštevajte, da se strežnik ne bo zagnal, če pomotoma spremenite "SELINUXTYPE".

Ponovno zaženite strežnik in konfiguracija bo začela veljati.

1-4. dodatni operativni uporabnik

Prijava in delo kot uporabnik root sta nevarna, zato dodajte uporabnika za prijavo. V naslednjem koraku onemogočite prijavo uporabnika root.

Tveganje dela kot prijavljeni uporabnik root je, da lahko naredite vse, kar želite. Če lahko storite kar koli, obstaja tveganje, da lahko pomotoma spremenite ali izbrišete pomembne spremembe, povezane z operacijskim sistemom. Če strežnik uporabljate za osebno uporabo, na primer za hobi ali študij, in ne delate takšnih običajnih napak, osebno ne vidim težav s prijavo kot uporabnik root. Razlog številka ena za to, da uporabniku root ne dovolite prijave, je ločitev pristojnosti. Ekipa za razvoj aplikacij uporablja uporabnike, ki se dotikajo samo imenika za razvoj aplikacij. Ekipa za razvoj serije uporablja uporabnike, ki se dotikajo samo imenika za razvoj serije. Uporabnike je bolje ločiti tako, da se lahko potrebne ekipe dotaknejo potrebnih imenikov, kot so

Spodaj so opisani koraki za dodajanje uporabnikov.

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

Opomba: xxxxxxxx je ime uporabnika, ki ga želite dodati. Nastavite poljubno geslo.

1-5. Sprememba gesla uporabnika root

Če niste uporabnik root, preklopite v uporabnika root s su - in izvedite naslednji ukaz

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

Opomba: Nastavite poljubno geslo.

Nikoli ne opustite začetnega gesla. Najslabše je geslo "root". Tudi gesli "password" in "1234" sta zelo nevarni. Najmanj osem številk, vključno z alfanumeričnimi simboli, je dobro.

Ta nastavitev gesla je zelo pomembna za varnostne ukrepe in jo je treba nastaviti zelo previdno. Spreminjanje gesla korenskega uporabnika je precej preprosto, vendar se zavedajte, da smo slišali veliko zgodb o varnostnih incidentih, ki jih je to povzročilo. Ne domnevajte, da nihče ne bo napadel vašega strežnika, ker je majhen. Napadalec dostopa do naključnega strežnika z uporabniškim imenom "root" in geslom "root".

1-6. Konfiguracija za prepoved prijave neoperativnim uporabnikom (prepoveduje prijavo uporabniku root in drugim uporabnikom).

Omejite število uporabnikov, ki se lahko prijavijo. Zlasti uporabnikom s korenskim naslovom ne bi smeli dovoliti prijave. Če ste prijavljeni kot root, je to enako, kot če bi bili onemogočeni vsi varnostni ukrepi.

Spodaj so opisani koraki za onemogočanje prijave uporabnika root in dodajanje uporabnikov, ki se lahko prijavijo. Preklopite v uporabnika root in spremenite konfiguracijsko datoteko. (Z 'su-' lahko preklopite v uporabnika root, vendar se ne morete prijaviti.)

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


sshd_config【Pred spremembo】


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


sshd_config【po spremembi】


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

Opomba: xxxxxxxx je operativno uporabniško ime, ki ste ga pravkar dodali.


Če je ime AllowUsers napačno, se nihče ne bo mogel prijaviti, zato skrbno preverite uporabniška imena.

Preverite sintakso in znova zaženite sshd.

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

Ko ste se odjavili in potrdili, da se ne morete prijaviti kot root in da se lahko prijavite kot dodani operativni uporabnik, ste končali.


1-7. časovna sinhronizacija

Preverite, ali je čas sinhroniziran. Včasih čas strežnika ni sinhroniziran, zato sta datum in čas izpisa dnevnika drugačna od pričakovanega, zato je za analizo težave potrebno veliko časa.

Preverite zagon postopka sinhronizacije časa (chronyd). Preverite stanje sinhronizacije časa. Upoštevajte, da je v sistemu CentOS7 nameščen program 'chronyd', prej pa 'ntpd', zato bodite previdni, če uporabljate sistem 6 ali starejši.

[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: dan (meseca) 2020-11-29 16:30:43 JST
  Universal time: dan (meseca) 2020-11-29 07:30:43 UTC
        RTC time: dan (meseca) 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

V redu je, če se "Lokalni čas" ujema s trenutnim časom, če je "NTP omogočen" da in če je "NTP sinhroniziran" da.


1-8. Nastavitve avtentikacije ključev

Operativnim uporabnikom, ki ste jih pravkar dodali, omogočite prijavo samo z avtentikacijo s ključem.

Preprosto onemogočanje preverjanja pristnosti z geslom znatno poveča varnost. Če uporabljate zapleteno geslo, pri preverjanju pristnosti z geslom načeloma ne boste prijavljeni, vendar ta možnost ni ničodstotna. Pri preverjanju pristnosti s ključem pa se lahko prijavite le, če imate ključ, tako da dokler pravilno upravljate svoj ključ, se ne boste mogli prijaviti.

V nadaljevanju je opisan postopek za nastavitev avtentikacije ključa.

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

Opomba: xxxxxxxx je ime dodatnega operativnega uporabnika.

Opomba: Po izvedbi ukaza "ssh-keygen -t rsa -b 2048" boste pozvani k odgovoru, vsem privzetim vrednostim in pritisnite "Enter". Nastavite tudi brez gesla. (Vnos gesla zagotavlja dodatno varnost kot preverjanje pristnosti s ključem in geslom, vendar se v tem primeru geslo ne predpostavlja.)


Nato preverite, ali je bil ključ ustvarjen.

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

Opomba: xxxxxxxx je ime dodatnega operativnega uporabnika.

Preverite, ali je shranjen zasebni ključ "id_rsa" javni ključ "id_rsa.pub".

Preimenujte javni ključ in premaknite imenik za prenos zasebnega ključa.

[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

Opomba: xxxxxxxx je ime dodatnega operativnega uporabnika.

Brisanje zasebnega ključa (id_rsa) iz strežnika, potem ko ga premaknete lokalno.

Premaknite /home/xxxxxxxx/id_rsa v lokalno. (Pojdite na npr. WinSCP).

Po premikanju izvedite ukaz za brisanje.

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

Opomba: xxxxxxxx je uporabniško ime, dodano v koraku (3).

S tem je nastavitev avtentikacije ključa končana. Preverite, ali se lahko prijavite z zasebnim ključem, ki ste ga ustvarili.

Ko potrdite, da se lahko prijavite, morate v zadnjem koraku spremeniti nastavitve, da se ne boste mogli prijaviti s preverjanjem gesla.

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


sshd_config【Pred spremembo】


PasswordAuthentication yes


sshd_config【po spremembi】


PasswordAuthentication no

Preverite sintakso in znova zaženite sshd.

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

S tem je nastavitev avtentikacije ključa končana.


2. povzetek

Opisali smo začetno konfiguracijo, ki je potrebna ob namestitvi sistema CentOS.

Informacije v tem članku so minimum, ki ga je treba uporabiti pri namestitvi sistema CentOS, zato če po branju tega članka menite, da obstajajo pomanjkljivosti, jih poskusite nastaviti.

Upamo, da je bila razlaga koristna.