问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

SSH端口22被盯上?这些安全措施你得知道!

创作时间:
作者:
@小白创作中心

SSH端口22被盯上?这些安全措施你得知道!

引用
CSDN
12
来源
1.
https://blog.csdn.net/chuanglan/article/details/137633660
2.
https://blog.csdn.net/m0_65615852/article/details/137887511
3.
https://blog.csdn.net/m0_51195633/article/details/137019093
4.
https://blog.csdn.net/beichenyyds/article/details/138313715
5.
https://www.jianguodun.com/article/69699.html
6.
https://www.ssl.com/zh-CN/%E6%96%87%E7%AB%A0%EF%BC%8C/SSH%E5%AE%89%E5%85%A8%E5%9F%BA%E7%A1%80%E5%85%A5%E9%97%A8/
7.
https://help.aliyun.com/zh/yunxiao/user-guide/configure-ssh-key
8.
https://www.cnblogs.com/guangdelw/p/18402272
9.
https://www.vps911.com/vpsjc/4444.html
10.
https://my.oschina.net/emacs_8817038/blog/17333947
11.
https://learn.microsoft.com/zh-cn/azure/virtual-machines/linux/create-ssh-keys-detailed
12.
https://learn.microsoft.com/zh-cn/azure/devops/repos/git/use-ssh-keys-to-authenticate?view=azure-devops

SSH(Secure Shell)作为远程服务器管理的重要工具,其安全性至关重要。然而,SSH默认端口22却成为了黑客攻击的重点目标。据统计,超过30%的网络攻击都针对开放了22端口的服务器。本文将深入探讨SSH端口22的安全隐患,并提供一系列实用的安全加固措施。

01

SSH端口22的安全威胁

SSH端口22之所以成为黑客的首选攻击目标,主要是因为:

  1. 普遍性:几乎所有的Linux服务器都默认开启了SSH服务,监听在22端口。
  2. 已知性:22端口是众所周知的SSH默认端口,黑客很容易定位。
  3. 高价值:通过SSH获得服务器访问权限,可以执行任意命令,甚至获取root权限。

案例:SSH暴力破解攻击

在实际攻击中,黑客通常会使用自动化工具进行SSH暴力破解。例如,使用Hydra工具,黑客可以快速尝试大量用户名和密码组合:

hydra -L users.txt -P password.txt ssh://192.168.223.134

其中,users.txtpassword.txt是预先准备好的用户名和密码字典文件。一旦破解成功,黑客就能通过SSH登录服务器,执行恶意操作。

02

SSH安全加固措施

为了应对SSH端口22的安全威胁,可以采取以下几种安全措施:

1. 更改SSH默认端口

将SSH服务从默认的22端口迁移到一个非标准端口,可以有效减少自动化攻击的风险。具体步骤如下:

  1. 编辑SSH配置文件/etc/ssh/sshd_config,找到Port 22这一行,将其修改为一个新的端口号,例如8022。
  2. 重启SSH服务:
    sudo systemctl restart sshd
    
  3. 更新防火墙规则,允许新端口的流量:
    sudo firewall-cmd --permanent --add-port=8022/tcp
    sudo firewall-cmd --reload
    

2. 禁用root直接登录

允许root用户直接登录会增加服务器被攻破的风险。建议创建普通用户进行日常操作,必要时通过sudo获取root权限。在/etc/ssh/sshd_config中设置:

PermitRootLogin no

3. 使用公钥认证替代密码认证

公钥认证相比密码认证更安全,因为私钥难以被暴力破解。以下是配置步骤:

  1. 在客户端生成密钥对:
    ssh-keygen -t ed25519
    
  2. 将公钥复制到服务器:
    ssh-copy-id user@server
    
  3. 在服务器的/etc/ssh/sshd_config中禁用密码认证:
    PasswordAuthentication no
    

4. 实施双因素认证

双因素认证(2FA)可以进一步增强SSH登录的安全性。例如,可以使用Google Authenticator实现基于时间的一次性密码(TOTP)。

5. 保持SSH服务更新

定期更新SSH服务和相关软件,以修复已知的安全漏洞。在基于Debian的系统上:

sudo apt-get update && sudo apt-get upgrade

6. 配置防火墙规则

限制SSH端口的访问范围,只允许特定IP或IP段访问。例如:

sudo ufw allow from 192.168.1.0/24 to any port 8022

7. 启用日志记录和监控

通过日志监控可以及时发现异常登录尝试。在/etc/ssh/sshd_config中设置:

LogLevel VERBOSE

并使用如Fail2Ban之类的工具来监控日志并自动阻止恶意IP。

03

SSH密钥认证配置详解

SSH密钥认证是目前最安全的SSH登录方式之一。以下是详细的配置步骤:

  1. 生成密钥对:在客户端机器上运行以下命令生成ED25519密钥对:

    ssh-keygen -t ed25519 -C "your_email@example.com"
    

    这将生成两个文件:id_ed25519(私钥)和id_ed25519.pub(公钥)。

  2. 拷贝公钥到服务器:使用ssh-copy-id命令将公钥复制到服务器:

    ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server
    

    或者手动将公钥内容追加到服务器上的~/.ssh/authorized_keys文件中。

  3. 配置服务器:在服务器的/etc/ssh/sshd_config中启用公钥认证:

    PubkeyAuthentication yes
    AuthorizedKeysFile .ssh/authorized_keys
    
  4. 重启SSH服务

    sudo systemctl restart sshd
    
04

最佳实践建议

  1. 定期审查SSH配置:确保所有安全设置都符合最新标准。
  2. 限制SSH访问范围:只允许必要的IP地址或IP段访问SSH端口。
  3. 监控异常登录尝试:使用日志监控工具及时发现并阻止恶意活动。
  4. 教育用户保护私钥:私钥应妥善保管,避免泄露。

通过以上措施,可以显著提升SSH服务的安全性,降低服务器被非法入侵的风险。虽然更改SSH端口只是其中一项基础防护措施,但结合其他安全策略,可以构建起多层次的防御体系,有效保护服务器免受各种威胁。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号