Linux安全体系分析与编程PDF电子书下载
- 电子书积分:21 积分如何计算积分?
- 作 者:倪继利著
- 出 版 社:北京:电子工业出版社
- 出版年份:2007
- ISBN:7121050196
- 页数:769 页
第1章 Linux安全框架 1
1.1 Linux安全概述 1
1.1.1 安全评价标准 1
1.1.2 操作系统安全特性 7
1.1.3 网络安全的OSI安全模型 8
1.1.4 数据库安全 9
1.2 Linux安全框架 9
1.3 Linux常用安全技术 11
第2章 日志系统与审计系统 14
2.1 Linux日志系统 14
2.1.1 Linux日志系统概述 14
2.1.2 syslog系统构架 15
2.1.3 printk及控制台的日志级别 17
2.1.4 printk打印消息机制 18
2.1.5 sys_syslog系统调用 22
2.2 审计系统 25
2.2.1 审计系统构架 25
2.2.2 用户空间审计系统应用程序 25
2.2.3 内核审计缓冲区管理机制 30
2.2.4 审计事件分类 31
2.2.5 内核审计系统的接口函数 31
2.2.6 内核审计系统初始化 35
2.2.7 与用户空间审计系统的netlink通信机制 36
2.2.8 利用规则链表进行审计事件过滤 39
2.3 进程的审计 43
2.3.1 进程审计上下文 43
2.3.2 系统调用记录审计信息的过程 45
2.3.3 进程辅助审计数据 49
2.4 文件系统变化监视机制 50
2.4.1 文件系统改变发起事件的机制 50
2.4.2 用于文件系统监视的数据结构 52
2.4.3 inotify机制的事件处理 54
2.4.4 文件系统变化的审计 54
2.4.5 用户空间inotify机制 58
第3章 SELinux访问控制机制 65
3.1 SELinux概述 65
3.1.1 Linux与SELinux在安全管理上的区别 66
3.1.2 Flask安全框架概述 66
3.1.3 安全模块(LSM)框架 68
3.1.4 内核SELinux的组织结构 69
3.2 SELinux策略配置语言 70
3.2.1 基本概念 71
3.2.2 TE规则的描述 72
3.2.3 RBAC规则的描述 78
3.2.4 限制规则 80
3.2.5 标识安全上下文 80
3.2.6 boolean及条件描述语句 82
3.3 SELinux策略配置 83
3.3.1 策略文件的配置 83
3.3.2 系统启动时的策略 83
3.3.3 在/proc和/selinux文件系统中的策略 84
3.3.4 SELinux设置分析工具 85
3.3.5 策略的编译与装载 91
3.4 参考策略 92
3.4.1 安全策略的概念 92
3.4.2 target二进制策略目录与文件说明 93
3.4.3 参考策略源代码分析 94
3.4.4 如何创建一个策略模块 97
3.5 用户空间客体管理器 99
3.5.1 客体管理器机制概述 99
3.5.2 使用客体管理器的样例 100
3.5.3 客体管理器接口说明 103
3.5.4 libselinux库初始化 107
3.5.5 函数avc_init分析 109
3.5.6 netlink机制获取内核SELinux实时消息 111
3.5.7 函数avc_has_perm分析 116
3.6 内核策略库及库管理 119
3.6.1 策略库结构policydb 119
3.6.2 SID表sidtab 120
3.6.3 安全级别 121
3.6.4 符号表symtab 122
3.6.5 向量访问规则表avtab 123
3.6.6 操作类别及限制规则的结构 124
3.6.7 角色结构role_datum 126
3.6.8 用户结构user_datum 127
3.6.9 角色转移结构role_tran 127
3.6.10 条件规则结构 127
3.7 文件系统selinuxfs 128
3.7.1 创建selinuxfs文件系统 129
3.7.2 load文件操作与内核策略库装载 132
3.8 SELinux安全决策过程 135
3.8.1 SELinux内核模块初始化 136
3.8.2 任务的安全管理 137
3.8.3 AVC分析 140
3.8.4 计算访问向量决策 144
3.9 安全审计的管理 147
第4章 文件权限管理 149
4.1 UNIX文件权限管理 149
4.1.1 文件的权限位分配 149
4.1.2 改变权限的命令 150
4.1.3 suid/guid 152
4.1.4 umask 152
4.2 Linux能力机制 153
4.2.1 能力的定义 153
4.2.2 能力机制操作函数集 154
4.2.3 应用程序运行设置信任值 155
4.3 ACL权限管理 159
4.3.1 ACL权限管理命令 159
4.3.2 命令getfacl和setfacl机制分析 160
4.3.3 文件系统检查ACL权限 162
第5章 PAM用户认证机制 164
5.1 PAM机制 164
5.1.1 PAM框架 164
5.1.2 PAM配置文件 165
5.1.3 服务模块说明 167
5.2 编写普通PAM机制应用程序 169
5.2.1 PAM API与SPI 169
5.2.2 PAM上下文结构 170
5.2.3 服务应用程序样例 172
5.2.4 PAM机制的实现分析 178
第6章 ClamAV杀毒应用程序 181
6.1 ClamAV概述 181
6.2 ClamAV编译安装及使用 182
6.2.1 clamd后台与clamdscan客户端 184
6.2.2 clamav-milter邮件扫描器 184
6.2.3 建立病毒库自动更新 185
6.2.4 libclamav库API 185
6.3 clamd服务器 188
6.3.1 应用程序命令参数分析 189
6.3.2 clamd服务器入口函数clamd 192
6.3.3 设置系统限制及确定资源使用量 194
6.3.4 配置文件解析 195
6.3.5 log文件操作 198
6.3.6 使用syslog机制输出调试信息 201
6.3.7 用户组及文件权限设置 202
6.3.8 进程后台化 204
6.3.9 利用socket在进程间通信 205
6.3.10 子进程执行系统命令及环境变量设置 216
6.3.11 线程 218
6.3.12 线程池 223
6.3.13 信号处理 226
6.3.14 OnAccess扫描病毒线程clamukoth 229
6.3.15 服务器进程自动重新启动保护 231
6.4 libclamav库API 232
6.4.1 病毒库的装载 232
6.4.2 病毒扫描 235
6.5 客户端应用程序 235
6.5.1 clamdscan客户端 236
6.5.2 qtclamavclient客户端应用程序 242
6.6 病毒库升级程序freshclam 246
6.6.1 病毒库定时更新 246
6.6.2 域名信息查询 248
6.6.3 HTTP协议下载病毒库文件 251
第7章 On_access文件访问拦截 257
7.1 访问扫描器概述 257
7.2 Dazuko文件访问控制及库接口分析 258
7.2.1 dazukoio库接口应用 259
7.2.2 与内核模块通信方法 262
7.2.3 Dazuko库与内核通信的数据格式 263
7.2.4 Dazuko库函数dazukoGetAccess分析 264
7.2.5 应用程序操作字符设备 267
7.3 Dazuko字符设备内核模块 269
7.3.1 注册字符设备及扫描拦截模块 269
7.3.2 后台应用程序的请求分发 272
7.3.3 Dazuko内核模块注册扫描后台 275
7.4 Dazuko拦截文件机制 279
7.4.1 Dazuko内核线程同步机制 279
7.4.2 文件访问进程与扫描后台进程的通信 282
7.4.3 扫描后台获得扫描文件和返回许可的内核过程 283
7.4.4 Dazuko拦截文件源代码分析 287
7.5 文件访问拦截方法 290
7.5.1 Redirfs文件系统概述 291
7.5.2 RedirFS应用样例 292
7.5.3 root对象和filter对象管理 293
7.5.4 RedirFS框架与filter接口使用的数据结构 296
7.5.5 root对象与filter对象绑定 299
7.5.6 RedirFS模块的初始化 300
7.5.7 转发操作函数集控制文件访问 301
7.5.8 RedirFS与filter接口的函数分析 302
7.5.9 Dazuko内核模块注册RedirFS 308
第8章 防火墙 312
8.1 防火墙概述 312
8.1.1 网络攻击 312
8.1.2 防火墙配置 313
8.1.3 防火墙的规则 315
8.2 iptables工具介绍 316
8.2.1 iptables语法及组成 316
8.2.2 iptables工具簇 318
8.3 NetFilter框架 319
8.3.1 Netfilter框架的hook及规则表 319
8.3.2 规则表的相关结构 320
8.3.3 hook控制点接入方法 324
8.3.4 包排队及包再注入 327
8.3.5 hook点操作函数集及使用方法 329
8.3.6 setsockopt和getsockopt扩展系统调用 332
8.3.7 匹配、目标和nf_sockopt_ops的注册使用 333
8.4 filter模块 337
8.4.1 filter规则表 338
8.4.2 注册规则表filter 339
8.4.3 hook函数应用规则表规则 341
8.4.4 扩展匹配state 344
8.4.5 扩展目标ulog 345
8.5 连接跟踪 350
8.5.1 连接跟踪机制 350
8.5.2 连接跟踪的数据结构 353
8.5.3 连接跟踪源代码分析 357
8.6 iptables工具源代码分析 367
8.6.1 iptables的数据结构 367
8.6.2 iptables命令选项解析 369
8.6.3 iptables工具与Netfilter框架的交互 375
8.6.4 ULOG扩展目标库 377
第9章 PKI公钥设施 380
9.1 PKI概述 380
9.1.1 PKI基本组成 380
9.1.2 PKI标准简介 380
9.1.3 PKCS的加密算法 382
9.2 证书 384
9.2.1 证书的应用 384
9.2.2 PEM编码 385
9.2.3 ASN.1语法和DER编码 386
9.2.4 X.509 v3证书内容 387
9.3 CA系统 390
9.3.1 CA认证与CA系统证书链 391
9.3.2 OCSP在线证书状态协议 392
9.4 因特网安全协议 392
9.4.1 SSL协议 393
9.4.2 TLS协议 395
9.4.3 IPSec协议 395
第10章 OpenSSL 398
10.1 OpenSSL概述 398
10.2 OpenSSL应用程序工具与应用 399
10.2.1 OpenSSL应用程序工具说明 399
10.2.2 OpenSSL工具使用方法 400
10.3 程序用openSSL库建立安全连接的方法 403
10.3.1 使用SSL层接口函数安全通信 404
10.3.2 使用BIO接口函数安全通信 405
10.4 ASN.1编码与解码接口 407
10.4.1 ASN.1对象及方法结构 407
10.4.2 编码转换函数i2d和d2i 410
10.4.3 PKI对象ASN.1编码/解码转换函数 410
10.5 PKCS#14伪随机数产生器 411
10.6 ENGINE机制 413
10.6.1 结构ENGINE及其操作函数 413
10.6.2 ENGINE链表及操作函数 414
10.6.3 ENGINE_TABLE表及应用 414
10.6.4 ENGINE机制的使用方法 415
10.7 EVP密码算法接口 416
10.7.1 EVP_Encrypt系列对称加密算法 416
10.7.2 EVP_Seal系列信封密封函数 420
10.7.3 EVP_Open系列信封开启函数 420
10.7.4 EVP_MD系列信息摘要算法 421
10.7.5 EVP_Sign系列签名函数 423
10.7.6 EVP_Verify系列签名验证函数 423
10.7.7 EVP_PKEY系列公钥算法接口 424
10.7.8 EVP_Encode系列Base64编/解码算法 425
10.7.9 PKCS#5基于口令加密的EVP接口函数 425
10.8 非对称密码算法 426
10.8.1 PKCS标准非对称密码算法概述 426
10.8.2 大数运算 426
10.8.3 PKCS#8私钥信息语法 429
10.8.4 PKCS#1 RSA密码体系 430
10.9 PKCS#6 X509扩展证书 432
10.9.1 X509扩展证书的数据结构 432
10.9.2 X509证书操作函数前缀说明 433
10.9.3 PKCS#10证书请求结构 433
10.9.4 PKCS#10证书请求操作函数 434
10.10 PKCS#7和PKCS#12信息描述接口 435
10.10.1 PKCS#7和PKCS#12信息结构 435
10.10.2 PKCS#12接口函数 438
10.10.3 PKCS#7接口函数 438
10.10.4 PKCS#7与S/MIME格式转换 439
10.11 PKI对象PEM编码 439
10.12 SSL 439
10.12.1 SSL相关数据结构 440
10.12.2 SSL API函数说明 443
10.13 BIO抽象接口的原理 448
10.13.1 BIO相关数据结构 448
10.13.2 BIO接口类型与封装方法 449
10.13.3 BIO源文件功能说明 450
10.13.4 BIO通用操作及实现 450
10.14 BIO类型说明 452
10.14.1 file类型BIO 452
10.14.2 fd类型BIO 454
10.14.3 socket类型BIO 454
10.14.4 mem类型BIO 455
10.14.5 BIO对类型BIO 456
10.14.6 connect类型BIO 458
10.14.7 accept类型BIO 459
10.14.8 NULL过滤型BIO 461
10.14.9 buffer类型BIO 461
10.14.10 Base64类型BIO 462
10.14.11 cipher类型BIO 463
10.14.12 md类型BIO 464
10.14.13 SSL类型BIO 465
第11章 可信计算与内核加密接口 470
11.1 TCG概述 470
11.1.1 TCG规范文档结构 470
11.1.2 TCG规范簇介绍 471
11.1.3 TCG可信平台功能概述 474
11.2 可信平台组成与结构 475
11.2.1 可信根 475
11.2.2 可信组成块 476
11.2.3 信任边界和传递信任 476
11.2.4 TCG密钥类型 476
11.2.5 TCG证书类型 477
11.2.6 TPM的组件构成 480
11.2.7 存储可信根框架 482
11.2.8 完整性测量 483
11.2.9 完整性报告 483
11.2.10 TPM作为通信的安全端点 485
11.3 TCG执行模型 485
11.3.1 TPM操作状态 485
11.3.2 平台操作 487
11.4 与TPM接口和软件服务 488
11.4.1 TCG软件接口和服务 488
11.4.2 应用程序交互样例 489
11.4.3 TPM命令确认 491
11.5 TCG编程接口 495
11.5.1 命名规范 495
11.5.2 命令次序和串行化 496
11.5.3 TCG命令和接口说明 497
11.6 TCG可信网络连接框架 502
11.6.1 TNC框架端点完整性及其作用 502
11.6.2 TNC框架组成结构 503
11.6.3 TNC框架接口间的基本消息流 506
11.6.4 含有TPM的TNC框架特征 507
11.6.5 含有TPM的TNC框架结构 508
11.6.6 含有TPM的TNC框架平台可信服务 510
11.6.7 TNC和TCG完整性管理模型 511
11.7 内核加密接口 512
11.7.1 算法结构 512
11.7.2 算法操作函数集结构 513
11.7.3 算法库管理 514
11.7.4 硬件加密算法模块样例 514
11.8 TPM驱动程序 517
11.8.1 TPM芯片设备结构 517
11.8.2 TPM设备链表管理 518
11.8.3 从TPM芯片读写数据 519
11.8.4 tpm_atmel安全芯片驱动程序 521
第12章 内核密钥环 524
12.1 密钥和密钥环结构 524
12.1.1 密钥结构key 524
12.1.2 密钥操作函数集结构key_type 525
12.2 密钥数据操作 526
12.2.1 密钥数据操作概述 526
12.2.2 密钥环的数据操作 526
12.2.3 用户类型密钥的数据操作 528
12.3 密钥和密钥环管理 529
12.3.1 密钥内核模块初始化 529
12.3.2 密钥操作函数集链表管理 531
12.3.3 密钥树的管理 531
12.3.4 密钥用户树的管理 532
12.3.5 通用密钥的管理 532
12.3.6 进程的密钥环管理 533
12.3.7 procfs文件系统显示key信息 535
12.4 请求key服务 539
12.4.1 请求key服务的过程 539
12.4.2 系统调用sys_add_key分析 540
12.4.3 系统调用sys_request_key分析 542
12.4.4 应用程序request-key 547
12.4.5 系统调用sys_keyctl 548
第13章 加密文件系统 551
13.1 eCryptfs文件格式及应用 551
13.1.1 eCryptfs文件系统概述 551
13.1.2 eCryptfs文件系统测试 551
13.1.3 eCryptfs的术语 552
13.1.4 eCryptfs文件格式 553
13.2 eCryptfs文件系统框架 558
13.2.1 eCryptfs文件系统组织结构 558
13.2.2 密钥管理流程 560
13.2.3 创建新文件流程 561
13.3 eCryptfs文件系统数据结构 564
13.3.1 eCryptfs文件系统的私有数据结构 564
13.3.2 文件系统加密统计信息结构 565
13.3.3 加密统计信息结构 566
13.4 内核eCrypts文件系统加密操作 567
13.4.1 eCrypts文件系统对象的函数操作集 567
13.4.2 挂接文件系统 567
13.4.3 创建新文件 571
13.4.4 打开文件 574
13.4.5 文件读页操作 580
13.4.6 文件写页操作 582
13.5 eCryptfs文件系统后台进程 583
13.5.1 后台进程机制 583
13.5.2 消息包处理 585
13.5.3 PKI链表及其操作 586
13.5.4 使用openSSL的PKI库 588
第14章 数字版权管理 591
14.1 OMA DRM功能框架 591
14.1.1 OMA DRM功能框架概述 591
14.1.2 OMA DRM基本下载模型 593
14.1.3 ROAP协议 594
14.1.4 证书状态检查与设备时间同步 596
14.1.5 OMA DRM域 598
14.1.6 DCF文件格式 598
14.2 OpenIPMP概述 600
14.2.1 OpenIPMP软件包介绍 600
14.2.2 DRM插件的编译与安装 601
14.2.3 DRM服务器的安装 602
14.2.4 DRM实现框架 603
14.3 OpenIPMP采用的C++典型语法 605
14.3.1 C++编程常用方法 605
14.3.2 DRM插件的典型C++语法 609
14.3.3 多线程类工厂ThreadSyncFactory 612
14.4 用类工厂封装PKI 618
14.4.1 XML类工厂XMLFactory 618
14.4.2 公钥加密工厂PublicCryptoFactory 620
14.4.3 Base64类工厂Base64Factory 622
14.4.4 密码算法类工厂CipherFactory 622
14.5 ROAP消息处理 625
14.5.1 权利对象RO的类描述 625
14.5.2 ROAP会话消息的类封装 627
14.5.3 证书消息的类封装 630
14.5.4 ROAP消息分析器 632
14.6 解密DCF文件 635
14.6.1 解密DCF文件的函数调用流程 635
14.6.2 DCF文件DRM信息类OMADRMInfo 636
14.6.3 解密管理类工厂创建解密管理器 637
14.7 解密管理器 639
14.7.1 DRM代理类OMADRMDecAgent 640
14.7.2 解密DRM代理获取密钥的操作流程 643
14.7.3 RO管理与消费 647
14.7.4 解密的通信处理器类工厂 649
14.8 加密媒体 652
14.8.1 加密过程 653
14.8.2 加密器产生 654
14.8.3 RO产生 655
第15章 ELF文件执行过程 658
15.1 动态链接与静态链接 658
15.1.1 动态链接库使用方法 658
15.1.2 共享库使用机制 660
15.1.3 预链接 661
15.2 对象文件格式 661
15.2.1 a.out与COFF文件格式 662
15.2.2 ELF对象文件组织结构 663
15.2.3 与符号定位相关的小节 668
15.2.4 ELF对象文件与装载相关的结构 673
15.2.5 动态链接的机制 676
15.3 位置无关代码与共享库 682
15.3.1 位置无关代码与一般代码的区别 682
15.3.2 共享库对象文件与可执行对象文件的区别 684
15.3.3 内嵌汇编位置无关代码 686
15.4 可执行文件加载代码分析 687
15.4.1 执行文件的处理函数集 687
15.4.2 ELF可执行文件运行过程 688
15.4.3 函数load_elf_binary分析 689
第16章 应用程序编译方法 699
16.1 编写Makefile 699
16.1.1 Makefile语法概述 699
16.1.2 iptables软件Makefile实例 703
16.2 automake自动产生Makefile 713
16.2.1 configure脚本产生过程概述 713
16.2.2 Autoconfig语言 714
16.2.3 configure.in实例 721
16.2.4 automake工具 728
16.3 GCC工具及扩展 733
16.3.1 GNU常用工具 733
16.3.2 预处理 734
16.3.3 C语言扩展 735
16.3.4 C++和C语言混合使用 737
16.3.5 字符串国际化 737
第17章 编程模式 739
17.1 C语言面向对象的实现 739
17.1.1 面向对象的编程思想 739
17.1.2 软件架构 740
17.1.3 类的实现 740
17.1.4 其他对象化方法 744
17.2 程序设计模式 745
17.2.1 外观模式 746
17.2.2 适配器模式 747
17.2.3 桥接模式 747
17.2.4 抽象工厂 749
17.2.5 策略模式 750
17.2.6 装饰模式 750
17.2.7 单件模式和双检查锁模式 752
17.2.8 观察者模式 752
17.2.9 模板方法模式 754
17.2.10 工厂方法模式 754
17.3 编程基本语法规范 755
17.3.1 异常处理 755
17.3.2 子程序 756
17.3.3 宏定义 756
17.3.4 内联子程序 756
17.3.5 基本数据类型 756
17.3.6 结构体 757
17.3.7 指针和引用 758
17.3.8 全局数据 761
17.3.9 控制语句 761
17.3.10 头文件 761
17.4 安全编程 762
17.5 线程并行模型 763
17.6 应用程序编写规范 765
17.7 代码书写规范 766
参考文献 768
- 《水面舰艇编队作战运筹分析》谭安胜著 2009
- 《分析化学》陈怀侠主编 2019
- 《影响葡萄和葡萄酒中酚类特征的因素分析》朱磊 2019
- 《仪器分析技术 第2版》曹国庆 2018
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《全国普通高等中医药院校药学类专业十三五规划教材 第二轮规划教材 分析化学实验 第2版》池玉梅 2018
- 《Power BI数据清洗与可视化交互式分析》陈剑 2020
- 《行测资料分析》李永新主编 2019
- 《药物分析》贡济宇主编 2017
- 《土壤环境监测前沿分析测试方法研究》中国环境监测总站编著 2018
- 《电子测量与仪器》人力资源和社会保障部教材办公室组织编写 2009
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《电子应用技术项目教程 第3版》王彰云 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017