Just wondering what people are using to meet the 2FA requirement GitHub has been rolling out. I don’t love the idea of having an authenticator app installed on my phone just to log into GitHub. And really don’t want to give them my phone number just to log in.
Last year, we announced our commitment to require all developers who contribute code on GitHub.com to enable two-factor authentication (2FA)…
SMS is the least secure form of 2FA, and sim swaps are a very real thing. Whatever you’re issues with 2FA apps are, I can 100% say that you should be more concerned about actors getting access to your account.
And this isn’t just GitHub. You should be using a 2FA app for allllll of your services. Breaches are a daily thing, your passwords are online and are available. 2FA may be the only thing defending you right now, and SMS 2fa or email 2fa I wouldn’t trust.
Totally agree! 2FA on all the accounts that support it avoiding SMS. And different passwords (complex, auto generated by a password manager) for each single account. I may be paranoid, but I also use a different email alias (SimpleLogin) for every single account! 😆
same, a simple habit that is secure, I use it always with maximum privacy. One day you will be in a rush, under stress, affected by age, and use your old habits with a valuable asset…
SMS 2FA is still better than no 2FA.
Not if the org uses SMS auth as a recover method for your “lost” password
Also putting a phone number into a DB means the attackers who dump the DB now have a very effective way to phish or exploit you with a large attack surface.
I generally don’t let my team enter phone numbers into their account data.
But it should be the last resort. It makes sense why it’s being phased out
Well we could be using passkeys right now if Big Tech weren’t trying to tie them to their own platforms! 🤷
This, but my random, account-specific 20 char passwords are not online and available.
If you’re not already using 2fa everywhere you can, you’re already doing it wrong.
2FA is for people who don’t know how to use randomized passwords for every site
Brilliant. Until that website’s unsalted pw database is downloaded through a SQL injection.
Use both. You’re not smarter than security professionals.
- Salt doesn’t matter if your password is unique.
- If they can download data via SQL injection having them log in probably doesn’t matter that much.
- If they can dump your password/hash they can likely also dump the TOTP secret.
- A lot of website security expert attention is focused on raising the minimum security level. If you are using randomly generated passwords + auto-fill you are likely above their main target audience.
So yes, it is slightly better, but in practice that difference probably doesn’t matter. If you use U2F then you may have a meaningful security increase but IMHO U2F is not practical to use on every site due to basically being impossible to manage credentials.
So yes, it is better. But for me using random passwords and a password manager it isn’t worth the bother.
Called it
The day your machine is compromised is also the day ALL your passwords get stolen.
deleted by creator
2FA is annoying and not necessary for most things.
Yeah I just want to type my name to be able to withdraw money from my bank account. No pesky pins or passwords or any form of authentication /s
Even in my bank’s ATM there’s only one password, not 2FA. 2FA is 2 factor auth, there’s no 2FA in the ATMs.
It doesn’t mean the initial password isn’t a layer of authentication, but strictly speaking where I live all ATMs do not employ 2FA.
You only need a password for the ATM, not a card and a password, which are two factors?
All security is annoying. Oh well.
What’s wrong with using a Foss TOTP app?
Yeah, this is important to realize. Most good 2FA implementations offer TOTP which doesn’t need a proprietary app. You can store all of your 2FA secrets in whatever app or password manager you like.
You can try aegis if you’re on Android, open source, local, great
Also OTPclient on desktop, it can work directly with an Aegis encrypted export file. You enter the decrypt password when you open the app and it can auto-lock after a specified interval.
Is there something similar for windows? I check the github page & there doesn’t seem to be a package for windows. I could try to compile it from source but that a lot of libraries I have to get…
If you’re willing to work with unencrypted exports I think
tauthy
can import unencrypted Aegis JSON format.Also, what Aegis exports as “text format” is a standard format of sorts that consists in lines of
otpauth://
URLs. There are lots of apps that can import that format, but please note that you lose some extra information from Aegis when you export in that format. Shouldn’t be a problem if you just want to be able to generate codes on desktop.
Aegis looks great - I’ll give this a shot. Thanks for the recommendation!
Happy to help
I just use Bitwarden’s 2FA functionality.
This is premium functionality, for those who don’t know.
And I heard that if you self host you can use the premium features for free
I believe thats only true for the unofficial version (Vaultwarden - API compatible to any Bitwarden app)
Worth the price for Bitwarden’s good practices imo, now if I could export all of my authy keys…
I know it’s possible, but Authy has made it a PITA… fuck authy.
Aegis
Yubikey, but thats just a personal preference. A password manager works just as well.
The problem with Yubikey is that it doesn’t have a good enough management story for broad use. I do use it for a few core sites (like GitHub) but if I lose a key I need to get a replacement and register that replacement with every site I have set up U2F 2FA on. This is ok with a few core accounts but doesn’t scale to the hundreds of sites that I have an account with. I am sure to miss a few and then either I can’t log in with the new key or get completely locked out when I lose that key and get a second replacement.
I use keepassxc to generate the code.
Agreed, me to! And I use syncthing to sync my database between my devices Edit: mine is called KeePassDX but its the same database file
Ideally you don’t want to build your open source software on a proprietary forge service so hopefully nothing of value is on the Microsoft-owned platform so it doesn’t really matter how secure it is.
But you should have a free software TOTP option on you anyhow. I use password-store’s OTP plugin so it is easier to back up & sync.
I already use
pass
(“the unix password manager”) and there’s a pretty decent extension that lets it handle 2fa: https://github.com/tadfisher/pass-otpWorth noting that this somewhat defeats the purpose of 2fa if you put your GitHub password in the same store as the one used for otp. Nevertheless, this let’s me sign on to 2fa services from the command line without purchasing a USB dongle or needing a smartphone on-hand.
It’s fine. I moved to gitlab years ago for 2fa, so while this doesn’t affect me I would be entirely ok with normal 2fa.
It is normal, right? Not a weird Microsoft 2fa requiring their app?
Yes you can use any app, it’s standard TOTP.
Yes, normal TOTP
I don’t love the idea of having an authenticator app installed on my phone
For anything? Why not? Surely you don’t believe SMS-based TOTP is safer, right?
Wut. TOTP doesn’t involve sending an OTP. That’s the point.
“SMS-based TOTP” is a nonsensical phrase
“Time-based One-Time Password” literally says nothing about the delivery method. Who said it can’t involve remote sending?
And what would you call it, then, SOTP?
Anyway, regardless of the terminology-nitpicking, my point still stands.
The point of being time based is to not send it. That’s the whole point. To avoid that vecotor of attack.
Do you think the SMS codes are not time-based on the companies’ ends? How are they deriving the digits, then?
They are not time based, correct.
Interesting, I didn’t know that. So how do they derive the digits?
Best practice for a cryptographic nonce is to generate them randomly every time
Its more secure and ssh keys are more convenient anyways
I just use my password manager to generate the TOTP. There’s no way I’m going to install an app just to use a website.