当前位置: 首页 > news >正文

计算机网站建设体会网站改版怎么办

计算机网站建设体会,网站改版怎么办,想换掉做网站的公司,北京网上申请营业执照audispd调研 1 问题背景 在Linux中#xff0c;当某个进程调用audit_set_pid将自己的pid保存到内核的audit模块后#xff0c;如果有日志生成#xff0c;kaudit内核线程就会通过netlink通信机制将审计日志发送给audit_pid#xff0c;因此#xff0c;只能有一个进程占用aud…audispd调研 1 问题背景 在Linux中当某个进程调用audit_set_pid将自己的pid保存到内核的audit模块后如果有日志生成kaudit内核线程就会通过netlink通信机制将审计日志发送给audit_pid因此只能有一个进程占用audit并接收audit日志那如果有另一个进程已经占用audit呢例如auditd或者其他组件。 一种方式是可以将选择权交给用户用户可以看到当前占用audit的进程然后再决定是否将已经占用audit的进程杀死然后进行占用。另一种方式是如果用户已经在使用auditd接收日志是否有一种方式可以让auditd在运行的同时我们也能够接收和处理日志呢这种场景下就可以使用audispd。 2 audispd audispd是作为auditd的子进程运行而audispd会开启一些插件用于接收审计日志例如syslog或者sedispatch等也就是说日志转发路径变成了 kauditd - auditd - audispd - af_unix/syslog/sedispatch 下面逐个看下配置文件。 auditd.conf local_events yes write_logs yes // 将日志写入磁盘 log_file /var/log/audit/audit.log log_group root log_format RAW flush INCREMENTAL_ASYNC // 刷新模式当前为异步增量刷新模式 freq 50 // 接收到多少条日志后就写入磁盘 max_log_file 8 // 日志文件大小8MB num_logs 5 // 最大文件个数 priority_boost 4 // disp_qos lossy dispatcher /sbin/audispd // 将审计日志转发的目的进程的文件名以上是auditd.conf中的部分配置项除了控制auditd写入日志文件的配置项还有与日志转发相关的两个配置项dispatcherdisp_qos其中dispatcher是负责日志转发的组件auditd在启动后会拉起该程序然后将收到的日志转发给该程序该程序可以从标准输入读取审计日志disp_qos则是控制当审计日志太多时auditd和dispatcher之间的行为auditd和dispatcher之间有一个128K的队列当队列满时日志会被丢弃(lossy)或者auditd会等待队列有空间可以放入(lossless)。 audispd.conf q_depth 250 // 队列深度 overflow_action SYSLOG // 当内部队列满时的行为当前值表示会写入一条syslog的日志 priority_boost 4 // max_restarts 10 // 重启插件的最大次数 name_format HOSTNAME // 节点信息如何插入日志中当前值表示会将HOSTNAME写入到日志中 plugin_dir /etc/audisp/plugins.d/ // 插件的路径在plugin_dir目录下存放的就是插件的配置每个配置项告诉audispd应该如何转发日志例如af_unix.conf active no // 是否启用yes/no direction out // path builtin_af_unix // 插件二进制的绝对路径对于内部插件就是插件的名称内部插件有af_unix和syslog type builtin // 类型builtin/always args 0640 /var/run/audispd_events // 参数 format string // 格式binary/string从插件类型看总共有三种类型 内部插件的af_unixaudispd将审计日志发送给unix套接字 内部插件的syslogaudispd将审计日志发送给syslog 外部插件audispd将审计日志发送给某个程序的标准输入 从上面对几个配置文件进行分析可以发现auditd和audispd只是作为审计日志转发的中间组件并且使用队列作为中间缓冲而对于内核的日志发送者来说日志的接收者只有auditd。 从几个组件的启动方来看auditd负责拉起audispdaudispd负责拉起always类型的插件。 因此如果在某些场景下希望与auditd同时运行且获取审计日志可以使用audispd的af_unix插件但是可能存在其他问题 规则是全局的多个程序都只设置自己的规则每个程序都会收到所有的数据对于新增af_unix插件的操作如果插件的目录是默认的当然没有问题如果是其他路径可能无法获取到插件目录audispd增加新的af_unix插件后需要重启auditd才能生效如果agent启动一段时间后出现问题退出就会导致频繁kill auditd会造成启动失败如果其他非auditd程序正在使用audit那就无法使用audispd如果audispd没有启动可能是由于启动异常也可能是由于没有需要启动的插件如何区分 3 高版本中的audispd 如何查看auditd的版本号auditd自身没有提供查看版本号的选项只能通过日志或者包管理工具查看auditd的版本号。 CentOS中在/var/log/messages中会打印auditd的版本号也可以通过rpm -qi audit查看版本号。对于ubuntu类在/var/log/kern.log中没看到auditd的版本号但是可以通过dpkg -l | grep auditd查看版本号。 audit-userspace仓库的标签最早只有2.7.4这个版本已经有audispd而从3.0.0开始audispd作为auditd的一个线程工作因此auditd就包含了audispd原有的能力。 4 audispd引入的性能问题 由于使用audispd进行日志中转在中转过程中引入了两个队列 auditd和audispd之间有一个128K的缓存队列disp_qos用于控制缓存队列满的行为audispd内部会维护一个队列q_depth用于控制队列的长度 测试环境 CentOS 7.5(3.10.0-1160.102.1.el7.x86_64)4C8Gaudit: backlog_limit8192 只启动auditdaudispd没有配置插件 是否丢弃日志可以通过查看auditctl -s中的lost或者/var/log/messages日志文件。 事件量级(eps)是否丢弃日志系统CPU1000NO1.3%5000NO5%6000NO6%7000NO7%8000YES8%9000YES10%10000YES10% 启动auditdaudispd开启af_unix插件并使用socat命令接收审计日志 使用socat - UNIX-CONNECT:/var/run/audispd_events命令接收审计日志是否丢弃日志可以查看/var/log/messages中的dispatch err (pipe full) event lost日志。 事件量级(eps)q_depth是否丢弃日志系统CPU备注50080NO2%500250NO2%5005000NO2%100080YES4%1000250YES4%10005000YES4%用例执行3分钟开始丢弃日志 不启动auditd使用其他程序占用并接收审计日志 #include stdio.h #include libaudit.h #include errno.hint main() {pid_t pid getpid();printf(current pid%d\n, pid);int fd audit_open();int ret 0;ret audit_set_pid(fd, pid, WAIT_YES);if(ret0) {perror(audit set_pid failed: );}ret audit_set_backlog_limit(fd, 8192);if(ret0) {perror(audit_set_backlog_limit failed: );}struct audit_reply audit_rep;struct sockaddr_nl local_addr;memset(local_addr, 0, sizeof(local_addr));local_addr.nl_family AF_NETLINK;do {fd_set read_mask;FD_ZERO(read_mask);FD_SET(fd, read_mask);ret select(fd 1, read_mask, NULL, NULL, NULL);if(ret 0 ) {break;}ret audit_get_reply(fd, audit_rep,GET_REPLY_NONBLOCKING, 0);audit_rep.msg.data[audit_rep.len] \0;printf(recv audit msg: %s\n, audit_rep.msg.data);} while(1);audit_close(fd); }如果保留上面的代码中的printf语句事件量级只能到1000eps2000eps就开始丢弃日志如果将printf语句注释事件量级则可以到9000eps。 从上面的测试结果可以得出以下结论 auditd和audispd之间的队列对目标程序接收审计日志的影响很大完全限制了处理的审计日志量级audispd内部的q_depth参数对审计日志量级影响不大测试时可以忽略性能排序直接读取审计日志并快速处理 启动auditd但不启动audispd 启动audispd转发日志 5 结论 audispd能够将auditd收到的日志转发出来供多个程序使用也让其他程序能够得以与auditd同时运行但是使用该方式需要解决auditd的启停问题以及audispd带来的性能损耗问题因此如果直接使用audit接收日志不会引起其他的问题建议还是直接使用占用audit的方式。
http://www.zqtcl.cn/news/399192/

