CentOS Linux 7安全基线检查SSH调优

简介: CentOS Linux 7安全基线检查SSH调优

本文正在参与 “性能优化实战记录”话题征文活动

设置用户权限配置文件的权限 | 文件权限


描述


设置用户权限配置文件的权限


加固建议


执行以下5条命令


chown root:root /etc/passwd /etc/shadow /etc/group /etc/gshadow
chmod 0644 /etc/group 
chmod 0644 /etc/passwd 
chmod 0400 /etc/shadow 
chmod 0400 /etc/gshadow

操作时建议做好记录或备份

确保SSH LogLevel设置为INFO | 服务配置


描述

确保SSH LogLevel设置为INFO,记录登录和注销活动


加固建议

编辑 /etc/ssh/sshd_config 文件以按如下方式设置参数**(取消注释): LogLevel INFO**

操作时建议做好记录或备份

设置SSH空闲超时退出时间 | 服务配置


描述

设置SSH空闲超时退出时间,可降低未授权用户访问其他用户ssh会话的风险


加固建议

编辑/etc/ssh/sshd_config,将ClientAliveInterval 设置为300到900,即5-15分钟,将ClientAliveCountMax设置为0。

ClientAliveInterval 900 ClientAliveCountMax 0

ClientAliveCountMax和ClientAliveInterval 取消注释符号#

操作时建议做好记录或备份

SSHD强制使用V2安全协议 | 服务配置


描述

SSHD强制使用V2安全协议


加固建议

编辑 /etc/ssh/sshd_config 文件以按如下方式设置参数: Protocol 2

操作时建议做好记录或备份

确保SSH MaxAuthTries设置为3到6之间 | 服务配置


描述

设置较低的Max AuthTrimes参数将降低SSH服务器被暴力攻击成功的风险。


加固建议

在/etc/ssh/sshd_config中取消MaxAuthTries注释符号#,设置最大密码尝试失败次数3-6,建议为4: MaxAuthTries 4

操作时建议做好记录或备份

禁止SSH空密码用户登录 | 服务配置


描述

禁止SSH空密码用户登录


加固建议

在/etc/ssh/sshd_config中取消PermitEmptyPasswords no注释符号#

操作时建议做好记录或备份

重启Apache systemctl restart httpd

设置密码修改最小间隔时间 | 身份鉴别


描述

设置密码修改最小间隔时间,限制密码更改过于频繁


加固建议

/etc/login.defs 中将 PASS_MIN_DAYS 参数设置为7-14之间,建议为7: PASS_MIN_DAYS 7 需同时执行命令为root用户设置: chage --mindays 7 root

操作时建议做好记录或备份

设置密码失效时间 | 身份鉴别


描述

设置密码失效时间,强制定期修改密码,减少密码被泄漏和猜测风险,使用非密码登陆方式(如密钥对)请忽略此项。


加固建议

使用非密码登陆方式如密钥对,请忽略此项。在 /etc/login.defs 中将 PASS_MAX_DAYS 参数设置为 60-180之间,如 PASS_MAX_DAYS 90。需同时执行命令设置root密码失效时间: chage --maxdays 90 root

操作时建议做好记录或备份


重启Apache

systemctl restart httpd

systemctl restart sshd


限制编译器

如果你的系统被黑掉了,那么攻击者会对系统使用的是哪种编译器很感兴趣。为什么呢?因为他们可以去下载一个简单的C文件(POC),并且在你的系统上进行编译,从而在几秒钟之内就成为了root用户。如果编译器是开启的话,他们还可以在你的系统上做一些严重的破坏。

首先,你需要检查单个的数据包以确定其包含有哪些二进制文件。然后你需要限制这些二进制文件的权限。

$ rpm -q --filesbypkg gcc | grep 'bin'

01ebd755782e4c909dad0843d3544acf.jpeg

现在我们需要创建一个可以访问二进制文件的编译器的组名称了:

