Linux 企业级安全原理和防范技巧

news2024/12/28 11:08:16

Linux 企业级安全原理和防范技巧

    • 1. 企业级Linux系统防护概述
      • 1.1 企业级Linux系统安全威胁
      • 1.2 企业级Linux系统安全立体式防范体系
        • 1.2.1 Linux文件系统访问安全
        • 1.2.2 Linux进程安全
          • 1. 进程的种类
          • 2. 进程管理方法
        • 1.2.3 Linux用户管理安全
          • 1. 管理用户及组文件安全
          • 2. 用户密码管理
          • 3. 使用密码攻击工具检查密码安全性
        • 1.2.4 Linux日志管理安全
          • 1. Linux系统下的日志分类
    • 2. 企业数据保护
      • 2.1 企业数据防护技术分析
      • 2.2 数据加密技术原理
        • 1. 对称加密、解密
        • 2. 非对称加密、解密
        • 3. 对称与非对称加密、解密的区别
      • 2.3 加密技术的应用
        • 1. GnuPG
        • 2. GnuPG概述
        • 3. GnuPG的基本命令
    • 3. 发现企业网络漏洞
      • 3.1 发现企业网络漏洞的大致思路
        • 1. 基本思路
        • 2. 采用网络安全扫描
      • 3.2 端口扫描
        • 1. 端口扫描的原理
        • 2. 端口扫描的目的
        • 3. 端口扫描技术的主要分类
      • 3.3 漏洞扫描
    • 4. STRIDE 模型
    • 5. Linux操作系统的安全机制
    • 6. 系统性能安全检查
      • 6.1 Accounts检查
      • 6.2 Log检查
      • 6.3 Processes检查
      • 6.4 Files检查
      • 6.5 rpm检查
      • 6.6 Network检查
      • 6.7 Schedule检查

Linux 企业级安全原理和防范技巧以及网络和安全-Linux安全架构、安全威胁模型、以及加密、解密等原理,常见攻击和防范⼿段

1. 企业级Linux系统防护概述

1.1 企业级Linux系统安全威胁

企业级Linux系统安全威胁列表

分类解决的主要安全威胁安全威胁牵涉到的人员及操作
文件系统防护避免有意/无意的文件篡改、越权访问,根用户(root)权限泛滥企业内部用户误操作、外部黑客的恶意删除
进程安全防护避免非法进程运行、正常进程非法终止外部黑客的后门注入及非法进程运行
用户安全管理避免弱密码被攻破外部黑客使用暴力破解等方式获取密码
日志管理通过对企业内部用户及外部黑客在系统中行动产生相应的日志进行审计,发现安全问题和蛛丝马迹用户、黑客在系统中的行动产生日志记录

1.2 企业级Linux系统安全立体式防范体系

1.2.1 Linux文件系统访问安全

Linux系统中所有的设备都是通过文件进行操作和管理。

文件系统一致性检查
工具:tripwire 百度百科
请参考:tripwire安装与使用

四种操作模式:

  • 数据库生成:产生基准数据库,为未来的比较打下基础
  • 完整性检查:主要模式,把文件签名和基准数据库进行比较来进行检查
  • 数据库更新
  • 交互性更新

根用户安全管理,sudo权限

1.2.2 Linux进程安全

进程是现代操作系统的一个核心概念,很多攻击的发动、黑客的入侵都是通过进程来实现的。

1. 进程的种类

每个进程都有其自己的特点和属性

  • 交互进程:由一个shell启动的进程。交互进程既可以在前台运行,也可以在后台运行
  • 批处理进程:这种进程和终端没有联系,是一个进程序列。
  • 守护进程:Linux系统在启动时启动的进程,并在后台运行
2. 进程管理方法
  • 命令行管理方法:who,w,ps,top查看进程信息的系统调用。
  • 进程文件系统管理进程:proc文件系统是一个虚拟的文件系统,通过文件系统的接口实现,用于输出系统的运行状态
文件路径说明应用建议
/proc存放的是各种内存中的进程信息,linux内核配置,系统信息。这个是虚拟目录,不会占用磁盘空间
/proc/cpuinfocpu信息未来监控使用,获取cpu指标
/proc/meminfo内存信息未来监控使用,获取内存指标
/proc/loadavg系统负载信息,衡量系统繁忙程度
/proc/mounts系统挂载信息
/proc/x这里的x表示进程号,每个进程在proc下有一个名为其进程号的目录
/proc/devices当前运行的核心配置的设备驱动的列表
/proc/dma显示当前使用的dma通道
/proc/filesystems核心配置的文件系统
/proc/interrupts显示使用的中断
/proc/ioports当前使用的I/O端口
/proc/kcore系统物理内存映象
/proc/kmsg核心输出的消息,也被送到syslog
/proc/ksyms核心符号表
/proc/modules当前加载了哪些核心模块
/proc/net网络协议状态信息
/proc/stat系统的不同状态
/proc/version核心版本
/proc/uptime系统启动的时间长度
/proc/cmdline命令行参数

