目录
1.确保设置了一个非root用户
2.确保非 root 用户具有 sudo 权限
3.启用基于密钥的 SSH 身份验证
4.确保允许 SSH 通过 ufw 防火墙
5.启用防火墙(仅在允许 SSH 后)
7.禁用所有 SSH 转发
8.禁用 root 通过 SSH 登录
9.禁用基于密码的 SSH 身份验证
10.忽略rhosts
11.安装并配置fail2ban以保护SSH
12.配置自动安全更新(适用于 Red Hat 和 CentOS)
安装 Linux 服务器后,必须做一些配置以确保以确保您的 Linux 服务器的安全性,目前最流行的两个 Linux 服务器发行版:Ubuntu 和 CentOS/Red Hat。下面以它们为例,说明服务器安装系统后应该进行的加固操作。
1.确保设置了一个非root用户
root 用户是万能的,但并不总是需要 root 权限。
root 也是几乎所有Linux系统上的有效用户名,这意味着如果启用了远程身份认证,则攻击者的一半工作就已经完成了,即获取有效用户名。
此外,如果攻击者能够以root身份登录,他们就不需要进一步的权限来在系统上执行任何操作。
出于这些原因,最好以非 root 用户身份登录,并禁用 root 用户通过 SSH 进行远程登录。
# 具体操作:
以root用户登录系统,分别以useradd <username>和passwd <username>命令添加用户并设置密码:
[root@DBKF9HIS ~]# useradd imoonrong
[root@DBKF9HIS ~]# passwd imoonrong
更改用户 imoonrong 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@DBKF9HIS ~]#
2.确保非 root 用户具有 sudo 权限
在 CentOS 和 Red Hat 上,以 root 身份登录,使用 usermod 命令将用户添加到 wheel 组(wheel 组是用于授予用户 sudo 权限的标准组):
usermod -aG wheel <username>
Ubuntu 使用 sudo 组来管理 sudo 用户:
usermod -aG sudo <username>
比如,在CentOS7.9下将上面创建的 imoonrong 用户添加到 wheel 组:
[root@DBKF9HIS ~]# usermod -aG wheel imoonrong
# 添加完成后,可以查看用户属性
[root@DBKF9HIS ~]# id imoonrong
uid=1003(imoonrong) gid=1003(imoonrong) 组=1003(imoonrong),10(wheel)
[root@DBKF9HIS ~]#
3.启用基于密钥的 SSH 身份验证
密码被破解、暴力破解或泄露是攻击者获取系统访问权限的非常常见的方式。
启用基于密钥的SSH认证非常重要,这样在禁用基于密码的认证时,它仍然可以正常工作。
如果有人在启用了基于密钥认证并禁用了基于密码认证的SSH远程访问系统上获取了服务器的用户名和密码,那么这些被盗的密码将无法再让他们访问该服务器。
通过启用基于密钥的认证,可以大大降低SSH被利用的风险&#x
评论前必须登录!
注册