我在某处读到或听说过(可能在LinuxCBT 的 SELinux 课程中;但我不确定)有在线 Linux 服务器,还提供了 root 用户的密码。Linux 服务器采用 SELinux 规则加固,每个人都可以使用 root 用户登录,但不会对操作系统造成任何损害。
这对我来说似乎是一个神话,但我想确定:是否有可能强化 Linux 机器(可能使用 SELinux),这样即使是 root 用户也无法对其进行特定的恶意活动?(例如:删除系统文件、清除日志文件、停止关键服务等)
这样的 Linux 机器将是构建蜜罐的一个很好的起点。
编辑: 基于一个答案(现已删除)和一点谷歌搜索,我至少得到了两个指向这种强化 Linux 服务器的链接。不幸的是,两台服务器都停机了。为了记录,我将在这里复制粘贴描述:
1) 来自http://www.coker.com.au/selinux/play.html:
SE Linux 机器上的免费 root 访问权限!
要以root身份访问我的 Debian 游戏机 ssh 到play.coker.com.au,密码是...
请注意,如果您要成功运行此类机器,则需要很多技能。如果您要问是否应该运行一个,那么答案是“不”。
这样做的目的是证明 SE Linux 可以在没有任何 Unix 权限的情况下提供所有必要的安全性(但仍然建议您对真实服务器也使用 Unix 权限)。它还让您有机会登录到 SE 机器并查看它是什么样的。
当您登录 SE Linux 播放机时,请确保在登录前使用-x选项禁用 X11 转发或在 /etc/ssh/ssh_config 文件中设置ForwardX11 no。还要确保在登录之前使用 -a 选项禁用 ssh 代理转发或在 /etc/ssh/ssh_config 文件中设置ForwardAgent no。如果您没有正确禁用这些设置,那么登录游戏机将使您面临通过 …
SSH 允许远程用户在不以交互方式登录服务器的情况下发出一些命令,如最后一行ssh
用法所示:
usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
[-D [bind_address:]port] [-E log_file] [-e escape_char]
[-F configfile] [-I pkcs11] [-i identity_file]
[-L [bind_address:]port:host:hostport] [-Q protocol_feature]
[-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
[-R [bind_address:]port:host:hostport] [-S ctl_path]
[-W host:port] [-w local_tun[:remote_tun]]
[user@]hostname [command]
Run Code Online (Sandbox Code Playgroud)
当使用远程命令调用 ssh 时,.bash_history
文件不会更新(即,远程命令未添加到.bash_history
)。我设法通过添加以下命令来“模拟”这种效果/etc/ssh/sshd_config
:
ForceCommand if [[ -z $SSH_ORIGINAL_COMMAND ]]; then bash; else printf "$SSH_ORIGINAL_COMMAND\n" >> .bash_history; bash -c "$SSH_ORIGINAL_COMMAND"; fi
Run Code Online (Sandbox Code Playgroud)
上面的命令检查环境变量是否$SSH_ORIGINAL_COMMAND
为空:
bash
.