Ubuntu SSH安全加固可以通过以下几种方法实现:
- 修改SSH配置文件:
- 编辑
/etc/ssh/sshd_config
文件,设置以下参数:PermitRootLogin no
:禁止root用户直接通过SSH登录。PasswordAuthentication no
:禁用密码认证,仅允许密钥认证。AllowUsers username@ip_address
:限制只有特定用户从特定IP地址访问SSH服务。MaxAuthTries 3-6
:设置SSH登录尝试的最大次数,降低暴力破解的风险。ClientAliveInterval 300
和ClientAliveCountMax 0
:设置SSH空闲超时退出时间,防止未授权用户访问其他用户的SSH会话。
- 使用密钥认证:
- 客户端创建公私钥对,并将公钥添加到服务器的
~/.ssh/authorized_keys
文件中。 - 使用密钥对进行身份验证,提高安全性。
- 限制IP访问:
- 通过编辑
/etc/ssh/sshd_config
文件中的AllowUsers
或DenyUsers
参数,限制只有特定IP地址的用户才能访问SSH服务。
- 定期更新系统和软件:
- 使用
unattended-upgrades
包实现系统的自动更新,定期手动运行sudo apt update && sudo apt upgrade
确保系统和软件保持最新版本。
- 使用防火墙限制端口访问:
- 使用 UFW(Uncomplicated Firewall)限制SSH端口的访问,例如只允许特定IP地址访问SSH端口:
sudo ufw allow from <允许的IP地址> to any port 22 sudo ufw enable
- 配置TCP Wrappers:
- 通过配置
/etc/hosts.allow
和/etc/hosts.deny
文件来限制网络服务访问权限。
- 启用登录审计:
- 记录每次SSH登录的相关信息,包括登录时间、登录用户等,以便在发生安全事件时进行追溯和分析。
- 定期备份重要数据:
- 定期备份重要数据,以防止数据丢失或损坏。
- 使用非标准端口:
- 将SSH默认端口从22更改为非标准端口,以减少暴力破解攻击的风险。
- 禁用不必要的服务:
- 关闭不需要的网络服务,减少系统的攻击面。
通过上述措施,可以显著提高Ubuntu系统的SSH安全性,减少遭受网络攻击的风险。