Počáteční konfigurace vyžadovaná při instalaci systému CentOS.
Datum vydání:8. prosince 2020.
INFOMARTION > Počáteční konfigurace vyžadovaná při instalaci systému CentOS.
Přehled.
Tato část popisuje první nezbytná nastavení po instalaci systému CentOS. Je sestaven pomocí systému CentOS 7.6 (1810).
Obsah
- základní nastavení
- 1-1. Kontrola operačního systému
- 1-2. Instalace nástroje
- 1-3. Zakázání selinuxu
- 1-4. další provozní uživatel
- 1-5. Změna hesla uživatele root
- 1-6. Konfigurace pro zákaz přihlašování nepracujících uživatelů (zakazuje přihlašování uživatele root a dalších uživatelů).
- 1-7. synchronizace času
- 1-8. Nastavení ověřování klíčů
- shrnutí
1. základní nastavení
Tato část popisuje základní nastavení vyžadovaná bezprostředně po instalaci systému CentOS.
1-1. Kontrola operačního systému
Nejprve zkontrolujte, zda máte nainstalovaný správný operační systém.
[root@hostname ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
Nainstalovaným operačním systémem je 'CentOS Linux release 7.6.1810 (Core)'. Zkontrolujte, zda je správná.
1-2. Instalace nástroje
Bezprostředně po instalaci nelze spustit základní příkazy, jako je ifconfig. Instalace se proto provádí tak, aby bylo možné provádět základní síťové a jiné příkazy pomocí příkazů yum.
Pokud je to nutné, proveďte to, protože je možné modernizovat to, co již bylo nainstalováno, pomocí '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 instalaci lze použít příkaz ifconifg a další.
wget・・・Doslova, ale lze použít příkaz wget. Stručně řečeno, tento příkaz odešle požadavek http.
tcpdump・・・Doslova, ale lze použít příkaz tcpdump. Stručně řečeno, může sledovat požadavky odeslané na server.
traceroute・・・Doslova, ale lze použít příkaz traceroute. Stručně zobrazuje trasu cílové IP adresy.
1-3. Zakázání selinuxu
Vypněte selinux, protože je povolen a může se chovat neočekávaně.
Začněme tím, že selinux je nastavení související se zabezpečením. Pokud jste schopni ji používat, můžete ji povolit, ale pokud je to obtížné, zakažte ji. Vypnutí selinuxu nemusí nutně ohrozit zabezpečení.Je pravděpodobnější, že způsobí problémy, pokud je povolen, i když já osobně mu příliš nerozumím. Jednoduché vysvětlení je, že selinux je bezpečnostní opatření po narušení serveru (nakonfigurovaný tak, aby minimalizoval škody v případě narušení), takže je spíše důležitější přijmout bezpečnostní opatření, aby se zabránilo narušení serveru.
Níže jsou uvedeny kroky pro deaktivaci.
[username@hostname ~]$ getenforce
Disabled
Pokud není nastavena na hodnotu "Disabled", lze ji změnit následujícím postupem.
[username@hostname ~]$ vi /etc/selinux/config
SELINUX=enforcing
SELINUX=disabled
'SELINUX' a 'SELINUXTYPE', ale je třeba změnit právě 'SELINUX'. Všimněte si, že pokud omylem změníte "SELINUXTYPE", server se nespustí.
Restartujte server a konfigurace se projeví.
1-4. další provozní uživatel
Přihlašování a práce jako uživatel root je nebezpečná, proto přidejte uživatele, který se bude přihlašovat. V dalším kroku zakažte přihlášení uživatele root.
Riziko práce jako přihlášený uživatel root spočívá v tom, že si můžete dělat, co chcete. Riziko, že můžete dělat cokoli, spočívá v tom, že můžete omylem změnit nebo odstranit důležité změny týkající se operačního systému. Pokud server používáte pro osobní potřebu, jako je hobby nebo studium, a neděláte takové běžné chyby, osobně nevidím žádný problém v přihlašování jako uživatel root. Důvodem číslo jedna, proč není povoleno přihlášení uživatele root, je oddělení pravomocí. Tým pro vývoj aplikací používá uživatele, kteří se adresáře dotýkají pouze pro vývoj aplikací. Tým pro vývoj dávek používá uživatele, kteří se dotýkají pouze adresáře pro vývoj dávek. Je lepší oddělit uživatele tak, aby se potřebné týmy mohly dotýkat potřebných adresářů, např.
Níže jsou uvedeny kroky pro přidání uživatelů.
[root@hostname ~]# useradd xxxxxx
[root@hostname ~]# passwd xxxxxx
※xxxxxxxx je jméno uživatele, který má být přidán. Nastavte libovolné heslo.
1-5. Změna hesla uživatele root
Pokud nejste uživatelem root, přepněte se na něj pomocí su - a spusťte následující příkaz.
[username@hostname ~]$ su -
[root@hostname ~]# passwd
※Nastavte libovolné heslo.
Nikdy neopouštějte počáteční heslo. Heslo "root" je nejhorší. Hesla "password" a "1234" jsou také poměrně nebezpečná. Vhodné je minimálně osm číslic včetně alfanumerických symbolů.
Toto nastavení hesla je poměrně důležité z hlediska bezpečnostních opatření a mělo by být nastaveno s maximální péčí. Změna hesla uživatele root je poměrně jednoduchá, ale mějte na paměti, že jsme slyšeli mnoho příběhů o bezpečnostních incidentech způsobených touto změnou. Nepředpokládejte, že na váš server nikdo nezaútočí, protože je malý. Útočník přistupuje k náhodnému serveru s uživatelským jménem "root" a heslem "root".
1-6. Konfigurace pro zákaz přihlašování nepracujících uživatelů (zakazuje přihlašování uživatele root a dalších uživatelů).
Omezit počet uživatelů, kteří se mohou přihlásit. Zejména uživatelům s oprávněním root by nemělo být povoleno přihlášení. Pokud jste přihlášeni jako root, rovná se to zakázání všech bezpečnostních opatření.
Níže jsou uvedeny kroky pro zakázání přihlášení uživatele root a přidání uživatelů, kteří se mohou přihlásit. Přepněte se na uživatele root a změňte konfigurační soubor. (Je možné přepnout se na uživatele root pomocí 'su-', jen se nelze přihlásit.)
[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 operační uživatelské jméno, které jste právě přidali.
Zde je třeba upozornit na to, že pokud je název AllowUsers špatný, nikdo se nebude moci přihlásit, proto pečlivě zkontrolujte názvy uživatelů.
Zkontrolujte syntaxi a restartujte sshd.
[root@hostname ~]# /usr/sbin/sshd -t
[root@hostname ~]# systemctl restart sshd
Po odhlášení a potvrzení, že se nemůžete přihlásit jako root a že se můžete přihlásit jako přidaný provozní uživatel, jste hotovi.
1-7. synchronizace času
Zkontrolujte, zda je čas synchronizován. Někdy není synchronizován čas serveru, takže datum a čas výstupu protokolu se zobrazí v jiném čase, než se očekává, a analýza problému trvá dlouho.
Zkontrolujte spuštění procesu synchronizace času (chronyd). Zkontrolujte stav synchronizace času. Všimněte si, že CentOS7 používá 'chronyd', ale starší verze 'ntpd', takže pokud používáte verzi 6 nebo 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: den (měsíce) 2020-11-29 16:30:43 JST
Universal time: den (měsíce) 2020-11-29 07:30:43 UTC
RTC time: den (měsíce) 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 pořádku, pokud "Místní čas" odpovídá aktuálnímu času, "NTP povolen" je ano a "NTP synchronizován" je ano.
1-8. Nastavení ověřování klíčů
Právě přidaným provozním uživatelům povolte přihlašování pouze pomocí ověřování klíčem.
Jednoduché vypnutí ověřování heslem výrazně zvyšuje zabezpečení. V případě ověřování heslem platí, že pokud použijete složité heslo, v podstatě nebudete přihlášeni, ale tato možnost není nulová. V případě ověřování pomocí klíče se však můžete přihlásit pouze tehdy, pokud klíč vůbec máte, takže pokud svůj klíč správně spravujete, nebudete přihlášeni.
Níže je uveden postup pro nastavení ověřování klíčů.
[username@hostname ~]$ su - xxxxxx
[xxxxxx@hostname ~]$ ssh-keygen -t rsa -b 2048
※xxxxxxxx je jméno dalšího provozního uživatele.
※Po provedení příkazu "ssh-keygen -t rsa -b 2048" budete vyzváni k odpovědi, zadejte všechny výchozí hodnoty a stiskněte "Enter". Nastavení i bez hesla. (Zadání hesla poskytuje dodatečné zabezpečení jako ověření klíčem plus ověření heslem, ale v tomto případě se žádné heslo nepředpokládá.)
Poté zkontrolujte, zda byl klíč vytvořen.
[xxxxxx@hostname ~]$ ll /home/xxxxxx/.ssh
※xxxxxxxx je jméno dalšího provozního uživatele.
Zkontrolujte, zda je uložen soukromý klíč "id_rsa" veřejný klíč "id_rsa.pub".
Přejmenujte veřejný klíč a přesuňte adresář pro stažení soukromého klíče.
[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 jméno dalšího provozního uživatele.
Odstranění soukromého klíče (id_rsa) ze serveru po jeho místním přesunu.
Přesun /home/xxxxxxxx/id_rsa do local. (Přejděte např. na WinSCP).
Po přesunu proveďte příkaz delete.
[xxxxxx@hostname ~]$ rm /home/xxxxxx/id_rsa
※xxxxxxxx je uživatelské jméno přidané v kroku (3).
Tím je nastavení ověřování klíčů dokončeno. Zkontrolujte, zda se můžete přihlásit pomocí vytvořeného soukromého klíče.
Po potvrzení, že se můžete přihlásit, je posledním krokem změna nastavení tak, aby se nebylo možné přihlásit pomocí ověření hesla.
[username@hostname ~]$ su -
[root@hostname ~]# vi /etc/ssh/sshd_config
PasswordAuthentication yes
PasswordAuthentication no
Zkontrolujte syntaxi a restartujte sshd.
[root@hostname ~]# /usr/sbin/sshd -t
[root@hostname ~]# systemctl restart sshd
Tím je nastavení ověřování klíčů dokončeno.
2. shrnutí
Popsali jsme počáteční konfiguraci vyžadovanou při instalaci systému CentOS.
Informace v tomto článku představují minimum, které by mělo být implementováno při instalaci systému CentOS, takže pokud máte po přečtení tohoto článku pocit, že existují nedostatky, zkuste je nastavit.
Děkujeme, že jste se dívali až do konce.