系列文章目录

文章目录

  • 系列文章目录
  • 前言
  • 安全加固——基础加固方法
    • 文件系统配置
    • 软件更新配置
    • 安全启动配置
    • 加固内核参数
    • 限制核心转储(吐核)
    • 警告信息设置

前言

安全加固的目的:
操作系统之上的各种应用,要想获得信息的完整性、机密性、可用性和可控性,必须依赖于操作系统
通用CentOs Linux 7操作系统缺省配置通常不满足系统安全性的要求
操作系统的薄弱环节有安装和运行了冗余的服务、弱密码及匿名访问、开放了不必要的对外通讯端口、易受攻击的TCP/IP参数配置等,都容易成为日常运行和管理过程中的弱点
安全加固就是对系统进行优化配置,杜绝系统配置不当出现的弱点,提高操作系统和服务器的防御能力,防止黑客攻击和病毒入侵,提升系统和网络安全

安全加固——基础加固方法

  • 文件系统配置

禁用不必要的的文件系统

  • 一般的不必要文件系统描述
    CramFS:专门针对闪存设计的只读压缩的文件系统
    freevxfs:是高性能日志文件系统Veritas的免费版本
    jffs2:管理在MTD设备上实现的日志型文件系统hfs:允许你加载Mac OS文件系统的混合文件系统
    hfsplus:用于取代hfs的混合文件系统,用于加载Mac OS文件系统
    squashfs: 与cramfs类似是—种压缩只读的文件系统
    udf:用于实现ISO/IEC13346和ECMA-167规范的通用磁盘格式
    FAT:主要用于较旧的windows系统和便携式USB驱动器或闪存模块
    配置方法:
    创建一个/etc/modprobe.d/CIS.conf文件,(之前说过/etc/文件夹放的基本都是一些程序的配置文件)
    再用对应命令去禁止载入该模块
    modprobe -n -v <文件系统名>
    检测方法:
    lsmod | grep cramfs

  • 设置nodev,nosuid,noexec选项控制挂载:
    原理:
    配置文件系统的挂载选项可以方式系统被挂载特殊设备,例如可执行的二进制木马文件等。
    命令描述:
    nodev挂载选项指定文件目录不能包含特殊设备; nosuid挂载选项指
    文件目录不能包含setuid权限; noexec挂载选项指定文件目录不能包含可执行的二进制文件。
    加固位置:
    一般在/tmp,/var/tmp,/dev/shm目录上以及可移动介质分区(像U盘啥的)上设置nodev,nosuid,noexec选项。

  • 配置方法
    先编辑/etc/fstable文件(系统启动时会自动按照其规则挂载文件)设置成nodev,noexec,nosuid挂载选项。
    重新挂载目录
    mount -o remount,noexec,nosuid,nodev <目录名称>
    检测是否成功重新挂载
    mount | grep <目录名称>

  • 软件更新配置

  • 确保配置了包管理器存储库

