Linux SMB 클라이언트는 AES-256을 사용해야 하는 SMB 서버에 연결할 수 없습니까?

Linux SMB 클라이언트는 AES-256을 사용해야 하는 SMB 서버에 연결할 수 없습니까?

Fedora에서 TrueNAS의 SMB 공유에 연결하려고 합니다. SMB 데이터 암호화를 활성화하기 전까지는 잘 작동했습니다. TrueNAS의 서비스 구성(전역 설정)에 다음을 넣었습니다.

unix extensions = yes
server signing = required
client smb encrypt = required
server smb3 encryption algorithms = -AES-128-GCM -AES-128-CCM

특정 SMB 공유의 다음(공유당 설정)

server smb encrypt = required

그런 다음 다음을 통해 SMB 공유를 마운트하려고했습니다.

sudo mount -t smb3 -o cred=<my_cred_file>,uid=1000,gid=1000,mfsymlinks //<TrueNAS IP>/NAS /mnt/NAS

그리고, 붐, mount error(13): Permission denied.

에서는 dmesg다음과 같이 말합니다.

[112496.066462] CIFS: Attempting to mount //<TrueNAS IP>/NAS
[112496.085283] CIFS: VFS: sign fail cmd 0x3 message id 0x3
[112496.085287] CIFS: VFS: \\<TrueNAS IP> SMB signature verification returned error = -13
[112496.085290] CIFS: VFS: \\<TrueNAS IP> failed to connect to IPC (rc=-13)
[112496.085294] CIFS: VFS: session 00000000639775cf has no tcon available for a dfs referral request
[112496.085480] CIFS: VFS: sign fail cmd 0x3 message id 0x4
[112496.085481] CIFS: VFS: \\<TrueNAS IP> SMB signature verification returned error = -13
[112496.085684] CIFS: VFS: sign fail cmd 0x2 message id 0x5
[112496.085687] CIFS: VFS: \\<TrueNAS IP> SMB signature verification returned error = -13
[112496.085690] CIFS: VFS: \\<TrueNAS IP> __cifs_put_smb_ses: Session Logoff failure rc=-13
[112496.085700] CIFS: VFS: cifs_mount failed w/return code = -13

AES-256을 강제하는 행을 제거하면(AES-128은 허용되지 않음):

server smb3 encryption algorithms = -AES-128-GCM -AES-128-CCM

명령 이 mount제대로 작동할 것입니다.

그러나 강제 AES-256 구성을 그대로 유지하더라도 macOS 및 iOS의 Finder와 KDE의 Dolphin에서 SMB 공유에 계속 연결할 수 있습니다(KDE에서는 fedora를 사용하고 있습니다).

그렇다면 smbclientAES-256 암호화는 cli에서 전혀 지원되지 않습니까? 아니면 마운트를 열어서 완전히 작동하게 만들 수 있는 것이 있나요?

그건 그렇고, smbclient --version주어진 Version 4.19.4.


mount업데이트: 아래는 의견에서 제안한 자세한 출력입니다.

$ sudo mount -t smb3 --verbose -o cred=<my_cred_file>,uid=1000,gid=1000,mfsymlinks //<TrueNAS IP>/NAS /mnt/NAS
mount.smb3 kernel mount options: ip=<TrueNAS IP>,unc=\\<TrueNAS IP>\NAS,mfsymlinks,uid=1000,gid=1000,user=<My Username>,pass=********
mount error(13): Permission denied
Refer to the mount.smb3(8) manual page (e.g. man mount.smb3) and kernel log messages (dmesg)