1.2.3 Linux用户管理安全

Linux作为一个多任务、多用户的操作系统,在同一时段可能为众多用户使用,且用户的管理直接关系到整个系统的安全。

1. 管理用户及组文件安全
  • /etc/passwd :全局可读,用于用户登录时校验用户的登录名、加密的口令数据项(使用不可逆的加密算法)、用户ID(UID)、默认的用户分组ID(GID)、用户信息、用户登录子目录以及登录后使用的shell
  • /etc/shadow: 只为root超级用户可读,文件的每行是8个冒号分隔的个域
  • /etc/group:含有关于小组的信息
  • /etc/gshadow:和用户账号文件一样,为了加强组口令的安全性,防止黑客对其实行的暴力攻击,采取的口令和其他信息分离的安全机制。
  • /etc/skel:一般是存放用户启动文件的目录,由root权限控制。当创建新的用户时,该目录下的文件复制到新添加的用户的主目录下。这个目录下的文件都是隐藏文件
  • /etc/login.defs 配置文件:创建用户时的一些规划,比如创建用户时,是否需要主目录;UID和GID的范围;用户的期限等等,这个文件是可以通过root来定义的
  • /etc/default/useradd文件:通过useradd添加用户时的规则文件
2. 用户密码管理

入侵者大多是通过各种系统和设置漏洞,获得管理员密码来获得管理员权限的,然后,再实现对系统的恶意攻击

密码破解软件一般使用3种方法进行破解:字典猜解、组合猜解和暴力猜解

  • 密码的设置原则

    不可让账号与密码相同
    不可使用自己的姓名
    不可使用英文词组
    不可使用特定意义的日期
    不可使用简单的密码:一个密码暴力猜解软件每秒钟可以尝试10万次之多。字数越少,字符越简单化,排列组合的结果就越少,也就越容易被攻破

  • 若要保证密码的安全,应当遵循以下规则:

    用户密码应包含英文字母的大小写、数字、可打印字符,甚至是非打印字符。建议将这些符号排列组合使用,以期达到最好的保密效果
    用户密码不要太规则,不要使用用户姓名、生日、电话号码以及常用单词作为密码
    根据Windows系统密码的散列算法原理,密码长度设置应超过7位,最好为14位
    密码不得以明文方式存放在系统中,确保密码以加密的形式写在硬盘上并包含密码的文件是只读的
    密码应定期修改,应避免重复使用旧密码,并采用多套密码的命名规则
    建立账号锁定机制。一旦同一账号密码校验错误若干次,即断开连接并锁定该账号,经过一段时间才解锁。

  • 密码策略包含以下6个策略。

    密码必须符合复杂性要求
    密码长度最小值
    密码最长使用期限
    密码最短使用期限
    强制密码历史
    用可还原的加密来储存密码

3. 使用密码攻击工具检查密码安全性

John the Ripper 用于在已知密文的情况下尝试破解出明文的破解密码软件:主要支持对DES、MD5两种加密方式的密文进行破解工作
https://www.openwall.com/john/

1.2.4 Linux日志管理安全

Linux系统历来以强大、丰富和完整文档日志系统著称。通过管理日志,可以清晰地了解系统的运行状况,也能从各种蛛丝马迹中国发现入侵和快速阻止入侵。

日志主要功能:审计和监测。实行地监测系统状态,监测和追踪侵入者。

1. Linux系统下的日志分类

可参考:CentOS的日志系统(日志文件)

  • 连接时间日志:由多个程序执行
    • 把记录写入到/var/log/wtmp和/var/run/utmp,login等程序更新wtmp和utmp文件,使系统管理员能够跟踪谁在何时登录到系统
  • 进程统计:由系统内核执行
    • 当一个进程终止时,为每个进程往进程统计文件(pacct或acct)中写一个记录。
    • 进程统计的目的是为系统中的基本服务提供命令使用统计
  • 错误日志:由syslogd(8)守护程序执行
    • 各种系统守护进程、用户程序和内核通过syslogd(3)守护程序向文件/var/log/messages报告值得注意的事件。
    • 另外有许多UNIX程序创建日志。像HTTP和FTP这样提供网络服务的服务器也保持详细的日志
  • 使用程序日志:许多程序通过维护日志来反映系统的安全状态
    • su命令允许用户获得另一个用户的权限,所以它的安全很重要,它的文件为sulog。同样的还有sudolog。
    • 另外,诸如Apache等HTTP的服务器都有两个日志:access_log(客户端访问日志)以及error_log(服务出错日志)。
    • FTP服务的日志记录在xferlog文件当中
    • Linux下邮件传送服务(sendmail)的日志一般存放在maillog文件当中

2. 企业数据保护

2.1 企业数据防护技术分析

造成很多用户账号泄露、机密数据泄密等安全事件的原因:

  • 数据未加密:导数据通过USB、邮箱、即时消息等媒体和途径进行传播后,无法确保其仅能被有权限的人访问
  • 未做好数据放泄密工作

2.2 数据加密技术原理

1. 对称加密、解密

对称加密、解密是加密和解密使用相同的密码,有代表性的有DES、Blowfish、TEA、Base64。

对称加密、解密的特点是运算相对非对称加密、解密简单,速度快

主要应用于需要加密大量数据的场合

2. 非对称加密、解密

非对称加密、解密是加密和解密使用不同的密码,有代表性的有RSA、DSA、ElGamal和ECDSA。

非对称加密、解密的安全性是基于复杂数学难题,特点是运算复杂、速度慢

主要应用于金融、军事等重大机密系统

3. 对称与非对称加密、解密的区别

  • 区别1
    • 对称加密、解密使用分组加密、解密方法对一段明文按固定长度划分成多组,然后分别对每组使用可变长度的密码迭代编码,最后将每组编码后的密文重新组合在一起,解密时也一样,先对密文按固定长度划分成多组,然后使用密码解密每一组,最后重新组合明文
    • 非对称加密、解密算法使用几乎不可逆的算法来加密、解密,加密和解密使用不同的密码
  • 区别2
    • 对称加密、解密算法和非对称加密、解密算法都是公开的,对称加密、解密算法的安全性依赖于密码的强度和密码的保存
    • 非对称加密、解密算法只需公开一对密码中的其中一个,另外一个无须公开,所以非对称加密、解解密算法的安全性比较强

2.3 加密技术的应用

1. GnuPG

下载地址 https://www.gnupg.org/download/index.html

2. GnuPG概述

GnuPG(GNU Privacy Guard)就是用来加密数据与制作证书的一套工具,其作用与PGP类似。

PGP使用了许多专利算法,属于“臭名昭著”的美国加密出口限制之列。GnuPG是GPL软件,并且没有使用任何专利加密算法,所以使用起来有着更多的自由

GnuPG使用非对称加密算法,安全程度比较高。所谓非对称加密算法,就是每一个用户都拥有一对密钥:公钥和私钥。其中,密钥由用户保存,公钥则由用户尽可能地散发给其他人,以便用户之间的通信

3. GnuPG的基本命令

GnuPG支持的算法如下:

  • 公钥:RSA、RSA-E、RSA-S、ELG-E、DSA。
  • 对称加密:3DES、CAST5、BLOWFISH、AES、AES192、AES256、TWOFISH。
  • 散列:MD5、SHA1、RIPEMD160、SHA256、SHA384、SHA512。
  • 压缩:不压缩、ZIP、ZLIB、BZIP2。

其使用的基本语法为:

gpg [选项] [文件名]

其实现的功能包括签名、检查、加密或解密,默认的操作依输入数据而定

3. 发现企业网络漏洞

3.1 发现企业网络漏洞的大致思路

安全扫描技术是一类重要的网络安全技术。安全扫描技术与防火墙、入侵检测系统互相配合,能够有效提高网络的安全性。通过对网络的扫描,网络管理员可以了解网络的安全配置和运行的应用服务,及时发现安全漏洞,客观评估网络风险等级。网络管理员可以根据扫描的结果更正网络安全漏洞和系统中的错误配置,在黑客攻击前进行防范

1. 基本思路

安全扫描技术分类

  • 主机安全扫描技术:通过执行一些脚本文件模拟对系统进行攻击的行为并记录系统的反应,从而发现其中的漏洞
  • 网络安全扫描技术:主要针对系统中不合适的设置、脆弱的口令以及针对其他同安全规则抵触的对象进行检查等

2. 采用网络安全扫描

网络安全扫描技术是一种基于Internet远程检测目标网络或本地主机安全性脆弱点的技术。

