Začetna konfiguracija, potrebna ob namestitvi sistema CentOS.
Datum objave:8. december 2020.
INFOMARTION > Začetna konfiguracija, potrebna ob namestitvi sistema CentOS.
Pregled.
V tem razdelku so opisane prve potrebne nastavitve po namestitvi sistema CentOS. Zgrajen je s sistemom CentOS 7.6 (1810).
Kazalo vsebine
- osnovna nastavitev
- 1-1. Preverjanje operacijskega sistema
- 1-2. Namestitev orodja
- 1-3. Onemogočanje selinuxa
- 1-4. dodatni operativni uporabnik
- 1-5. Sprememba gesla uporabnika root
- 1-6. Konfiguracija za prepoved prijave neoperativnim uporabnikom (prepoveduje prijavo uporabniku root in drugim uporabnikom).
- 1-7. časovna sinhronizacija
- 1-8. Nastavitve avtentikacije ključev
- 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 ifconifg 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
Onemogočite selinux, saj je omogočen in se lahko obnaša nepričakovano.
Za začetek je selinux nastavitev, povezana z varnostjo. Če ga lahko uporabljate, ga lahko omogočite, če pa je to težko, ga onemogočite. Če selinux onemogočite, ni nujno, da bo varnost ranljiva.Bolj verjetno je, da bo povzročala težave, če je omogočena, čeprav je osebno ne razumem dobro. Preprosta razlaga je, da je selinux varnostni ukrep po vdoru v strežnik (konfiguriran za zmanjšanje škode v primeru vdora), zato je bolj pomembno sprejeti varnostne ukrepe za preprečevanje vdora v strežnik.
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
SELINUX=enforcing
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
※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
※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
#LoginGraceTime 2m
#PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
#LoginGraceTime 2m
PermitRootLogin no
AllowUsers xxxxxx
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
※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
※xxxxxxxx je ime dodatnega operativnega uporabnika.
※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
※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
※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
※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
PasswordAuthentication yes
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.
Hvala, ker ste gledali do konca.