Hardening operačního systému
Do IAM appliance je možné doinstalovat volitelný balíček, který zvýší bezpečnost operačního systému platformy tak, že upraví některé z jejích politik.
-
Zakáže přístup na uživatele
root
přes SSH. -
Pro přístup přes SSH vytvoří speciálního uživatele
iamadmin
. Administrátor appliance pak může, dle svého uvážení, vytvářet další účty pro vzdálený přístup. -
Vypne sftp subsystém SSH démona.
-
Definuje politiky pro lockout uživatelů a požadavky na jejich hesla. Politiku lze částečně přizpůsobit konkrétnímu nasazení pomocí volitelných features.
-
Instalace balíčku.
-
Nastavení hesla uživatele
iamadmin
. -
Aplikace nové konfigurace SSHd.
-
Aplikace výchozích politik hesel a přihlášení.
-
Donastavení politik dle prostředí.
Instalace balíčku
Balíček nainstalujte standardním způsobem. V průběhu instalace budete informováni o dodatečných akcích, které musíte provést.
[root@localhost ~]# dnf install iam-security-settings ... zkráceno ... NOTICE: SSHd configuration updated. Please verify configuration with 'sshd -t' and restart sshd daemon. NOTICE: New user 'iamadmin' created. Please set its password. NOTICE: No authselect profile in use, set it by calling 'authselect select iamappliance -f'. ... zkráceno ...
Nastavení hesla uživatele iamadmin
Pokud neexistuje uživatel iamadmin
, instalace balíčku ho vytvoří. Tento uživatel se zatím nemůže přihlašovat, protože nemá nastavené heslo. Nastavte heslo uživatele iamadmin
.
[root@localhost ~]# passwd iamadmin Changing password for user iamadmin. New password: Retype new password: passwd: all authentication tokens updated successfully.
Otestujte přístup na uživatele pomocí SSH a přepnutí na uživatele root. Při přepnutí zadejte heslo pro uživatele iamadmin
.
[root@localhost ~]# ssh iamadmin@appliance.bcv iamadmin@appliance.bcv's password: Last login: Wed Aug 18 11:08:43 2021 from 172.31.255.70 [iamadmin@localhost ~]$ sudo su [sudo] password for iamadmin: [root@localhost iamadmin]# id uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
Uživatel # "login" je loginem nového uživatele # -G wheel přidává uživateli skupinu "wheel", která mu umožňuje používat příkaz "sudo" # ostatní parametry příkazu useradd lze specifikovat dle libosti [root@localhost ~]# useradd -m -s /bin/bash -G wheel login # po vytvoření nastavíme uživateli heslo # heslo si můžete vygenerovat například příkazem "pwgen" # "login" je login čerstvě vytvořeného uživatele [root@localhost ~]# passwd login Changing password for user login. New password: Retype new password: passwd: all authentication tokens updated successfully. |
Aplikování konfigurace SSHd
Pokud je přístup na uživatele iamadmin
funkční, lze restartovat SSHd. Změny provedené v konfiguraci SSH serveru totiž zakazují přímé přihlášení na uživatele root. Po restartu démona musíte používat pro přístup uživatele iamadmin
a pomocí sudo su
přecházet na uživatele root.
# test konfigurace SSHd zda je validní # pokud test neprojde, je potřeba konfiguraci opravit # při instalaci balíčku se vytváří záloha původní konfigurace v /etc/ssh/sshd_config.YYYYmmdd_HHMM [root@localhost ~]# sshd -t # pokud je nová konfigurace v pořádku, restartujeme SSHd [root@localhost ~]# systemctl restart sshd
Aplikování politik hesel a přihlášení
Politiky jsou do IAM appliance implementovány pomocí tzv. authselect profilu a lze je částečně customizovat. Při aplikaci politik dojde k přepsání některých souborů v adresářové struktuře /etc/pam.d/
.
Custom úpravy provedené v konfiguraci PAM budou přepsány. |
Aplikujte základní profil iamappliance
.
[root@localhost ~]# authselect select iamappliance -f Backup stored at /var/lib/authselect/backups/2021-08-18-11-31-23.AucMps Profile "iamappliance" was selected. ... zkráceno ...
Features profilu iamappliance
Pomocí authselect enable-feature …
a authselect disable-feature …
donastavte profil dle požadavků. Plné readme je možné vždy získat přímo na systému spuštěním authselect show iamappliance
. Informace o aktuálních nastaveních lze získat příkazem authselect current
.
Stejné features s Napříč odlišnými features je možné Příklad validní politiky
iamappliance - with-faillock-lax - with-pwquality-strict Příklad nevalidní politiky
iamappliance - with-faillock-lax - with-faillock-strict |
-
Fail delay - Doba vynuceného čekání mezi pokusy o přihlášení uživatele.
-
with-faildelay-lax
- čekání 2 sekundy. -
with-faildelay-strict
- čekání 10 sekund.
-
-
Fail lock - Dočasné uzamčení účtu po několika neúspěšných pokusech o přihlášení.
-
with-faillock-lax
- 5 pokusů během 1 minuty uzamkne účet na 2 minuty. -
with-faillock-strict
- 5 pokusů během 5 minut uzamkne účet na 10 minut. -
with-faillock-also-for-root
- Zda bude nastavení faillock vynucováno i pro účetroot
. Tuto volbu lze připojit jak k "lax", tak ke "strict" variantě.
-
-
Password quality - Definuje požadavky na komplexitu hesel.
-
with-pwquality-lax
-
Minimální délka 12 znaků.
-
Alespoň 2 character classes (možnosti: malá písmena, velká písmena, čísla, speciání znaky).
-
-
with-pwquality-strict
-
Minimální délka 12 znaků.
-
Alespoň 3 character classes (možnosti: malá písmena, velká písmena, čísla, speciání znaky).
-
Heslo nesmí obsahovat GECOS údaje (jméno, příjmení, login, adresu, atd.). Informace je porovnávána se záznamem uživatele v OS.
-
Maximálně dva za sebou jdoucí znaky mohou být stejné. Např. heslo "aabccaad" je v pořádku. Heslo "aaabccaad" v pořádku není, protože je v něm třikrát těsně za sebou znak "a".
-
-
-
Password history - Definuje požadavky na kontrolu historie hesel.
-
with-pwhistory-lax
- Heslo nesmí být stejné/podobné 6 předchozím heslům. -
with-pwhistory-strict
- Heslo nesmí být stejné/podobné 12 předchozím heslům. -
with-pwhistory-also-for-root
- Zda bude nastavení pwhistory vynucováno i pro účetroot
. Tuto volbu lze připojit jak k "lax", tak ke "strict" variantě.
-