Počiatočná konfigurácia potrebná pri inštalácii systému CentOS.


Dátum vydania:8. decembra 2020.



INFOMARTION > Počiatočná konfigurácia potrebná pri inštalácii systému CentOS.

Prehľad.

Táto časť opisuje prvé potrebné nastavenia po inštalácii systému CentOS. Je zostavený pomocou systému CentOS 7.6 (1810).

Obsah

  1. základné nastavenie
  2. zhrnutie

1. základné nastavenie

Táto časť opisuje základné nastavenia potrebné bezprostredne po inštalácii systému CentOS.

1-1. Kontrola operačného systému

Najprv skontrolujte, či máte nainštalovaný správny operačný systém.

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

'CentOS Linux release 7.6.1810 (Core)' je nainštalovaný operačný systém. Skontrolujte, či je správne.

1-2. Inštalácia nástroja

Bezprostredne po inštalácii nie je možné vykonať základné príkazy, ako napríklad ifconfig. Preto sa inštalácia vykonáva tak, aby sa základné sieťové a iné príkazy mohli vykonávať pomocou príkazov yum.

Ak je to potrebné, vykonajte to, pretože je možné modernizovať to, čo už bolo nainštalované pomocou '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・・・Po inštalácii je možné použiť príkaz ifconifg a ďalšie.

wget・・・Doslova, ale môže sa použiť príkaz wget. Stručne povedané, tento príkaz odošle požiadavku http.

tcpdump・・・Doslova, ale môže sa použiť príkaz tcpdump. Stručne povedané, môže monitorovať požiadavky odoslané na server.

traceroute・・・Doslova, ale môže sa použiť príkaz traceroute. Stručne zobrazuje trasu cieľovej IP adresy.

1-3. Zakázanie systému selinux

Vypnite selinux, pretože je povolený a môže sa správať neočakávane.

Začneme tým, že selinux je nastavenie súvisiace s bezpečnosťou. Ak ju dokážete používať, môžete ju povoliť, ale ak je to ťažké, vypnite ju. Vypnutie selinuxu nemusí nevyhnutne spôsobiť zraniteľnosť zabezpečenia.Je pravdepodobnejšie, že spôsobí problémy, ak je povolená, aj keď ja osobne jej dobre nerozumiem. Jednoduché vysvetlenie je, že selinux je bezpečnostné opatrenie po narušení servera (nakonfigurovaný tak, aby sa minimalizovali škody v prípade narušenia), takže je skôr dôležitejšie prijať bezpečnostné opatrenia, aby sa zabránilo narušeniu servera.

Nižšie sú uvedené kroky na deaktiváciu.

[username@hostname ~]$ getenforce
Disabled

Ak nie je "Disabled", môžete ho zmeniť nasledujúcim postupom.

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


config【Pred zmenou】


SELINUX=enforcing


config【po zmene】


SELINUX=disabled

"SELINUX" a "SELINUXTYPE", ale je potrebné zmeniť práve "SELINUX". Upozorňujeme, že ak omylom zmeníte "SELINUXTYPE", server sa nespustí.

Reštartujte server a konfigurácia sa prejaví.

1-4. ďalší prevádzkový používateľ

Prihlasovanie a práca ako používateľ root je nebezpečná, preto pridajte používateľa, ktorý sa bude prihlasovať. V ďalšom kroku zakážte prihlasovanie používateľa root.

Riziko práce ako prihlásený používateľ root spočíva v tom, že môžete robiť, čo chcete. Riziko, že môžete robiť čokoľvek, spočíva v tom, že môžete omylom zmeniť alebo odstrániť dôležité zmeny týkajúce sa operačného systému. Ak používate server na osobné účely, napríklad na hobby alebo štúdium, a nerobíte také bežné chyby, osobne nevidím žiadny problém v prihlásení sa ako používateľ root. Dôvodom číslo jeden, prečo sa používateľ root nemôže prihlásiť, je oddelenie právomocí. Tím pre vývoj aplikácií používa používateľov, ktorí sa adresára dotýkajú len na účely vývoja aplikácií. Tím pre vývoj dávok používa používateľov, ktorí sa dotýkajú len adresára pre vývoj dávok. Je lepšie rozdeliť používateľov tak, aby sa potrebné tímy mohli dotknúť potrebných adresárov, ako napr.

Nižšie sú uvedené kroky na pridanie používateľov.

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

※xxxxxxxx je meno používateľa, ktorý sa má pridať. Nastavte ľubovoľné heslo.

1-5. Zmena hesla používateľa root

Ak nie ste používateľ root, prepnite sa na neho pomocou su - a vykonajte nasledujúci príkaz

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

※Nastavte ľubovoľné heslo.

Nikdy neukončujte pôvodné heslo. Heslo "root" je najhoršie. Heslá "password" a "1234" sú tiež veľmi nebezpečné. Vhodné je minimálne osem číslic vrátane alfanumerických symbolov.