$ groupadd compilerGroup

然后,你可以赋予这个组能够改变任何二进制文件的所有权:

$ chown root:compilerGroup /usr/bin/gcc

最后重要的是:仅编译器组才有改变该二进制文件的权限:

$ chmod 0750 /usr/bin/gcc

至此,任何试图使用gcc的用户将会看到权限被拒绝的信息了。


目录
相关文章
|
5月前
|
Ubuntu Linux 网络安全
在Linux云服务器上限制特定IP进行SSH远程连接的设置
温馨提示,修改iptables规则时要格外小心,否则可能导致无法远程访问你的服务器。最好在掌握足够技术知识和理解清楚操作含义之后再进行。另外,在已经配置了防火墙的情况下,例如ufw(Ubuntu Firewall)或firewalld,需要按照相应的防火墙的规则来设置。
276 24
|
5月前
|
Linux Shell
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
144 4
|
5月前
|
Linux Shell 数据安全/隐私保护
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
311 3
|
6月前
|
Linux Shell
在Linux、CentOS7中设置shell脚本开机自启动服务
以上就是在CentOS 7中设置shell脚本开机自启动服务的全部步骤。希望这个指南能帮助你更好地管理你的Linux系统。
504 25
|
4月前
|
安全 网络协议 Linux
Linux查 ssh端口号和服务状态
本指南详细介绍如何检查SSH服务的运行状态,包括通过进程命令验证服务启动、查看监听端口、检测系统服务状态以及防火墙配置。同时提供安全建议,如修改默认端口、禁用密码登录和定期更新系统,确保SSH服务稳定与安全。适用于不同Linux发行版(Systemd/SysVinit),帮助用户全面排查和优化SSH配置。
|
4月前
|
Oracle 关系型数据库 Linux
MyEMS开源系统安装之CentOS/RHEL/Rocky/AlmaLinux/Oracle Linux
本指南介绍如何在CentOS/RHEL/Rocky/AlmaLinux/Oracle Linux服务器上部署MyEMS开源能源管理系统。内容涵盖系统准备、数据库配置、多个MyEMS服务(如myems-api、myems-admin、myems-modbus-tcp等)的安装与配置,以及Nginx服务器设置和防火墙规则调整。通过完成所有步骤,您将能够访问MyEMS Admin UI和Web UI,默认端口分别为8001和80,初始登录凭据已提供。
186 0
|
7月前
|
网络协议 Linux 网络安全
微软工程师偷偷在用!这款SSH工具让Windows操控CentOS比Mac还优雅!
远程登录Linux服务器是管理和维护服务器的重要手段,尤其在远程办公、云服务管理等场景中不可或缺。通过工具如XShell,用户可以方便地进行远程管理。SSH协议确保了数据传输的安全性,命令行界面提高了操作效率。配置XShell连接CentOS时,需确保Linux系统开启sshd服务和22端口,并正确设置主机地址、用户名和密码。此外,调整字体和配色方案可优化使用体验,解决中文显示问题。
339 21
微软工程师偷偷在用!这款SSH工具让Windows操控CentOS比Mac还优雅!
|
7月前
|
存储 IDE Linux
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
本文详细介绍了在VMware虚拟机中安装CentOS 6.8的全过程。首先,需确保已安装VMware并开启V-CPU虚拟化功能,可通过BIOS设置或使用LeoMoon CPU-V工具检测。接着,下载CentOS镜像文件,并在VMware中新建虚拟机,配置CPU、内存、硬盘等参数。最后,加载ISO镜像启动虚拟机,按照提示完成CentOS的安装,包括语言、键盘、存储方式、地区、密码设置及硬盘分区等步骤。安装完成后,以root用户登录即可进入系统桌面,开始学习Linux命令和操作。
723 12
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
|
6月前
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
245 10
|
8月前
|
缓存 Ubuntu Linux
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
837 25