Linux操作系统安全加固

linux安全加固 目的:在设备权限配置能力内,根据用户的企业需要,配置其所需的最小权限,以减少非法访问的可能性。目的:修改创建文件或目录时的默认权限,防止属于该组的其他用户级别组的用户修改该用户的文件。目的:删除系统不需要的默认账号、更改危险账号的默认shell变量,降低被利用的可能性。目的:对于采用静态密码认证的设备,账户密码的生存周期不长于90天。目的:限制用户对系统资源的使用,减缓DDOS等攻击危害。目的:关闭无用服务,提高系统性能,减低漏洞风险。目的:规范使用高强度密码,延长被爆破的时间。 阅读详情

掌握的加固点:

  1. 用户系统检查

  2. 口令策略检测

  3. 日志审计检查

  4. 系统服务检查

  5. 访问控制检查


2.1.1用户系统检查

#系统内核版本检查
  • 判断依据:无

  • 检查方式:通过命令uname -a查看系统内核,或者cat /etc/os-release,或者cat /etc/centos-release查看系统发行版本


#检查口令为空的账户
  • 判断依据:存在就是不符合

  • 知识预热:特殊的shell

    a. /bin/false:将用户的shell设置为/bin/false 用户会无法登陆,并且不会有任何提示 passwd文件中设置

    b. /sbin/nologin:nologin会礼貌回复用户一句话,然后给你拒绝登录

  • 检查方式:命令cat /etc/passwd,cat /etc/shadow查看密码栏为空的账户

  • 加固方式:删除密码为空的账户,或者给该账户添加密码。

    • userdel <username> 删除用户

    • passwd <username> 用户设置密码

passwd文件中可以设置a b操作

shadow可以查看用户的密码,如果用户名后面有*则代表该用户是无法被登录的,如果用户后面有!!则代表这个用户是没有密码的

查看命令:

1 [root@localhost ~]# awk -F":" '{if ($7!="/sbin/nologin" && $7!="/bin/false") print $1}' /etc/passwd > passwd
2 # 输出在passwd文件下,可以被用作登录的用户
3
4 [root@localhost ~]# awk -F":" '{if ($2=="!!") print $1}' /etc/shadow > shadow
5 # 列出 shadow 文件下密码为空的账户,在 shadow 文件中 "!!" 表示密码为空,"*" 表示账户被锁定
6
7 [root@localhost ~]# grep -f passwd shadow
8 oracle
9 # 比较输出的 passwd 和 shadow 结果,若存在同时命中的账户则不符合检查要求

#检查UID与Root相同的账户
  • 判断依据:存在即不合理

  • 知识预热:若UID为0则该账户与Root一样的权限

  • 检查方式:命令cat /etc/passwd查看第三位数字为0的账户

  • 加固方式:修改恶意账户的UID并删除恶意账户

检查命令

awk -F ":" '{if ($3==0 && $1!='root') print$0}' /etc/passwd
判断,passwd中第三块内容为0,但用户不是root的有哪些
​
#普通用户添加root权限
echo "guest:x:0:0::/:/bin/sh" >> /etc/passwd
#若要删除UID=0的用户则将UID修改成正常用户的UID

#检查core dump是否开启
  • 判断依据:开启即合理,关闭则不合理

  • 知识预热:内存镜像

    • 当程序运行过程中崩溃异常终止,操作系统会将程序当前的内存状态记录下来,保存在一个文件当中,这种行为叫做core dumo核心存储。

    • core dump 是内存快照,除了内存信息之外,有些关键的程序运行状态也会同时dump下来,例如寄存器信息、内存管理信息、其他处理器和操作系统状态信息

  • 检查方式:命令cat /etc/security/limits.conf查看

    • solt core 0

    • hard core 0

    • 是否存在,必须二者同时存在

  • 加固方式:添加或者修改配置文件


#检查硬盘使用情况

  • 判断依据:大于80%不符合

  • 检查方式:命令df -h查看硬盘使用率

  • 加固方式:对硬盘实施扩容或者删除部分不重要资源


#检查History历史命令条数设置
  • 判断依据:建议值为200

  • 检查方式:命令cat /etc/profile 查看HISTSIZE=的值

  • 加固方式:修改profile配置文件中HISTSIZE的值,建议修改为200

    • vi /etc/Profile

    • HISTSIZE = 200