通过网络安全扫描,系统管理员能够发现所维护的Web服务器的各种TCP/IP端口的分配、开放的服务、Web服务软件版本和这些服务及软件呈现在Internet上的安全漏洞。

网络安全扫描技术也是采用积极的、非破坏性的办法来检验系统是否有可能被攻击崩溃。它利用了一系列的脚本模拟对系统进行攻击的行为,并对结果进行分析。这种技术通常被用来进行模拟攻击实验和安全审计。网络安全扫描技术与防火墙、安全监控系统互相配合就能够为网络提供很高的安全性。

  1. 完整的网络安全扫描三个阶段
  • 发现目标主机或网络
  • 发现目标后进一步搜集目标信息,包括操作系统类型、运行的服务以及服务软件的版本等。如果目标是一个网络,还可以进一步发现该网络的拓扑结构、路由设备以及各主机的信息
  • 根据搜集到的信息判断或者进一步测试系统是否存在安全漏洞
  1. 网络安全扫描技术
  • 包括PING扫射(Ping sweep):用于网络安全扫描的第1阶段,可以帮助我们识别系统是否处于活动状态

  • 操作系统探测(Operating system identification):第2阶段,对目标主机运行的操作系统进行识别

  • 如何探测访问控制规则(firewalking):第2阶段,用于获取被防火墙保护的远端网络的资料

  • 端口扫描(Port scan):第2阶段,通过与目标系统的TCP/IP端口连接,并查看该系统处于监听或运行状态的服务

  • 漏洞扫描(vulnerability scan):第3阶段,在端口扫描的基础上,对得到的信息进行相关处理,进而检测出目标系统存在的安全漏洞

端口扫描技术和漏洞扫描技术是网络安全扫描技术中的两种核心技术,并且广泛运用于当前较成熟的网络扫描器中,如著名的NmapNessus

3.2 端口扫描

1. 端口扫描的原理

端口扫描向目标主机的TCP/UDP服务端口发送探测数据包,并记录目标主机的响应。通过分析响应来判断服务端口是打开还是关闭,就可以得知端口提供的服务或信息。

端口扫描也可以通过捕获本地主机或服务器的流入、流出IP数据包来监视本地主机的运行情况,不仅能对接收到的数据进行分析,而且能够帮助用户发现目标主机的某些内在的弱点,而不会提供进入一个系统的详细步骤。

2. 端口扫描的目的

  • 发现开放端口:发现目标系统上开放的TCP或UDP端口
  • 了解主机操作系统信息:端口扫描可以通过操作系统的“指纹”来推测被扫描操作系统或者应用程序的版本等信息
  • 了解软件或者服务版本:软件或服务版本可以通过标志获取或者应用程序的指纹来识别获得
  • 发现脆弱的软件版本:识别软件和服务的缺陷,从而有助于发起针对漏洞的攻击

