Linux 용 보안 네트워크 파일 시스템 : 사람들은 무엇을하고 있습니까?


26

NFSv3은 널리 보급되어 있지만 기본 보안 모델은 ... quaint 입니다. CIFS는 Kerberos 인증을 사용할 수 있지만 POSIX 의미가 없으면 시작이 아닙니다. AFS는 유선으로 트래픽을 암호화하지 않았으며 krb4이며 기본적으로 죽은 프로젝트입니다. 멋진 새 실험 파일 시스템은 결코 실현되지 않거나 속도에 중점을 두지 않습니다 (예를 들어 운이 좋으면 데이터 안정성). Lustre는 NFSv3과 동일한 클라이언트 신뢰 모델을 사용합니다. 가정에서 sshfs는 훌륭하지만 확실히 확장되지는 않습니다.

물론 sec = krb5p와 함께 NFSv4가 있습니다. 이론적으로는 훌륭하지만 10 년이 지난 후에는 현실 세계에서 문제가되지 않는 것 같습니다. Linux 클라이언트는 이제 실험 태그를 제거했습니다. EMC Celerra, Isilon 등을 살펴보면 모두 NFSv3입니다. (Celerra는 NFSv4를 지원하지만 실제로 는 문서에 포함되어 있습니다. Isilon은 FreeBSD에 RPCGSS 지원을 추가하는 데 분명히 도움이되었으므로 아직 제공되지는 않지만 지금은 그렇지 않습니다.)이 게시물에 "nfsv4"로 태그를 지정할 수도 없습니다. 나는 여기 에 새로운 것이고 그것은 새로운 태그 일 것 입니다.

그래서, 정말 . 당신은 모두 무엇을하고 있습니까?


"NFS3 over IPSEC"라고 말하고 싶지만 그럴 수는 없습니다.
sysadmin1138

1
"NFS3 over IPSEC"는 온-와이어 문제를 해결하는 데 도움이되지만 또 다른 기본적인 NFS 문제는 해결하지 못합니다. 클라이언트 박스가 루팅되었거나 사용자가 자신의 시스템에서 루트를 얻는 환경에있는 경우 원격 사용자를 사칭 할 수 있습니다.
mattdm

당신은, 새로운 태그가있다))
Cry Havok

1
AFAIK, Kerberos는 NFS 용으로 정의되었습니다
Javier

2
LAN 환경에서 유선 트래픽을 암호화해야 할 필요성이 확실하지 않습니다 (인증은 암호화되어야 함). 당신은 어쨌든 ARP 중독을 모니터링해야합니다 ...
Hubert Kario

답변:


8

구체적인 질문이기 때문에 (무엇을하고 있습니까?) 답을 드리겠습니다. 대부분의 관리자와 사용자는 NFS 보안에 대해 걱정하지 않으므로 모든 사람이 NFSv3을 사용합니다. 일반적으로 잘 알려진 시스템 만 네트워크에 연결할 수 있다는 점에서 통제 된 환경입니다. 누군가가 인프라를 학대하는 데 걸리면 해고되거나 투옥됩니다.

다른 사람 이 실제로 읽기를 원하지 않는 데이터의 경우 Firefox 비밀번호 데이터베이스, ssh 키 또는 pgp 키와 같이 명시 적으로 암호화합니다. 관리자가 파일 서버에서 읽을 수 있기 때문에 네트워크 파일 시스템 보안은 도움이되지 않기 때문에 그렇게합니다.


14

여기에 두 가지 질문이있는 것 같습니다.

실제로 무엇을 사용하고 있습니까? 그리고 이것은 무엇입니까?

어떻게 내가있어 실제로 사용하는 것은 내가 어떤 문제가 없었어요 그래서 POSIX 덜 중요하다 내 사용 사례에서, CIFS이다. NFS3는 SLES 설치 서버와 같이 보안이 중요하지 않은 영역에서 사용됩니다. 마지막으로 간단한 사용자 랜드 공유를위한 sshfs / gvfs. 유선 암호화는 필요하지 않은 것으로 간주되므로 이는 의미가 없습니다.