原理
若系统的软件包存储库配置错误,则可能无法识别重要的修补程序,或者恶意储存库可能会引入受损软件。
检测方式:
yum repolist/apt list

  • 确保配置了GPG密钥和全局激活gpg
    原理:
    确保从有效源获取更新以及在安装之前始终检查RPM的包签名,确保从有效源获取更新以防止可能在系统上安装恶意软件而导致的欺骗。
    描述:
    gpgcheck选项主要位于/etc/yum.conf和个人的/etc/yum/repo.d/*中,用于确认安装RPM包之气那是否检查了他的签名。

配置方法(全局激活gpg检查):


都设置gpgcheck=1检测方式(是否正确配置GPG密钥):
命令: rpm -q gpg-pubkey --qf ‘%{name}-%{version}-%{release}–>%{summary}\n’
检查yum中是不是都配置了gpgcheck=1
grep ^gpgcheck /etc/yum.conf
grep ^gpgcheck /etc/yum.repos.d/*

  • 确保安装了最新的补丁
    更新可用安装包
    yum update
    检测是否有补丁或者软件要更新
    yum check-update
  • 安全启动配置

  • 配置bootloader配置的权限
    原理:
    将其设置成root权限,防止未经授权的其他用户输入引导参数或更改引导分区。读取引导参数的非root用户可能在系统引导时识别安全性的弱点并利用。
    配置:
    grub文件:包含启动设置和解锁启动选项的密码信息。位置:/boot/grub2/grub2.conf,并链接到/etc/grub2.conf
    先更改文件属主和属组,再更改权限
    chown root:root /boot/grub2/grub.cfg
    chmod og-rwx /boot/grub2/grub.cfg
    chown root:root /boot/grub2/user.cfg
    chmod og-rwx /boot/grub2/user.cfg
    检测方式
    stat /boot/grub2/grub.ctf(文件路径)
    stat /boot/grub2/user.ctf
  • 确保单用户模式需要身份认证
    单用户模式:可以不用密码获得root权限。在系统引导期间检测到问题或通过从引导装载程序手动选择时,会使用单用户模式进行恢复。
    配置
    编辑/usr/lib/systemd/system/rescue.service和/usr/lib/system
    /system/emergency.service文件并且设置ExecStart为/sbin/sulogin或
    者/usr/sbin/sulogin
    检测方式:检查/sbin/sulogin在不在对应文件里面。
    grep /sbin/sulogin /usr/lib/systemd/system/rescue.service

加固内核参数

  • 限制核心转储(吐核)

核心转储:
操作系统在进程收到某些信号而终止运行时,将此时进程地址空间的内容以及有关进程状态的其他信息写出的一个磁盘文件。
描述:
因此可能会出现信息泄露的情况,会导致核心文件中机密泄露(密码等信息)。系统为核心提供了软限制功能,但是用户可以重写这一功能。
配置方法:
1.将以下行添加到/etc/security/limits.conf文件或/etc/security/limits .d /文件中:
* hard core 0,禁止所有用户运行core文件。

2.在/etc/sysctl.conf文件中设置以下参数阻止setuid程序转储核心。
fs.suid dumpable = 0
命令:sysctl -w fs.suid_dumpable=0
检测方法:
验证下匹配情况
grep “hard core” /etc/security/limits. conf /etc/security/limits. d/

sysctl fs.suid_ dumpable
grep “fs.suid dumpable” /etc/sysctl.conf /etc/sysctl.d/*

除此之外:在这个文件中还可以限制最大进程数和内存数量。
限制进程数为“nproc 50“,且限制内存使用为5M“rss 5000”。
也就是在文件中写入nproc 50 或 rss 5000

  • 确保已启用XD/NX支持
    前言:啥是缓冲区溢出漏洞(这里粗略的讲一下):程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,使程序转而执行其它指令,以达到攻击的目的。那么也就是说要是该程序是root权限的,我们进行此攻击之后的权限也是root权限

XD和NX:X86家族中最近的处理器支持防止在每个内存页上执行代码。一般来
说,在AMD处理器上,这种能力被称为无执行(NX),而在英特尔处理器上,它被称为执行禁用(XD)。此功能可以帮助防止缓冲区溢出漏洞的利用,并应在可能的情况下激活。

原理:这俩支持能防止缓冲区溢出攻击,增加系统的安全性。
配置方法:
32位系统上安装具有PAE支持的内核,64为系统不用装,要是有必要就用引导加载程序配置加载新内核并重新引导系统。
检测方法:
dmesg | grep NX

  • 确保已启用气质空间布局随机化(ASLR)

原理:
随机放置虚拟内存区域将使得难以编写内存界面漏洞。
配置方法:
1.在/etc/sysctl.conf文件中设置以下参数:
kernel.randomize va_ space = 2

2.运行以下命令以设置活动内核参数:
sysctl -w kernel.randomize_va_space=2

  • 确保禁用prelink(预链接)
    原理:
    他可能会干扰AIDE(安卓/java开发环境)操作,他会更改二进制文件。如果恶意用户能破坏公共库,则预链接还会增加系统漏洞。
    prelink:它修改ELF共享库和ELF动态链接二进制文件,使动态链接器在启动时执行重定位所需时间减少。
    配置方法:
    运行以下命令将二进制文件恢复到正常状态并卸载prelink:
    prelink -ua
    yum remove prelink
    检测方法:
    运行以下令并验证未按装prelink:
    rpm -q prelink
    package prelink is not installed

警告信息设置

  • 正确配置登录警告信息

利用原理
警告消息会通知尝试登录系统的用户,有关系统的合法状态,并且必须包含拥有系统的组织的名称以及所有适用的监控策略。这样的话就会导致系统的版本等敏感信息泄露,攻击者可以利用这个找到对应的漏洞信息(CVE之类的)进行利用。
原因:
/etc/motd文件的内容在登录后显示给用户, 并作为当天的消息用于经过身份验证的用户。
/etc/issue文件的内容会在登录本地终端之前向用户显示。
/etc/issue.net文件的内容在登录之前将向用户显示,以便从已配置的服务进行远程连接。
配置方法:
更改对应文件的权限。举例:
chown root:root /etc/issue
chmod 644 /etc/issue
检测方法(查看权限):
stat /etc/issue

Linux-安全加固相关推荐

  1. linux将db2账户添加到组_超实用的shell脚本--Linux安全加固设置,值得收藏

    概述 近几年来Internet变得更加不安全了.网络的通信量日益加大,越来越多的重要交易正在通过网络完成,与此同时数据被损坏.截取和修改的风险也在增加. 只要有值得偷窃的东西就会有想办法窃取它的人.I ...

  2. linux系统加固标准,Linux系统加固标准规范.doc

    Linux系统加固规范 山东省计算中心 TIME \@ "yyyy年M月" 20XX年6月 账号管理.认证授权 Linux-01-01-01 编号 Linux-01-01-01 名 ...

  3. 华纳云:Linux安全加固 #

    Linux安全加固 # 账号和口令 # 1.1 禁用或删除无用账号 # 减少系统无用账号,降低安全风险. 操作步骤 使用命令 userdel <用户名> 删除不必要的账号. 使用命令 pa ...

  4. linux安全加固浅谈

    难易程度:★★★ 阅读点:linux;python;web安全; 文章作者:xiaoye 文章来源:i春秋 关键字:网络渗透技术 前言 linux被越来越多的企业使用,因此掌握一些基本的linux安全 ...

  5. Linux服务器加固方案

    前言:本人在几家小厂做开发,主Java,因人手问题,前端/安卓/服务器等都有涉猎.这里我结合网上各位大佬的经验和自己收获总结.对Linux服务器安全 和 防火墙的配置 和 服务器加固方案 进行简单的讲 ...

  6. linux服务器加固的命令,Linux 服务器安全加固

    一.summary 随着互联网的发展,隐私以及安全被大家看的越来越重视,越来越多的重要交易正在通过网络完成,与此同时数据被损坏.截取和修改的风险也在增加.优秀的系统应当拥有完善的安全措施,应当足够坚固 ...

  7. linux 无响应_系统加固之Linux安全加固

    Linux系统基本操作 文件结构图及关键文件功能介绍 Linux文件结构 Linux文件结构图 二级目录 目录 功能 /bin 放置的是在单人维护模式下能被操作的指令,在/bin底下的指令可以被roo ...

  8. linux安全加固(2)

    目录: 1.BIOS 2.SSH安全 3.禁用telnet 4.禁用代码编译 5.ProFTP 6.TCPwrappers 7.创建一个SU组 8.root通知 9.history安全 10.欢迎信息 ...

  9. linux系统加固建议

    1. 安装和升级 尽量选用最新的 Linux 发行版本,安装前拔掉网线,断开物理连接, 安装时建议用 custom 自定义方式安装软件包,数量以少为好, 一般来说服务器没有必要安装 X-windows ...

  10. linux安全加固_安全服务之安全评估与加固

    0x01 前言 这篇水文主要记录了去一些单位进行安全评估及加固的一般流程和相关检查点及命令.一般大厂都有相关完整的资料和固定流程,这里所写的可能并不全面,不过在没做过的情况下也能参考参考. 如果有文中 ...

最新文章

  1. [转载红鱼儿]kbmmw 开发点滴:kbmMW:Unknown property:indexes
  2. Linux篇 | 多网卡绑定技术 binding 和 网络组nmcli
  3. R语言编程艺术(3)R语言编程基础
  4. FreeSql (九)删除数据
  5. python:更改pip源
  6. 简单的识别猫狗的模型
  7. envi矢量图层外面有蓝色边框_蓝白渐层英短猫多少钱一只,美短银渐层大概多少钱...
  8. Linux上FTP服务的相关配置2:搭建FTPs及虚拟账号
  9. LNMP笔记:安装 Xcache 缓存扩展,降低服务器负载
  10. @Scope作用域代理的应用:@RefreshScope注解实现动态刷新配置的底层原理与实现
  11. 计算机组成原理面试常见问题
  12. 在MATLAB中的图例标注及实例说明
  13. am 启动 activity 流程分析
  14. 【转】宽带路由器应用(三)—ARP欺骗防护功能的使用
  15. python与excel教程_Python对Excel操作教程
  16. 公司名称注册,公司名称查询,企业名称注册事项
  17. 1045 Favorite Color Stripe(最长不下降子序列)
  18. JavaScript---Beacons图片信标发送数据
  19. switch怎么切换服务器账号,怎么查看switch账号所属服务器
  20. adreno630gpu参数_高通骁龙AdrenoGPU天梯以及直观分析,推荐。

热门文章

  1. 今天向你们分享一个表白代码(I LOVE YOU)
  2. 西安交大王之坤摘得金奖桂冠,浙大团体第一,1016名高手同台竞技CCSP2020
  3. css背景图片不显示原因,excel 背景图片(css设置背景图片不显示问题)
  4. 来看看 ETL 和数仓建模的设计思路!
  5. CSND博客几年没有登录了,终于找回密码来报个到!
  6. 如何用计算机给机顶盒刷机,如何利用sd卡刷机 电视盒子通用刷机方法
  7. python爬取酷狗音乐歌词_python爬虫教程:爬取酷狗音乐
  8. java restlet 教程_java – Restlet Protocol.FILE用法
  9. 小米4硬改教程_纯干货!抖音从注册到热门的实操教程分享
  10. MTK wifi驱动源码分析