3. 端口扫描技术的主要分类

  • 全连接扫描
    全连接扫描是TCP端口扫描的基础,现有的全连接扫描有TCP connect()扫描TCP反向ident扫描

    TCP connect()扫描的实现原理如下:扫描主机通过TCP/IP协议的三次握手与目标主机的指定端口建立一次完整的连接。连接由系统调用connect开始。如果端口开放,则连接将建立成功;否则,若返回-1,则表示端口关闭。如果建立连接成功,则响应扫描主机的SYN/ACK连接请求,这一响应表明目标端口处于监听(打开)的状态。

  • TCP半连接(SYN)扫描
    TCP半连接(SYN)扫描:若端口扫描没有完成一个完整的TCP连接,在扫描主机和目标主机的一指定端口建立连接的时候只完成了前两次握手,在第三步时,扫描主机中断了本次连接,使连接没有完全建立起来,这样的端口扫描称为半连接扫描,也称为间接扫描。现有的半连接扫描有TCP SYN扫描IP ID头dumb扫描

    SYN扫描的优缺点:

    • 优点在于即使日志中对扫描有所记录,但是尝试进行连接的记录也要比全扫描少得多。
    • 缺点是在大部分操作系统下,发送主机需要构造适用于这种扫描的IP包,通常情况下,构造SYN数据包需要超级用户或者授权用户访问专门的系统调用
  • UDP扫描
    UDP扫描中不使用工具来设定特定的状态标志。如果源UDP包的响应(即ICMP端口不可达消息)说明端口已经“关闭”,UDP扫描的过程比较长,速度比较慢

  • 标志获取扫描
    标志获取扫描是指连接到系统的特定端口,检查监听该端口的应用软件标志的过程。它可以利用TCP端口连接来获得特定系统上运行的软件和程序版本信息。在实际的应用过程中,系统管理员可能会更改或者删除相关标志,从而隐藏被监听的应用程序。

  • 包分片
    许多端口扫描器都支持包分片功能。这个功能有助于包穿透、包过滤设备并逃避入侵检测系统的监测。包分片技术将TCP或者UDP包头分成多个包,增加访问控制设备检测端口扫描信息的难度

  • 欺骗扫描
    Nmap和其他一些端口扫描工具都有“欺骗”功能,能够在直接扫描的同时进行一个或者多个欺骗性的扫描

  • 标识扫描
    标识扫描能够用来识别与特定TCP连接绑定的用户账户,它可以通过与113号TCP端口进行通信来完成,该端口会返回该连接所有者的身份信息。这种扫描仅仅对于运行ident服务的系统有效,也可以用于识别使用特权账号(例如root)的服务

  • FTP反弹扫描
    FTP反弹扫描利用FTP服务器进行欺骗扫描,它利用的是FTP协议对代理FTP连接的支持这一特性。利用FTP服务器作为反弹“代理”,黑客能够隐藏源扫描器的原始地址

  • 源端口扫描
    端口扫描工具中的源端口扫描允许扫描者设置静态的TCP或者UDP源扫描端口,以避开包过滤访问控制设备。用于扫描的源端口通常与常用服务的端口相关联(比如HTTP、DNS、SMTP、FTP等),这些端口经常处于访问控制设备的许可范围之内

  • 主机扫描
    主机扫描的目的是确定在目标网络上的主机是否可达。这是信息收集的初级阶段,其效果直接影响到后续的扫描

3.3 漏洞扫描

漏洞扫描就是对计算机系统或者其他网络设备进行安全相关的检测,以找出安全隐患和可被黑客利用的漏洞。显然,漏洞扫描软件是把双刃剑,黑客利用它入侵系统,而系统管理员掌握它以后又可以有效地防范黑客入侵。因此,漏洞扫描是保证系统和网络安全必不可少的手段,必须仔细研究和利用

漏洞扫描通常采用两种策略,第一种是被动式策略,第二种是主动式策略

  • 被动式策略是基于主机之上,对系统中不合适的设置、脆弱的口令以及其他同安全规则抵触的对象进行检查;
  • 主动式策略是基于网络的,它通过执行一些脚本文件模拟对系统进行攻击的行为并记录系统的反应,从而发现其中的漏洞。利用被动式策略扫描称为系统安全扫描,利用主动式策略扫描称为网络安全扫描

Nessus  
Nessus是一个功能强大而又易于使用的远程安扫描器,它不仅免费而且更新极快。安全扫描器的功能是对指定网络进行安全检查,找出该网络是否存在导致对手攻击的安全漏洞。

Nessus的优点如下:

  • Nessus采用了基于多种安全漏洞的扫描,避免了扫描不完整的情况。
  • Nessus是免费的,比起商业的安全扫描工具如ISS具有价格优势。
  • Nessus扩展性强、容易使用、功能强大,可以扫描出多种安全漏洞

4. STRIDE 模型

微软的 STRIDE 模型是常用的威胁模型之一。STRIDE 的6个字母分别代表着

  • 身份欺骗(Spoofing identity)
  • 篡改数据(Tampering with data)
  • 否认性(Repudiation)
  • 信息泄露(Information disclosure)
  • 拒绝服务(Denial of service)
  • 提权(Elevation of privilege)

STRIDE 模型针对的属性、定义和例子参考

针对的属性威胁定义例子
认证身份欺骗冒充他人或者他物A用户使用B用户的账号和密码登录使用系统
完整性篡改数据修改数据或者代码未授权的情况下,恶意修改了数据库中的字段数值
不可否认性否认性抵赖,声称没有做我没有发送那封邮件
机密性信息泄露把信息展示给未授权去看的人航空旅客的身份信息被传播在互联网上
可用性拒绝服务使服务对已授权的用户不可用使网站瘫痪,让已授权用户无法进行线上交易
授权提权在未授权的情况下,把自己的权限提升到更高的水平Linux普通用户利用系统漏洞变成了root用户

在分析面对的威胁时,我们应该利用 STRIDE 模型来进行分门别类的总结梳理,这样才能更完整清晰的整理出所有的潜在威胁,并制定出相应的解决方案。