#检查系统当前umask值
  • 判断依据:值022符合

  • 知识预热:

    • umask设置了用户创建文件的默认权限,它与chmod的效果刚好相反,umask设置的是权限补码,二chmod设置的是文件权限码

    • 系统管理员必须设置一个合理的umask值,以确保你创建的文件具有所希望的缺省权限,防止其他非同组用户对你的文件具有写权限

  • 检查方式:命令umask输出当前umask的值

  • 加固方式:通过umask命令修改值为022

umask 022 即可修改umask的值

2.1.2口令策略检查

#检查密码最小长度
  • 判断依据:最小长度为8

  • 检查方式:查看cat /etc/login.defs查看PASS_MIN_LEN的值。login.defs是用户账号限制文件,但是里面的策略对ROOT无效

  • 加固方式:修改login.defs配置文件,修改密码最小长度值,建议修改为10

    • vi /etc/login.defs

    • PASS_MIN_LEN 10


#检查密码过期时间
  • 判断依据:值大于90不符合

  • 检查方式:命令cat /etc/login.defs查看PASS_MAX_DAYS的值

  • 加固方式:修改login.defs配置文件,建议修改为90

vi /etc/login.defs

PASS_MAX_DAYS 90


#检查密码认证失败次数
  • 判断依据:值大于5不符合

  • 知识预热:默认情况下在 pam.d/login及 /pamd.d/sshd 文件中不含有认证失败次数

  • 检查方式:命令cat /etc/pam.d/sshd , cat /etc/pam.d/login查看

    • auth required pam_tally2.so deny=5 lock_time=300 even_deny_root root_unlock_time=300


#检查密码复杂度
  • 判断依据:值未配置不符合

  • 知识预热:默认情况下没有密码复杂度

  • 检查方式:命令cat /etc/pam.d/system-auth查看

    • password requisite pam_cracklib.so retry= difok= minlen= ucredit=-1 lcredit=-3 dcredit=-3 dictpath=/usr/share/cracklib/pw_dict值是否配置

  • 加固方式:在pam.d/login配置文件中添加以上字段

retry= 尝试次数

difok= 新密码和旧密码最少不同字符数量

minlen= 最小密码长度

ucredit=-1 最少大写字母1个

lcredit=-3 最少小写字母3个

dcredit=-3最少数字3个

dictpath=/usr/share/cracklib/pw_dict 字典位置


#检查密码过期告警天数
  • 判断依据:值小于3不符合

  • 检查方式:命令cat /etc/login.defs查看PASS_WARN_AGE的值

  • 加固方式:修改login.defs配置文件中,PASS_WARN_AGE字段,建议值为3

    • vim /etc/login.defs

    • PASS_WARN_AGE 3


2.1.3日志审计检查

#检查是否开启日志审计功能
  • 判断依据:存在则符合

  • 检查方式:命令 ps -ef 查看是否存在syslogd服务

  • 加固方式:通过systemctl命令打开日志审计功能 systemctl start rsyslog


#检查是否开启审计功能
  • 判断依据:存在则符合

  • 检查方式:命令ps -ef 查看是否存在auditd服务

  • 加固方式:通过systemctl命令打开审计服务,systemctl start auditd


#检查是否对登录进行记录
  • 判断依据:存在则符合

  • 检查方式:wtmp该日志文件永久记录每个用户登录、注销及系统启动、停机事件、需要使用last命令查看

  • 检查方式:命令last -f /var/log/wtmp 查看是否有返回结果


2.1.4检查系统服务

#检查是否启动talk服务
  • 判断依据:存在即不合理

  • 知识预热:Linux不重要的服务,用于同一网络下用户之间的交流,存在就会有风险

  • 检查方式:ps -ef | grep talk查看服务以及ntalk服务

  • 加固方式:K掉它,并禁止自动启动

    • kill -9 <PID>

    • systemctl disable <talk service name>


#是否启用sendmail服务

判断依据:存在即不合理

检查方式:命令ps -ef | grep sendmail查看服务

加固方式:k掉sendmail服务,禁止开机自启


#是否启用FTP服务
  • 判断:存在不合理

  • 检查:ps -ef | grep ftp

  • 加固:k掉,禁止自启动


#是否启用TELNET服务
  • 判断:存在不合理

  • 检查:ps -ef | grep telnet

  • 加固:k掉,禁止自启动


2.1.5访问控制检查

