day10-别名-MD5,aide-堡垒机

1. 别名

  • 应用场景
    • 命令精简
    • 给危险命令加上保险

1.1. 检查别名

复制代码
[root@kylin210 ~]# alias
alias cp='cp -i'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
[root@kylin210 ~]# 

1.2. 配置别名

  • 命令行配置(临时生效)

    alias 别名='命令'

  • 写入/etc/profile,(永久生效)

    [root@kylin210 ~]# vim /etc/profile
    alias grep='grep --color'
    [root@kylin210 ~]# source /etc/profile

    ubuntu写入到~/.bashrc中

  • 给rm配置别名,只要运行rm命令就输出:请不要使用rm,请使用mv

    1.临时命令行配置
    alias rm='echo please do not use rm'

    \rm:可以临时取消别名

    2.永久写入到/etc/profile中

    3.重新登录后恢复到rm='rm -i'
    原因:~/.bashrc中的别名优先生效

2. 系统校验检查

2.1. MD5

  • 检查文件内容是否改变

  • 下载获取的文件是否与官方一致

  • 哈希算法

  • 指纹检验

    将md5sum写入到文件

    [root@kylin210 /dir]# md5sum /dir/test.txt > /study/test.txt.md5
    [root@kylin210 /dir]# echo 123 > test.txt

    修改文件内容后再校验

    [root@kylin210 /dir]# md5sum -c /study/test.txt.md5
    /dir/test.txt: 失败
    md5sum: 警告:1 个校验和不匹配

2.2. aide

  • 通过配置文件配置监控哪个目录,哪些文件
  • 监控md5/sha,监控文件属性信息
2.2.1. 麒麟红帽
  • 安装aide软件

    yum install aide -y

  • 进行配置

    /etc/aide.conf
    配置文件分为2个部分
    1.创建各种的监控指标
    2.指定目录或文件,并搭配上面的集合

    FIPSR = p+i+n+u+g+s+m+c+acl+selinux+xattrs+sha256

    p:permission权限
    i:inode号
    n:硬链接数量
    u:user用户
    g:group用户组
    s:size大小
    m:时间 文件内容变化时间
    c:ctime 属性变化时间
    acl+selinux: 特殊权限
    xattrs: 特殊属性

    /etc/ FIPSR

  • 根据配置文件生成初始的指纹信息库(压缩包)

    [root@kylin210 ~]# aide --init
    Start timestamp: 2025-05-08 11:18:24 +0800 (AIDE 0.16.2)
    AIDE initialized database at /var/lib/aide/aide.db.new.gz

    Number of entries: 1155


    The attributes of the (uncompressed) database(s):

    /var/lib/aide/aide.db.new.gz
    MD5 : GY4VcDT9x0gAozANZFhIWg==
    SHA1 : K+qXUKLA0oKdbkkxYivNmPAGkUc=
    RMD160 : PZS7PbNWFcM9RnZqzjKesR0YvQE=
    TIGER : NWjNU0CE23Kl4i2/orayq0aoaC6TO0YQ
    SHA256 : gJ+5BCRdd2XhrKvL/uRtoLM5C7GZ3LIK
    +BrHiI7Z7bk=
    SHA512 : Bris8rJRfFUzi7UokfWouf8sjEIx+PmT
    WU5sAo8oPWMe50N9co67Om6dvSuukQZp
    ob5A2SYCtuJr5fe7I/oiVA==
    SM3 : Yj75mwGFtu0YgrU2y8jt8Y+dNaffw8et
    CsROpxIsfU0=

    End timestamp: 2025-05-08 11:18:24 +0800 (run time: 0m 0s)

    修改文件名

    [root@kylin210 ~]# mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz

  • 使用

    [root@kylin210 ~]# aide --check
    Start timestamp: 2025-05-08 11:45:58 +0800 (AIDE 0.16.2)
    AIDE found differences between database and filesystem!!

    Summary:
    Total number of entries: 1155
    Added entries: 0
    Removed entries: 0
    Changed entries: 3


    Changed entries:

    f = ... mc..... : /etc/hostname
    f = ... mc..... : /etc/localtime_tmp
    f > ... mci.C.. : /etc/passwd


    Detailed information about changes:

    File: /etc/hostname
    Mtime : 2025-05-03 15:12:47 +0800 | 2025-05-08 11:45:01 +0800
    Ctime : 2025-05-03 15:12:47 +0800 | 2025-05-08 11:45:01 +0800

    File: /etc/localtime_tmp
    Mtime : 2025-05-08 11:15:01 +0800 | 2025-05-08 11:45:01 +0800
    Ctime : 2025-05-08 11:15:01 +0800 | 2025-05-08 11:45:01 +0800

    File: /etc/passwd
    Size : 1927 | 1934
    Mtime : 2025-05-07 16:07:29 +0800 | 2025-05-08 11:45:51 +0800
    Ctime : 2025-05-07 16:07:29 +0800 | 2025-05-08 11:45:51 +0800
    Inode : 34470127 | 34893767
    SHA256 : GTKqcTZbo7FtMUCxcpoXrndpHYcJO3FT | 1ZRlXvcF+5vMKgtOw6S06rO9iNxONklt
    91vuoFUqM+A= | ePMD5WepX/E=


    The attributes of the (uncompressed) database(s):

    /var/lib/aide/aide.db.gz
    MD5 : GY4VcDT9x0gAozANZFhIWg==
    SHA1 : K+qXUKLA0oKdbkkxYivNmPAGkUc=
    RMD160 : PZS7PbNWFcM9RnZqzjKesR0YvQE=
    TIGER : NWjNU0CE23Kl4i2/orayq0aoaC6TO0YQ
    SHA256 : gJ+5BCRdd2XhrKvL/uRtoLM5C7GZ3LIK
    +BrHiI7Z7bk=
    SHA512 : Bris8rJRfFUzi7UokfWouf8sjEIx+PmT
    WU5sAo8oPWMe50N9co67Om6dvSuukQZp
    ob5A2SYCtuJr5fe7I/oiVA==
    SM3 : Yj75mwGFtu0YgrU2y8jt8Y+dNaffw8et
    CsROpxIsfU0=

    End timestamp: 2025-05-08 11:45:58 +0800 (run time: 0m 0s)

