I'm just curious

Why do you need access to the admin/appadmin apps in a production 
environment?

I've never used them there.  I use in development, but never production

-Jim


On Friday, September 1, 2023 at 11:54:02 AM UTC-5 Clemens wrote:

> Removing the admin app as well as the appadmin controllers should kill all 
> options of administration. Move these to two to a folder away from web2py. 
> And then you can still call https://.../admin/site or https://.../appadmin?
>
> On Friday, September 1, 2023 at 6:44:31 PM UTC+2 Ramos wrote:
>
>> yes i tried it on the admin app and it just does not work.
>> :)
>>
>>
>> Em sex., 1 de set. de 2023 às 16:53, Jim S <[email protected]> escreveu:
>>
>>> So, are you trying to protect the 'admin' application with 2fa?
>>>
>>> If so, can you add the 2fa code to the admin app?
>>>
>>> I haven't tried this before
>>>
>>> On Friday, September 1, 2023 at 10:24:29 AM UTC-5 Ramos wrote:
>>>
>>>> this admin
>>>>
>>>> https://mysite.com/admin
>>>>
>>>> Em sex., 1 de set. de 2023 às 16:08, Jim S <[email protected]> 
>>>> escreveu:
>>>>
>>>>> What does 'administrator password' mean to you?
>>>>>
>>>>> I'm not sure what you're referring to
>>>>>
>>>>> -Jim
>>>>>
>>>>> On Friday, September 1, 2023 at 9:53:43 AM UTC-5 Ramos wrote:
>>>>>
>>>>>> Hello Jim 
>>>>>> this line of code 
>>>>>> *auth.settings.auth_two_factor_enabled = True*
>>>>>> *does not protect the administrator password. Only created users.*
>>>>>> *That is my question, how to force administrator to use 2fa ?*
>>>>>> *regards*
>>>>>> *António*
>>>>>>
>>>>>> Em sex., 1 de set. de 2023 às 15:00, Jim S <[email protected]> 
>>>>>> escreveu:
>>>>>>
>>>>>>> Here is the code I wrote that only enforced 2fa for users outside 
>>>>>>> our local networks.
>>>>>>>
>>>>>>> There is some commented out code there that additionally allowed me 
>>>>>>> to specify users in a group so only that group was force to 2fa
>>>>>>>
>>>>>>> def _two_factor_required(auth_user):
>>>>>>>     """
>>>>>>>     check whether we need to enforce MFA on this login
>>>>>>>
>>>>>>>    We enforce MFA only on logins external to our network.
>>>>>>>
>>>>>>>     Returns
>>>>>>>     -------
>>>>>>>     bool - enforce MFA
>>>>>>>         - True means this login requires MFA
>>>>>>>         - False means we will not enforce MFA for this login
>>>>>>>     """
>>>>>>>     import ipaddress
>>>>>>>
>>>>>>>     return False  #  temp use to disable mfa
>>>>>>>
>>>>>>>     if len(request.args) > 0 and request.args[0] == "login":
>>>>>>>         if auth_user.mfa_override and datetime.datetime.now() <= 
>>>>>>> auth_user.mfa_override:
>>>>>>>             #  no mfa required if the user override is set   - we 
>>>>>>> added a field in auth_user to allow us to override if a user was having 
>>>>>>> trouble or lost their phone or something
>>>>>>>             return False
>>>>>>>
>>>>>>>         qlf_networks = [
>>>>>>>             "9.9.9.9/22",
>>>>>>>             "9.9.9.0/24",
>>>>>>>             "9.9.9.101/24",
>>>>>>>         ]
>>>>>>>
>>>>>>>         ip_list = []
>>>>>>>         for range in qlf_networks:
>>>>>>>             ip_list.extend(ipaddress.IPv4Network(unicode(range)))
>>>>>>>
>>>>>>>         if ipaddress.IPv4Address(unicode(request.client)) in ip_list:
>>>>>>>             #  if the client address is in the local address list, 
>>>>>>> then do NOT require MFA so set to False
>>>>>>>             return_value = False
>>>>>>>
>>>>>>>         #  build the MFA Required group members
>>>>>>>         # if return_value:
>>>>>>>         #     print(datetime.datetime.now())
>>>>>>>         #     ag = db(db.auth_group.role == "MFA Required 
>>>>>>> (web2py)").select().first()
>>>>>>>         #     if not ag:
>>>>>>>         #         ag = db.auth_group.insert("MFA Required (web2py)")
>>>>>>>         #     for ou in db(
>>>>>>>         #         (db.auth_user.active == True)
>>>>>>>         #         | (
>>>>>>>         #             (db.auth_user.mfa_override == None)
>>>>>>>         #             & (db.auth_user.mfa_override <= 
>>>>>>> datetime.datetime.now())
>>>>>>>         #         )
>>>>>>>         #     ).select():
>>>>>>>         #         db.auth_membership.update_or_insert(user_id=ou.id, 
>>>>>>> group_id=ag)
>>>>>>>         #
>>>>>>>         #     #  clear out any members that are currently exempt 
>>>>>>> from MFA
>>>>>>>         #     if ag:
>>>>>>>         #         for exempt_user in db(
>>>>>>>         #             (db.auth_user.mfa_override >= 
>>>>>>> datetime.datetime.now())
>>>>>>>         #             & (db.auth_user.active == True)
>>>>>>>         #         ).select():
>>>>>>>         #             db(
>>>>>>>         #                 (db.auth_membership.group_id == ag.id)
>>>>>>>         #                 & (db.auth_membership.user_id == 
>>>>>>> exempt_user.id)
>>>>>>>         #             ).delete()
>>>>>>>         #     db.commit()
>>>>>>>         #
>>>>>>>         #     print(datetime.datetime.now())
>>>>>>>         #
>>>>>>>         #     #  set to False to force web2py to check the 
>>>>>>> two_factor_authentication  group
>>>>>>>         #     return_value = False
>>>>>>>
>>>>>>> That code is in db.py
>>>>>>>
>>>>>>> Then....
>>>>>>>
>>>>>>> auth.settings.auth_two_factor_enabled = lambda user: 
>>>>>>> _two_factor_required(user)
>>>>>>> auth.messages.two_factor_comment = "QLF MFA - you have been sent a 
>>>>>>> code"
>>>>>>> auth.settings.two_factor_methods = [
>>>>>>>     lambda user, auth_two_factor: _send_sms(user, auth_two_factor)
>>>>>>> ]
>>>>>>>
>>>>>>> My _send_sms code built and sms and sent it via Twilio or RingCentral
>>>>>>>
>>>>>>> I wrote this code, but then we ended up not implementing.  The 
>>>>>>> web2py code is going away for us.  All the same concepts work in py4web 
>>>>>>> (nudge wink wink)
>>>>>>>
>>>>>>> -Jim
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Friday, September 1, 2023 at 5:24:53 AM UTC-5 Ramos wrote:
>>>>>>>
>>>>>>>> Anyone can help me ?
>>>>>>>>
>>>>>>>> Em qua., 30 de ago. de 2023 às 10:14, António Ramos <
>>>>>>>> [email protected]> escreveu:
>>>>>>>>
>>>>>>>>> in other words, how do i protect the administrator password? it 
>>>>>>>>> does not have a username , just a password. This is scary :)
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Em ter., 29 de ago. de 2023 às 19:44, António Ramos <
>>>>>>>>> [email protected]> escreveu:
>>>>>>>>>
>>>>>>>>>> But that is for everyone, i just want to start with users with 
>>>>>>>>>> admin powers 
>>>>>>>>>>
>>>>>>>>>> Clemens <[email protected]> escreveu em ter., 
>>>>>>>>>> 29/08/2023 às 18:25 :
>>>>>>>>>>
>>>>>>>>>>> Try enabling 2FA via the following setting, since this is for 
>>>>>>>>>>> all users:
>>>>>>>>>>> *auth.settings.auth_two_factor_enabled = True*
>>>>>>>>>>>
>>>>>>>>>>> Regards
>>>>>>>>>>> Clemens
>>>>>>>>>>>
>>>>>>>>>>> On Tuesday, August 29, 2023 at 6:09:26 PM UTC+2 Ramos wrote:
>>>>>>>>>>>
>>>>>>>>>>>> i just activated the two step auth with this 
>>>>>>>>>>>>
>>>>>>>>>>>> auth.settings.two_factor_authentication_group = "auth2step"
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> but now how do i include the administrator user  ?
>>>>>>>>>>>>
>>>>>>>>>>>> regards
>>>>>>>>>>>> António
>>>>>>>>>>>>
>>>>>>>>>>> -- 
>>>>>>>>>>> Resources:
>>>>>>>>>>> - http://web2py.com
>>>>>>>>>>> - http://web2py.com/book (Documentation)
>>>>>>>>>>> - http://github.com/web2py/web2py (Source code)
>>>>>>>>>>> - https://code.google.com/p/web2py/issues/list (Report Issues)
>>>>>>>>>>> --- 
>>>>>>>>>>> You received this message because you are subscribed to the 
>>>>>>>>>>> Google Groups "web2py-users" group.
>>>>>>>>>>> To unsubscribe from this group and stop receiving emails from 
>>>>>>>>>>> it, send an email to [email protected].
>>>>>>>>>>> To view this discussion on the web visit 
>>>>>>>>>>> https://groups.google.com/d/msgid/web2py/5fe99103-1d14-4b91-80eb-194402c08453n%40googlegroups.com
>>>>>>>>>>>  
>>>>>>>>>>> <https://groups.google.com/d/msgid/web2py/5fe99103-1d14-4b91-80eb-194402c08453n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>>>>>> .
>>>>>>>>>>>
>>>>>>>>>> -- 
>>>>>>> Resources:
>>>>>>> - http://web2py.com
>>>>>>> - http://web2py.com/book (Documentation)
>>>>>>> - http://github.com/web2py/web2py (Source code)
>>>>>>> - https://code.google.com/p/web2py/issues/list (Report Issues)
>>>>>>> --- 
>>>>>>> You received this message because you are subscribed to the Google 
>>>>>>> Groups "web2py-users" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>>> send an email to [email protected].
>>>>>>>
>>>>>> To view this discussion on the web visit 
>>>>>>> https://groups.google.com/d/msgid/web2py/f92a15ab-45f6-41ae-b285-6b717abd3d7fn%40googlegroups.com
>>>>>>>  
>>>>>>> <https://groups.google.com/d/msgid/web2py/f92a15ab-45f6-41ae-b285-6b717abd3d7fn%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>> .
>>>>>>>
>>>>>> -- 
>>>>> Resources:
>>>>> - http://web2py.com
>>>>> - http://web2py.com/book (Documentation)
>>>>> - http://github.com/web2py/web2py (Source code)
>>>>> - https://code.google.com/p/web2py/issues/list (Report Issues)
>>>>> --- 
>>>>> You received this message because you are subscribed to the Google 
>>>>> Groups "web2py-users" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>>> an email to [email protected].
>>>>>
>>>> To view this discussion on the web visit 
>>>>> https://groups.google.com/d/msgid/web2py/c8187486-ebdd-4f18-a4d6-b9a45381fad9n%40googlegroups.com
>>>>>  
>>>>> <https://groups.google.com/d/msgid/web2py/c8187486-ebdd-4f18-a4d6-b9a45381fad9n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>> -- 
>>> Resources:
>>> - http://web2py.com
>>> - http://web2py.com/book (Documentation)
>>> - http://github.com/web2py/web2py (Source code)
>>> - https://code.google.com/p/web2py/issues/list (Report Issues)
>>> --- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "web2py-users" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to [email protected].
>>>
>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/web2py/4d5dc6cd-66c9-42d7-ab5d-78f089987d65n%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/web2py/4d5dc6cd-66c9-42d7-ab5d-78f089987d65n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/web2py/f72db160-49d9-45d8-84ba-b254d1b1aba8n%40googlegroups.com.

Reply via email to