常见的安全威胁来源
在实际的安全工作中,我们常常见到的信息安全所面对的威胁来自于多个方面
在这里插入图片描述

  • 地震、雷雨、失火、供电中断、网络通信故障都属于破坏物理安全的例子,它们直接破坏了信息的可用性,导致业务中断无法继续向合法授权用户提供服务。
  • 系统漏洞和 Bug 可能会同时破坏机密性、完整性和可用性。
  • 内部人员威胁往往是很多组织在安全体系建设中未加以足够重视的部分,而事实表明,内部人员因误操作或者恶意利用职权而导致的信息泄露和破坏的案例不计其数。IBM调查报告中指出,在 2015 年,60%的攻击是由内部人直接或者间接发起的。内部人员造成威胁的个人因素主要有:出于贪婪或经济利益的需要;因工作原因对公司和上级领导心怀不满;即将跳槽到另一个组织;希望取悦他人;个人生活不得意导致工作行为异常。
  • 黑客渗透是显而易见的威胁,他们可能会利用系统漏洞和 Bug 进行攻击,也可能会辅助以社会工程(Social Engineering)的方式进行攻击;在渗透完成后,黑客往往通过在系统中植入木马后门(包括 Rootkit 等)进行隐秘的长期控制。
  • 病毒和蠕虫的散播让信息基础设施的资源被恶意利用,还可能导致信息的非法泄露和被恶意篡改。
  • 计算机中的“应用逻辑炸弹”是指在特定逻辑条件满足时,实施破坏的计算机程序,该程序触发后造成计算机数据丢失、计算机不能从硬盘或者软盘引导,甚至会使整个系统瘫痪,并出现物理损坏的虚假现象。
  • 实施拒绝服务(Denial of Service)攻击,包括其高级形式–分布式拒绝服务(Distributed Denial of Service)攻击,黑客的目标是让信息系统无法正常工作提供服务,以达到其背后不可告人的目的(例如商业或者政治目的)。

5. Linux操作系统的安全机制

Linux系统安全机制包括:

  • 硬件机制
  • 操作系统机制(包括访问控制、文件系统安全等)
  • 安全应用程序(如杀毒软件、入侵检测系统)。
  • 硬件机制是一种通过物理上的“钥匙”来控制访问的机制,例如使用身份验证硬件令牌,它可以授予唯一的权限,提高系统的安全性。

  • 操作系统机制是通过操作系统的访问控制来防止未认证的用户访问系统资源的安全策略。例如,Linux系统的权限控制采用的是Unix的访问控制模型,它允许管理员通过文件或目录的访问权限来控制用户,进程,文件等系统资源的访问权限。

    此外,Linux系统采用了PAM(Linux提供的认证模块)和SELinux(安全监督),可以针对各种网络攻击(如拒绝服务攻击,信息泄露攻击,身份欺诈攻击等)实施有效的防护控制。例如,PAM(Pluggable Authentication Module)可以控制用户认证,SELinux可以控制内存访问,并可以根据规则设置安全响应,从而有效地防范黑客的网络攻击。

  • Linux还可以利用安全应用程序来提高安全性。主要的安全应用程序有杀毒软件、入侵检测系统,用于防范不断发展的新型病毒和木马攻击。例如,使用入侵检测系统可以有效地检测和报告网络的安全事件,并可以查找潜在的安全问题。

Linux系统也可以利用安全工具脚本来提高系统安全。比如:

  • 1.Linux安全报告工具,可以自动扫描和分析系统的安全漏洞,修复它们。
  • 2.SSH安全审计工具,可以检查SSH配置文件和日志以检测异常行为。
  • 3.Nmap扫描工具,它可以自动发现网络漏洞和安全漏洞方面的信息。

以上是Linux操作系统的安全机制,它们可以帮助加强系统的安全性以抵御不断发展的网络攻击。

6. 系统性能安全检查

6.1 Accounts检查

# less /etc/passwd
# grep :0: /etc/passwd

注意新的用户,和UID/GID是0的用户。

6.2 Log检查

注意“entered promiscuous mode”(进入混杂模式)
混杂模式就是接收所有经过网卡的数据包,包括不是发给本机的包。默认情况下,网卡只把发给本机的包(包括广播包)传递给上层程序,其他的包一律丢弃。

一般会出现在/var/log/messages中

6.3 Processes检查

# ps -aux

注意UID是0的进程

lsof -p [可疑的进程号]

察看该进程所打开端口和文件

6.4 Files检查