Toto nastavenie hesla je dosť dôležité z hľadiska bezpečnostných opatrení a malo by sa nastavovať s maximálnou starostlivosťou. Zmena hesla používateľa root je pomerne jednoduchá, ale uvedomte si, že sme počuli mnoho príbehov o bezpečnostných incidentoch spôsobených týmto spôsobom. Nepredpokladajte, že na váš server nikto nezaútočí, pretože je malý. Útočník pristupuje k náhodnému serveru s používateľským menom "root" a heslom "root".

1-6. Konfigurácia na zákaz prihlasovania nefunkčných používateľov (zakazuje prihlasovanie používateľa root a ostatných používateľov).

Obmedziť počet používateľov, ktorí sa môžu prihlásiť. Prihlásenie by nemalo byť povolené najmä používateľom s právami root. Ak ste prihlásení ako root, rovná sa to vypnutiu všetkých bezpečnostných opatrení.

Nižšie sú uvedené kroky na zakázanie prihlásenia používateľa root a pridanie používateľov, ktorí sa môžu prihlásiť. Prepnite sa na používateľa root a potom zmeňte konfiguračný súbor. (Je možné prepnúť sa na používateľa root pomocou 'su-', len nie je možné sa prihlásiť.)

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


sshd_config【Pred zmenou】


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


sshd_config【po zmene】


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

※xxxxxxxx je operačné meno používateľa, ktoré ste práve pridali.


Je potrebné poznamenať, že ak je názov AllowUsers nesprávny, nikto sa nebude môcť prihlásiť, preto pozorne skontrolujte názvy používateľov.

Skontrolujte syntax a reštartujte sshd.

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

Po odhlásení a potvrdení, že sa nemôžete prihlásiť ako root a že sa môžete prihlásiť ako pridaný prevádzkový používateľ, ste hotoví.


1-7. synchronizácia času

Skontrolujte, či je čas synchronizovaný. Niekedy nie je synchronizovaný čas servera, takže dátum a čas výstupu protokolu sa zobrazuje v inom čase, ako sa očakáva, a analýza problému trvá dlho.

Skontrolujte spustenie procesu synchronizácie času (chronyd). Skontrolujte stav synchronizácie času. Všimnite si, že CentOS7 je "chronyd", ale starší systém je "ntpd", takže ak používate systém 6 alebo starší, buďte opatrní.

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

Je v poriadku, ak "Miestny čas" zodpovedá aktuálnemu času, "NTP povolený" je áno a "NTP synchronizovaný" je áno.


1-8. Nastavenia overovania kľúčov

Prevádzkovým používateľom, ktorých ste práve pridali, povoľte prihlasovanie len pomocou overovania kľúčom.

Jednoduché vypnutie overovania heslom výrazne zvyšuje bezpečnosť. V prípade overovania heslom, ak použijete zložité heslo, v podstate nebudete prihlásení, ale táto možnosť nie je nulová. V prípade overovania pomocou kľúča sa však môžete prihlásiť len vtedy, ak máte kľúč, takže pokiaľ svoj kľúč riadne spravujete, nebudete prihlásení.

Nižšie je uvedený postup nastavenia overovania kľúčov.

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

※xxxxxxxx je meno ďalšieho prevádzkového používateľa.

※Po vykonaní príkazu "ssh-keygen -t rsa -b 2048" budete vyzvaní na odpoveď, všetky predvolené hodnoty a stlačte "Enter". Nastavenie aj bez hesla. (Zadanie hesla poskytuje dodatočné zabezpečenie ako overenie kľúčom plus overenie heslom, ale v tomto prípade sa nepredpokladá žiadne heslo.)


Potom skontrolujte, či bol kľúč vytvorený.

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

※xxxxxxxx je meno ďalšieho prevádzkového používateľa.

Skontrolujte, či je uložený súkromný kľúč "id_rsa" verejný kľúč "id_rsa.pub".

Premenujte verejný kľúč a presuňte adresár na stiahnutie súkromného kľúč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 meno ďalšieho prevádzkového používateľa.

Odstránenie súkromného kľúča (id_rsa) zo servera po jeho lokálnom premiestnení.

Presunúť /home/xxxxxxxx/id_rsa do local. (Prejdite napr. na WinSCP).

Po presunutí vykonajte príkaz na odstránenie.

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

※xxxxxxxx je meno používateľa pridané v kroku (3).

Týmto je nastavenie overenia kľúča dokončené. Skontrolujte, či sa môžete prihlásiť pomocou vytvoreného súkromného kľúča.

Po potvrdení, že sa môžete prihlásiť, je posledným krokom zmena nastavení, aby ste sa nemohli prihlásiť pomocou overenia hesla.

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


sshd_config【Pred zmenou】


PasswordAuthentication yes


sshd_config【po zmene】


PasswordAuthentication no

Skontrolujte syntax a reštartujte sshd.

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

Týmto je nastavenie overenia kľúča dokončené.


2. zhrnutie

Opísali sme počiatočnú konfiguráciu potrebnú pri inštalácii systému CentOS.

Informácie v tomto článku predstavujú minimum, ktoré by malo byť implementované pri inštalácii systému CentOS, takže ak máte po prečítaní tohto článku pocit, že existujú nedostatky, skúste ich nastaviť.

Ďakujeme vám za sledovanie až do konca.