#检查系统登陆和SSH登陆超时时间
  • 判断依据:存在即符合

  • 知识预热:默认情况下在profile中没有配置相关timeout参数

  • 检查方式:命令cat /etc/profile查看 export TMOUT=的值

  • 加固方式:在profile中追加:export TMOUT的值,建议设置100

    • vim /etc/profile

    • export TMOUT=100


#检查SSH协议是否使用SSH2
  • 判断依据:存在即合理

  • 知识预热:

  • 检查方式:命令cat /etc/ssh/sshd_config,cat /etc/ssh2/ssh2d_config查看Protocol 2配置

  • 加固方式:将ssh的协议类型改为ssh2,若不存配置则追加字段刀sshd_config配置文件中

    • vim /etc/ssh/sshd_config

    • Protocol 2


#检查是否允许root账户远程连接SSH
  • 判断依据:值为no则符合

  • 知识预热:

  • 检查方式:命令 cat /etc/ssh/sshd_config , cat /etc/ssh2/ssh2d_config查看PermitRootLogin的值

  • 加固方式:修改PermitRootLogin的值为no,若不存则追加字段刀sshd_config配置文件下即可

    • vim /etc/ssh/sshd_config

    • PermitRootLogin no


#检查是否允许所有IP访问主机
  • 判断依据:值为ALL或者没配置 则不符合

  • 知识预热:

  • 检查方式:命令cat /etc/hosts.allow查看sshd:的值

  • 加固方式:在hosts.allow配置文件中追加允许访问的ip地址

    • ssh允许单个ip地址:sshd:192.168.222.1

    • ssh允许ip段:sshd:192.168.222.


#检查是否拒绝所有ip访问主机
  • 判断依据:值ALL符合

  • 知识预热:

  • 检查方式:命令 cat /etc/hosts.deny查看sshd:的值

  • 加固方式:在hosts.deny中追加sshd:ALL

    • 关于拒绝所有主机会不会造成业务问题,答案是不会。因为deny和前面的allow存在先后关系,它会先允许allow文件中的ip地址通过,然后再拒绝除allow文件外的ip

检查表单

检查项系统现状结果(符合或者不符合)加固建议
用户系统检查口令为空的账户
检查UID与ROOT相同账户
检查是否启用core dump设置
检查硬盘使用情况
检查histry历史命令条目设置
检查系统当前umask值
口令策略检查密码最小长度
检查密码过期时间
检查密码认证失败次数
检查密码复杂度
检查密码过期告警天数
日志审计检查系统是否开启日志功能
检查系统是否开启审计功能
检查是否对登录进行记录
系统服务检查是否启用ntalk/talk服务
检查是否启用sendmail服务
检查是否启用ftp服务
检查是否启用telnet服务
访问控制登录超时检查系统登录和ssh登录超时时间
检查ssh协议是否使用ssh2
检查是否允许root账户远程ssh连接
检查是否允许所有ip访问主机
检查是否允许所有ip使用ssh登录

Linux安全加固手册 1 身份鉴别 1.1 密码安全策略 操作系统和数据库系统管理用户身份鉴别信息应具有不易被冒用的特点,口令应有复杂度要求并定期更换。 设置有效的密码策略,防止攻击者破解出密码 1)查看空口令帐号并为弱/空口令帐号设置强密码 # awk -F: '($2 == ""){print $1}' /etc/shadow 可用离线破解、暴力字典破解或者密码网站... 阅读详情

相关推荐

Linux操作系统安全加固指导

linux加固指南(超详细版)

乐大厨串串香飘万里 5425

凝思主机安全加固

近年来由于国际化形式越来越严重、操作系统会逐渐转变成国产化的操作系统,例如凝思、麒麟V10、统信UOS等等、cpu架构也逐渐由x86衍生出ram架构 针对于对操作系统层面的安全越来越重视,主机加固产品层出不群,下面几个加固小技巧和大家分享一下。 关闭21端口 vi /etc/inetd.conf 注释行#telnet stream tcp nowait telnetd /usr/sbin/tcpd /usr/sbin/in.telnetd /etc/init.d/openbsd-inetd rest.

qq_36365520的博客 6229

Linux操作系统安全合规性检查和加固手册

本帮助手册旨在指导系统管理员或安全检查人员进行Linux操作系统的安全合规性检查和加固。

modaner的博客 1629

凝思系统安全加固