# find / -uid 0 -perm -4000 -print	#-perm:匹配特殊权限 -4000表示SUID
# find / -size +10000k -print
# find / -name '…' -print
# find / -iname ' ' -print
# find / -name '。' –print

注意SUID文件,可疑大于10M,…,。空格文件

当一个设置了SUID 位的可执行文件被执行时,该文件将以所有者的身份运行,也就是说无论谁来执行这个文件,他都有文件所有者的特权。
如果所有者是 root 的话,那么执行人就有超级用户的特权了

用八进制数4000表示setuid权限位,2000表示sgid权限位。

6.5 rpm检查

校验所有的RPM软件包,查找丢失的文件

[root@node-251 yurq]# rpm -Va
S.5....T.  c /etc/elasticsearch/elasticsearch.yml
S.5....T.  c /etc/profile

输出格式:

S 表示文件长度发生了变化
M 表示文件的访问权限或文件类型发生了变化
5 表示MD5校验和发生了变化
D 表示设备节点的属性发生了变化
L 表示文件的符号链接发生了变化
U 表示文件/子目录/ 设备节点的owner 发生了变化
G 表示文件/子目录/ 设备节点的group 发生了变化
T 表示文件最后一次的修改时间是发生了变化

注意和这些相关的 /sbin, /bin, /usr/sbin, and /usr/bin
平时养成安装第三方文件时check MD5的习惯,要不太恐怖了
运行的时候会出很多5或者missing的提示,如果不是上面及格目录的,不用太注意

6.6 Network检查

# ip link | grep PROMISC

正常网卡不该进入promisc模式,当然安全server除外,否则可能是有人入侵在sniffer

# lsof -i
# netstat -nap

察看不正常打开的TCP/UDP端口,需要平时注意

arp -a

6.7 Schedule检查

注意root和UID是0的schedule

# crontab -u root -l
# cat /etc/crontab
# ls /etc/cron.*

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/593117.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【云计算】云存储是什么意思?与本地存储有什么区别?

云计算环境下,衍生了云存储、云安全、云资源、云管理、云支出等等概念。今天我们就来了解下什么是云存储?云存储与本地存储有什么区别? 云存储是什么意思? 云存储是一种新型的数据管理方式,它通过网络将大量不同类型、…

UGUI进阶知识[二十九]循环GridView

节省内存的常用滑动列表还有一种形式,上下滑动的GridView。这种格式的滑动列表可用于移动设备的背包,仓库,商店UI等数据可能海量从而导致产生特别多但又看不见的UI的情况。 于是基于 UGUI进阶知识[八]循环利用滑动列表的循环ListView工程做了…

普源1G带宽4通道10G采样率数字示波器MSO8104

超高性价比七合一 集成示波器在如今的集成设计领域,一款集成度较高的综合示波器已经成为设计工程师必不可少的得力工具。 MSO8000 系列数字示波器,它集 7 种独立仪器于一体,包括一台示波器、一台 16 通道逻辑分析仪、一台频谱分析仪、一台任…

煤矿电子封条建设实施方案算法 yolov7

煤矿电子封条建设实施方案算法通过yolov7网络模型深度学习技术,煤矿电子封条建设实施方案算法作为一种智能化安全新模式被广泛应用于各类场景中。YOLOv7 的发展方向与当前主流的实时目标检测器不同,研究团队希望它能够同时支持移动 GPU 和从边缘到云端的…

高完整性系统:Separation Logic for Automated Verification

目录 1. INTRODUCTION TO SEPARATION LOGIC 分离逻辑 1.1 霍尔推理(Hoare Reasoning) 1.2 堆指针的影响 1.3 全局和局部推理(Global and Local Reasoning) 1.4 组合推理(Compositional Reasoning) 1.…

chatgpt赋能python:Python中怎样输入数据以及数据类型

Python中怎样输入数据以及数据类型 Python是一种高级编程语言,常用于数据处理和分析、机器学习和Web开发等任务。输入数据是Python编程中的重要环节,因此本文将介绍Python中输入数据的方法和数据类型。 什么是数据输入? 数据输入是指将数据…

国内主流AI大模型盘点

今年年初,轰动科技圈的大事就是ChatGPT的面世,它的到来打响了AI智能时代的第一枪,同时展开了一场别开生面的智能科技革命。 随着ChatGPT迅速走红,国内各大企业纷纷发力认知大模型领域。经过一段时间的酝酿,国内的AI领域也开启了“…

StableStudio,比Midjourney还牛逼的绘画平台,免费!