다른 질문에 관해서는, 당신이 찾고있는 것에 대한 6 가지 주요 요구 사항이있는 것 같습니다 :

  1. 유선 트래픽을 암호화합니다.
  2. 인증을 암호화합니다.
  3. Posix 시맨틱.
  4. 서버 기반 ACL의 강력한 시행.
  5. 유저 랜드가 아닙니다.
  6. 실제로 사용됩니다.

나는 포인트 5와 6이 여기에 살인자라고 생각하지만 여기에 간다 (또한 테이블이 실제로 편리하지만 마크 다운 / 스택 교환이 지원하지 않는 지점이다).

NFSv3 + IPSec

  1. 전선에 암호화되어 통과
  2. 암호화 된 인증이 없습니다. 실패
  3. Posix 시맨틱, 패스
  4. 서버 기반 ACL을 강력하게 시행하지 않음, 실패
  5. 유저 랜드가 아닌 패스
  6. 실제로 사용, 통과

NFSv4 + Krb + IPSec

  1. 전선에 암호화되어 통과
  2. 암호화 된 인증, 패스
  3. Posix 시맨틱, 패스
  4. 서버 기반 ACL의 강력한 시행, 통과
  5. 유저 랜드가 아닌 패스
  6. 실제로 사용되지 않는, 실패

CIFS

  1. 유선으로 암호화되지 않음, 실패
  2. 암호화 된 인증
  3. Posix 시맨틱, 패스 (Samba & Kernel, 이제 Windows는 NT 시절부터 Posix 계층을 가짐)
  4. 서버 기반 ACL의 강력한 시행, 통과
  5. 유저 랜드가 아닌 패스
  6. 실제로 사용, 통과

CIFS + IPSec

  1. 전선에 암호화되어 통과
  2. 암호화 된 인증
  3. Posix 시맨틱, 패스 (Samba & Kernel now)
  4. 서버 기반 ACL의 강력한 시행, 통과
  5. 유저 랜드가 아닌 패스
  6. 실제로 사용되지 않는, 실패

SSHFS

  1. 전선에 암호화되어 통과
  2. 암호화 된 인증, 패스
  3. Posix 시맨틱, 패스
  4. 서버 기반 ACL의 강력한 시행, 통과
  5. 유저 랜드인가, 실패
  6. 실제로 사용, 통과

AFP / NetATalk

  1. 유선으로 암호화되어 실패
  2. 암호화 된 인증, 패스
  3. Posix 시맨틱, 패스
  4. 서버 기반 ACL의 강력한 시행, 통과
  5. 유저 랜드가 아닌 패스
  6. 실제로 사용, 실패

그리고 분산 파일 시스템을 건드리지 않습니다. 모든 것을하는 단 하나의 일이 없습니다. 일부는 가까이 와서 (CIFS) 일부는 이미 있지만 아무도 사용하지 않습니다 (NFS4 + IPSec, CIFS + IPSec). 어떤 이유로 든 안전한 네트워크 파일 시스템은 수년에 걸쳐 많은 타협을받은 것입니다.


"NFSv4 + Krb"에 대해 언급하고 "7. 암호화가없는 동일한 프로토콜 스택과 비교하여 상당히 빠른가?" 질문으로. NFSv4 + krb5p의 경우 아마도 실패 할 것이지만 1-6 번의 질문은 전달 합니다.
알.

새로운 보안 네트워크 파일 시스템 SNFS를위한 시간일까요?
유닉스 청소부

@ user37899 항상 그렇듯이 문제는 어플라이언스 공급 업체가이를 지원하고 조직이이를 배포하도록 설득하는 것입니다.
sysadmin1138

1
POSIX 모드에서 CIFS를 사용하려고 시도한 것은 정말 운이 없었습니다. 아마 다시 방문해야 할 때입니다.
mattdm

