Első SSH-munkamenet
Egy futó, első identitással rendelkező átjárótól (első lépések) az első brókerezett SSH-munkamenetig: egy célgép előkészítése, a kapcsolódás, és a munkamenet a rekordban. Egy éles szerver teljes előkészítése a célgép-előkészítés lapon áll; hogy az átjáró ott mit enged egy operátornak, az SSH-policy és jóváhagyás lapon.
Első célgép
Egy célgép nem attól kész, hogy az átjáró eléri. Két dolognak kell igaznak lennie, és ezek a bizalom két különböző iránya:
- Az átjárónak fel kell ismernie a célgépet. A hosztkulcs-ellenőrzés
alapértelmezése szigorú, ami azt jelenti, hogy az átjáró kizárólag a saját
CA-ja által aláírt hoszttanúsítványt fogadja el — csupasz hosztkulcsot nem, és
olyan kulcsot sem, amit korábban már látott. Kiadni az
isg ca host-cert issue --host <host> --key <file>paranccsal lehet, a célgép meglévő publikus hosztkulcsa fölé; a CA a gép privát kulcsát sosem látja. A célgépre másolandó tanúsítvány apub/hosts/alatti publikált tükör. - A célgépnek fel kell ismernie az átjárót. A célgép
sshd-jének meg kell bíznia az ISG CA-jában a felhasználói tanúsítványok tekintetében — ettől lesz bejelentkezésként elfogadható az a tíz perces tanúsítvány, amit az átjáró kiállít. Az ehhez telepítendő CA-publikuskulcsot azisg ca pubkeyírja ki.
Mindkettőhöz léteznie kell a CA-nak, tehát előbb futtasd az isg ca init-et —
idempotens, és az SSH- meg az X.509-fele független egymástól.
Egy ÚJ X.509 CA-nak meg kell adni, milyen nevekre írhat alá:
isg ca init --permitted-dns isg.example.local --permitted-ip 192.168.57.0/24
Ez a két kapcsoló lesz a CA-tanúsítvány nameConstraints-e, és egyik nélkül
sem a parancs semmit nem hoz létre, és megmondja, miért. Az ok az admin
felület: a kiszolgáló-tanúsítványát ez a CA írja alá, tehát annak a
böngészőnek, ami figyelmeztetés nélkül nyitná meg, bíznia kell a CA-ban — egy
megszorítás nélküli CA kulcsa pedig bármely webhelyet hamisíthatná azon a
gépen, ami importálta. Egy --permitted-dns bejegyzés a domént és az
aldoménjeit engedi; a --permitted-ip CIDR-eket vár (egy címre /32). A
--no-name-constraints a tudatos kibúvó, és a parancs egy sorban kimondja,
hogy a létrehozott CA megszorítás nélküli.
A megszorítás csak ÚJ tanúsítványon állítható be, tehát egy olyan átjárón,
aminek már van X.509 CA-ja, a kapcsolók nem változtatnak semmit — a kimenet
megmondja, milyen megszorítást hordoz az a CA valójában. Az isg system check
x509_ca_name_constraints sora ugyanezt jelenti bármikor.
Egyik lépést sem érdemes rögtönözni: a célgép pontos sshd-konfigurációját, az
alkalmazás sorrendjét, és azt, hogyan ellenőrizd anélkül, hogy kizárnád magad, a
célgép-előkészítési útmutató tárgyalja.
Első kapcsolódás
Futó daemonnal, inicializált CA-val és egy előkészített célgéppel:
isg connect <target> --as <user>
Az --as kötelező, és azt az OS-felhasználót nevezi meg, akivé a célgépen
válsz. A daemon megmondja, kinek gondol, lefuttatja a hozzáférési kapukat,
bekéri a második faktort, kiállítja a tanúsítványt, tárcsázza a célgépet, és
átad egy promptot. Minden sor, amit ott begépelsz, egy policy-döntés és egy
auditbejegyzés. Az exit, a quit vagy a logout zárja a munkamenetet.
Két változatot érdemes korán ismerni. A --command <command> egyetlen parancsot
futtat, és annak a parancsnak a saját kilépési kódjával lép ki — ettől
szkriptelhető az átjáró. A --change <id> egy változáskezelési hivatkozást fűz
a munkamenet-rekordhoz.
Ha az mfa.yaml-ban mfa_mode: totp áll, minden operátor egyszer beregisztrál
az isg mfa enroll paranccsal, az első kapcsolódása előtt. A regisztráció
önkiszolgáló, és a futó daemonon keresztül megy, tehát az isg serve-nek futnia
kell hozzá.
Két ajtó, egy munkamenet. Az isg connect magán a brókeren fut: a daemon a unix-socketen
(session.sock) azonosítja a hívót, ezért az operátornak shell kell a brókeren, és tagság az
isg-operators csoportban. Mindenki más a saját gépéről, a gateway-belépésen át jön — SSH-n, az
isg-login felhasználóként, a célgéppel parancsként (telepítés) —, és a
felhasználónév-, a jelszó- és az MFA-kérdésre felel. Mindkét ajtó ugyanazokhoz a hozzáférési kapukhoz és
ugyanahhoz a munkamenet-rekordhoz vezet, és mindkettő kiírja a munkamenet-azonosítót, amikor a munkamenet
megnyílik.
Az átjáróhoz a közös nevén kapcsolódj, ne címmel: a brókerek host-tanúsítványa a közös névre szól, így a
known_hosts egyetlen @cert-authority sora azt a brókert is elfogadja, amelyiken épp a közös név van.
A munkamenet a rekordban
A munkamenet ott van az admin felületen a https://<gateway>:8765/ címen (Munkamenetek), a
transcriptjével és a felvételével, és az audit.log-ban is, eseményenként egy sorként. Magának a
telepítésnek az ellenőrzései az első lépések lapon állnak.