Apr. 24th, 2020

github: shadowy octopus with the head of a robot, emblazoned with the Dreamwidth swirl (Default)
[personal profile] github
Branch: refs/heads/master
Home: https://github.com/dreamwidth/dw-free
Commit: f2ad720c85e2cf2507b569a6a9c7d466a29eb587
https://github.com/dreamwidth/dw-free/commit/f2ad720c85e2cf2507b569a6a9c7d466a29eb587
Author: Mark Smith <mark@dreamwidth.org>
Date: 2020-04-24 (Fri, 24 Apr 2020)

Changed paths:
M bin/upgrading/d10-passwords.pl
M bin/upgrading/update-db-general.pl
A cgi-bin/DW/Auth/Password.pm
M cgi-bin/LJ/Global/Defaults.pm
M cgi-bin/LJ/User/Login.pm
M doc/dependencies-cpanm

Log Message:
-----------
Add password 'peppering'

After discussion with a security engineering friend of mine, this is
take two at the secure password storage approach. Now, we are applying a
'pepper' on the web server, before we write to the database.

The advantage of this is that a database exfiltration does not result in
useful data (when it comes to passwords). In order to get useful data,
you need to get data off of the webserver memory/filesystem AND from the
database, which raises the bar.

The chosen peppering solution is symmetric encryption, which enables us
to do pepper rotation if we ever believe that our pepper key was
compromised somehow.

This also re-introduces [personal profile] momijizukamori's schema/revision/version
column, so we can change how passwords are stored in the future.
Additionally this pulls most of the functionality out into
DW::Auth::Password which will let us isolate things better and ensure
that it's easy to audit credential management code.


Commit: 3923237f135f5604127402bc2653cacddc531518
https://github.com/dreamwidth/dw-free/commit/3923237f135f5604127402bc2653cacddc531518
Author: Mark Smith <mark@dreamwidth.org>
Date: 2020-04-24 (Fri, 24 Apr 2020)

Changed paths:
M cgi-bin/DW/Auth/Password.pm
M cgi-bin/LJ/User/Login.pm

Log Message:
-----------
Tidy, sigh


Commit: a72e2bb2d37ccf695cf5c96aadaa7185c63628b3
https://github.com/dreamwidth/dw-free/commit/a72e2bb2d37ccf695cf5c96aadaa7185c63628b3
Author: Mark Smith <mark@dreamwidth.org>
Date: 2020-04-24 (Fri, 24 Apr 2020)

Changed paths:
M cgi-bin/DW/Auth/Password.pm
M cgi-bin/LJ/Global/Constants.pm
A t/auth-password.t

Log Message:
-----------
Refactor slightly, add tests


Commit: fafd92d0747eb65b892c1106a3955eb928322394
https://github.com/dreamwidth/dw-free/commit/fafd92d0747eb65b892c1106a3955eb928322394
Author: Mark Smith <mark@dreamwidth.org>
Date: 2020-04-24 (Fri, 24 Apr 2020)

Changed paths:
M t/auth-password.t

Log Message:
-----------
Fix test count


Compare: https://github.com/dreamwidth/dw-free/compare/fcdd4268784c...fafd92d0747e
github: shadowy octopus with the head of a robot, emblazoned with the Dreamwidth swirl (Default)
[personal profile] github
Branch: refs/heads/master
Home: https://github.com/dreamwidth/dw-free
Commit: c61bd094f36f46c89b75c0c109c39c5a32481bf9
https://github.com/dreamwidth/dw-free/commit/c61bd094f36f46c89b75c0c109c39c5a32481bf9
Author: Mark Smith <mark@dreamwidth.org>
Date: 2020-04-24 (Fri, 24 Apr 2020)

Changed paths:
M bin/upgrading/update-db-general.pl
A cgi-bin/DW/Auth/Helpers.pm
M cgi-bin/DW/Auth/Password.pm
A cgi-bin/DW/Auth/TOTP.pm
M cgi-bin/DW/Controller/Settings.pm
A cgi-bin/DW/Setting/Display/Manage2FA.pm
M cgi-bin/DW/TaskQueue/SQS.pm
M cgi-bin/LJ/User/Login.pm
M doc/dependencies-cpanm
M htdocs/manage/settings/index.bml
A t/auth-helpers.t
M t/auth-password.t
A t/auth-totp.t
M views/beta.tt.text
M views/settings/changepassword.tt
A views/settings/manage2fa/disable.tt
A views/settings/manage2fa/index-disabled.tt
A views/settings/manage2fa/index-enabled.tt
A views/settings/manage2fa/setup.tt

Log Message:
-----------
Initial pass at TOTP (2fa) (#2624)

* Initial pass at TOTP (2fa)

This implements support for configuring 2fa using TOTP codes. At the
moment, this is not actually used in our authentication flows, but it at
least is the plumbing to do so.

TODO:
* recover account with recovery codes
* admin tools for manipulating 2fa
* support tools for showing 2fa status
* actual authentication integration for login
* think about all the other flows we use passwords?
* ???
* profit!

* Update to new DW::Auth::TOTP format

* Put 2FA behind beta feature

* wtb precommit tidy
Page generated Jun. 6th, 2025 05:01 am
Powered by Dreamwidth Studios