Fórumok
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?
2FA mindig is webes loginhoz kellett.
Hivatásos pitiáner - Dropbox refer - mert kell a hely: https://db.tt/V3RtXWLl
neut @
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 :)
Mellesleg SSH-ra lehet 2FA-t tenni, es akkor a git push is 2FA koteles. Nem feltetlen tul praktikus, plane ha sokat pushol az ember. De ha van napi 1-2 nagyobb push, akkor siman jarhato ut.
Ez hogy néz ki, minden remote operationkor bekéri? Eléggé megb.ssza a dolgokat sztem, en peldaul biztos hogy utalnam. En ugyn CLI gites vagyok, de aki GUI-n nyomul (IDE-vel, Sourcetree, vagy valami) az meg kulonosebben is.
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. :)
És ha kötelezően alá kell írni a commit-okat? :)
Olyannal még nem volt dolgom szűk 10 év alatt. :)
Kb pont ugyanugy, mint 2fa: jo setuppal not a problem.
(signolok minden commitot, es a sajat git serveremre pushnal is 2fa van.)
"Jó setup"?
Láttam vmi hack-et, amivel a signing-hoz nem kell állandóan beírni a passphrase-et.
Erre gondolsz?
Ha a gpg-agent-re gondolsz, az kb annyira hack, mint az ssh-agent. Es igen, arra gondolok.
Valóban, rosszul mondtam.
Ennek ellenére úgy gondolom, hogy a push is lehetne 2FA, mert sűrűbben push-olok, mint amennyit a WebUI-t nézem.
Oké, de a 2FA nem azok ellen véd, akik már eleve hozzáférnek a rendszerhez, hanem a külső támadok ellen. :) (legalábbis szerintem)
User/pw alapu auth helyett hasznaljatok SSH kulcsokat + pw, es akkor megvan a ket fektorod, megsem kell foglalkozni az egesszel. :)
szerk: Vagy amugy mit akarsz elerni pontosan?
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?
Nem üldöz senki, csak kíváncsi voltam, hogy mi a 2FA értelme, ha már ott van a lehetőség.