FWIW CIFS + IPsec을 사용하고 있지만 POSIX 시맨틱에는 사용하지 않습니다. 서버는 emc celerra, 클라이언트 win7입니다. ipsec 터널은 시스코 ASA (셀라 옆)와 win7 내장 ipsec 사이의 LAN-LAN 모드에서 수행됩니다.
Dan Pritts 2013

3

Linux와 Windows 클라이언트 모두에서 몇 년 동안 프로덕션 환경에서 openafs를 사용해 왔습니다. 다양한 Linux 배포판에 패키징이 포함되어있어 지난 몇 년 동안 훌륭하게 작동하고 활발한 개발 커뮤니티가 있으며 설치 및 관리가 훨씬 쉬워졌습니다. 사마귀가 있지만 관리 유연성이 뛰어나고 느린 링크로 클라이언트와 서버를 분리 할 수있는 능력, 오프 사이트 백업의 용이성 및 기타 긍정적 인 AFSism으로 인해 상쇄되는 것으로 나타났습니다.

특히 내가 좋아하는 한 가지는 ACL이 잠겨있는 openafs에서 프로덕션 인터넷 웹 서버를 실행하는 것입니다. kerberos 티켓이 없으면 시스템에는 파일 시스템에 쓸 수있는 프로세스 (루트로 실행중인 프로세스)가 없습니다. 단순한 측정으로 인해 공격이 완전히 실패한 것을 몇 번이나 발견했는지는 알 수 없습니다.

꽤 큰 openafs 사용자가 있습니다. 제가 아는 최대의 상용 사용자는 Morgan Stanley입니다.


1

아직도 유일한 OpenAFS와 VPN은 현재 유일한 암호화이기 때문에 DES는 어떻습니까?


2
프로덕션 환경에서 OpenAFS를 사용했습니다. 살아 있다는 소문이 크게 과장되었습니다.
mattdm

이번 달 에 새로운 릴리스 가 있었고 그 전에는 새로운 버전의 Windows와 새로운 버전의 Linux 커널을 지원하기 위해 상당히 정기적 인 업데이트가있었습니다 (최신 릴리스는 3.0을 지원함).
Hubert Kario

1

이 스레드의 많은 사람들이 데이터 숨기기, 즉 데이터를 스누핑 할 수없는 공격에 대해 이야기하고 있습니다. 데이터 무결성과 신뢰성에 대해 생각하는 것도 중요합니다. 그 nfs 패킷은 실제로 귀하의 nfs 서버에서 온 것입니까? nfs 패킷이 전송 중에 변경 되었습니까?


IPsec을 통한 NFS는 (광역 링크) 그 처리하고 ARP 중독에 대한 모니터링하면 해당 LAN에 않습니다
휴 버트 Kario

실제로 실제로 ipsec을 사용하는 사람이 있습니까?
유닉스 청소부

1

글쎄, 나에게 그것은 그러한 분산 파일 시스템 중 하나가 당신을위한 것처럼 들린다. OpenAFS는 오래되었으므로 아직 IPv6을 지원하지 않으므로 OpenAFS를 권장하고 싶지 않습니다.

GlusterFS에 매우 만족 합니다. Gluster는 매우 성숙하고 성능이 좋으며 우수한 기능을 갖추고 있습니다. 그러나 최근 IRC에서 논의 된 바와 같이 Gluster는 안정적인 방식으로 IPv6도 지원하지 않습니다. 이 기능은 3.6 또는 3.7로 예정되어 있습니다.

Gluster를 기반으로하는 HekaFS라는 프로젝트도 있으며 고급 인증 기능과 SSL을 추가합니다. 그것은 매우 잘 문서화되고 매우 잘 설계되었습니다.

무엇 ALOS 관심을 가질 것은 XtreemFS 는 기본적으로 SSL과 물건을 함께 제공하므로, 글로벌 그리드 컴퓨팅을 위해 설계되었습니다. 커뮤니티가 더 활발하게 보이고 더 잘 문서화 되었기 때문에 Gluster에 대한 나의 선택이 떨어졌습니다.

