020_Linux安全优化
Linux安全优化
禁止root直接登录
参考文档:https://pokes.blog.csdn.net/article/details/106233955
:::info
修改ssh配置文件,禁止root登录,去掉这行的注释
:::
[root@ecs-214025 ~]# vim /etc/ssh/sshd_config
PermitRootLogin no
:::info
重启sshd服务
:::
[root@ecs-214025 ~]# systemctl restart sshd.service
开启或禁止普通用户su root权限
参考文档:https://pokes.blog.csdn.net/article/details/106233955
参考文档:https://pokes.blog.csdn.net/article/details/106207527
:::info
添加一个用户, 把这个用户加入wheel组
:::
[root@ecs-214025 ~]# adduser admin
[root@ecs-214025 ~]# passwd admin
Changing password for user admin.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
[root@ecs-214025 ~]# usermod -G wheel admin
[root@ecs-214025 ~]# id admin
uid=1000(admin) gid=1000(admin) groups=1000(admin),10(wheel)
[root@ecs-214025 ~]#
:::info
修改/etc/pam.d/su,去掉这行的注释
:::
[root@ecs-214025 ~]# vim /etc/pam.d/su
auth required pam_wheel.so use_uid
:::info
修改/etc/login.defs,在文件末添加一行
:::
[root@ecs-214025 ~]# vim /etc/login.defs
SU_WHEEL_ONLY yes
:::info
测试普通用户是否可以su root,测试admin用户是否可以su root
:::
添加和root权限一样的用户
:::info
修改 /etc/sudoers 文件,在root下面添加一行
这个文件只读是一种保护机制,如果你使用vi编辑器的话,只要保存时使用:wq!就可以保存了。 或者使用visudo命令来进入sudoers文件的编辑,就可以正常保存
:::
[root@ecs-214025 ~]# vim /etc/sudoers
eqroot ALL=(ALL) ALL
修改ssh端口:安全组,ssh配置,防火墙
参考文档:https://www.cnblogs.com/blackmanzhang/p/11992987.html
参考文档:https://www.cnblogs.com/ketoli/p/15111625.html
:::info
安全组添加ssh端口:22017
:::
:::info
修改/etc/ssh/sshd_config,添加我们需要更改的端口号,此时不要删除默认22端口,让两个端口同时存在,如果我们直接修改了端口,然后启动防火墙之后,就会出现我们没有使用防火墙开放端口,导致我们连接不上服务器,我们暂且保留默认22,如果更改过后,使用新端口号没问题,再删除默认22端口不迟
:::
[root@ecs-214025 ~]# vim /etc/ssh/sshd_config
Port 22
Port 22017
:::info
重启ssh服务
:::
[root@ecs-214025 ~]# systemctl restart sshd
:::info
测试新端口是否可以登录
:::
:::tips
启动防火墙
systemctl start firewalld.service
#关闭防火墙
systemctl stop firewalld.service
#重启防火墙
systemctl restart firewalld.service
#查看防火墙状态
systemctl status firewalld.service
#设置开机启动防火墙
systemctl enable firewalld.service
#设置开机不启动防火墙
systemctl disable firewalld.service
:::
:::info
查询防火墙状态,如果关闭,启动防火墙
:::
[root@ecs-214025 ~]# systemctl status firewalld
[root@ecs-214025 ~]# systemctl start firewalld
[root@ecs-214025 ~]# systemctl status firewalld
:::info
设置开机启动防火墙
:::
:::tips
firewall-cmd --zone=public --add-port=2020/tcp --permanent
#说明:#开放2020端口
#–zone 作用域
#–add-port=2020/tcp #添加端口,格式为:端口/通讯协议
#–permanent 永久生效,没有此参数重启后失效
#添加完毕过后重新读取防火墙规则或者重启防火墙,规则才生效
#重新读取防火墙规则
firewall-cmd --reload
#或者重启防火墙:
systemctl restart firewalld.service
:::
:::tips
1、查看防火墙状态
systemctl status firewalld
2、如果不是显示active状态,需要打开防火墙
systemctl start firewalld
3、# 查看所有已开放的临时端口(默认为空)
# firewall-cmd --list-ports
# 查看所有永久开放的端口(默认为空)
# firewall-cmd --list-ports --permanent
:::
:::info
查看防火墙开放端口,添加防火墙规则,重载防火墙规则
:::
[root@ecs-214025 ~]# firewall-cmd --list-ports --permanent
[root@ecs-214025 ~]# firewall-cmd --list-ports
[root@ecs-214025 ~]# firewall-cmd --zone=public --add-port=22017/tcp --permanent
success
[root@ecs-214025 ~]# firewall-cmd --reload
success
[root@ecs-214025 ~]# firewall-cmd --list-ports --permanent
22017/tcp
[root@ecs-214025 ~]#
:::info
测试新端口是否可以登录
:::
:::info
删除默认ssh端口22,重启ssh
:::
[root@ecs-214025 ~]# vim /etc/ssh/sshd_config
#Port 22
[root@ecs-214025 ~]# systemctl restart sshd
:::info
测试22端口是否可以登录
:::
:::info
安全组删除ssh端口:22
:::
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性