이번 실습에서는 안전한 SMB 프로토콜 기반의 파일 공유 서버를 구축하는 실습을 해볼 것이다. 먼저 samba를 설치하고 사용자 권한 및 보안 설정을 해볼 것이고, SMB 프로토콜은 TCP 139번, 445번 포트를 사용하기 때문에 방화벽에서 해당 포트를 허용해야 한다.
samba 설치
apt install samba samba-client
설치가 끝났다면 방화벽 설정을 해주자.
자, 이렇게 파일 공유 서버를 설치하면 공유할 경로와 해당 파일 공유 서버에 접근할 수 있는 사용자를 설정해야 한다.
우선 공유할 경로를 만들자.
mkdir /samba를 입력해서 디렉토리를 하나 만들고 samba 패키지 환경 설정 파일인 /etc/samba/smb.conf에 접속해서 파일 공유 서버의 저장 경로를 /samba로 지정하고 접근 가능한 사용자는 samba라는 그룹을 가진 사용자로 제한할 것이다.
파일 공유 서버로 운영하는 공유 디렉토리를 시스템에 영향을 주는 디렉터리인 /,/dev,/etc 등으로 지정한다면 시스템 전체가 해킹당할 위험이 있으니 이처럼 별도의 디렉터리를 만들어서 지정하는 것이 좋다.
여기까지 설정 했다면 systemctl restart smbd로 서비스를 재시작하면 된다.
이젠 만들어둔 파일 공유 서버에 접근 가능한 사용자를 만들 것이다.
samba 접근을 위한 사용자를 생성하기 위해서는 3가지 순서를 차례대로 진행해야 한다.
- 리눅스 사용자 생성
- samba 사용자 생성
- samba 폴더 권한 설정
그럼 이제 만들어 보자.
sambauser라는 사용자를 만들고 samba라는 그룹을 만들었다.
sambauser 사용자를 sambauser 그룹으로 추가시키고 /samba 디렉터리의 소유권을 변경시켰다.
여기까지 확인 했다면 samba의 설정은 끝났고 이제 실제로 공유 폴더에 접속할 사용자를 samba 서비스에 추가해야 한다.
이제 실제로 접속이 되는지 확인해 보자.
smbclient [서버/경로] -U [samba 사용자]
smbclient 명령어로 접속해서 폴더를 하나 만들고 /smaba 폴더에 내가 만든 파일이 생성되는지 확인해보자.
이제 파일을 하나 만들어보자.
이렇게 내가 만든 ttttttttttttttt라는 파일이 동일하게 /samba 파일에도 생성이 된 것을 확인할 수 있다!
이러한 방식으로 구축한 파일 공유 서버는 공유 폴더나 리눅스의 명령어를 사용해서 연결할 수 있고, 파일 공유 서버 사용자를 특정 그룹으로 지정해 guest의 접근을 막으면서 파일 공유 서버를 안전하게 관리할 수 있다.
'리눅스 서버 보안 > 파일 공유 서버' 카테고리의 다른 글
Samba 원격 코드 실행 취약점 (0) | 2024.08.11 |
---|