查询端口及使用服务netstart -anlp | grep -w 指定端口。/etc/init.d/服务名称 stopt停止 start启动。【操作目的】关闭postfix、smbd、ftp、telnet。查看服务开机自启动状态:chkconfig --list。禁止服务开机自启动:chkconfig 服务名 off。关闭通用服务postfix、smbd、proftpd。查看服务:service 服务名 status。关闭服务:service 服务名 stop。【操作目的】禁止root远程登录。

2301_80114500的博客 3101

凝思系统简单加固说明.pdf

【安全加固工具功能】 安全加固工具分为两种简单版(simple_security_config.sh)和完整版 (complete_security_config.sh) 简单版功能: (1) 系统新建用户后,需要先修改密码 (2) sshd_config 默认安全项配置 (3) 登录超时 (4) 禁用 telnet 和 swat (5) 登录地址限制 access.so (6) 登录失败锁定 完整版功能: (1) 系统新建用户后,需要先修改密码 (2) sshd_config 默认安全项配置 (3) 登录超时 (4) 禁用光驱 (5) 禁用 usb 存储设备 (6) 禁用 telnet

Metal 一、初识 Metal 及其语言规范

游戏开发者的新的技术平台,该技术能够为3D图像提高 10 倍的渲染性能。苹果2018年推出 Metal,在此之前一直使用OpenGL ES。1图形渲染;2高并发计算。苹果文档给出的 Metal 优化:CPU 低消耗、GPU 高利用、连续处理器并行、有效的资源利用Metal 官方文档。

irainsa的博客 1219

Linux操作系统安全加固总结

Linux操作系统安全加固总结 1、修改umask的默认值 设置并修改umask的默认值可以限制用户对文件或目录的权限。一般将umask的默认值修改为027。在/etc/profile中添加umask 027。 2、修改历史命令保存条数 使用history命令可以查看历史执行的命令。在/etc/profile文件中修改”HISTSIZE“的数值即可。使用source /etc/profile命令使设置生效。 3、修改密码的使用期限 修改/etc/login.defs中的PASS_MAX_DAYS=90

weixin_43996007的博客 5256

技术美术个人笔记(十三)——Houdini金属弯曲模拟

最近接收到使用Houdini自动解算破损/砸坏/扭曲汽车的需求,以此文记录制作金属弯曲自动解算工具时使用的部分节点解析;

小谁的博客 2148

【安全加固】Linux操作系统安全加固

通过上述步骤,可以在 /var/log/history 目录下以每个用户为名新建一个文件夹,每次用户退出后都会产生以用户名、登录IP、时间的日志文件,包含此用户本次的所有操作(root用户除外)。注意:部分系统可能使用syslog-ng日志,配置文件为:/etc/syslog-ng/syslog-ng.conf。通过脚本代码实现记录所有用户的登录操作日志,防止出现安全事件后无据可查。关闭不必要的服务(如普通服务和xinetd服务),降低风险。设置系统登录后,连接超时时间,增强安全性。

A1_3_9_7的博客 1041

用Python模拟随机游走:从一维到三维,直观理解马尔可夫链的常返性

本文通过Python模拟一维到三维的随机游走,直观展示马尔可夫链的常返性特性。使用NumPy和Matplotlib构建模拟器,揭示不同维度下随机游走的返回概率差异,帮助读者理解为什么一维和二维游走具有常返性,而三维游走可能永远迷失。文章包含完整的代码示例和可视化技巧,适合概率论和Python编程爱好者学习实践。

weixin_28694295的博客 399

串行RapidIO(Serial RapidIO,SRIO):协议介绍

目录一、RapidIO背景介绍二、RapidIO协议概述2.1 包与控制符号2.2 包格式2.4 消息传递2.5 全局共享存储器2.6 流量控制2.7 串行物理层三、I/O逻辑操作与包格式四、维护操作与包格式五、消息操作与包格式六、总结 本文是基于Xilinx平台SRIO介绍(一)RapidIO协议介绍的内容作读书笔记。 一、RapidIO背景介绍 RapidIO采用三层分级体系结构,包括逻辑层、传输层和物理层该分级结的如下图所示: ● 逻辑层:位于最高层,定义全部协议和包的格式,它们为端点器件发起和完

Starry__的博客 1万+

服务器linux操作系统安全加固

五、SELinux 强化。一、系统更新与补丁管理。七、文件系统与权限加固。三、SSH 安全加固。四、防火墙与网络防护。

绝不原创 1006

论文阅读:NeurIPS 2024 JailbreakBench: An Open Robustness Benchmark for Jailbreaking Large Language Model

