Re: Upgrading security default

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Nov 23, 2012 at 8:52 PM, Steve French <smfrench@xxxxxxxxx> wrote:
> changing
> #define   CIFSSEC_DEF (CIFSSEC_MAY_SIGN | CIFSSEC_MAY_NTLM |
> CIFSSEC_MAY_NTLMV2 | CIFSSEC_MAY_NTLMSSP)
>
> to
>
> #define   CIFSSEC_DEF (CIFSSEC_MAY_SIGN | CIFSSEC_MAY_NTLMSSP)
>
> affects more code

It does seem to work - global_secflag is touched in more places, but
looks safe enough as an alternative.  Do you prefer the other change?

> On Fri, Nov 23, 2012 at 8:48 PM, Steve French <smfrench@xxxxxxxxx> wrote:
>> it doesn't change security flags - but it seemed the smallest and
>> safest since it basically says:
>> 1) if you pass in "sec=" then use that
>> 2) otherwise use ntlmssp (with ntlmv2)
>>
>> so shouldn't have any unintended consequences (and the sign mount
>> option should work as expected as well)
>>
>> On Fri, Nov 23, 2012 at 7:41 PM, Jeff Layton <jlayton@xxxxxxxxxx> wrote:
>>> On Fri, 23 Nov 2012 17:36:45 -0600
>>> Steve French <smfrench@xxxxxxxxx> wrote:
>>>
>>>> This patch to upgrade the default security mechanism to ntlmv2/ntlmssp
>>>> (which is broadly supported for years now, and a reasonable minimum,
>>>> far better than ntlm) is overdue, but I had to rework it to simplify
>>>> it.
>>>>
>>>> diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
>>>> index 5c670b9..3bca289 100644
>>>> --- a/fs/cifs/connect.c
>>>> +++ b/fs/cifs/connect.c
>>>> @@ -1103,6 +1103,7 @@ cifs_parse_mount_options(const char *mountdata,
>>>> const char *devname,
>>>>       bool uid_specified = false;
>>>>       bool gid_specified = false;
>>>>       bool sloppy = false;
>>>> +     bool sec_explicitly_set = false;
>>>>       char *invalid = NULL;
>>>>       char *nodename = utsname()->nodename;
>>>>       char *string = NULL;
>>>> @@ -1763,6 +1764,7 @@ cifs_parse_mount_options(const char *mountdata,
>>>> const char *devname,
>>>>
>>>>                       if (cifs_parse_security_flavors(string, vol) != 0)
>>>>                               goto cifs_parse_mount_err;
>>>> +                     sec_explicitly_set = true;
>>>>                       break;
>>>>               case Opt_cache:
>>>>                       string = match_strdup(args);
>>>> @@ -1799,6 +1801,8 @@ cifs_parse_mount_options(const char *mountdata,
>>>> const char *devname,
>>>>               goto cifs_parse_mount_err;
>>>>       }
>>>>  #endif
>>>> +     if (sec_explicitly_set == false)
>>>> +             vol->secFlg |= CIFSSEC_MAY_NTLMSSP;
>>>>
>>>>       if (vol->UNCip == NULL)
>>>>               vol->UNCip = &vol->UNC[2];
>>>> @@ -2397,8 +2401,6 @@ cifs_set_cifscreds(struct smb_vol *vol
>>>> __attribute__((unused)),
>>>>  }
>>>>  #endif /* CONFIG_KEYS */
>>>>
>>>> -static bool warned_on_ntlm;  /* globals init to false automatically */
>>>> -
>>>>  static struct cifs_ses *
>>>>  cifs_get_smb_ses(struct TCP_Server_Info *server, struct smb_vol *volume_info)
>>>>  {
>>>> @@ -2475,14 +2477,6 @@ cifs_get_smb_ses(struct TCP_Server_Info
>>>> *server, struct smb_vol *volume_info)
>>>>       ses->cred_uid = volume_info->cred_uid;
>>>>       ses->linux_uid = volume_info->linux_uid;
>>>>
>>>> -     /* ntlmv2 is much stronger than ntlm security, and has been broadly
>>>> -     supported for many years, time to update default security mechanism */
>>>> -     if ((volume_info->secFlg == 0) && warned_on_ntlm == false) {
>>>> -             warned_on_ntlm = true;
>>>> -             cERROR(1, "default security mechanism requested.  The default "
>>>> -                     "security mechanism will be upgraded from ntlm to "
>>>> -                     "ntlmv2 in kernel release 3.3");
>>>> -     }
>>>>       ses->overrideSecFlg = volume_info->secFlg;
>>>>
>>>>       mutex_lock(&ses->session_mutex);
>>>>
>>>
>>> How does this change the SecurityFlags interface?
>>>
>>> --
>>> Jeff Layton <jlayton@xxxxxxxxxx>
>>
>>
>>
>> --
>> Thanks,
>>
>> Steve
>
>
>
> --
> Thanks,
>
> Steve



-- 
Thanks,

Steve
--
To unsubscribe from this list: send the line "unsubscribe linux-cifs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux