Ugrás a fő tartalomra

Almafa1234$... vagy legyen inkább Zero Trust

Jelszavak



A hétköznapi életben is fontos adataink védelme, hiszen ki akarná azt, hogy a közösségi médiában használt profilunkkal vagy rosszabb esetben banki adatainkkal, bárki is visszaéljen. Ezeket a felhasználói profilokat, adatokat legalább 1 jelszóval szokás védeni, és itt az informatikai berkekben különböző hitvitákba fut bele az ember. Fontos, hogy az alábbiak az én véleményemet képezik és nem tekinthetőek ipari sztenderdnek, inkább csak ajánlás részemről, azoknak, akik IT biztonsági témakörben útmutatást keresnek.
Felhasználó profilok és jelszavak esetnében én az alábbiak szerint szoktam eljárni:


Felhasználói profilok differenciálása


A privát életben használt profilok nem keveredhetnek a munkahelyen használt profilokkal. Ez abban nyilvánul meg leginkább, hogy nem használom a céges e-mail címem a közösségi portálokra történő regisztrációk során, vagy a privát életben használt e-mail címem, a munkámhoz kapcsolódó profilokban. Maximum másodlagos alternatív e-mail címként van megadva, esetleges backup-ként, de elsődleges autentikációra nem használom.
Ennek megfelelően a jelszavakat is igyekszem differenciálni, és például a facebook profilhoz használt jelszavam más mint a cisco, hpe vagy forti accounthoz tartozó jelszó...
Persze ennyi jelszót nem tud megjegyezni az ember, ilyenkor az alábbi dolgokat tehetjük biztonságunk érdekében:
  • Erős mesterjelszó kitalálása
Egy erős mesterjelszó egyik tulajdonsága, hogy hozzánk a kapcsolódó tulajdonságokból adatokból nem következik. Ne kapcsolódjon semmihez, amit publikusan felderíthetnek rólunk. Például nekem van 3 fiam, feleségem akiknek a neve, születési adata viszonylag kisebb internetes kutatás során könnyen felderíthető, így én nem használok olyan jelszót, pin-kód-ot, ami hozzájuk kapcsolódik.
Mesterjelszót célszerű generálni, ha meg tudunk jegyezni valami random betű szám és spec karakter kombinációt, akkor akár az is lehet, hogy rá csapunk a klaviatúrára és valami lesz:
fsihgpfiyxfou
ez még ön magában kevés, legyen mondjuk:
Fs1h@pfi#xFoU
Ha ezt tudjuk memorizálni, és nem írjuk fel cetlire, akkor meg is van a mesterjelszavunk...
Szerintem a legjobb mesterjelszó generálás a fejünkben történik, például ha  érdekel az elektronika és a technológia, akkor ismerhetünk olyan száraz adatot, hogy PISO shift regiszter azonosítója a 74AC165
kezdjünk el generálni:
#74aC@$1hat5lQkHt
Most tételezzük fel, hogy csak a fejünkben generáltuk memorizáltuk, akkor a jelszó clear text formátumban még nem került lejegyzésre sehol. Szerintem az egyik legjobb mesterjelszó az, amit, soha nem írtak fel vagy le sehova...
Ennél már csak az jobb, amit senki nem tud a világon, tehát megszerezni se lehet...
Viszont fontos, hogy a mester jelszót csak a tényleg általunk megbízható helyen használjuk, és ne lépjünk be és írjuk be olyan helyekre, ahol ellophatják vagy megszerezhetik.
Mesterjelszót érdemes megbízható jelszó tároló rendszerekhez használni, amikben minden profilunk egyedi jelszava szerepel...

Jelszó változtatás


Nem hiszek abban, hogy népet azzal szívassuk, hogy havonta új jelszót generáljanak maguknak, mert abból az alábbi esetek következnek:
  • Inkrementális jelszót használ:
    • Én speciel egy 3-4 bites bináris változót alkalmazok ilyenkor... 0000; 0001 stb...
  • Elfelejti és generáltat magának, amit felír... cetlire, notepad-ba stb...
  • Almafa1234&
  • qw3rtzuiopas@fghjklélyxcv1nm
Ettől szerintem sokkal jobb megoldás a többfaktoros autentikáció, ami 2. faktorként a identitását ellenőrzi a felhasználónak, telefonján felugrik egy értesítés, hogy engedélyezze a belépést, vagy írjon be egy random, percenként generált pin kód-ot, vagy biometrikus azonosítást követelünk tőle a belépéshez.
Ha már a két faktoros autentikációnál (2FA) járunk, akkor fontos kiemelni egy jó kis megoldást, ami 10 userig ingyen használható. Igen akár otthon is...

Ez nem más mint a Cisco DUO Security...

Hogy induljunk el vele?

Elsősorban regisztráljunk itt:

duo.com