업데이트: 다른 sec옵션을 시도했습니다.

  • krb5/ krb5i:
    • mount자세한 출력:
      $ sudo mount -t smb3 --verbose -o cred=<my_cred_file>,uid=1000,gid=1000,mfsymlinks,sec=<krb5/krb5i> //<TrueNAS IP>/NAS /mnt/NAS
      mount.smb3 kernel mount options: ip=<TrueNAS IP>,unc=\\<TrueNAS IP>\NAS,mfsymlinks,sec=<krb5/krb5i>,uid=1000,gid=1000,user=<My Username>,pass=********
      mount.smb3 kernel mount options: ip=<TrueNAS IP>,unc=\\<TrueNAS IP>\NAS,mfsymlinks,sec=<krb5/krb5i>,uid=1000,cruid=1000,gid=1000,user=<My Username>,pass=********
      mount error(126): Required key not available
      Refer to the mount.smb3(8) manual page (e.g. man mount.smb3) and kernel log messages (dmesg)
      
    • dmesg산출:
      [190212.841620] CIFS: Attempting to mount //<TrueNAS IP>/NAS
      [190212.851741] CIFS: VFS: unknown or missing server auth type, use krb5
      [190212.861466] CIFS: VFS: Verify user has a krb5 ticket and keyutils is installed
      [190212.861472] CIFS: VFS: \\<TrueNAS IP> Send error in SessSetup = -126
      [190212.861487] CIFS: VFS: cifs_mount failed w/return code = -126
      
  • ntlm/ntlmi:
    • mount자세한 출력:
      $ sudo mount -t smb3 --verbose -o cred=<my_cred_file>,uid=1000,gid=1000,mfsymlinks,sec=<ntlm/ntlmi> //<TrueNAS IP>/NAS /mnt/NAS
      mount.smb3 kernel mount options: ip=<TrueNAS IP>,unc=\\<TrueNAS IP>\NAS,mfsymlinks,sec=ntlm,uid=1000,gid=1000,user=<My Username>,pass=********
      mount error(22): Invalid argument
      Refer to the mount.smb3(8) manual page (e.g. man mount.smb3) and kernel log messages (dmesg)
      
    • dmesg산출:
      [190683.752148] bad security option: <ntlm/ntlmi>
      
      [190683.752170] CIFS: VFS: bad security option: <ntlm/ntlmi>
      
  • ntlmv2// ntlmv2i/ ntlmssp: ntlmsspi이 네 가지 옵션은 mount자세한 출력에 차이가 없거나 옵션을 dmesg지정하지 않는 것과 비교하여 차이가 없습니다 sec.

업데이트: 옵션을 cifs지정해 보세요 vers.

  • vers=2.0:
    • mount산출:
      mount.cifs kernel mount options: ip=<TrueNAS IP>,unc=\\<TrueNAS IP>\NAS,mfsymlinks,vers=2.0,uid=1000,gid=1000,user=<My Username>,pass=********
      mount error(13): Permission denied
      Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) and kernel log messages (dmesg)
      
    • dmesg:
      [281141.068174] CIFS: Attempting to mount //<TrueNAS IP>/NAS
      [281141.085261] CIFS: VFS: \\<TrueNAS IP> smb2_calc_signature: Could not find session
      [281141.085286] CIFS: VFS: \\<TrueNAS IP> __cifs_put_smb_ses: Session Logoff failure rc=-2
      [281141.085298] CIFS: VFS: cifs_mount failed w/return code = -13
      
  • vers=1.0:
    • mount산출:

      mount.cifs kernel mount options: ip=<TrueNAS IP>,unc=\\<TrueNAS IP>\NAS,mfsymlinks,vers=1.0,uid=1000,gid=1000,user=<My Username>,pass=********
      mount error(95): Operation not supported
      Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) and kernel log messages (dmesg)
      

      제거했는데 mfsymlinks(SMB1.0은 지원되지 않나요?) 출력은 동일합니다.

    • demsg:

      [281295.220579] Use of the less secure dialect vers=1.0 is not recommended unless required for access to very old servers
      
      [281295.220601] CIFS: VFS: Use of the less secure dialect vers=1.0 is not recommended unless required for access to very old servers
      [281295.220609] CIFS: Attempting to mount //<TrueNAS IP>/NAS
      [281295.231815] CIFS: VFS: cifs_mount failed w/return code = -95
      

관련 정보