服务器外部访问安全

服务器外部访问安全

我正在设置自己的家用 Raspberry Pi 服务器/NAS,希望能够访问家庭网络之外的内容。然而,这促使我重新考虑整个设置。

我有一个连接到 Raspberry Pi 的外部硬盘,其中保存了我想要管理/共享的所有相关数据。

我已经vsftpd为家庭 LAN 创建了一个 FTP 服务器,btsync同步特定的服务器文件夹,transmission守护进程管理下载,并且我希望能够使用 SFTP 访问 FTP 数据。

我主要担心两个问题:

  1. 用户管理。是否建议让每个服务/守护进程由在每个上下文中具有受限权限的单个用户运行,或者由普通用户(显然不是 root)运行所有服务?

  2. 写入权限。如何在通过互联网访问 SFTP 时禁用写入功能。如何将 FTP 访问限制为仅单个文件夹/用户主文件夹?

答案1

简短答案

  1. 每项服务都应该有自己的用户。

  2. (不确定我是否理解)更改您不希望用户具有写入权限的文件/目录的权限。您正在寻找 chroot jail。

长答案

  1. 您应该从各自的用户运行每个服务。例如,Arch Linux 中安装的大多数软件包都会自动执行此操作,在安装时创建自己的用户。如果有人可以访问运行所有服务的某个用户,他们就可以访问所有服务。如果您通过 SSH 进入服务器,并且需要以该用户的身份修改其中一个服务,您只需

  2. 当用户通过 SSH/SFTP 进入服务器时,chroot jail 会将用户锁定在目录及其子目录中。有关如何执行此操作的更多信息,请参见此处:http://allanfeid.com/content/creating-chroot-jail-ssh-accesshttps://wiki.archlinux.org/index.php/SFTP_chroot

希望有所帮助。


编辑1

我建议使用类似 deluge 的工具。它有一个 webui,你可以使用它来设置它。然后,你可以创建一个只具有读取权限的下载目录和一个具有写入权限的 torrent 目录。一旦设置完成,Deluge 就会自动添加 torrent 目录中要下载的任何 .torrent 文件。BAM,任何用户都可以添加要自动下载的 torrent,并且所有用户都可以访问这些下载。

一个漂亮的旁注(从未尝试过,所以我不知道它是否真的有效)是您还可以在 deluge webui 中创建具有只读权限的用户,以便他们可以看到正在下载的 torrent。http://dev.deluge-torrent.org/wiki/UserGuide/Authentication

相关内容