OpenSSH的良好做法

OpenSSH的 (打开安全壳)是一组应用程序,它们允许使用 协议 SSH的。 它是作为该程序的免费开放替代品而创建的 安全外壳,这是专有软件。 « 维基百科上的数据.

一些用户可能认为,良好做法仅应应用于服务器,而事实并非如此。 许多GNU / Linux发行版默认都包含OpenSSH,并且需要牢记一些注意事项。

安全

这些是配置SSH时要记住的6个最重要的点:

  1. 使用强密码。
  2. 更改SSH的默认端口。
  3. 始终使用SSH协议的版本2。
  4. 禁用根访问。
  5. 限制用户访问。
  6. 使用密钥验证。
  7. 其他选项

强大的密码

一个好的密码是包含字母数字或特殊字符、空格、大小写字母......等的密码。在此处 DesdeLinux 我们已经展示了几种生成良好密码的方法。可以参观 本文 y 这个.

更改默认端口

SSH的默认端口是22。要更改它,我们要做的就是编辑文件 的/ etc / SSH / sshd_config中。 我们寻找这样的一行:

#Port 22

我们取消注释,然后将22更改为另一个数字..例如:

Port 7022

要知道我们未在计算机/服务器中使用的端口,我们可以在终端中执行:

$ netstat -ntap

现在,要访问我们的计算机或服务器,我们必须使用-p选项,如下所示:

$ ssh -p 7022 usuario@servidor

使用协议2

为了确保我们使用的是SSH协议的版本2,我们必须编辑该文件 的/ etc / SSH / sshd_config中 并寻找说:

#协议2

我们取消注释,然后重新启动SSH服务。

不允许以root身份访问

为了防止root用户能够通过SSH远程访问,我们在文件中查找的/ etc / SSH / sshd_config中 该行:

#PermitRootLogin no

我们取消评论。 我认为值得澄清的是,在这样做之前,我们必须确保我们的用户具有执行管理任务所需的权限。

限制用户访问

只允许某些受信任的用户仅通过SSH访问也无害,因此我们返回文件 的/ etc / SSH / sshd_config中 然后添加以下行:

允许用户 elav 使用moslinux kzkggaara

显然,可以访问的用户包括elav,usemoslinux和kzkggaara。

使用密钥验证

尽管最推荐使用此方法,但我们必须特别小心,因为我们将在不输入密码的情况下访问服务器。 这意味着,如果用户设法进入我们的会话或我们的计算机被盗,我们可能会遇到麻烦。 但是,让我们看看如何去做。

第一件事是创建一对密钥(公共和私有):

ssh-keygen -t rsa -b 4096

然后,我们将密钥传递给计算机/服务器:

ssh-copy-id -i ~/.ssh/id_rsa.pub elav@200.8.200.7

最后,我们必须在文件中取消注释 的/ etc / SSH / sshd_config中 该行:

AuthorizedKeysFile .ssh/authorized_keys

其他选项

Yukiteru的贡献

我们可以将用户成功登录系统的等待时间减少到30秒

LoginGraceTime 30

为了避免通过TCP欺骗进行ssh攻击,使ssh端最长可以保留3分钟的加密时间,我们可以激活这3个选项。

TCPKeepAlive否ClientAliveInterval 60 ClientAliveCountMax 3

禁用rhosts或shosts文件,出于安全原因,请不要使用它们。

IgnoreRhosts是IgnoreUserKnownHosts是RhostsAuthentication否RhostsRSAAuthentication否

登录时检查用户的有效权限。

StrictModes yes

启用特权分离。

UsePrivilegeSeparation yes

结论:

通过执行这些步骤,我们可以为我们的计算机和服务器增加额外的安全性,但是我们绝不能忘记存在一个重要因素: 椅子和键盘之间是什么。 这就是为什么我建议阅读 本文.

数据来源: 如何锻造


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   友喜

    优秀的帖子@elav,我添加了一些有趣的东西:

    登录GraceTime 30

    这使我们可以将用户成功登录系统的等待时间减少到30秒

    TCPKeepAlive否
    ClientAlive 间隔 60
    客户端活动计数最大 3

    这三个选项对于通过TCP欺骗避免ssh攻击非常有用,它使ssh端的加密活动状态最长保持3分钟处于活动状态。

    IgnoreRhosts是
    IgnoreUserKnownHosts是
    主机认证
    RhostsRSA身份验证否

    它禁用了出于安全原因而建议不要使用的rhosts或shosts文件。

    StrictModes是

    此选项用于在登录期间检查用户的有效权限。

    UsePrivilegeSeparation是

    启用特权分离。

    1.    拉夫

      好吧,过一会儿我将编辑帖子并将其添加到帖子中

  2.   欧亨尼奥

    取消注释以免更改线路是多余的。 带注释的行显示了每个选项的默认值(请阅读文件本身开头的说明)。 根访问默认情况下处于禁用状态,等等。 因此,取消注释绝对没有效果。

    1.    拉夫

      #随附的默认sshd_config中用于选项的策略
      #OpenSSH用于使用默认值指定选项,其中
      #可能的,但让他们发表评论。 未注释的选项将覆盖
      # 默认值。

      是的,但是例如,我们如何知道我们仅使用该协议的版本2? 因为我们很可能同时使用1和2。 如最后一行所述,例如,取消注释该选项将覆盖默认选项。 如果默认情况下使用的是版本2,那么很好,否则请使用YES或YES。

      感谢您的评论

  3.   SLI

    很好的一篇文章,我知道几件事,但是我一直不知道的一件事是密钥的使用,实际上它们是什么,它有什么优点,如果我使用密钥,我可以使用密码吗? 如果可以,为什么它可以提高安全性,如果不能,那么如何从另一台PC访问它呢?

  4.   阿甸

    问候,我已经安装了debian 8.1,并且无法使用WINSCP从Windows PC连接到debian,我是否必须使用协议1? 任何帮助..谢谢
    阿甸

  5.   弗兰克斯

    您可能对有关openssh的视频感兴趣 https://m.youtube.com/watch?v=uyMb8uq6L54

  6.   瓷砖

    我想在这里尝试一些操作,其中一些已经由于Arch Wiki而已经尝试过了,其他则是由于懒惰或缺乏知识。 我将在启动RPi时将其保存