01
SMB란?
SMB(Server Message Block)는 네트워크 파일 공유 프로토콜입니다. 클라이언트가 서버에 연결해 원격 파일과 폴더를 읽고, 만들고, 수정하거나 프린터 및 기타 공유 리소스에 접근할 수 있도록 요청과 응답을 교환합니다.
02
클라이언트와 서버, Dialect 협상
SMB 통신에는 공유 리소스를 제공하는 SMB 서버와 원격 공유에 연결하는 SMB 클라이언트가 있습니다. 연결할 때 양쪽이 지원하는 SMB dialect를 협상하며, 선택된 dialect에 따라 메시지 형식과 지원 기능이 결정됩니다. SMB 2와 SMB 3은 기존 SMB의 개념을 이어가면서 프로토콜 구조와 기능을 발전시킨 버전입니다.
03
SMB 연결에서 확인할 항목
SMB 문제를 분석할 때는 서버와 클라이언트 역할, 협상된 dialect, 인증, 공유 및 파일 권한, 네트워크 경로를 함께 확인해야 합니다. 운영체제 버전에 따라 지원되는 SMB 기능이 다를 수 있으며 서명, 암호화, RDMA, SMB over QUIC 같은 기능도 구성과 버전에 따라 달라집니다.
04
SMB와 CIFS를 같은 뜻으로 사용하면 안 된다
CIFS는 SMB 계열의 특정 dialect이며 현대 SMB 전체와 같은 의미가 아닙니다. 또한 SMB를 사용한다는 사실만으로 서명이나 암호화가 항상 동일하게 적용된다고 볼 수 없습니다. 보안과 호환성 판단에는 실제 dialect와 정책 구성을 확인해야 합니다.