둘 다 물론 posix를 준수합니다.


0

NFS를 사용합니다. 그러나 서버 간 NFS는 전용 네트워크 백본을 통해 수행되므로 암호화가 필요하지 않으며 인증은 무의미합니다. IP를 기반으로 서버에 선택 디렉토리 만 공유하도록 각 내보내기를 설정하십시오.


누군가가 랙에 잭을 꽂아 wireshark로 전환 할 때까지 전용 네트워크.
유닉스 수위

그것은 물리적 보안 문제입니다. 서버와 같은 방에 있으면 어쨌든 게임입니다.
Porch

-2

모든면에서,이 문제를 완전히 잘못보고 있으므로 몇 시간 동안 콘솔에서 물러나야합니다.

거의 모든 스토리지 Io는 추상화 스택의 해당 계층에서 중요하지 않기 때문에 암호화되지 않습니다. 의심하십니까? 브로케이드 파이버 스위치를 탭하면 iscsi 및 nfs와 같은 파이버 채널이 모두 암호화되지 않은 엉망이라는 것을 알 수 있습니다. 이를 해결하는 것은 스토리지 프로토콜 문제가 아니라 중간 정도의 문제입니다. 예를 들어, 안전하고 암호화 된 nfs를 원하십니까? ipsec / ssl / tls 또는 순수한 하드웨어 솔루션을 사용하여 nfs 클라이언트와 서버간에 지점 간 암호화 된 LAN을 작성했습니다.


요점을 놓친 것 같습니다. 질문에서 알 수 있듯이 문제는 NFS 보안 모델에 있습니다. 암호화는 훌륭하지만 해결 가능한 문제입니다. NFS의 큰 문제점은 파일 시스템이 시스템에 마운트되면 해당 시스템에서 루트 액세스 권한이있는 사람은 누구나 소유권이나 권한에 관계없이 해당 파일 시스템의 모든 파일에 액세스 할 수 있다는 것입니다. AFS와 같은 시스템 (또는 이론적으로 sec = krbp5 인 NFSv4)은 파일에 액세스하려면 강력한 자격 증명이 필요하므로 보안이 크게 향상됩니다. 루팅 된 NFS 클라이언트는 대량의 데이터 노출과 동일하지 않습니다.
Larsks

1
사용자에게 각 액세스에 대한 자격 증명을 입력하도록 요청하지 않으면 자격 증명이 저장됩니다. 루트로 손상된 클라이언트는 저장된 키를 쉽게 포기할 수 있습니다. 네트워크로 연결된 파일 시스템은 파일 시스템 노출 위험을 증가시킵니다.
BillThor

@BillThor 이것은 내가 생각했던 것입니다. 자격 증명이 커널 메모리에있는 경우에도 여전히 공격에 노출되어 있습니까? 커널 모듈을로드하여 모든 커널 메모리를 읽을 수 있다고 생각합니다.
Rob Olmos

요청이 공유 스토리지에 대한 액세스 권한이있는 사용자의 컨텍스트에서 사용되는 한 신임 정보의 위치는 중요하지 않습니다. 자격 증명은 종종 백그라운드 프로세스에 의해 유지되므로 통신 할 수있는 사람은 누구나 공유 스토리지에 액세스 할 수 있습니다. 로컬 스토리지와 동일한 보안 네트워크 스토리지에 대한 위험을 평가합니다.
BillThor

2
@BillThor : kerberos를 사용하면 공격자가 티켓을 전달한 사용자의 파일 시스템에만 액세스 할 수 있고 해당 티켓의 수명 동안 만 액세스 할 수 있으므로 위험이 크게 완화됩니다. 시스템 기반 인증 (lanfsv3)을 사용하면 root는 해당 사용자가 손상된 시스템과 아무런 관련이 없더라도 모든 사용자 의 파일에 액세스하고 조작 할 수 있습니다 .
mattdm
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.