相关文章:

  • 网站开发产品需求说明小网站代码
  • 苏州网站推广排名网站建设方案范文8篇
  • 自己做考试题目网站广州番禺区美食攻略
  • 广州做网站如何如何制作一个网页
  • 网站定制开发收费标准是多少网站代码优化方案
  • 制作卡牌的网站深圳正规煤气公司
  • 手表网站哪家好网站用图片
  • 群辉nas 做网站wordpress linux 中文
  • 平面设计素材网站排名巩义网站建设方案表
  • 延庆网站制作搜索引擎优化的基础是什么
  • 管理手机网站商城网站备案流程
  • 怀化买房网站网站广告js代码添加
  • 做网站 帮别人卖服务器wordpress主题多页面
  • 代理游戏网站潍坊市建设工程管理处网站
  • 大同推广型网站建设网站规划建设与管理维护第二版答案
  • 做网站需要代码吗户外媒体网站建设免费
  • 做什么网站国外做图标网站
  • 网站建设技术部职责门户网站工作总结
  • 用个人电脑做服务器建网站急切网头像在线制作图片
  • 企业网站制作教程浙江省住房和城乡建设厅网站
  • 一个网络空间如何做两个网站哪个网站兼职做设计比较好
  • jquery代码做的网站免费搭建网站模板
  • 铁路建设监理协会官方网站邯郸市网
  • 马鞍山集团网站建设客流分析系统公司
  • 淘客网站怎么做啊抖音怎么挂小程序赚钱
  • 在哪里申请网站域名美妆销售网站开发的目的
  • 网站自动跳转施秉网站建设
  • 聊城做网站的公司咨询学校网站模板 dedecms
  • 网站域名查询赣州网站设计有哪些
  • 网站设计做多宽150m网站空间流量大吗