And to second your comment, I too have a controller method that allows 
users with the proper access, the ability to add additional users.

The only other reason I would want to access admin is to look at error 
messages/tickets.  But, I have some method in place to read the error 
messages and forward them to me in an email.


-Jim



On Friday, September 1, 2023 at 1:04:47 PM UTC-5 Jim S wrote:

> If I try to go to admin/appadmin web2py returns:
>
> Admin is disabled because insecure channel
>
> Isn't that just the default behavior?
>
> -Jim
>
> On Friday, September 1, 2023 at 1:00:08 PM UTC-5 Clemens wrote:
>
>> I don't and I that's why I (re)move these to a hidden folder on system 
>> level :-) What I need is to give customers the option to add new users by 
>> themselves. For that I've written a small controller under the control of 
>> 2FA and so on.
>>
>> Regards
>> Clemens
>>
>>
>> On Friday, September 1, 2023 at 7:40:19 PM UTC+2 Jim S wrote:
>>
>>> 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/25db3ffd-e478-4ec1-b54f-4c1ab23ee717n%40googlegroups.com.

Reply via email to