od Nemo @ pixabay
V tomto návodu nastavíme systém, který může fungovat jako vaše vlastní osobní OTP zařízení, spravující všechna autentizační zařízení ve vaší síti. Poté můžete nakonfigurovat své služby tak, aby se ověřovaly proti tomuto počítači. Je dobré použít nějaký virtualizační mechanismus. Pokud máte v okolí nějaký starý hardware, je to stejně dobré.
Nainstalujeme privacyIDEA na systém Ubuntu 14.04 LTS, který jste mohli vidět dříve zde nebo zde. Ale tentokrát to uděláme ještě hladší a elegantnější!
Základní instalace
Odmítnutí odpovědnosti: Předpokládám, že v tomto scénáři jste uživatel root. Pokud ne, měli byste před každý příkaz přidat „sudo“.
Nejprve tedy nainstalujeme obyčejný ubuntu server 14.04 LTS, na kterém není nic. Neinstalujte prosím žádnou databázi ani webový server. Ke spuštění jako služby na tomto počítači byste měli vybrat pouze openssh.
Instalovat privacyIDEA
privacyIDEA 1.3.3 přichází s řadou nových balíčků debianu v repozitáři launchpadu, což ještě více usnadňuje nastavení.
Nejprve musíme do systému přidat úložiště:
apt-get install software-properties-common
add-apt-repository ppa:privacyidea/privacyidea
apt-get update
Nyní, když jsme přidali úložiště privacyidea, můžete se podívat, co je k dispozici:
[email protected]:~# apt-cache search privacyidea
privacyidea – dvoufaktorový autentizační systém, např. pro OTP zařízení
privacyideaadm - admin klient pro privacyIDEA
privacyidea-radius - modul FreeRADIUS pro privacyIDEA, OTP autentizace
privacyidea-all - dvoufaktorový autentizační systém. Toto je metabalíček pro instalaci všeho.
privacyidea-otrs - OTRS modul pro privacyIDEA, OTP autentizaci
privacyidea-nginx - dvoufaktorový autentizační systém. Toto je meta balíček pro instalaci privacyidea s nginx
privacyidea-appliance - dvoufaktorový autentizační systém. Toto je instalační nástroj pro snadné nastavení systému.
Existují různé (meta) balíčky pro různé scénáře. Jak bylo zmíněno, rádi bychom nainstalovali jakýsi „spotřebič“. Takže pojďme na to:
apt-get install privacyidea-appliance privacyidea-radius
Tím se nainstaluje webový server Nginx, databáze MySQL, server FreeRADIUS a privacyIDEA se všemi závislostmi na pythonu.
Budete požádáni o zadání hesla root MySQL. Vyberte si dobrý - později ho nepotřebujeme!;-)
Po instalaci jste připraveni konfigurovat váš spotřebič.
Nakonfigurujte svůj spotřebič
Existuje nástroj pro konfiguraci všech nezbytných prostředků vašeho spotřebiče. Spusťte jej z příkazového řádku jako uživatel root.
privacyidea-setup-tui
Toto je dialogový textový nástroj uživatelského rozhraní, který vám umožňuje provádět všechny relevantní úkoly na úrovni operačního systému, jako je správa správců tokenů, nastavení úrovní protokolů, regenerace šifrovacích a podepisovacích klíčů, nastavení správné webové služby a služby RADIUS a správa vašich klientů RADIUS.
Potřebujeme alespoň provést následující úkoly:
- vytvořte alespoň jednoho správce tokenu
- vytvořte databázi MySQL
- vytvořte klienta RADIUS
Nástroj je založen na logice analyzátoru pro soubory klienta FreeRADIUS, ini soubory privacyIDEA a soubor nginx. Soubory tedy můžete upravovat i na příkazovém řádku, změny zůstanou zachovány.
Poznámka: Instalační nástroj nezachová žádné komentáře v souborech, pokud tyto soubory upravíte ručně!
Vytvořte si správce tokenu
Chcete-li spravovat své administrátory tokenu, přejděte na privacyidea ? spravovat správce .
Zde můžete zvolit Přidat nového správce .
Budete požádáni o:
- Uživatelské jméno, kde vyberu admin a
- heslo (dvakrát!), které se na obrazovce nezobrazuje.
Nyní, když jste vytvořili svého správce (nebo správce), můžete stisknout tlačítko Zrušit a zrušit a vrátit se do hlavní nabídky.
Vytvoření databáze MySQL
Tento krok můžete také přeskočit. privacyIDEA by pak běžela s databází SQLite na /var/lib/privacyidea/. V tomto scénáři jsme se však rozhodli použít databázi MySQL.
Přejděte tedy na privacyIDEA ? databáze ...
Zde můžete zvolit resetovat lokálně , který vytvoří databázi MySQL, vytvoří uživatele a nastaví databázové tabulky.
Ano, máme!
Nakonec uvidíte novou konfiguraci pomocí databáze MySQL.
Vytvořte své klienty RADIUS
V hlavní nabídce vyberte FreeRADIUS ? konfigurace klienta ke správě klientů RADIUS. Výchozí /etc/freeradius/clients.conf je dodáván s klientem localhost, proto již v seznamu vidíte jednoho klienta.
Poznámka: Posledního klienta nelze smazat, proto vytváříme nové klienty!
Vytvoříme klientskou síť, která si poradí se všemi možnými klienty ve vaší síti a klientem localhost, pro spuštění testů proti systému. Volím tedy tyto hodnoty – tomu byste měli přizpůsobit síť:
- mynetwork
- název:mynetwork
- IP:172.16.200.0
- maska sítě:24
- tajné:topSecret4All
- zkratka:prázdné
- localhost
- název:localhost
- IP:127.0.0.1
- maska sítě:32
- tajné:topSecretOnce
- zkratka:prázdné
Vybereme Přidat nového klienta k vytvoření nového klienta "mynetwork" a dialogová okna se nás zeptají na výše uvedené hodnoty. Všichni klienti v síti 172.16.200.0/24 tak budou moci zadat požadavek RADIUS s tajným RADIUS „topSecret4All“.
Název konfigurace klienta
IP adresa
Maska sítě
Sdílené tajemství
Zkratku lze ponechat prázdnou
Můžete vybrat klienta "localhost" a odstranit jej. Poté můžete vytvořit nového klienta "localhost" podle výše uvedeného nastavení.
Konfigurace dokončena
Nyní jste hotovi s konfigurací základního systému. Instalační nástroj by si měl uvědomit, že změníte důležitá data a restartujete služby. Ale pro jistotu to můžete udělat ručně:
restart služby uwsgi
restart služby freeradius
Zaregistrujte svůj token
Nyní můžete zaregistrovat svá ověřovací zařízení, což se provádí pomocí webového uživatelského rozhraní pro správu. Nasměrujte svůj prohlížeč na https://váš-server, přijměte upozornění certifikátu na certifikát s vlastním podpisem a zobrazí se přihlašovací obrazovka:
Na této přihlašovací obrazovce se můžete přihlásit jako správce tokenu. Všichni správci tokenu, které jste vytvořili, musí ke svému jménu přidat „@admin“, aby bylo zřejmé, že jsou správci.
Webové uživatelské rozhraní vám poskytuje pohled na tokeny, uživatele, zásady, počítače a protokol auditu.
Připojit ke zdroji uživatele
Protože privacyIDEA nespravuje uživatele sama, musíme uživatele číst z nějakého zdroje. Použijeme soubor /etc/passwd.
Klikněte na privacyIDEA config ? uživatelské řešení , klikněte na tlačítko Nový a vyberte Flatfile .
Klikněte na uložit uložit definici resolveru s názvem "místní".
Poznámka: Kdykoli můžete kliknout na bílý otazník v zeleném kruhu, který vás přenese do kontextové online nápovědy v jiném okně prohlížeče. Ve skutečnosti by bylo dobré si přečíst něco o resolverech a realmech;-).
Když zavřete okno resolveru, budete buď automaticky přesměrováni do okna realm, nebo můžete kliknout na privacyIDEA Config ? říše k vytvoření nové říše. V tomto dialogu musíte kliknout na Nový .
Zadejte název sféry ("realm1") a vyberte překladač ("místní") a klikněte na Uložit .
Poté uvidíte novou sféru ve svém seznamu sfér.
Můžete zavřít okno a kliknout na záložku User View .
Zaregistrujte uživateli token
V dolní části můžete vyhledat uživatele zadáním „r*“ a kliknutím na hledat knoflík. Uvidíte root uživatele. Vyberte uživatele kliknutím na něj. Uživatel bude uveden v levém postranním panelu jako vybraný uživatel. Nyní můžete kliknout na tlačítko zaregistrovat se v levém postranním panelu.
Poté se otevře přihlašovací dialog. Vyberte typ tokenu „HMAC eventbased“ a vyberte generovat klíč HMAC .
Klikněte na tlačítko Zaregistrovat se . Server vytvoří tajný klíč a vykreslí QR kód, který lze naskenovat pomocí aplikace Google Authenticator. Tato aplikace Google Authenticator bude nyní fungovat jako ověřovací zařízení.
Po naskenování QR kódu můžete kliknout na OK a nakonec nastavte PIN – heslo, které znáte jen vy – právě pro tento token.
Nyní máte k ověření dva faktory – PIN a hodnotu OTP vygenerovanou vaším autentizačním zařízením.
Otestujte svůj systém
Nyní můžeme zkontrolovat systém odesláním požadavku RADIUS tomuto zařízení. Udělám to ze samotného systému přihlášeného jako root přes ssh příkazem jako:
echo "Uživatelské jméno=root, heslo=PIN+OTP" | radclient -s 127.0.0.1 auth topSecretOnce
Heslo je zřetězen z PIN a hodnoty OTP a "topSecretOnce" je sdílené tajemství pro localhost.
[e-mail chráněný]:~# echo "Uživatelské jméno=root, heslo=test570391" | radclient -s 127.0.0.1 auth topSecretOnce
Přijatá odpověď ID 209, kód 3, délka =55
Reply-Message ="privacyIDEA server odepřen přístup!"
Celkový počet schválených ověření:0
Celkový počet odepřených ověření:1
Celkový počet ztracených ověření:0
[e-mail chráněný]:~# echo "User-Name=root, Password=test137634" | radclient -s 127.0.0.1 auth topSecretOnce
Přijatá odpověď ID 180, kód 2, délka =48
Reply-Message ="privacyIDEA přístup udělen"
Celkový počet schválených ověření:1
Celkový počet odepřených autorizací:0
Celkový počet ztracených autorizací:0
Poznámka: Kvůli odlišnému počátečnímu čítači v aplikaci a na serveru se první ověření nezdaří.
Nyní můžete vzít všechny své aplikace podporující RADIUS (Firewall, OpenVPN) a nakonfigurovat je tak, aby se ověřovaly proti privacyIDEA pomocí dříve definovaného sdíleného tajného klíče.
Hodně štěstí při ověřování!