大家好,我是鸟哥。 之前给大家推荐过Midjourney和Bluewillow两个AI绘画平台:简直了!比Midjourney更刺激,还免费!Midjourney功能超级强大,但比较傲娇,很贵,是否让用户免费体验要看心…

数据可视化系列指南之地图类图表大全

导语 随着数据在各行业中的应用越来越广泛,大家也逐渐认识到数据可视化在企业生产经营中的重要作用,在数据可视化过程中,图表是处理数据的重要组成部分,因为它们是一种将大量数据压缩为易于理解的格式的方法。数据可视化可以让受…

jar包和war包的区别;项目打包成jar或者war且运行在Linux上的tomcat

jar包和war包的区别: war包:通常是web应用后,例如网站,打成包部署到容器(可以是tomcat)中。含有包括WEB-INF包。war包通常就是放在tomcat包的/webapps下然后自动编译和运行。 jar包:通常是开发时要引用的类&#xff…

怎样使用Fiddler进行移动端抓包?附视频教程包你学会

目录 前言 抓包 什么是抓包 哪些场景下需要抓包 Fiddler Fiddler抓包原理 安装 Fiddler移动端抓包 第一步:允许远程计算机连接 第二步,设置手机网络代理 第三步,允许捕获HTTPS连接 第四步,手机安装证书 前言 本篇文章…

chatgpt赋能python:Python中如何提取字段中的数字

Python中如何提取字段中的数字 在数据分析和处理中,经常需要提取文本中的数字数据。在Python中,有多种方法可以实现这一操作。本篇文章将介绍Python中提取字段中的数字的方法,并给出示例代码。 使用正则表达式 正则表达式是Python中处理文…

二十、C++11(上)

文章目录 一、前言二、C11诞生简介三、列表初始化(一){}初始化(二)initializer_list容器1. initializer_list 概念2. initializer_list的使用场景3. initializer_list接口函数模拟实现 四、关键字(一)auto&…

duilib中使用mfc控件

我在界面相隔挺远的位置添加2个mfc控件, 需要添加: 1. 添加 CMfcWndUI 类,这是为了调用mfc控件用的 2. 添加 duilib界面 CDuiFrameWnd 3.重写 2中界面的virtual CControlUI* CreateControl(LPCTSTR pstrClassName); 函数 需要注意的地方…

xray工具—代理扫描、爬虫扫描、Burp联动

xray工具—代理扫描、爬虫扫描、Burp联动 1. Xray介绍1.1. 支持漏洞检测类型1.2. 官网地址 2. 常用扫描模式2.1. 生成证书2.1.1. 浏览器安装证书 2.2. Xray基础主动扫描2.2.1. 基础主动扫描命令2.2.2. 基础主动扫描结果 2.3. Xray代理模式扫描2.3.1. 代理模式配置代理2.3.2. 代…

一场变革来到零售业,盖雅「劳动力账户」助力连锁门店全面管理人效

‍ 上半年,逐渐回暖的出游,为文旅和线下零售业的营收创造了希望, 但面对高周转率和低利润率的行业竞争格局,比起令人兴奋的营收,大部分零售企业仍在焦虑营收背后的成本。 或许是过去三年的环境让更多企业学会了「精…

Microsoft Build 两大主题:Copilots 和插件

在 Microsoft Build 中,贯穿会议的两个主要主题是 Copilots - 涵盖广泛产品和服务的 AI 助手 - 以及插件,它们有效地将 Copilots 转变为聚合器,可能使其成为企业和消费者客户的一站式商店。 微软MVP实验室研究员 张善友 深圳友浩达 CTO&…

Python:Python编程:金融量化交易

金融量化交易 1. numpy2. scipy3. Pandas3.1 : Series 3.2: DataFrame代码示例 在金融量化交易中,下面几个模块是应用的比较广泛的 numpy (Numberic Python) : 提供大量的数值编程工具,可以方便的处理:向量矩阵等运算,…

cuda编程学习——CUDA内存介绍(七)

前言 参考资料: 高升博客 《CUDA C编程权威指南》 以及 CUDA官方文档 CUDA编程:基础与实践 樊哲勇 文章所有代码可在我的GitHub获得,后续会慢慢更新 文章、讲解视频同步更新公众《AI知识物语》,B站:出门吃三碗饭 …

Linux 中断子系统中GIC 中断控制器基本分析

GIC 是 ARM 公司给 Cortex-A/R 内核提供的一个中断控制器,类似 Cortex-M 内核(STM32)中的 NVIC。 GIC:Generic Interrupt Controller,通用中断控制器。 NVIC:Nested Vectored Interrupt Controller&#…