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" [email protected]

注意:你需要安装邮件工具如 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
相关推荐
艾伦_耶格宇8 分钟前
【NGINX】 -10 keepalived + nginx + httpd 实现的双机热备+ 负载均衡
运维·nginx·负载均衡
选与握18 分钟前
ubuntu工控机固定设备usb串口号
linux·运维·ubuntu
Paraverse_徐志斌37 分钟前
基于 Zookeeper 部署 Kafka 集群
ubuntu·zookeeper·kafka·消息队列
休息一下接着来43 分钟前
C++ I/O多路复用
linux·开发语言·c++
舰长1151 小时前
ubuntu 安装mq
linux·运维·ubuntu
不是吧这都有重名1 小时前
利用systemd启动部署在服务器上的web应用
运维·服务器·前端
liuyunluoxiao1 小时前
进程间通信--信号量【Linux操作系统】
linux
传知摩尔狮1 小时前
Linux 中断源码性能分析实战:从内核深处榨取每一丝性能
linux·运维·服务器
春风化作秋雨2 小时前
Nginx应用场景详解与配置指南
运维·nginx
BXCQ_xuan2 小时前
Ngrok 配置:实现 Uniapp 前后端项目内网穿透
运维·uni-app