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:

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.