gitea + 2FA

Hali,

 

Van egy gitea telepítés, ahol próba képpen bekapcsoltam a 2FA-t.

A telefon szépen dobja a kódokat, mégsem tudok vele commit-olni, hanem a kötelezően genrált fix token a jelszó (tehát semmit sem ér az egész).

Mi a trükk?

Hozzászólások

Úgy néz ki, a 2FA nem a commit-hoz kell, hanem a webes login-hez.

Na ennek mi értelme?

A commit git -ben lokális, tehát Te a push -ra gondolsz. Egyébként marhán megnehezítené a munkát ha 2fa kódokat kellene beadagolni minden remote git parancshoz (sőt, az _nagyon_ rossz lenne). Az szerintem nem baj hogy a 2FA csak a webes login ellen véd, hiszen ha valaki usernevét és jelszavát megszerzi valaki, akkor

- nem tud weben belépni, mert fogja a 2fa

- következésképpen nem tud körülnézni, milyen git repository -k vannak (mi a név / path, ugye ezek nélkül nem tud repo-t clone-ozni, tehát piszkálni vagy olvasni se, hacsak nem éppen eltalálja valamelyik nevét)

- nem ismerem a gitea lehetőségeit, de általában ssh kulccsal szoktak git-ezni, így az usernév és jelszó még mindig nem elégséges, hiszen ssh key uploadhoz is be kellene tudnia lépni weben, de azt megint fogja a 2fa

Ha valaki az usernevét+jelszavát meg az ssh kulcsát a gépével együtt veszti el, az ellen már nem véd, de az ellen amúgy is nehéz védekezni :)

Minden uj SSH kapcsolatnal. Segit a helyzeten ha az ember `ControlMaster` + `ControlPersist` beallitasokkal hasznal connection sharinget. Igy amig a sharing el, es elerheto az ssh-agent, addig nem kell ujra megadni a 2FA kodot.

En egyebkent magittel (emacs git UI) hasznalom gitea-t, es nincs gondom 2fa-val. Connection sharing persze be van allitva. :)

SSH kulcsokat + pw

Ez csak akkor lesz igazi 2FA, ha az SSH kulcs hw aláíró device-ban lakik, amiből sehogy sem lehet kiszedni a privát kulcsot. Ellenkező esetben ugyanis amikor beírod a jelszavadat, akkor a PC-d memóriájában egyszerre ott lesz mind a két elem (a privát kulcs, meg a jelszó, illetve egy időre ugye a dekódolt privát kulcs is ott lesz) - ilyenkor a gépeden futó trójai (vagy a root által indított program) el tudja azt lopni.

https://wiki.archlinux.org/index.php/SSH_keys#Storing_SSH_keys_on_hardware_tokens

Hat akkor hw alairo device-t kell hasznalni.

De amugy ezert kerdeztem, hogy itt pontosan mi a cel? Ha reasonable security egy atlagos projekthez, akkor boven eleg a helyben tarolt sshkey+pw. Ha az a cel, hogy ne lehessen ellopni a repo tartalmat, akkor bukta, mert az lokalisan mar megvan. Vagy az illetektelen modositasokat akarja kiszurni? Vagy a titkosszolgalat uldozi?