[OS] Chap15-06 : 파일 시스템 내부 구조_원격 파일 시스템
운영체제(Operating System Concepts) 를 읽고 정리한 정리본입니다.
📌 Chap15-06 : 파일 시스템 내부 구조_원격 파일 시스템
🫧 파일 공유 방법
네트워크의 출현은 원격 컴퓨터 간 통신을 가능하게 하였다.
- ftp : 파일 직접 전송
- 분산 파일 시스템 (DFS)
- WWW
-> 원격 파일에 접근하기 위해서는 브라우저가 필요하고, 파일 전송을 위해서는 별도의 연산 (ftp 포장)이 필요하다.
🫧 The Client-Server Model (클라이언트 서버 모델)
원격 파일 시스템은 컴퓨터가 하나 이상의 원격 시스템으로부터 하나 이상의 파일 시스템을 마운트 하도록 허용한다.
이런 경우 파일을 가지고 있는 컴퓨터를 서버, 파일에 접근하기를 원하는 컴퓨터를 클라이언트라고 한다.
✨ 인증과 해킹
서버는 대개 볼륨이나 디렉터리 수준에서 사용 가능한 파일을 명시하며, 클라이언트는 네트워크 이름이나 IP 주소와 같은 다른 식별자로 확인이 가능하다.
그러나 클라이언트가 서버에게 인증을 요청하는 과정에서 해킹
에 노출될 수 있다.
해킹의 대표적인 예로 스푸핑 (IP Spoofing)이 있다.
스푸핑이란 허가되지 않은 클라이언트가 허가된 것처럼 위장해 서버에 접속하는 하나의 해킹 방법이다.
이러한 문제를 해결하기 위해 암호화된 키를 통해 클라이언트에서 서버로 보안 인증을 할 수도 있다.
그러나 암호화된 키 방식도 클라이언트와 서버의 호환성이 맞지 않거나 키 값이 누군가에 의해 해킹될 수도 있다는 문제가 있다.
이러한 문제를 해결하기 위해 최근 다음과 같은 방식들이 채택되고 있다.
✨ 보안
- 스푸핑
- TLS/SSL : 네트워크 통신에서 암호화를 통해 클라이언트와 서버 간 통신 보호
- 방화벽 : IP 주소 기반 검증과 비정상적인 트래픽 차단
- 암호화된 키 인증
- SSH 키, TLS 인증서 사용
✨ UNIX와 NFS에서의 인증
UNIX와 UNIX 네트워크 파일 시스템 (NFS)에서는 기본적으로 클라이언트 네트워킹 정보를 통해 인증 과정을 거친다.
다음은 클라이언트 네트워킹에서의 특징이다.
- 사용자 ID가 클라이언트와 서버에서 일치해야 한다.
- 서버는 클라이언트가 정확한 사용자 ID를 입력하는 것을 신뢰한다.
- 한 시스템이 서버와 클라이언트 모두가 될 수 있다.
다음은 간략한 원격 파일 시스템의 파일 연산 과정이다.
- 원격 파일 시스템이 마운트되면 파일 연산 요청은 DFS 프로토콜을 통해 서버로 보내진다.
- 필요에 따라 (ex, 파일 열기 요청) 요청한 사용자의 ID와 함께 보내진다.
- 서버는 표준 접근 검사를 적용해 사용자의 접근 권한을 확인한다.
- 허용 시 파일 디스크립터 (파일 핸들)이 클라이언트 응용에 전달되고, 연산을 수행한다.
🫧 Distributed Information Systems(분산 정보 시스템)
클라이언트-서버 모델을 쉽게 관리하기 위해 분산 정보 시스템 (분산 네이밍 서비스)의 개념이 등장했다.
기존 클라이언트-서버 서비스에서는 원격 컴퓨팅에 대한 내용을 다루었다면, 분산 정보 시스템에서는 원격 컴퓨팅을 위해 필요한 정보에 단일화된 접근을 제공한다.
대표적인 분산 정보 시스템은 다음과 같다.
- DNS (Domain Name System)
- NIS (Network Information Service)
- CIFS (Common Internet File System)
- LDAP (light-weight directory-access protocol)
✨ DNS (Domain Name System)
: 전체 인터넷의 호스트 이름을 네트워크 주소로 변환하는 서비스
✨ NIS (Network Information Service)
: 하나의 계정 통합관리 서버를 이용해 여러 서버들에게 같은 계정을 제공하는 네트워크 기반 인증 서비스
✨ CIFS (Common Internet File System)
: 다른 시스템 간 자원을 공유할 수 있도록 개발되었으며, 윈도우와 유닉스 환경을 동시에 지원하는 인터넷 표준 파일 규약 프로토콜이다.
✨ LDAP (light-weight directory-access protocol)
: 조직이나 개인 정보, 파일이나 디바이스 정보 등을 찾아보는 것을 가능하게 만든 소프트웨어 프로토콜
🫧 원격 파일 시스템에서의 복구
원격 파일 시스템은 로컬 시스템보다 더 많은 오류 가능성을 가지고 있다.
만일 서버의 고장으로 인해 원격 파일 시스템을 더 이상 사용할 수 없다면 대부분의 DFS 프로토콜은 언젠가 원격 호스트를 다시 이용할 수 있다는 희망을 품고 원격 호스트에 대한 파일 시스템 연산을 강제로 실행시키거나 연기할 수 있게 한다.
🫧 참고 자료
-
[리눅스 NIS(Network Information Service) 개념 및 계정 통합 서버 구축 방법 one coin life(coinAA) Tistory](https://onecoin-life.com/56#google_vignette) -
[파일 서버란? SMB/CIFS/NFS kimdragon Tistory](https://kim-dragon.tistory.com/38) -
[[리눅스] 파일서버-SMB/CIFS/NFS Tom’s Note Tistory](https://kurukurucoding.tistory.com/42) -
[[LDAP] 개념 잡기 ★용호★ Tistory](https://yongho1037.tistory.com/796)