您当前的位置:首页 > 电脑百科 > 软件技术 > 操作系统 > linux百科

Linux系统安全加固的常规操作

时间:2022-09-15 09:56:56  来源:网易号  作者:互联网资讯看板

摘要:linux是一套免费使用和自由传播的系统,是一个基于UNIX的多用户、多任务、支持多线程和多CPU的操作系统。所谓的多用户和多任务。多用户是指在同一时刻可以有多个用户同时使用操作系统而且他们互不干扰,而多任务则指的是任何一个用户在同一时间可以在操作系统上运行多个程序。

作为一个开放源代码的操作系统,Linux服务器以其安全、高效和稳定的显著优势而得以广泛应用,不过,如果不做好权限的合理分配,系统的安全性得不到更好的保障。

因此,为提高系统的稳定性,加强安全管理必不可少。

本文将使用centos7操作系统,分别从账户安全、密码策略、登录控制、系统资源控制以及日志审计等方面优化系统的安全性。详细内容请参考下文。

一、优化系统账号管理

说明:系统账户默认存放的目录为/etc/passwd,可以执行cat指令手动查询用户信息。具体的优化措施是除了root账户需要登录以外,其他的账户全部设置为禁止登录。

需要用到的命令如下:

userdel <用户名> //删除不必要的账号。

passwd -l <用户名> //锁定不必要的账号。

passwd -u <用户名> //解锁必要的账号。

解决办法:本文使用{passwd -l 用户名}锁定用户登录,可以编写lockuser.sh脚本完成这个过程。

1、编写脚本

执行指令# vim lockuser.sh


 

备注:grep -v就是反向过滤文本行的搜索,grep -v name # 表示搜索除了含有name之外的行内容。

2、执行脚本

执行指令# sh lockuser.sh


 

二、设置密码管理策略

说明:操作系统和数据库的管理用户身份鉴别信息应具有不易被破解的特点,口令应有一定的复杂度要求并定期更换。设置有效的密码策略,防止攻击者破解出密码。

1、查看空口令帐号并为弱/空口令帐号设置强密码

执行指令# awk -F: '($2 == ""){print $1}' /etc/shadow

备注:可用密码网站查询出帐号的密码是否是弱口令

2、修改login.defs配置密码周期策略

执行指令# vim /etc/login.defs

修改密码策略文件


 

修改内容为


 

备注:此策略只对策略实施后所创建的帐号生效, 以前的帐号还是按99999天周期时间来算。对于已创建的账户,可以使用chage命令修改用户设置(针对已创建用户)。【比如# chage -m 0 -M 90 -I 5 -W 7 <用户名>】表示将此用户的密码最长使用天数设为30,最短使用天数设为0,密码过期后5天之后账户失效,过期前7天警告用户。

参数含义如下所示:

PASS_MAX_DAYS 90 #密码最长过期天数

PASS_MIN_DAYS 0 #密码最小过期天数

PASS_MIN_LEN 8 #密码最小长度

PASS_WARN_AGE 7 #密码过期警告天数

3、修改system-auth配置密码复杂度

执行指令# vim /etc/pam.d/system-auth

修改密码复杂度文件为


 

备注:在密码复杂度文件的末尾添加如下一行:password requisite pam_cracklib.so retry=3 difok=2 minlen=8 ucredit=-1 lcredit=-1 dcredit=-1

参数含义如下所示:

difok:本次密码与上次密码至少不同字符数

minlen:密码最小长度,此配置优先于login.defs中的PASS_MAX_DAYS

ucredit:最少大写字母

lcredit:最少小写字母

dcredit:最少数字

retry:重试多少次后返回密码修改错误

三、设置登陆管理策略

说明:服务器必须设置登录失败处理策略,可以采取结束会话、限制非法登录次数和自动退出等措施。遭遇密码破解时,暂时锁定帐号,降低密码被猜解的可能性。

1、登录失败处理功能策略(服务器终端)

执行指令# vim /etc/pam.d/system-auth编辑系统文件,在 auth 字段所在的那一部分策 略下面添加如下策略参数。

auth required pam_tally2.so onerr=fAIl deny=3 unlock_time=30 even_deny_root root_unlock_time=30


 

