语境 :
我计划去旅行。我想用我的个人服务器创建一个小云。我希望我可以下载一些文件,并最终上传一些不会被执行的文件,并且整个文件都受到非简单密码的保护。
我是唯一的人类用户。
Netfilter:除端口 443 外,所有端口均已关闭。无脚本可执行。Apache 具有最低权限。
我已经禁用了所有远程登录,每当用户尝试登录 /etc/profile 时都会自动执行一个脚本(它基本上会踢出任何试图连接的人,因为我只希望能够物理连接到该框)。
但我只是用 apache 和经过分析的 apparmor 打开了 443 端口,以确保 Apache 不会做任何愚蠢的事情。没有数据库。
Debian Stable 64 位已更新。
问题 :
这足以保护我的箱子吗?我是否忽略了什么?还有其他建议吗?
谢谢
答案1
这是一个非常广泛的话题,但我的看法如下:
- 加密您的磁盘。
- 不要将 AppArmor 限制为
apache
。 - 只要有组织的分区/LVM2 布局,系统的大部分内容都可以以只读方式挂载。
挂载
nodev,nosuid,noexec
不需要这些权限的所有内容,apt
并且aptitude
可能需要临时执行权限/tmp
,您可以将其添加到您的/etc/apt/apt.conf
或下的代码片段中/etc/apt/apt.conf.d
:DPkg::Pre-Invoke {"mount -o remount,exec /tmp";}; DPkg::Post-Invoke {"mount -o remount /tmp";};
- 使用非 root 帐户,并仅
sudo
向该帐户授予所需的权限。 - 如果要将其暴露到互联网上,请使用
fail2ban
或denyhosts
。 - 定期进行安全更新。
- 将日志放在单独的分区/逻辑卷中。
- 进行备份并测试。
- 为可能的妥协制定计划。