저는 가끔 원격 장치에서 사용하는 가정용 DIY NAS(Debian)를 가지고 있습니다. NAS에는 SMB 파일 서버가 있고 현재 SSH(개인 키 암호화) 및 SSH 포트 터널링을 사용하여 원격으로 액세스합니다.
ssh [email protected] -L 448:localhost:445
smb://localhost:448
그런 다음 원격 클라이언트에 연결합니다 .
Termux를 사용하고 액세스하기 전에 전체 SSH 설정을 수행해야 하기 때문에 원격으로 Android TV를 사용할 때 이 방법은 잘 작동하지 않습니다.
내 SMB 서버의 포트를 공용 인터넷에 직접 노출하는 것은 안전하지 않다는 것을 알고 있습니다. 인터넷을 통해 노출할 수 있을 만큼 안전한 모든 주요 플랫폼에서 클라이언트를 지원하는 네트워크 파일 공유 프로토콜이 있습니까?
답변1
네트워크 파일 시스템을 노출하지 마십시오. 대신 VPN(또는 SSH 터널링)을 사용한 다음 VPN을 통해 네트워크 파일 시스템을 노출하세요.
또한 장거리의 네트워크 파일 시스템은 속도가 매우 느리고 쾌적한 환경이 아니라는 점을 명심하세요.
VPN 또는 SSH 터널링을 설정하는 데 너무 많은 노력이 든다면 자동화하세요.
답변2
내 SMB 서버의 포트를 공용 인터넷에 직접 노출하는 것은 안전하지 않다는 것을 알고 있습니다. 인터넷을 통해 노출할 수 있을 만큼 안전한 모든 주요 플랫폼에서 클라이언트를 지원하는 네트워크 파일 공유 프로토콜이 있습니까?
SSH에는 SFTP라는 하나의 기능이 내장되어 있습니다. 많은 Android 파일 관리자 앱이 이를 지원하며 sshfs
.
WebDAV는 옵션일 수 있지만 이에 대한 지원은 비교적 드뭅니다(가장 일반적인 WebDAV 사용이므로 "Nextcloud"라고 표시될 수도 있음).
(SMB는 대부분 안전하지 않은 것으로 간주되지만큰그 중 일부는 특히 Windows 커널 내 SMB 서버의 버그로 인해 발생했습니다. 대체 SMB 서버 구현(예: Samba)은 훨씬 덜 위험합니다. 동일한 종류의 버그에 영향을 받지 않는 다른 코드 기반과 Linux의 사용자 공간 smbd 프로세스가 Windows의 커널 드라이버보다 훨씬 쉽게 제한할 수 있기 때문입니다. .
따라서 Samba 기반 SMB 파일 서버를 실행한다면 절반 정도는 괜찮습니다. 그래도 추천할게적어도IP 기반 방화벽 허용 목록이 맨 위에 있지만 적어도 Windows 기반 공격은 작동하지 않습니다.
안타깝게도 많은 Android 앱은 전송 암호화와 같은 새로운 SMBv3 기능을 지원하지 않습니다. 운이 좋으면 SMBv2를 지원하기 위해 최소한의 조치를 취하고 그렇지 않으면 SMBv1이 필요할 것입니다. 두 경우 모두 본질적으로 일반 텍스트 프로토콜이 남습니다. 또한 WAN을 통해 SMBv1을 사용하는 것은 안전하더라도 좋은 경험이 아닙니다.)
위의 모든 문제에 대한 쉬운 해결책은 네트워크 파일 시스템 프로토콜 노출을 중단하고 대신 VPN 프로토콜을 노출하는 것입니다. 왜냐하면 VPN 서버는 SSH와 마찬가지로 원격 액세스를 염두에 두고 설계되었으며 일반적으로 노출 위험이 훨씬 적기 때문입니다. 그런 다음 VPN에 연결한 후 SMB, NFS 또는 원하는 것을 사용하세요.