GNU/Linux >> Znalost Linux >  >> Linux

Nastavení vícefaktorové autentizace na systémech Linux

S rostoucím počtem narušení a prolomení hesla potřebujeme co nejvíce vrstev zabezpečení.

Jedním ze způsobů, jak dosáhnout vyšší bezpečnosti, je přidání další vrstvy ověřování. Vícefaktorové ověřování (MFA) je metoda vyžadující více než jedno pověření k prokázání vaší identity.

Co je to MFA?

Obvykle, když se přihlásíte k účtu nebo zařízení, budete požádáni o uživatelské jméno a heslo. Když připojíte SSH do počítače se systémem Linux, můžete být požádáni o pár klíčů SSH. Vícefaktorová autentizace vyžaduje, aby uživatelé poskytli více než jednu informaci pro úspěšné ověření k účtu nebo hostiteli Linuxu. Další informace mohou být jednorázové heslo (OTP) zaslané na váš mobilní telefon prostřednictvím SMS nebo přihlašovacích údajů z aplikace, jako je Google Authenticator, Twilio Authy nebo FreeOTP.

Pluggable Authentication Modules (PAM) jsou mechanismy ověřování používané v Linuxu. V tomto článku používáme modul Google PAM k povolení MFA, aby se uživatelé mohli přihlásit pomocí kódů TOTP (time-based one-time password).

Implementujte modul Google Authentication

Nejprve nainstalujte modul Google Authentication na počítač se systémem Linux. Chcete-li tak učinit, otevřete okno Terminálu a spusťte následující příkaz:

# sudo dnf install google-authenticator -y

Dále nakonfigurujte google-authenticator pro generování OTP kódů. Spusťte následující příkaz pro zahájení procesu konfigurace:

# google-authenticator

Tento nástroj klade řadu otázek. Na většinu těchto otázek odpovězte ano (y ), pokud nepotřebujete něco jiného než výchozí.

Do you want authentication tokens to be time-based (y/n) y

Tím se na obrazovce vygeneruje QR kód, tajný klíč a obnovovací kódy. Pomocí ověřovací aplikace, jako je Google Authenticator na chytrém telefonu, naskenujte QR kód vygenerovaný z výše uvedeného příkazu. Pro dokončení procesu odpovězte na zbývající otázky.

Do you want me to update your "/home/user/.google_authenticator" file? (y/n) y

Do you want to disallow multiple uses of the same authentication token? This restricts you to one login about every 30s, but it increases your chances to notice or even prevent man-in-the-middle attacks (y/n) y

By default, a new token is generated every 30 seconds by the mobile app. In order to compensate for possible time-skew between the client and the server, we allow an extra token before and after the current time. This allows for a time skew of up to 30 seconds between authentication server and client. If you experience problems with poor time synchronization, you can increase the window from its default size of 3 permitted codes (one previous code, the current code, the next code) to 17 permitted codes (the 8 previous codes, the current code, and the 8 next codes). This will permit for a time skew of up to 4 minutes between client and server.
Do you want to do so? (y/n) y

If the computer that you are logging into isn't hardened against brute-force login attempts, you can enable rate-limiting for the authentication module. By default, this limits attackers to no more than three login attempts every 30s.
Do you want to enable rate-limiting? (y/n) y

Nakonfigurujte SSH tak, aby vyžadoval zadání kódu OTP

Upravte několik konfiguračních souborů SSH a vyžádejte si kód OTP jako ověření druhého faktoru.

Pomocí svého oblíbeného textového editoru otevřete /etc/pam.d/sshd pro úpravy:

# sudo vi /etc/pam.d/sshd

Přidejte následující řádky konfigurace:

auth required pam_google_authenticator.so nullok

Tato řada konfigurace umožňuje PAM používat modul Google Authenticator PAM, který jsme nainstalovali v předchozím kroku.

Pomocí nullok záznam na lince, SSH nebude vyžadovat OTP kód pro uživatele na stroji, kteří nejsou nakonfigurováni pro MFA. Zcela odeberte tuto možnost, aby všichni uživatelé v tomto systému používali MFA.

Dále zakomentujte následující řádek, abyste zakázali ověřování heslem pro přihlášení:

#auth substack password-auth

Uložte a zavřete soubor.

V dalším kroku upravte konfiguraci SSH tak, aby se po úspěšném ověření páru klíčů SSH zobrazila výzva k zadání kódu OTP.

Pomocí svého oblíbeného textového editoru otevřete /etc/ssh/sshd_config pro úpravy:

# sudo vi /etc/ssh/sshd_config

Najděte a zakomentujte řádek ChallengeResponseAuthentication no a přidejte nový konfigurační řádek ChallengeResponseAuthentication ano . Tento řádek umožňuje SSH požádat o Odpověď na výzvu . V našem případě je odpovědí OTP kód po úspěšné autentizaci pomocí SSH klíče. Zde je řádek:

#ChallengeResponseAuthentication no

ChallengeResponseAuthentication yes

Nakonec dejte vědět SSH, aby požádal o obojí klíč SSH a ověřovací kód k ověření. SSH kontroluje pár klíčů SSH (publickey ) a poté kód OTP (interaktivní klávesnice ). Na konec souboru přidejte:

AuthenticationMethods publickey,keyboard-interactive

Chcete-li povolit pár klíčů SSH a ověřování OTP pouze pro konkrétního uživatele, přidejte místo toho něco takového:

Match user <username>

           AuthenticationMethods publickey,keyboard-interactive

Uložte soubor a ukončete. Restartujte službu SSH, aby se změny projevily:

# sudo systemctl restart sshd

Otestujte konfiguraci

Pojďme otestovat naši sestavu. Otevřete okno terminálu a SSH do hostitele Linuxu. Budete požádáni o kód OTP z aplikace pro ověřování.

Chcete-li být požádáni o heslo spolu s párem klíčů SSH a kódem OTP, otevřete /etc/pam.d/ssd soubor pro úpravu a odkomentujte tento řádek:

auth substack password-auth

Dále otevřete /etc/ssh/sshd_config soubor pro úpravy a přidejte další metodu ověřování:

AuthenticationMethods publickey,password publickay,keyboard-interactive

Po provedení těchto změn nezapomeňte restartovat SSH.

Sbalit

S MFA přidáváme další vrstvu ověřování, díky čemuž jsou naše systémy bezpečnější. Kromě tradičního ověřování na základě uživatelského jména a hesla používáme k přihlášení do systému bezpečnější metody, jako je pár klíčů SSH a TOTP (Google Authenticator). Implementací těchto opatření zlepšujeme zabezpečení systému a ztěžujeme prolomení zařízení Linux.

[ Chcete se dozvědět více o zabezpečení? Podívejte se na kontrolní seznam zabezpečení IT a dodržování předpisů. ]


Linux
  1. Úvod do odkládacího prostoru na systémech Linux

  2. Povolit služby v Linuxu

  3. Návratový kód grep pro Linux

  1. 10 momentů, které utvářely historii Linuxu

  2. 4 nástroje pro budování vestavěných linuxových systémů

  3. Nastavení proměnných prostředí Linuxu

  1. Zabezpečení správce systému:8 ovládacích prvků uzamčení systému Linux

  2. 13 kurzů zabezpečení Linuxu

  3. Instalace a nastavení Grafana v linuxu