备注:注意添加的位置,要写在第一行,即#%PAM-1.0的下面。如上图所示。以上策略表示,普通帐户和 root 的帐户登录连续 3 次失败,就统一锁定30 秒,30 秒后可以解锁。如果不想限制 root 帐户,可以把 even_deny_root root_unlock_time这两个参数去掉, root_unlock_time 表示 root 帐户的 锁定时间,onerr=fail 表示连续失败,deny=3,表示 超过3 次登录失败即锁定。还应该注意的是,用户锁定期间,无论在输入正确还是错误的密码,都将视为错误密码,并以最后一次登录为锁定起始时间,若果用户解锁后输入密码的第一次依然为错误密码,则再次重新锁定。登陆信息可以通过日志 tail -f /var/log/secure查看。

2、登录失败处理功能策略(ssh远程连接登录)

执行指令# vim /etc/pam.d/sshd编辑SSH文件,在 auth 字段所在的那一部分策 略下面添加如下策略参数。

auth required pam_tally2.so onerr=fail deny=3 unlock_time=30 even_deny_root root_unlock_time=30


 

备注:上面的错误意思是在/lib64/security/ 下面找不到pam_tally.so,而我进入到目录下,确实没找到这个文件,解决方法是将现有的 pam_tally2.so做个软连接到pam_tally.so,先切换到目录cd /lib64/security/,然后再做软链接ln -s pam_tally2.so pam_tally.so。

3、解锁账户

首先,执行指令# pam_tally2查看锁定的账户


 

备注:如果密码在锁定时间内,但是又要立即进入系统,可使用下面方法解锁被锁定用户,当然这是对于root用户解锁普通用户来说的。如果root用户被锁,请等待锁定期过后在操作。

然后,执行指令# pam_tally2 -r -u root解锁指定用户,可以正常登陆系统。如下图


 

四、设置安全远程管理方式

说明:当对服务器进行远程管理时,应采取必要措施,防止鉴别信息在网络传输过程中被窃听。为防止远程管理过程中,密码等敏感信息被窃听,有必要禁用te.NET等不安全的访问方式。

执行指令# systemctl status xinetd查看telnet状态

执行指令# systemctl stop xinetd禁用telnet功能

五、启用入侵防御方式

说明:操作系统遵循最小安装的原则,仅安装需要的组件和应用程序,并通过设置升级服务器等方式保持系统补丁及时得到更新。关闭与系统业务无关或不必要的服务,减小系统被黑客攻击、渗透的风险。比如禁用蓝牙功能等。

执行指令# systemctl status bluetooth查看蓝牙状态

执行指令# systemctl stop bluetooth禁用蓝牙功能

六、系统资源控制

1、系统资源访问控制

说明:通过设定终端接入方式、网络地址范围等条件限制终端登录,对接入服务器的IP、方式等进行限制,可以阻止非法入侵。

可以在/etc/hosts.allow和/etc/hosts.deny文件中配置接入限制。最好的策略就是阻止所有的主机在“/etc/hosts.deny”文件中加入“ ALL:ALL@ALL, PARANOID ”,然后再在“/etc/hosts.allow” 文件中加入所有允许访问的主机列表。

执行指令# vim /etc/hosts.deny


 

执行指令# vim /etc/hosts.allow


 

2、访问系统资源超时锁定

说明:应根据安全策略设置登录终端的操作超时锁定。设置登录超时时间,释放系统资源,也提高服务器的安全性。

执行指令# vim /etc/profile


 

备注:加入这一行exprot TMOUT=3600,表示设置3600秒内用户无操作就断开终端,该功能视实际情况而定。

然后执行指令# source /etc/profile使操作立即生效。

七、系统日志管理

1、保护审计记录

说明:避免受到意外的删除、修改或覆盖等操作。防止重要日志信息被覆盖,让日志文件转储一个月,保留6个月的信息。执行指令# cat /etc/logrotate.conf查看目前配置


 

需要将文件修改配置为


 

2、记录所有用户的登录和操作日志

说明:通过脚本代码实现记录所有用户的登录操作日志,防止出现安全事件后无据可查。

首先,执行指令# vim /etc/profile打开配置文件


 

其次,修改配置文件,在配置文件中输入以下内容


 

最后,执行指令# source /etc/profile 使配置生效

备注:通过上述步骤,可以在 /var/log/history目录下为每个用户为名新建一个文件夹,每次用户退出后都会产生以用户名、登录IP、时间的日志文件,包含此用户本次的所有操作。

注意事项:编辑/etc/bashrc文件,最后加入

HISTTIMEFORMAT="%F %T "

export HISTTIMEFORMAT

保存后退出,关闭当前shell,并重新登录这个时候,在变量HISTFILE所指向文件中,就有记录命令执行的时间。如下图


 

八、系统升级管理

