再探 audit 审计机制

在文章如何审计 Linux 系统的操作行为中, 我们详细介绍了审计系统行为的几种方式, 以及对应的优缺点. 但是在 audit 方面介绍还不够深入, 缺乏实践使用的一些准则. 本文则对 audit 机制以及相关工具做更多的延申介绍, 主要包含以下几点: auditd 工作机制 auditd 机制的延申 auditbeat 工作机制 wazuh 工作机制 Elkeid 工作机制 其它工具 packetbeat...

mysql 客户端访问崩溃排查

错误说明 近期在测试 shardingsphere-proxy 工具的时候, 接连碰到几例 mysql 客户端崩溃的情况, 各 mysql 客户端分布在不同主机, 以及不同版本上. 通过 gdb 直接跟踪可以看到如下错误所示: # 所有版本以 gdb 方式连接: gdb -ex run -ex bt --args mysql...

如何杀掉 close_wait 状态的连接

CLOSE_WAIT 连接状态说明 在 tcp 连接状态中, LISTEN, ESTABLISHED 和 TIME_WAIT 可能是最为常见的三类状态. 相比而言 CLOSE_WAIT 就比较少见, 大多数情况下 CLOSE_WAIT 状态持续的时间会很短, 如果持续时间很长, 就意味着程序处理可能出现了异常. 如下图所示: TCP A TCP B 1. ESTABLISHED...

systemd 方式启动 agent 踩坑记录

systemd 机制统一了不同 Linux 发行版的服务管理方式, 不过也引入了一些不可预知的问题. 本文则记录以 systemd 方式启动 agent(daemon 进程, 可执行系统命令, 采集数据等) 服务引入的一些问题. 重启 agent 服务时也重启服务的子进程 比如以下 systemd 服务: [Unit] Description=agent auto start [Service] Type=simple...

tcp 长连接保活注意点

tcp 长连接一直是提升系统性能的重要手段. 不过在复杂网络或者请求很少的时候, 也会通过保活等方式维持连接的建立. 保活可以用来探测连接, 进而可能释放掉已经无效的连接. 在一些跨网以及含有硬防的网络环境中, 一些网络设置可能默认会 kill 掉长时间空闲的 tcp 会话, 这种情况下 tcp 连接的保活就显得更为重要. 本文则记录了 tcp 连接保活的几点事项. 保活的方式 问题汇总 参考 保活的方式 通常包含系统层和应用层两种保活方式. 系统层 系统层主要是...

haproxy 使用及问题汇总

早期文章在云中使用 proxy protocol 中, 我们介绍了 haproxy 在云环境中的一些使用案例, 同时也包括一些 proxy protocol 使用, acl 规则限制等注意事项. 本文则主要介绍使用 haproxy 时常见的一些问题, 后期碰到的问题也会在本文中持续更新. 问题列表 haproxy 重复启动问题 max open file 受限问题 supervisord...

rclone 工具使用及问题汇总

rclone 作为文件和对象存储的管理工具, 经过近些年的发展已经完好的支持各种存储协议, 比如 HDFS, FTP, SFTP, GCS 和 S3(兼容 aws, 金山云, 腾讯云, 阿里云等)等, 逐渐有统一管理云存储之势, 从 rclone-github 来看, 各大云厂商也逐渐将各自的存储协议合并到了 rclone 中. 这在对象存储统一管理, 尤其是多云管理的场景中带来了很大的便利, 也便于我们实现诸如统一运维管理的目标. 同时,...

systemtap 工具集介绍

在文章Linux 系统动态追踪技术介绍中, 我们提到了 systemtap 相关的技术. systemtap 在 Linux 系统排错方面一直占据着很重要的角色, 其提供了很成熟的调试符号及复杂的探针处理程序, 可以在系统调用, 用户空间及内核空间几个方面实现细粒度的跟踪分析, 更详细的介绍可以参考 dynamic-tracing. systemtap-toolkit 工具集则是在此基础上,搜集并整理的一些常用的分析工具, 方便对 Linux 系统中一些疑难问题的跟踪处理. 下面的工具列表部分来源于网络, 进行了简单修改以支持 staprun 方式运行时可以指定额外的参数. 具体见参考部分. 工具列表...

不同级别的延迟估算

Order-of-Magnitude Estimates read more from «Understanding Software Dynamics», Chapter 1, section 6. The phrase order of magnitude refers to an approximate measure of the size...

如何审计 ssh 会话操作

目前从命令行终端操作方面, 主要可以通过以下两种方式记录 ssh 会话的操作, 不过这些方式都存在固有的缺点, 难以达到审计的目的. 如下所示: 1. 终端工具日志 这种方式主要依赖终端工具(比如 securecrt, iterm2) 的日志功能, 其可以记录会话的内容并保存到本地机器的文件中. 不过这种方式强依赖使用者的自觉性, 比较严重的情况下, 一些使用者可能删掉本地日志来掩盖自身失误的操作记录. 2. snoopy 记录 snoopy 通过封装 exec, execve 系统调用来记录所有的历史操作,...