Given the recent attack, I think this is a good opportunity to remind of the importance of using 2FA.

(although it doesn’t appear to make any difference in this case as session cookies were being exploited so login credentials were not needed)

But for me at least, this event has made me go back and take another shot at setting up 2FA.

I am happy to report I finally got it working on all my Lemmy accounts/instances, so I thought I’d share some tips:

  • I still haven’t figured out how to set up via desktop, use a mobile browser.
  • Follow these steps:
    • Check the enable 2fa box on your account settings and click Save
    • A message will show about a button appearing when the page refreshes
    • The button usually doesn’t appear for me at first.
    • You can simply manually refresh the page at this point to make the button appear
    • The button should now be visible. Click the button.
    • This opens a otpauth:// link which on a mobile device should be handled by a 2FA app if you have one installed.
  • Authy does not work: It will generate a code happily but that code will not work when you try to login to your Lemmy account.
  • Google Authenticator worked for me. It appears the type of TOTP code Lemmy is using is not compatible with some authenticator apps.
  • I think if you can find a desktop app that registers as a provider for the otpauth:// links it may be possible to do on desktop as well.
  • You can also pull the secret= value from the link to manually add it to an authenticator on/from desktop.

After several failed attempts previously, I finally figured out Authy was the problem and I have now secured all my Lemmy accounts with 2FA. Annoying that I have to use GA, but that appears to be an Authy issue not a Lemmy one.

2FA might not have made any difference today but it very well might in the future.

Stay safe everyone! 🔐

  • clothes@lemmy.world
    link
    fedilink
    English
    arrow-up
    29
    ·
    1 year ago

    It may not be wise to enable 2FA until Lemmy fixes the implementation. It’s currently very easy to get permanently locked out of your account, through no fault of your own. Especially if you don’t have an email address linked to your account.

    • 𝕽𝖔𝖔𝖙𝖎𝖊𝖘𝖙@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 year ago

      If you are concerned, I would suggest keeping another browser/device/etc logged in when trying to enable 2FA.
      Then if the 2FA activation fails, you can use that second session (which does not get logged out when you enable 2FA) to then disable it again.

      • clothes@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        For sure! But I don’t think non-advanced users should be enabling 2FA right now. It’s puzzling that Lemmy pushed the feature in its current state to production.

    • qwet@kbin.social
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      This happened to me. I was going to try it and when I saw that the option wasn’t what I expected, I intended to close it, but I guess either I didn’t or it’s buggy because it’s enabled now and there’s no encryption key, so no way to login. Then the server logged everyoner out cause of the hack. This was on lemmy.world, btw, I have an account on kbin too.

      I sent an email, but no word yet obviously. I’m sure they’re busy.

  • JaffaBoy@lemmy.world
    link
    fedilink
    English
    arrow-up
    16
    ·
    1 year ago

    Got to say the fact there are no backup codes and you can reset your password and disable 2FA without confirming it’s you by using your 2FA makes this protection pretty poor

  • mawp@lemmy.world
    link
    fedilink
    English
    arrow-up
    6
    ·
    1 year ago

    2FA feels very half-baked atm.

    Tried to set it up and got locked out, but apparently you can get around 2FA by simply requesting a password reset…

    That seems like a massive security flaw, and essentially makes 2FA non-existent atm.

  • joolez@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    6
    ·
    edit-2
    1 year ago

    Additionally it needs QR-Code Support, Backup-Codes and disabling only after double-check of your current password.

    I think the missing QR-Code is a main flaw that holds non tech savvy people back from using it at all.

  • cwagner@lemmy.cwagner.me
    link
    fedilink
    English
    arrow-up
    5
    ·
    1 year ago

    The link has this form: otpauth://totp/[InstanceName]:[username]?secret=[SECRETCODE]&algorithm=SHA256&issuer=[InstanceName]

    By just extracting [SECRETCODE] and picking the proper algorithm (SHA256) you can add it to any TOTP app.

    I can confirm manually adding works without an issue on Aegis (FLOSS OTP app)

  • Baron Von J@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    ·
    1 year ago

    On desktop browser, you have to right-click the button and copy the link, which can then be posted into an app the takes the otpauth URI.

  • Rooki@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 year ago

    OTP doesnt work! Please keep at least 1 device logged in a browser! I almost locked me out, because the otp didnt worked.

  • Brendan@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    Is there a way to get backup codes? I enabled 2FA, but I don’t see anywhere to generate them.

    • hatchback8051@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      1 year ago

      I couldn’t find backup codes but I was able to perform a password reset which logged me in and let me disable or reconfigure 2fa.

      • Brendan@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        Seems strange that you could remove 2FA without being forced to authenticate via 2FA first.

    • 𝕽𝖔𝖔𝖙𝖎𝖊𝖘𝖙@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      As far as I can tell, no. There’s no backup codes and there’s no “verification” of the codes when you enable it.

      Also, you do not get logged out of any other sessions even if they were logged in before 2FA was enabled.
      So I typically leave my desktop browser logged in as a backdoor in case something goes wrong I can use that session to re-disable 2FA.
      Then once I have verified it working on mobile I will sign out the desktop browser and sign it back in with the 2FA key.

      But yeah, no backup codes. Apparently an admin can disable 2FA on your account if you get locked out, or so I have heard.

      • clothes@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        You may want to add a warning to your post. For instances that don’t require an email address, it’s currently quite easy to get permanently locked out of your account because the code is never verified.

  • setsubyou@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    On desktop macOS the link just works with the built-in thing.

    In 1password (probably regardless of what it’s running on?), if it’s not registered as a handler for the URL scheme, one can add an OTP field to the login item for lemmy manually and then copy-paste the entire setup link into the field.

  • aussiematt@lemm.ee
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    The TOTP feature in Bitwarden works, if you paste in the whole otpauth:// URI to Bitwarden’s Authenticator Key (TOTP) field. The URL specifies that the hashing algorithm should be SHA256. If you just import the secret= value into Authy, it probably defaults to using the SHA-1 algorithm, which may be why the codes generated by Authy don’t work.

    SHA256 is more secure than SHA-1, which I guess is why Lemmy has chosen to use it for its 2FA feature.