说明:内核、OS版本、所有软件都会升级,会更改相关配置环境。由于系统与硬件的兼容性问题,有可能升级内核后导致服务器不能正常启动,这是非常可怕的,如果没有特别的需要,建议不要随意升级内核。

如果不想升级内核及系统版本,则在执行yum update之前,需修改/etc/yum.conf配置文件,再[main] 后面添加以下配置。

exclude=kernel*

exclude=centos-release*

执行指令# vim /etc/yum.conf


 

备注:exclude=kernel*表示不升级内核,而exclude=centos-release* 表示不升级系统版本。



Tags:Linux   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
Linux获取Redis 性能指标方法
一、监控指标&Oslash; 性能指标:Performance&Oslash; 内存指标: Memory&Oslash; 基本活动指标:Basic activity&Oslash; 持久性指标: Persistence&Oslash; 错误指标:Error二、监...【详细内容】
2024-04-11  Search: Linux  点击:(4)  评论:(0)  加入收藏
微软 Win11 Linux 子系统(WSL)发布 2.2.2 版本
IT之家 4 月 8 日消息,微软近日更新 Windows Subsystem for Linux(WSL),最新 2.2.2 版本中带来了诸多改进,重点更新了 nft 规则,可以让 IPv6 流量通过 Linux 容器。图源: dev.to,AI...【详细内容】
2024-04-08  Search: Linux  点击:(6)  评论:(0)  加入收藏
从原理到实践:深入探索Linux安全机制
Linux 是一种开源的类Unix操作系统内核,由Linus Torvalds在1991年首次发布,其后又衍生出许多不同的发行版(如Ubuntu、Debian、CentOS等)。前言本文将从用户和权限管理、文件系统...【详细内容】
2024-03-27  Search: Linux  点击:(16)  评论:(0)  加入收藏
在Linux系统中,如何处理内存管理和优化的问题?
本文对 Linux 内存管理和优化的一些高级技巧的详细介绍,通过高级的内存管理技巧,可以帮助系统管理员和开发人员更好地优化 Linux 系统的内存使用情况,提高系统性能和稳定性。在...【详细内容】
2024-03-26  Search: Linux  点击:(10)  评论:(0)  加入收藏
Linux 6.9-rc1 内核发布:AMD P-State 首选核心、BH 工作队列
IT之家 3 月 25 日消息,Linus Torvalds 宣布,Linux 6.9 内核的首个 RC(候选发布)版 Linux 6.9-rc1 发布。▲ Linux 6.9-rc1Linus 表示,Linux 内核 6.9 看起来是一个“相当正常”...【详细内容】
2024-03-25  Search: Linux  点击:(11)  评论:(0)  加入收藏
Linux发行版 Ubuntu 迎更新 界面设计灵感来自 Windows 11
近日,一位第三方开发者推出了一款名为“Wubuntu”的特殊Linux发行版。这款系统源自主流的Ubuntu版本,但在界面设计上却借鉴了微软最新的Windows 11风格,甚至在其中融入了微软标...【详细内容】
2024-02-27  Search: Linux  点击:(43)  评论:(0)  加入收藏
Win + Ubuntu 缝合怪:第三方开发者推出“Wubuntu”Linux 发行版
IT之家 2 月 26 日消息,一位第三方开发者推出了一款名为“Wubuntu”的缝合怪 Linux 发行版,系统本身基于 Ubuntu,但界面为微软 Windows 11 风格,甚至存在微软 Windows 徽标。据...【详细内容】
2024-02-27  Search: Linux  点击:(50)  评论:(0)  加入收藏
Linux中磁盘和文件系统工作原理解析
在Linux系统中,一切皆文件的概念意味着所有的资源,包括普通文件、目录以及设备文件等,都以文件的形式存在。这种统一的文件系统管理方式使得Linux系统具有高度的灵活性和可扩展...【详细内容】
2024-02-20  Search: Linux  点击:(53)  评论:(0)  加入收藏
Linux子系统概览
inux操作系统是一个模块化的系统,由多个子系统组成。这些子系统协同工作,使Linux能够执行各种任务。了解Linux的子系统有助于更好地理解整个操作系统的运作机制。以下是Linux...【详细内容】
2024-02-01  Search: Linux  点击:(77)  评论:(0)  加入收藏
Linux内核:系统之魂与交互之源
内核,作为任何基于Linux的操作系统的心脏,扮演着至关重要的角色。它不仅是计算机系统软件与硬件之间的桥梁,更是确保系统稳定、高效运行的关键。内核提供了一系列核心功能,为上...【详细内容】
2024-02-01  Search: Linux  点击:(69)  评论:(0)  加入收藏
▌简易百科推荐
微软 Win11 Linux 子系统(WSL)发布 2.2.2 版本
IT之家 4 月 8 日消息,微软近日更新 Windows Subsystem for Linux(WSL),最新 2.2.2 版本中带来了诸多改进,重点更新了 nft 规则,可以让 IPv6 流量通过 Linux 容器。图源: dev.to,AI...【详细内容】
2024-04-08    IT之家  Tags:Linux   点击:(6)  评论:(0)  加入收藏
从原理到实践:深入探索Linux安全机制
Linux 是一种开源的类Unix操作系统内核,由Linus Torvalds在1991年首次发布,其后又衍生出许多不同的发行版(如Ubuntu、Debian、CentOS等)。前言本文将从用户和权限管理、文件系统...【详细内容】
2024-03-27  凡夫编程  微信公众号  Tags:Linux安全   点击:(16)  评论:(0)  加入收藏
在Linux系统中,如何处理内存管理和优化的问题?
本文对 Linux 内存管理和优化的一些高级技巧的详细介绍,通过高级的内存管理技巧,可以帮助系统管理员和开发人员更好地优化 Linux 系统的内存使用情况,提高系统性能和稳定性。在...【详细内容】
2024-03-26  编程技术汇  微信公众号  Tags:Linux   点击:(10)  评论:(0)  加入收藏
Linux 6.9-rc1 内核发布:AMD P-State 首选核心、BH 工作队列
IT之家 3 月 25 日消息,Linus Torvalds 宣布,Linux 6.9 内核的首个 RC(候选发布)版 Linux 6.9-rc1 发布。▲ Linux 6.9-rc1Linus 表示,Linux 内核 6.9 看起来是一个“相当正常”...【详细内容】
2024-03-25    IT之家  Tags:Linux   点击:(11)  评论:(0)  加入收藏
轻松实现Centos系统的软件包安装管理:yum指令实战详解
yum 是一种用于在 CentOS、Red Hat Enterprise Linux (RHEL) 等基于 RPM 的 Linux 发行版上安装、更新和管理软件包的命令行工具。它可以自动解决软件包依赖关系,自动下载并...【详细内容】
2024-02-27  凡夫贬夫  微信公众号  Tags:Centos   点击:(54)  评论:(0)  加入收藏
Win + Ubuntu 缝合怪:第三方开发者推出“Wubuntu”Linux 发行版
IT之家 2 月 26 日消息,一位第三方开发者推出了一款名为“Wubuntu”的缝合怪 Linux 发行版,系统本身基于 Ubuntu,但界面为微软 Windows 11 风格,甚至存在微软 Windows 徽标。据...【详细内容】
2024-02-27    IT之家  Tags:Ubuntu   点击:(50)  评论:(0)  加入收藏
Linux中磁盘和文件系统工作原理解析
在Linux系统中,一切皆文件的概念意味着所有的资源,包括普通文件、目录以及设备文件等,都以文件的形式存在。这种统一的文件系统管理方式使得Linux系统具有高度的灵活性和可扩展...【详细内容】
2024-02-20  王建立    Tags:Linux   点击:(53)  评论:(0)  加入收藏
Linux子系统概览
inux操作系统是一个模块化的系统,由多个子系统组成。这些子系统协同工作,使Linux能够执行各种任务。了解Linux的子系统有助于更好地理解整个操作系统的运作机制。以下是Linux...【详细内容】
2024-02-01    简易百科  Tags:Linux   点击:(77)  评论:(0)  加入收藏
Linux内核:系统之魂与交互之源
内核,作为任何基于Linux的操作系统的心脏,扮演着至关重要的角色。它不仅是计算机系统软件与硬件之间的桥梁,更是确保系统稳定、高效运行的关键。内核提供了一系列核心功能,为上...【详细内容】
2024-02-01  松鼠宝贝    Tags:Linux内核   点击:(69)  评论:(0)  加入收藏
如何确保Linux进程稳定与持久
在Linux系统中,进程的稳定性与持久性对于维持系统的持续运行至关重要。然而,由于各种原因,进程可能会面临崩溃或系统重启的情况。为了确保关键进程能够持续运行,我们必须采取一...【详细内容】
2024-01-19  松鼠宝贝    Tags:Linux进程   点击:(85)  评论:(0)  加入收藏
站内最新
站内热门
站内头条