🔄 更新数据库(确认变更合法后)

如果你已经确认某些更改是合法的(如系统升级、配置修改),可以更新数据库以反映新状态:

复制代码
aide --update
2.2.2. ubuntu/debian

一、安装 AIDE:

复制代码
apt install aide

安装完成后会自动初始化数据库,并设置定时任务。


二、AIDE 配置文件用文本编辑器打开它进行自定义配置:

复制代码
vim /etc/aide/aide.conf

🔍 示例配置说明:

复制代码
# 主配置文件示例
database=file:/var/lib/aide/aide.db.gz
database_out=file:/var/lib/aide/aide.db.new.gz

# 定义监控规则
NORMAL = p+i+n+u+g+s+m+c+acl+selinux+xattrs+sha256

# 应用规则到目录
/etc = NORMAL
/usr = NORMAL
/bin = NORMAL
/sbin = NORMAL

# 排除目录
!/var/log/
!/tmp/
!/proc/
!/sys/

✅ 常见规则标志解释:

|----------|---------------------|
| 标志 | 含义 |
| p | 权限(permissions) |
| i | inode |
| n | 文件名 |
| u | 所有者(user) |
| g | 组(group) |
| s | 文件大小 |
| m | 修改时间(mtime) |
| c | 创建时间(ctime) |
| sha256 | 使用 SHA-256 哈希校验文件内容 |
| acl | 访问控制列表 |
| xattrs | 扩展属性 |

可以根据需要增删监控路径或更改规则。


🛠️ 三、初始化数据库

首次使用前必须初始化数据库:

复制代码
aide --init --config /etc/aide/aide.conf

这将生成一个初始数据库文件 /var/lib/aide/aide.db.new

建议将其重命名为正式数据库:

复制代码
cp /var/lib/aide/aide.db.new /var/lib/aide/aide.db

🔍 四、手动执行检查

运行以下命令来检查系统文件是否被修改:

复制代码
aide --check

如果发现任何变化,终端将输出详细差异信息。


🔄 五、更新数据库(确认变更合法后)

如果你已经确认某些更改是合法的(如系统升级、配置修改),可以更新数据库以反映新状态:

复制代码
aide --update

这将生成新的数据库文件 /var/lib/aide/aide.db.updated,你可以手动替换旧数据库:

复制代码
sudo cp /var/lib/aide/aide.db.updated /var/lib/aide/aide.db

🕹️ 六、自动定期检查(推荐使用 cron)

为了持续监控系统,建议使用 cron 自动执行检查并发送邮件通知。

  1. 编辑 root 用户的 crontab:

    crontab -e

  2. 添加如下行(每天凌晨 2:00 执行检查):

    0 2 * * * /usr/sbin/aide --check | mail -s "AIDE Integrity Check Report" your_email@example.com

注意:你需要安装邮件工具如 mailutilsssmtp 才能发送邮件。

安装邮件工具示例(Debian/Ubuntu):

复制代码
apt install mailutils

📋 七、查看 AIDE 日志

AIDE 默认不会写入日志文件,但你可以将输出重定向到文件:

复制代码
sudo aide --check > /var/log/aide.log 2>&1

或者结合 cron 定期记录:

复制代码
0 2 * * * /usr/sbin/aide --check >> /var/log/aide.log 2>&1

🧪 八、测试验证(可选)

你可以手动修改某个受监控的文件(例如 /etc/hosts)来测试 AIDE 是否能检测到变化:

复制代码
echo "test modification" | sudo tee -a /etc/hosts
sudo aide --check

你应该能看到类似如下输出:

复制代码
AIDE found differences between database and filesystem!!

九、总结常用命令速查表

|-----------------|---------------------------------------------------------------|
| 操作 | 命令 |
| 安装 AIDE | sudo apt install aide |
| 初始化数据库 | sudo aide --init |
| 手动检查系统完整性 | sudo aide --check |
| 更新数据库 | sudo aide --update |
| 替换数据库文件 | sudo cp /var/lib/aide/aide.db.updated /var/lib/aide/aide.db |
| 设置定时检查(crontab) | sudo crontab -e |
| 查看帮助 | man aideaide --help |


