2-factor doc: rework completely for new 2fa setup
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
This commit is contained in:
parent
63c719e397
commit
cf3dfd270f
1 changed files with 36 additions and 81 deletions
|
@ -1,98 +1,53 @@
|
||||||
= Two factor auth
|
= Two factor authentication
|
||||||
|
|
||||||
Fedora Infrastructure has implemented a form of two factor auth for
|
The Fedora account system frontend (noggin) allows for users to enroll otp token(s).
|
||||||
people who have sudo access on Fedora machines. In the future we may
|
See https://noggin-aaa.readthedocs.io/en/latest/userguide.html#two-factor-authentication
|
||||||
expand this to include more than sudo but this was deemed to be a high
|
for end user documentation.
|
||||||
value, low hanging fruit.
|
|
||||||
|
|
||||||
== Using two factor
|
Otp tokens are then stored and managed in IPA backend.
|
||||||
|
|
||||||
http://fedoraproject.org/wiki/Infrastructure_Two_Factor_Auth
|
Users who enroll a otp are then required to append it to their password
|
||||||
|
or add it in a seperate field (if available) whenever they use their
|
||||||
|
Fedora account system login.
|
||||||
|
|
||||||
To enroll a Yubikey, use the fedora-burn-yubikey script like normal. To
|
Users who enroll a otp are also prohibited from removing the last otp
|
||||||
enroll using FreeOTP or Google Authenticator, go to
|
they have enabled on their account. This is to prevent someone from removing
|
||||||
https://admin.fedoraproject.org/totpcgiprovision/
|
the last otp to allow password only access to resources like sudo.
|
||||||
|
See https://github.com/fedora-infra/noggin/issues/579 for discussion.
|
||||||
|
|
||||||
=== What's enough authentication?
|
For this reason it's advised to enroll multipule otp tokens,
|
||||||
|
and/or to backup these tokens in case of device breakage/failure/loss.
|
||||||
|
|
||||||
FAS Password+FreeOTP or FAS Password+Yubikey Note: don't actually enter
|
= Administration
|
||||||
a +, simple enter your FAS Password and press your yubikey or enter your
|
|
||||||
FreeOTP code.
|
|
||||||
|
|
||||||
== Administrating and troubleshooting two factor
|
Sometimes users will loose or otherwise no longer have access to their
|
||||||
|
last otp and will need it to be cleared to allow them to login again
|
||||||
|
and set a new one. These requests are sent into admin@fedoraproject.org.
|
||||||
|
(Be sure to 'reply all' when processing these so other sysadmin-main
|
||||||
|
members know they are processed)
|
||||||
|
|
||||||
Two factor auth is implemented by a modified copy of the
|
Admins need to verify the users identity before processing these requests.
|
||||||
https://github.com/mricon/totp-cgi project doing the authentication and
|
|
||||||
pam_url submitting the authentication tokens.
|
|
||||||
|
|
||||||
totp-cgi runs on the fas servers (currently fas01.stg and
|
Including, but not limited to:
|
||||||
fas01/fas02/fas03 in production), listening on port 8443 for pam_url
|
|
||||||
requests.
|
|
||||||
|
|
||||||
FreeOTP, Google authenticator and yubikeys are supported as tokens to
|
* user sends gpg signed email with gpg key attached to their Fedora account
|
||||||
use with your password.
|
|
||||||
|
|
||||||
=== FreeOTP, Google authenticator:
|
* user can ssh to fedorapeople.org with the ssh private key associated with
|
||||||
|
a ssh public key associated with their Fedora account
|
||||||
|
|
||||||
FreeOTP application is preferred, however Google authenticator works as
|
* rover verification (in case of Red Hat employee).
|
||||||
well. (Note that Google authenticator is not open source)
|
|
||||||
|
|
||||||
This is handled via totpcgi. There's a command line tool to manage
|
* Video or in person meeting with admin who knows their identity on sight.
|
||||||
users, totpprov. See 'man totpprov' for more info. Admins can use this
|
|
||||||
tool to revoke lost tokens (google authenticator only) with 'totpprov
|
|
||||||
delete-user username'
|
|
||||||
|
|
||||||
To enroll using FreeOTP or Google Authenticator for production machines,
|
Additionally, users only in ipausers group can have their token cleared
|
||||||
go to https://admin.fedoraproject.org/totpcgiprovision/
|
as they don't have access to much of anything (yet).
|
||||||
|
|
||||||
To enroll using FreeOTP or Google Authenticator for staging machines, go
|
To clear a token, admin should:
|
||||||
to https://admin.stg.fedoraproject.org/totpcgiprovision/
|
|
||||||
|
|
||||||
You'll be prompted to login with your fas username and password.
|
* login to ipa01.iad2.fedoraproject.org
|
||||||
|
* kinit admin@FEDORAPROJECT.ORG (enter the admin password)
|
||||||
|
* ipa otptoken-find --owner <username>
|
||||||
|
* ipa otptoken-del <token uuid from previous step>
|
||||||
|
|
||||||
Note that staging and production differ.
|
Or alternately, admin can use the ipa web ui:
|
||||||
|
https://id.fedoraproject.org/ipa/ui/
|
||||||
=== YubiKeys:
|
|
||||||
|
|
||||||
Yubikeys are enrolled and managed in FAS. Users can self-enroll using
|
|
||||||
the fedora-burn-yubikey utility included in the fedora-packager package.
|
|
||||||
|
|
||||||
=== What do I do if I lose my token?
|
|
||||||
|
|
||||||
Send an email to admin@fedoraproject.org that is encrypted/signed with
|
|
||||||
your gpg key from FAS, or otherwise identifies you are you.
|
|
||||||
|
|
||||||
=== How to remove a token (so the user can re-enroll)?
|
|
||||||
|
|
||||||
First we MUST verify that the user is who they say they are, using any
|
|
||||||
of the following:
|
|
||||||
|
|
||||||
* Personal contact where the person can be verified by member of
|
|
||||||
sysadmin-main.
|
|
||||||
* Correct answers to security questions.
|
|
||||||
* Email request to admin@fedoraproject.org that is gpg encrypted by the
|
|
||||||
key listed for the user in fas.
|
|
||||||
|
|
||||||
Then:
|
|
||||||
|
|
||||||
. For google authenticator,
|
|
||||||
+
|
|
||||||
____
|
|
||||||
.. ssh into batcave01 as root
|
|
||||||
.. ssh into os-master01.iad2.fedoraproject.org
|
|
||||||
.. $ oc project fas
|
|
||||||
.. $ oc get pods
|
|
||||||
.. $ oc rsh <pod> (Pick one of totpcgi pods from the above list)
|
|
||||||
.. $ totpprov delete-user <username>
|
|
||||||
____
|
|
||||||
. For yubikey: login to one of the fas machines and run:
|
|
||||||
/usr/local/bin/yubikey-remove.py username
|
|
||||||
|
|
||||||
The user can then go to
|
|
||||||
https://admin.fedoraproject.org/totpcgiprovision/ and reprovision a new
|
|
||||||
device.
|
|
||||||
|
|
||||||
If the user emails admin@fedoraproject.org with the signed request, make
|
|
||||||
sure to reply to all indicating that a reset was performed. This is so
|
|
||||||
that other admins don't step in and reset it again after its been reset
|
|
||||||
once.
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue