我是一个懒惰的 Linux 用户,经常对我的主要用户帐户使用非常短的密码。
现在,希望我的防火墙能够阻止大多数未经请求的访问尝试,并且操作系统(就其本身而言)能够处理漏洞攻击。
无论如何,我确实希望在外出时能够进行远程 ssh 访问。那么我该怎么做呢?
我禁用所有用户的 ssh,包括我的主帐户,而是允许一个具有超级密码的 ssh 用户。
这是一个好的做法吗?为什么不呢?
所以问题是...鉴于这是一个仁慈的行动,我想进一步禁用此 ssh 用户的所有命令(ls,cd 等)除了一 > sudo 或 su。
(当然,根帐户也有一个令人惊讶的长而古怪的量子推断外星密码)。
当然,这样做只是为了争取一些时间(需要猜测/了解其他带有懒惰密码的用户名,然后进行另一次彩虹/暴力攻击),然而这会或有望让我注意到有人是个坏女孩。
有人可能会说...请为所有账户使用一个超级密码,但正如我所说的...我在管理日中运行了许多 sudo 命令等...我很懒...
欢迎提供任何其他想法、实用技巧或减少 Linux 机器(服务器/客户端)攻击面的方法。
编辑:哦是的......这里的短密码方案确实忽略了物理登录攻击......这纯粹与网络有关。
EDIT2:也许有一个 bash 脚本监听 stdin 中的用户名...然后运行 su $1 并执行 usermod -s script.sh ssh_user ?还是这会带来其他危险?
对于那些可能感兴趣的人,我编写了一个简单的非详细脚本,该脚本在运行 su my_lazy_user 之前需要进行特殊的握手,并将其指向为登录 shell。
对我来说似乎还不错。如果这会导致其他攻击方法……请大声喊出来。
(我对脚本的错误处理很满意,只要没有启用堆、堆栈或缓冲区攻击,就应该没问题)。
谢谢。
答案1
我想最简单的选择就是将此chsh
用户的 shell 更改为执行命令的脚本su
(因为我认为您不能为用户的 shell 配置参数)。
使用标准 shell 并尝试禁止 ls 和 cd 等内置命令... 运气不好。但由于您真正想要的比标题所暗示的要简单得多,所以这应该可行。您甚至可以要求用户su
在脚本中执行 to。这一切都应该是安全的,因为当有人关闭脚本时,这将意味着登录 shell 被终止并且连接被关闭。