3. 堡垒机

堡垒机 (Bastion Host),也称为跳板机运维审计系统 ,是一种用于集中管理服务器访问权限、保障运维操作安全的网络安全设备或系统。


3.1. 堡垒机的核心作用

堡垒机主要用于解决以下问题:

|----------------|-------------|
| 问题 | 堡垒机解决方案 |
| 多人同时访问服务器,权限混乱 | 集中账号管理和权限控制 |
| 运维操作不可追溯 | 操作记录与审计 |
| 密码泄露风险高 | 统一认证与密钥管理 |
| 不安全的操作行为无法监控 | 实时监控与告警机制 |


3.2. 堡垒机的主要功能

  1. 统一入口访问控制
    • 所有对服务器的访问必须通过堡垒机进行,形成一个"唯一的入口"。
    • 支持多种协议:SSH、RDP、Telnet、FTP、SFTP、VNC等。
  1. 身份认证
    • 支持多因素认证(如用户名/密码 + 动态令牌 + 生物识别)。
    • 支持AD/LDAP集成,实现统一身份管理。
  1. 权限管理
    • 精细化授权:按用户、角色、资源分配不同的访问权限。
    • 可控的最小权限原则(Principle of Least Privilege)。
  1. 操作审计
    • 全过程录像:图形界面操作可录屏,命令行操作可录屏+命令级审计。
    • 审计日志包括时间、用户、IP、操作内容等,便于事后追责。
  1. 会话管理
    • 实时监控用户会话,支持强制断开异常连接。
    • 支持会话共享,方便协作和监督。
  1. 自动化运维
    • 支持脚本下发、批量执行、定时任务等功能。
    • 提升效率的同时确保安全性。
  1. 安全防护
    • 防止暴力破解、非法登录尝试。
    • 异常行为检测与告警。

3.3. 堡垒机的应用场景

  • 企业数据中心:集中管理数百上千台服务器。
  • 云环境:对接AWS、阿里云、腾讯云等平台,统一管理云主机。
  • 外包运维:对外包人员的操作进行严格管控和审计。
  • 合规要求:满足等保2.0、ISO 27001、GDPR等法规要求。

3.4. 常见堡垒机品牌(国内外)

国内:

  • 华为云堡垒机
  • 阿里云云堡机
  • 腾讯云堡垒机
  • 安恒信息(DBAPPSecurity)
  • 启明星辰
  • 绿盟科技

国外:

  • Palo Alto Networks Prisma Access(含堡垒机功能)
  • IBM Security Guardium(偏向数据库堡垒)
  • SolarWinds Bastion Host

堡垒机是保障服务器运维安全的重要工具,通过统一访问控制、身份认证、操作审计等方式,防止误操作、恶意行为和数据泄露。

3.5. 离线安装堡垒机

离线安装 - JumpServer 文档

从飞致云社区 下载最新的 linux/amd64 离线包, 并上传到部署服务器的 /opt 目录

3.5.1. 安装部署
复制代码
cd /opt
tar -xf jumpserver-ce-v4.9.0-x86_64.tar.gz
cd jumpserver-ce-v4.9.0-x86_64

# 根据需要修改配置文件模板, 如果不清楚用途可以跳过修改
cat config-example.txt

# 安装
./jmsctl.sh install

# 启动
./jmsctl.sh start

安装完成后 JumpServer 配置文件路径为: /opt/jumpserver/config/config.txt


cd jumpserver-ce-v4.9.0-x86_64

# 启动
./jmsctl.sh start

# 停止
./jmsctl.sh down

# 卸载
./jmsctl.sh uninstall

# 帮助
./jmsctl.sh -h
3.5.2. 访问
复制代码
安装成功后,通过浏览器访问登录 JumpServer

地址: http://<JumpServer服务器IP地址>:<服务运行端口>
用户名: admin
密码: ChangeMe
相关推荐
HWL56792 小时前
“preinstall“: “npx only-allow pnpm“
运维·服务器·前端·javascript·vue.js
David WangYang2 小时前
基于 IOT 的安全系统,带有使用 ESP8266 的语音消息
物联网·安全·语音识别
合作小小程序员小小店3 小时前
SDN安全开发环境中常见的框架,工具,第三方库,mininet常见指令介绍
python·安全·生成对抗网络·网络安全·网络攻击模型
小米里的大麦3 小时前
022 基础 IO —— 文件
linux
Xの哲學3 小时前
Perf使用详解
linux·网络·网络协议·算法·架构
门前灯3 小时前
Linux系统之iprconfig 命令详解
linux·运维·服务器·iprconfig
tb_first3 小时前
k8sday09
linux·云原生·容器·kubernetes
忧郁的橙子.3 小时前
三、k8s 1.29 之 安装2
linux·运维·服务器
数据智能老司机4 小时前
实现逆向工程——汇编指令演练
安全·逆向·汇编语言
huangyuchi.4 小时前
【Linux系统】动静态库的制作
linux·运维·服务器·动态库·静态库·库的简单制作