论文指出评估越狱攻击存在挑战,如缺乏评估标准、成本和成功率计算方法不一致、许多研究无法复现。为解决这些问题,作者提出了JailbreakBench,这是一个开源基准测试,包含以下组件:持续更新的越狱提示库(jailbreak artifacts)。包含100种行为的越狱数据集,符合OpenAI的使用政策。标准化的评估框架,包括威胁模型、系统提示、聊天模板和评分函数。跟踪各种LLMs攻击和防御性能的排行榜。

CSPhD-winston的博客 1431

如何实现Linux操作系统安全加固?

1为什么要进行安全加固?          安全加固的重要性不言而喻。我这里把操作系统同马斯洛需求层次做了个类比,如有不恰当之处,还请指教。同人一样,操作系统也有自己的生...

Linux云计算数据自学 2121

十一、增强现实

那都是n年前的老版本了,新版本完全没有这个问题,我就是纠结这个问题,搭建若干环境,又是vmware虚拟机,又是msys2,又是anaconda,又是找机器,折腾了几天,结果通通不是。以一张实际卡片为锚点,通过笔记本的摄像头,在显示器上将一个计算机内的3d物体显示在卡片上,类似于电影上看到的那种全息投影技术;如果你是想在windows环境下开发linux运行程序,那么CygWin/gcc是你的不二之选。而如果你想开发的是windows运行程序,并且追求速度,那么二者相比而言,MinGW是更好的选择。

3188

基于深度学习DNN LSTM网络的光伏发电量预测 完整代码数据 可直接运行

基于深度学习DNN LSTM网络的光伏发电量预测 完整代码数据 可直接运行

2079

40_操作系统安全机制、linux安全加固、windows安全加固、Linux基线扫描下载、主机安全检查工具windows版本下载

操作系统安全机制、linux安全加固、windows安全加固、Linux基线扫描下载、主机安全检查工具windows版本下载

weixin_54591045的博客 1137

Siemens SIMATIC软件二次开发:使用C#进行SIMATIC软件二次开发

通过使用OPC-UA通信协议和S7通信库,可以有效地在C#应用程序中与Siemens SIMATIC软件进行数据交换。OPC-UA提供了一个标准化的平台,而S7通信库则提供了直接访问PLC数据的能力。掌握这两种通信方式,将极大地增强在工业自动化领域的二次开发能力。在Siemens SIMATIC软件中,自定义功能块开发是实现二次开发的关键步骤之一。通过C#,可以创建高度定制化的功能块,以满足特定的控制需求。下面,我们将通过一个示例来展示如何使用C#开发一个自定义功能块。OPC-UA通信。

kkchenjj的博客 1414

Linux操作系统-基线检查与安全加固

检查点:通过SSH禁止Root远程登录,使普通用户+sudo提权。:密码长度≥8位,复杂度包含大小写、数字、符号,有效期≤90天。安装libapam-pwquality并配置复杂度。:限制SSH访问、启用密钥认证、禁止Root登录。1.启用SELinux/AppArmor。:禁用Telnet、FTP等不安全服务。2.安装入侵检测工具(如AIDE):确保所有账户均有密码。

2503_91961258的博客 923

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

三问:linux操作系统安全加固

三问:linux操作系统安全加固1.为什么要进行安全加固?安全加固的重要性不言而喻。我这里把操作系统同马斯洛需求层次做了个类比,如有不恰当之处,还请指教。同人一样,操作系统也有自己的生理需求,对于人来说生理需求无非吃喝拉撒等,而对于操作系统来说它的生理需求又是什么了?我个人认为应该是底层硬件的配置,内核的驱动,操作系统基本配置以及设备加电。那么机器加了电,读取硬件信息...

weixin_34255793的博客 664

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

linux 操作系统安全加固

操作系统安全加固 顾名思义:将操作系统的安全环境,提升至尽可能安全的状态。 系统通用的安全加固可以从下面几个方面进行考虑: 通用软件的加固,如openssh,实现方式就是将修改其配置文件,让openssh 运行时,不暴露相应的版本信息。如禁止root登录,同时,及时更新相应的软件包,填补相应的软件包漏洞等等。 tcpwrapper, 基于主机的访问控制,也是可以对用户进行服务的限制。 ...

白驹过隙 1381

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

上一篇: 习题爱抚瘦(ctfshow)胖(Pwn)栈溢出36-44
下一篇: Windows系统安全加固
阿斯顿法国红酒快
博客等级 码龄5年 154粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值