ssh加固

禁止所有用户通过sudo -i命令获得权限

/etc/sudoers默认配置

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

测试可以通过sudo -i获取root权限 

 

#
## This file MUST be edited with the 'visudo' command as root.
##
## Please consider adding local content in /etc/sudoers.d/ instead of
## directly modifying this file.
##
## See the man page for details on how to write a sudoers file.
##
#Defaults        env_reset
#Defaults        mail_badpass
#Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
#
## Host alias specification
#
## User alias specification
#
## Cmnd alias specification
#
## User privilege specification
#root    ALL=(ALL:ALL) ALL
#
## Members of the admin group may gain root privileges
#%admin ALL=(ALL) ALL
#
## 禁止所有用户使用 sudo -i
#Cmnd_Alias SUDO_I = /usr/bin/sudo -i
#ALL ALL=(ALL) ALL, !SUDO_I
#
## Allow members of group sudo to execute any command
#%sudo   ALL=(ALL:ALL) ALL
#
## See sudoers(5) for more information on "#include" directives:
#
##includedir /etc/sudoers.d

AllowUsers指令(白名单)

当在sshd_config中使用AllowUsers指令时,它定义了一个允许通过SSH连接的用户和IP地址列表。如果没有任何其他规则,只有在AllowUsers中明确列出的用户和IP组合才能成功登录。因此,添加AllowUsers wan@192.168.164.132后,隐式地禁止了所有未列出的用户(包括root)从任何地方进行SSH连接,除非这些用户和IP组合也被明确列出。

192.168.164.132这台机器,只能连接wan这个普通用户,无法连接root用户

对于其他IP的机器root用户和wan用户均无法连接

在Linux系统中对SSH进行加固可以采用以下方法: ### 更改默认端口 默认情况下,SSH服务使用的是22端口,更改默认端口可以减少被扫描的概率。可以通过编辑`/etc/ssh/sshd_config`文件,找到`Port 22`这一行,将其修改为其他未被使用的端口,例如`Port 2222`。修改完成后,重启SSH服务: ```bash sudo systemctl restart sshd ``` ### 禁用root直接登录 为了提高安全性,应禁止root用户通过SSH直接登录系统。编辑`/etc/ssh/sshd_config`文件,找到`PermitRootLogin`这一行,将其值修改为`no`: ```plaintext PermitRootLogin no ``` 修改完成后,重启SSH服务。 ### 限制允许登录的用户 可以指定只有特定的用户能够通过SSH登录系统。编辑`/etc/ssh/sshd_config`文件,添加或修改`AllowUsers`参数,例如只允许`user1`和`user2`登录: ```plaintext AllowUsers user1 user2 ``` 修改完成后,重启SSH服务。 ### 使用密钥认证 密钥认证比密码认证更加安全。可以生成SSH密钥对,并将公钥添加到服务器的`~/.ssh/authorized_keys`文件中。 生成密钥对: ```bash ssh-keygen -t rsa ``` 将公钥复制到服务器: ```bash ssh-copy-id user@server_ip ``` 然后编辑`/etc/ssh/sshd_config`文件,禁用密码认证: ```plaintext PasswordAuthentication no ``` 修改完成后,重启SSH服务。 ### 启用防火墙规则 使用防火墙限制SSH服务的访问。例如,使用`iptables`或`firewalld`只允许特定IP地址访问SSH服务。 使用`firewalld`允许特定IP地址访问2222端口(假设之前修改的端口为2222): ```bash sudo firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.1.0/24' port protocol='tcp' port='2222' accept" sudo firewall-cmd --reload ``` ### 定期更新SSH服务 确保系统中的SSH服务是最新版本,以获取最新的安全补丁。可以使用系统的包管理工具进行更新,例如在Ubuntu系统中: ```bash sudo apt update sudo apt upgrade openssh-server ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值