A regisztráció során érdemes a DUO alkalmazást letölteni mobiltelefonra, ugyanis az adminisztrátori hozzáféréshez is 2FA beléptetést fogunk használni. Tetszik érteni?

Regisztrációt követően, kapásból egy üres dashboard fogad minket, amiben  kezdetben semmi izgalmas nincs. 
Viszont, ha megnézzük az Application->Protect an Application menüpontot, akkor láthatjuk, hogy lehetőségek tárháza nyílik meg számunkra.



Igen, ez valóban egy olyan Cisco Cloud appliance, ami szinte bármilyen 3rdparty megoldást támogat. Persze ez nem a hidas cégnek köszönhető elsősorban, hanem a DUO fejlesztőinek, akvirálásuk előtt üzletileg nyilván nem érte volna meg a zárkózottság, ahogy szerintem ez Cisco-nál sem cél, legalábbis ennél a megoldásnál.
A DUO 2FA hála annak, hogy pure LDAP és RADIUS protokollokat is támogat, mindennel is integrálható. Kaptam az alkalmon és az otthoni környezetem infrastruktúra védelmét felturbóztam vele.

Getting START...

A legfontosabb, hogy legyenek felhasználók definiláva a DUO-ban. Mivel nem szerettem volna, a családom életét megkeseríteni WLAN autentikáció dot1x és 2FA bevezetésével (STEP2. XD), ezért számomra legfontosabb ponton kezdtem el az építkezést, ez pedig az SSL VPN.
Az SSL VPN Fortigate 60D-POE tűzfalon terminálodik az otthoni intrában, - ami mellesleg SD-WAN tesztelés miatt van nálam, így majd erről is fogok írni egy szösszenetet - a duo portálon ennek az alkalmazásnak védelmét kell megvalósítanom, mint azt a fenti ábrán is láttátok. Nem húznám az időtöket, meg a soraimat a beállítás részletezésével, azt megtaláljátok itt is:


Ennél a pontnál egy dolgot mindenképp érdemes megemlíteni, méghozzá nincs AD-m... pedig a leírás AD integrációra készült... 
Gondoltam, kemény vagy Csoki, telepítek egy open-LDAP-ot és majd én megmutatom a világnak!

sudo apt-get install open-ldap....  oszt kész  jó napot kívánok... és, amikor elkezdtem túrni az Interneten, hogyan lehet egy felhasználót definiálni, akkor kicsit szomorú lettem és majdnem hagytam az egészet a pi....  (Windows szervert nem fogok otthoni intrába telepíteni, mert csóró vagyok... szóval linux a kiráj :D)

forrás
Kell hogy legyen más mód arra, hogy megmentsem a quest-et, és megvalósítsam a biztonságos bejelentkezést az intranet-be... így kicsit tovább keresgéltem, és megtaláltam a módot rá.
Legyen RADIUS autentikációs szerverem otthon, úgyhogy felraktam egy ISE-t és egy Clearpass-t egymás mellé... XD jah nem, hát őőő, még mindig csóró vagyok úgyhogy:
sudo apt-get install freera <tab><tab>
sudo apt-get install freeradius

ugyanarra a szervernek használt PC-re telepítettem fel az alkalmazást, amin egyébként a leírás alapján az authproxy-t is megvalósítottam.
Ezért a default radius port-ot, el kellett tolni 1-el valahol.
Úgyhogy az authproxy beállítások nálam valahogy így néznek ki most:

[radius_server_auto]
ikey=SEMMIKOZODHOZZA
skey=ALLITSDBEMAGADNAKADUOPORTALALAPJAN
api_host=api-valamirandomgeneráltszám.duosecurity.com
radius_ip_1=xxx.xxx.xxx.3
radius_secret_1=TitokNemmondomeg
radius_ip_2=xxx.xxx.xxx.2
radius_secret_2=TitokNemmondomeg
radius_ip_3=xxx.xxx.xxx.1
radius_secret_3=TitokNemmondomeg
radius_ip_4=xxx.xxx.xxx.11
client=radius_client
port=91812
failmode=safe


[radius_client]
host=127.0.0.1
secret=Tokmasmintamasik1
pass_through_all=true


Szuper és működik is? 
Az attól függ éppen, hogy van-e megfelelő rendelkezésre állású Internet kapcsolatom. Talán ez a Cloud alapú rendszerek egyik legnagyobb hátránya, hogyha Internyet, akkor nem tudom használni az alkalmazást, de manapság már otthon sem probléma a redundáns Internet bekötés. Csak kell hozzá egy picit okosabb eszköz mint a TP-link vagy D-link router-ek többsége (egyébként már ezek is tudnak mobil sctick-et, vagy SIM kártyát, csak nem tartom megbízható gyártónak ezt a kategóriát).
Valahogy így néz ki jelenlegi setup:


