Kev*_*vin 5 linux ssh ubuntu-9.10
如何保护对多个用户运行 Ubuntu k 的 linux 机器的 SSH 访问?
该服务器将用于 Web 应用程序,但我不确定如何评估执行此任务的工具。我过去曾尝试过一些工具,但不确定它们是如何相互叠加的。我如何评估我的 SSH 安全性以及我将用来执行该安全性的工具和实用程序?
Mat*_*ons 17
您的安全目标是什么?你在保护谁?
广泛使用 iptables,通过专门允许您想要的 IP,然后阻止其他一切,使用 iptables 来防火墙端口 22 以防止任何不需要的 IP。
您还可以指定用户是否可以使用密码登录,或者他们是否必须拥有证书,如果您怀疑有人会试图闯入其他人的帐户,这可能是一个好主意。
但具体来说,我们必须知道你在做什么。
编辑
好的,考虑到您在下面的评论中所说的,您要防止对机器的未经授权的访问。第二部分,确保您的用户不会做任何坏事,超出了这个特定问题的范围,但也是一个有价值的话题。广泛,但值得一问。
您需要编辑的主要文件是 /etc/ssh/sshd_config 并且在每次配置更改后,您需要运行 /etc/init.d/sshd restart (或 /etc/init.d/ssh 如果它是 debian/ubuntu系统)。当您第一次学习如何配置 ssh 时,最好在本地控制台上登录,因为配置错误会切断您的访问。
第 1 步:确保 root 无法通过 ssh 登录。
PermitRootLogin no
Run Code Online (Sandbox Code Playgroud)
如果您绝对必须有 root 登录,您可以将其设置为“无密码”,这要求连接用户出示证书并进行身份验证。
第 2 步:允许(或拒绝)任何应该(或不应该)访问的特定用户
有多种配置指令可以执行此操作,例如 DenyUsers、AllowUsers、DenyGroups 和 AllowGroups。这些需要用空格分隔的用户或组列表。
一件巧妙的事情是你可以指定 user@host,所以如果你只希望 Bob 能够从他的家用机器连接,你可以说
AllowUsers bob@bhome.local
Run Code Online (Sandbox Code Playgroud)
第 3 步:明确允许公钥身份验证
PubkeyAuthentication yes
Run Code Online (Sandbox Code Playgroud)
这是默认设置,但我们希望确保它生效,因为我们将禁用用户输入密码的功能...
步骤 4:禁用密码验证
密码可能会被窃取、窃听或从键盘下的便签复制。证书更难办。确保人们不能这样使用密码:
PasswordAuthentication no
Run Code Online (Sandbox Code Playgroud)
第 5 步:确保客户使用现代协议
Protocol 2
Run Code Online (Sandbox Code Playgroud)
OpenSSH 支持 2 种协议,创造性地称为“1”和“2”。“1”是旧的,允许 DES 加密和其他不安全的东西。
您将必须获得您的用户腻子证书才能立即连接。最简单的方法是使用 PuttyGEN,它可以在 Putty 站点 ( http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html ) 上找到。
希望能帮助到你!
| 归档时间: |
|
| 查看次数: |
1622 次 |
| 最近记录: |