Samba로 액세스할 때만 암호화된 디렉터리가 마운트되도록 설정하는 방법은 무엇입니까?

Samba로 액세스할 때만 암호화된 디렉터리가 마운트되도록 설정하는 방법은 무엇입니까?

(이것은 클라이언트 액세스를 제한하지 않으며 ext3 권한으로 이 문제를 해결할 수 있습니다.)

내 NAS 드라이브의 데이터를 암호화하고 싶습니다(버팔로 LinkStation Pro사용자 친화적인 방식으로 SSH 액세스(중요한 경우)를 활성화합니다. 현재 truecrypt 컨테이너는 SSH를 통해 수동으로 마운트하고 다시 마운트 해제해야 합니다(해결하지 않는 한).내 시간 초과 문제). 암호가 없는(EFS 암호화된) SSH 키를 사용합니다. 이 키는 두 개의 PuTTY 데스크탑 바로가기로 축소되고 truecrypt 암호를 입력할 수 있습니다(더욱 단순화하세요) 설치를 위해.

그러나 이상적인 솔루션은 투명합니다. 처음에는 어떻게든 해보자는 생각이 들었어요공유를 통해 EFS 암호화 가능하지만 Active Directory 서버가 없는 여러 사용자의 경우 더 많은 작업과 EFS가 필요할 수 있습니다.매우 곤란해 보인다.

하지만 이제 내 생각은 인증된 사용자(Windows 클라이언트 사용)의 삼바 액세스에 의해 자동으로 트리거되는 EncFS 암호화 디렉터리 등을 자동으로 마운트하는 것입니다. 이것이 어떻게 달성될 수 있습니까? (허가받지 않은 사용자에게 허니팟 공유를 보여주면 보너스 포인트...)

답변1

Samba "로그인 스크립트"(Samba 로그인 후 실행되는 클라이언트 코드)를 사용하여 솔루션의 스케치를 보았지만 전체 솔루션에는 스케치를 완료하려면 세부 정보가 포함되어야 합니다. 또한 "사전 실행 스크립트"(삼바 로그인 중에 실행되는 서버 측 코드)도 관련됩니다.

인용하다smb.conf 매뉴얼 페이지

로그인 스크립트(G)

이 매개변수는 사용자가 성공적으로 로그인할 때 컴퓨터에 다운로드되어 실행될 배치 파일(.bat) 또는 NT 명령 파일(.cmd)을 지정합니다. 파일에는 DOS 스타일 CR/LF 줄 끝이 포함되어야 합니다. 이 파일을 생성하려면 DOS 스타일 편집기를 사용하는 것이 좋습니다.

스크립트는 [netlogon] 서비스에 대한 상대 경로여야 합니다. [netlogon] 서비스에 대해 지정된 경로가 /usr/local/samba/netlogon이고 로그인 스크립트 = STARTUP.BAT인 경우 다운로드되는 파일은 다음과 같습니다.

/usr/local/samba/netlogon/STARTUP.BAT

배치 파일의 내용은 전적으로 귀하가 선택합니다. 권장되는 명령은 NET TIME \SERVER /SET /YES를 추가하여 각 컴퓨터가 시계를 동일한 시간 서버와 동기화하도록 하는 것입니다. 또 다른 용도는 일반 유틸리티에 NET USE U:\SERVER\UTILS를 추가하는 것입니다.

NET USE Q: \\SERVER\ISO9001_QA

예를 들어.

[netlogon] 공유에 대한 쓰기 액세스를 허용하지 않거나 보안 환경에서 사용자에게 배치 파일에 대한 쓰기 액세스 권한을 부여하지 않는 것이 특히 중요합니다. 이렇게 하면 배치 파일이 임의로 수정되어 보안을 위반할 수 있습니다.

이 옵션은 표준 대체 옵션을 사용하며 각 사용자 또는 컴퓨터에 대해 별도의 로그인 스크립트를 사용할 수 있습니다.

그리고

사전 실행(S)

이 옵션은 서비스에 연결될 때마다 실행할 명령을 지정합니다. 일반적인 교체가 필요합니다.

흥미로운 예는 사용자가 로그인할 때마다 환영 메시지를 보내는 것입니다. 어쩌면 오늘의 뉴스일까요? 예는 다음과 같습니다.

preexec = csh -c 'echo \"Welcome to %S!\" | /usr/local/samba/bin/smbclient -M %m -I %I' &

하지만 귀하의 경우에는 로그인 스크립트(클라이언트에 설치된 암호화되지 않은 양식)가 필요하므로 솔루션 스케치에는 다음이 포함될 수 있습니다.

  1. 각 컴퓨터에 다음이 있는지 확인하십시오.EncFS에 해당설치됨
  2. 클라이언트에서 encfs를 호출하고 사용자에게 로그인하라는 메시지를 표시하는 로그인 스크립트(.bat 형식)를 작성합니다. 따라서 encfs 명령은 로컬에서 암호화되지 않은 양식을 설치하는 반면 원격 저장소는 암호화된 상태로 유지됩니다.
  3. 해당 사용자가 로그인 스크립트를 실행하도록 smb.conf를 구성합니다. 예를 들어

    로그인 스크립트 = runencfs.bat

  4. 보너스 포인트를 얻으려면 로그인 스크립트가 자동으로/Encfs(삼바 공유에서)를 설치하라는 메시지를 표시하고 설치된 후에만 설치를 실행할 수 있습니다!

그러나 클라이언트 측 스크립트는 cmd 언어, encfs 설치 확인 및 Windows 문제 해결로 인해 골치 아픈 일을 제공합니다.Windows 8.1 이상과 마찬가지로 로그인 스크립트는 달리 구성하지 않는 한 5분 후까지 실행되지 않습니다..

답변2

저장되어 있는 데이터의 보안이 걱정된다면 NAS에서 암호화 솔루션을 찾아보세요(FreeNAS와 Synology가 이 솔루션을 제공합니다). 시작 시 볼륨을 열려면 키를 입력해야 하지만 그 이후에는 암호화되지 않은 공유처럼 작동하므로 클라이언트 구성이 필요하지 않습니다.

반면, 서버가 실행되는 동안 서버에서 데이터를 가져오는 것이 걱정된다면 클라이언트 측 암호화를 통해 문제를 해결할 수 있습니다. EncFS나 Cryptomator와 같은 것이 문제에 대한 가장 간단한 해결책이 될 수 있습니까?

아니면 제가 질문을 잘못 이해한 걸까요?

관련 정보