Fú de sok lépés, ez biztos jó bonyolult lehet... gondolnátok, de menjünk végig a lépéseken.
A Makesz szeretne csatlakozni SSL VPN-en az intranethez:
1. SSL VPN autentikációt kezdeményezünk a kliensről (user/pass)
2. A FGT RADIUS request-et küld az authproxy felé:
  • SSL VPN beállításoknál a Fortigate-en felvettem az authproxy-t, radius szerverként, majd definiáltam egy DUO group-ot, amiben remote szerverként felvettem a DUO-t, ahonnan autentikálunk:

  • CLI-ben át kellett írni a RADIUS szerver portját, ugyanis a GUI-n erre nincs mód ennél a 6.0.8-as F OS-nál:

config user radius
edit "Cisco-DUO"
set server "x.x.x.x"
set secret ENC MEGMINDIGNEMMONDOMMEG
set radius-port 91812
set auth-type pap
next
end




  •  Majd az SSL-VPN szabályokon felvettem a DUO group-ot mint engedélyezett forrás:

 3. Authproxy autentikációt kezdeményez a RADIUS szerver felé:
  • Ezeket a beállításokat taglaltam korábban, a freeradius oldalon a konfigban csak a felhasználókat kell definiálni.
4. Az autentikációs forrás (jelen esetben freeradius) válaszol az authproxy-nak (ACCEPT/REJECT)
5a. Ha REJECT, akkor az authproxy ezt jelzi a DUO CLOUD számára és REJECT-et dob vissza az védeni kívánt alkalmazás számára, azonnal.
5b. Ha ACCEPT, akkor DUO cloud-ban megvizsgálja, hogy létezik-e a felhasználó.
6a. Ha létezik, akkor auth policy alapján küld egy notification-t az user 2FA eszközére (jelenesetben DUO APP push).
6b. Ha nem létezik, akkor a auth policy  alapján eldobja request-et, és az authproxy REJECT-et küld.
6c. Ha létezik, de nem felel meg a policy-ban beállított követelményeknek (pl: nem trusted 2FA eszköz, vagy nem trusted az IP ahonnan érkezik az ACCEPT) akkor is REJECT lesz a végeredmény.
7. Ha az általunk beállított policy-ra illeszkedik minden körülmény, akkor a végeredmény, hogy a authproxy küld egy RADIUS ACCEPT-et-et a FORTI-nak és felépül a VPN tunnel.

Ha ez nagyon bonyolultnak és használhatatlannak tűnik akkor itt egy kis videó összeállítás a folyamatról kliens oldalról:



Ugye nem is volt olyan vészes? 
 ...
 Szerintem sem.

Adminisztrátori felületen e-közben



A dashboard elég informatív önmagában, láthatjuk az autentikációs request-ek számát és sikerességét, 2FA eszközök számát, a létrehozott group-okat, illetve az esetleges incidensekhez kapcsolódó felhasználók számát.
Fontos, hogy az Adminisztrátori user, nem alkalmazás felhasználó, így ő  NEM számít bele a licence számításba.

Felhasználókat meglepő módon a Users menüpont alatt lehet konfigurálni/megtekinteni, fontos megjegyezni, hogy nem kell egyesével felvenni mindenkit, van lehetőség a felhasználónevek importálására.
A felhasználók és 2FA eszközök összerendelését is itt tudjuk menedzselni.



2FA eszközöket pedig váratlan helyen a 2FA Devices menüpont alatt tekergethetjük.

Ami ebben érdekes lehet még biztonsági szempontból, hogy posture jelleggel kikényszeríthetünk a policy-k segítségével olyan feltételeket, amelyek során figyelembe vesszük 2FA eszköz paramétereit. Pl: 12.0.1-es IOS-nél régebbit nem fogaduk el stb...

Ami még hasznos, a Reposrt menüpont alatt található Authentication log:


 .................

100 szónak is 1 a vége

 Lehetne a végtelenségig tagalani a DUO security-t és a hozzákapcsolódó feature-ket, meg very important magic megoldásokat, de nem ez volt a poszt célja, hanem az, hogy felhívjam a figyelmet a tudatosabb felhasználói szemléletre, kezdve a jelszavak használatától, egészen az autentikáción át, a rendszerek kialakításáig.
Miért is?
Mert már nem a rendszert támadják közvetlenül a tudjuk kik, hanem a végfelhasználónál próbálkoznak, és még, ha eléggé tudatos felhasználókkal is dolgozunk együtt, akkor sem kérdés az, hogy feltörhető-e egy rendszer, hanem az, hogy mikor.
Igyekezzünk minél több időt nyerni magunknak, mert nem csak egyéni, hanem akár üzleti adatokat (és pénztárcákat) is védhetünk átgondolt, tudatos megoldások segítségével.

Tehát én azt mondom lehet az almafán$, de csak Zero Trust szemlélet mellett.

Aki esetleg még kíváncsi a DUO security egy másik alkalmazási lehetőségére, annak figyelmébe ajánlom kiváló kollégám Newman blogját:
Cisco Duo aka. Duo Security