- ISBN:9787115628671
- 装帧:平装-胶订
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:216
- 出版时间:2024-10-01
- 条形码:9787115628671 ; 978-7-115-62867-1
本书特色
1.实战导向,经验丰富: 本书由中国移动网络安全专家撰写,拥有丰富的实战经验,为读者提供可靠的知识和指导。
2.全面体系,覆盖四大板块: 全书覆盖操作系统、数据库、中间件和容器四大板块,并补充了Docker、Kubernetes等新兴技术的安全加固内容,为读者提供更全面的知识体系。
3.循序渐进,操作性强: 本书从风险分析、加固详情、加固步骤三个维度,讲解了每条安全配置项,有助于技术人员或运维人员基于安全风险、结合业务场景决策是否要加固。
4.实战指导,可操作性强: 本书包含大量实例和源码,将理论知识与实际操作相结合,帮助读者更好地理解和应用书中提到的安全加固技术,全方位助力企业提高系统安全防范能力。
内容简介
安全加固是配置信息系统的过程,它可以降低信息系统安全风险。本书系统介绍操作系统、数据库、中间件、容器四大板块的相关安全配置,通过强化账号安全、加固服务、修改安全配置、优化访问控制策略、增加安全机制等方法,从风险分析、加固详情、加固步骤3个维度讲解每条安全配置项,有助于读者充分了解每条安全配置项潜在的风险及如何进行加固,并在功能性与安全性之间寻求平衡,合理加强安全性。 本书适用于指导产品研发人员研制默认配置安全的产品,规范技术人员在各类系统上的日常操作,让运维人员获得检查默认安全风险的标准,避免人为因素的失误带来的安全风险。
目录
第 1章 Linux 3
1.1 账号安全 3
1.1.1 控制可登录账号 3
1.1.2 禁止root用户登录 3
1.1.3 禁用非活动用户 4
1.1.4 确保root用户的GID为0 4
1.1.5 确保仅root用户的UID为0 4
1.2 密码安全 5
1.2.1 设置密码生存期 5
1.2.2 设置密码复杂度 5
1.2.3 确保加密算法为SHA-512 6
1.2.4 确保/etc/shadow密码字段不为空 6
1.3 登录、认证鉴权 7
1.3.1 配置SSH服务 7
1.3.2 设置登录超时时间 9
1.3.3 设置密码锁定策略 10
1.3.4 禁止匿名用户登录系统 10
1.3.5 禁用不安全服务 10
1.3.6 禁用不安全的客户端 11
1.3.7 配置/etc/crontab文件权限 12
1.3.8 确保登录警告配置正确 12
1.4 日志审计 13
1.4.1 配置auditd服务 13
1.4.2 配置rsyslog服务 15
1.4.3 配置journald服务 15
1.4.4 配置日志文件*小权限 16
1.5 安全配置 16
1.5.1 限制可查看历史命令条数 16
1.5.2 确保日志文件不会被删除 17
1.5.3 iptables配置 17
1.5.4 配置系统时间同步 18
1.5.5 限制umask值 20
1.5.6 限制su命令的访问 20
1.5.7 SELinux配置 20
1.5.8 系统文件权限配置 21
1.6 安全启动 22
1.6.1 设置引导加载程序密码 22
1.6.2 配置引导加载程序权限 23
1.6.3 配置单用户模式需要身份验证 23
1.7 安全编译 23
1.7.1 限制堆芯转储 23
1.7.2 启用XD/NX支持 24
1.7.3 启用地址空间布局随机化 24
1.7.4 禁止安装prelink 25
1.8 主机和路由器系统配置 25
1.8.1 禁止接收源路由数据包 25
1.8.2 禁止数据包转发 26
1.8.3 关闭ICMP重定向 26
1.8.4 关闭安全ICMP重定向 27
1.8.5 记录可疑数据包 27
1.8.6 忽略广播ICMP请求 28
1.8.7 忽略虚假ICMP响应 28
1.8.8 启用反向路径转发 28
1.8.9 启用TCP SYN Cookie 29
1.8.10 禁止接收IPv6路由器广告 29
第 2章 Windows 30
2.1 账户安全 30
2.1.1 禁用Guest账户 30
2.1.2 禁用管理员账户 31
2.1.3 删除无用账户 31
2.1.4 不显示上次登录的用户名 32
2.1.5 禁止空密码登录系统 33
2.1.6 重命名来宾和管理员账户 33
2.1.7 确保“账户锁定时间”设置为“15”或更大的值 34
2.1.8 确保“账户锁定阈值”设置为“5”或更小的值 34
2.1.9 确保“计算机账户锁定阈值”设置为“10”或更小的值 35
2.1.10 确保“重置账户锁定计数器”设置为“15”或更大的值 35
2.1.11 密码过期之前提醒用户更改密码 36
2.2 密码策略 36
2.2.1 启用密码复杂度相关策略 36
2.2.2 确保“强制密码历史”设置为“24”或更大的值 37
2.2.3 设置密码使用期限 37
2.2.4 设置*小密码长度 38
2.3 认证授权 38
2.3.1 拒绝Guest、本地账户从网络访问此计算机 38
2.3.2 拒绝Guest、本地账户通过远程桌面服务登录 39
2.3.3 配置远程强制关机权限 39
2.3.4 限制可本地关机的用户 40
2.3.5 授权可登录的账户 40
2.3.6 分配用户权限 41
2.3.7 控制备份文件和目录权限 42
2.3.8 控制还原文件和目录权限 42
2.3.9 控制管理审核和安全日志权限 43
2.3.10 控制身份验证后模拟客户端权限 43
2.3.11 控制拒绝以服务身份登录权限 44
2.4 日志审计 44
2.4.1 设置日志存储文件大小 45
2.4.2 配置审核策略 45
2.5 系统配置 46
2.5.1 设置屏幕保护程序 46
2.5.2 安全登录 46
2.5.3 限制匿名枚举 47
2.5.4 禁止存储网络身份验证的密码和凭据 48
2.5.5 使用DoH 48
2.5.6 设置域成员策略 49
2.5.7 控制从网络访问编辑注册表的权限 50
2.5.8 控制共享文件夹访问权限 51
2.5.9 关闭Windows自动播放功能 52
2.5.10 限制为进程调整内存配额权限用户 52
2.5.11 配置修改固件环境值权限 53
2.5.12 配置加载和卸载设备驱动程序权限 54
2.5.13 配置更改系统时间权限 54
2.5.14 配置更改时区权限 55
2.5.15 配置获取同一会话中另一个用户的模拟令牌权限 55
2.5.16 阻止计算机加入家庭组 56
2.5.17 阻止用户和应用程序访问危险网站 56
2.5.18 扫描所有下载文件和附件 57
2.5.19 开启实时保护 58
2.5.20 开启行为监视 58
2.5.21 扫描可移动驱动器 59
2.5.22 开启自动下载和安装更新 59
2.5.23 防止绕过Windows Defender SmartScreen 59
2.6 网络安全 60
2.6.1 LAN管理器配置 60
2.6.2 设置基于NTML SSP的客户端和服务器的*小会话安全策略 60
2.6.3 设置LDAP客户端签名 61
2.6.4 登录时间到期时强制注销 61
2.6.5 禁止LocalSystem NULL会话回退 61
2.6.6 禁止PKU2U身份验证请求使用联机标识 61
2.6.7 配置Kerberos允许的加密类型 62
2.6.8 允许本地系统将计算机标识用于NTLM 62
2.7 本地安全策略 63
2.7.1 设置提高计划优先级权限 63
2.7.2 设置创建符号链接权限 63
2.7.3 设置调试程序权限 64
2.7.4 设置文件单一进程和系统性能权限 64
2.7.5 设置创建永久共享对象权限 65
2.7.6 设置创建全局对象权限 65
2.7.7 设置创建一个令牌对象权限 66
2.7.8 设置执行卷维护任务权限 67
2.7.9 设置拒绝作为批处理作业登录权限 67
2.7.10 设置替换一个进程级令牌权限 68
2.7.11 Microsoft网络客户端安全配置 68
2.7.12 Microsoft网络服务器安全配置 69
2.7.13 禁止将Everyone权限应用于匿名用户 70
2.7.14 禁止设置匿名用户可以访问的网络共享 71
2.7.15 控制应用程序安装 71
2.7.16 禁用sshd服务 72
2.7.17 禁用FTP服务 72
2.7.18 配置高级审核策略 72
2.7.19 禁止在DNS域网络上安装和配置网桥 74
2.7.20 禁止在DNS域网络上使用Internet连接共享 74
2.8 Windows Defender防火墙 75
2.8.1 开启Windows Defender防病毒功能 75
2.8.2 开启防火墙 76
2.8.3 配置入站和出站连接 77
2.8.4 配置日志文件 77
第 2篇 数据库安全
第3章 MySQL 81
3.1 宿主机安全配置 81
3.1.1 数据库工作目录和数据目录存放在专用磁盘分区 81
3.1.2 使用MySQL专用账号启动进程 81
3.1.3 禁用MySQL历史命令记录 82
3.1.4 禁止MYSQL_PWD的使用 82
3.1.5 禁止MySQL运行账号登录系统 83
3.1.6 禁止MySQL使用默认端口 83
3.2 备份与容灾 83
3.2.1 制定数据库备份策略 83
3.2.2 使用专用存储设备存放备份数据 84
3.2.3 部署数据库应多主多从 84
3.3 账号与密码安全 84
3.3.1 设置密码生存周期 84
3.3.2 设置密码复杂度 85
3.3.3 确保不存在空密码账号 86
3.3.4 确保不存在无用账号 86
3.3.5 修改默认管理员账号名为非root用户 86
3.4 身份认证连接与会话超时限制 87
3.4.1 检查数据库是否设置连接尝试次数 87
3.4.2 检查是否限制连接地址与设备 88
3.4.3 限制单个用户的连接数 88
3.4.4 确保have_ssl设置为yes 88
3.4.5 确保使用高强度加密套件 89
3.4.6 确保加解密函数配置高级加密算法 89
3.4.7 确保使用新版本TLS协议 89
3.5 数据库文件目录权限 90
3.5.1 配置文件及目录权限*小化 90
3.5.2 备份数据权限*小化 90
3.5.3 二进制日志权限*小化 90
3.5.4 错误日志权限*小化 91
3.5.5 慢查询日志权限*小化 91
3.5.6 中继日志权限*小化 91
3.5.7 限制日志权限*小化 91
3.5.8 插件目录权限*小化 92
3.5.9 密钥证书文件权限*小化 92
3.6 日志与审计 92
3.6.1 配置错误日志 92
3.6.2 确保log-raw设置为off 93
3.6.3 配置log_error_verbosity 93
3.7 用户权限控制 93
3.7.1 确保仅管理员账号可访问所有数据库 93
3.7.2 确保file不授予非管理员账号 94
3.7.3 确保process不授予非管理员账号 94
3.7.4 确保super不授予非管理员账号 94
3.7.5 确保shutdown不授予非管理员账号 95
3.7.6 确保create user不授予非管理员账号 95
3.7.7 确保grant option不授予非管理员账号 95
3.7.8 确保replication slave不授予非管理员账号 95
3.8 基本安全配置 96
3.8.1 确保安装*新补丁 96
3.8.2 删除默认安装的测试数据库test 96
3.8.3 确保allow-suspicious-udfs配置为false 96
3.8.4 local_infile参数设定 97
3.8.5 skip-grant-tables参数设定 97
3.8.6 daemon_memcached参数设定 97
3.8.7 secure_file_priv参数设定 98
3.8.8 sql_mode参数设定 98
第4章 PostgreSQL 99
4.1 目录文件权限 99
4.1.1 确保配置文件及目录权限合理 99
4.1.2 备份数据权限*小化 99
4.1.3 日志文件权限*小化 100
4.2 日志与审计 100
4.2.1 确保已开启日志记录 100
4.2.2 确保已配置日志生命周期 101
4.2.3 确保已配置日志转储大小 101
4.2.4 确保配置日志记录内容完整 101
4.2.5 确保正确配置log_destinations 102
4.2.6 确保已配置log_truncate_on_rotation 102
4.2.7 正确配置syslog_facility 103
4.2.8 正确配置syslog_sequence_numbers 103
4.2.9 正确配置syslog_split_messages 103
4.2.10 正确配置syslog_ident 103
4.2.11 正确配置log_min_ messages 104
4.2.12 正确配置log_min_error_ statement 104
4.2.13 确保禁用debug_print_parse 104
4.2.14 确保禁用debug_print_rewritten 104
4.2.15 确保禁用debug_print_plan 105
4.2.16 确保启用debug_pretty_print 105
4.2.17 确保启用log_connections 105
4.2.18 确保启用log_disconnections 105
4.2.19 正确配置log_error_verbosity 106
4.2.20 正确配置log_hostname 106
4.2.21 正确配置log_statement 106
4.2.22 正确配置log_timezone 107
4.3 账号与密码安全 107
4.3.1 设置密码复杂度 107
4.3.2 设置密码生存周期 107
4.4 身份认证连接与会话超时限制 108
4.4.1 检查数据库是否设置连接尝试次数 108
4.4.2 检查是否限制连接地址与设备 108
4.4.3 限制单个用户的连接数 108
4.4.4 设置登录校验密码 109
4.5 备份与容灾 109
4.5.1 制定数据库备份策略 109
4.5.2 部署数据库应多主多从 110
4.6 用户权限控制 110
4.7 安装和升级安全配置 110
4.7.1 确保安装包来源可靠 110
4.7.2 确保正确配置服务运行级别 110
4.7.3 配置数据库运行账号文件掩码 111
第5章 Redis 112
5.1 身份认证连接 112
5.1.1 限制客户端认证超时时间 112
5.1.2 检查数据库是否设置连接尝试次数 112
5.1.3 配置账号锁定时间 113
5.2 账号密码认证 113
5.3 目录文件权限 113
5.3.1 确保配置文件及目录权限合理 113
5.3.2 备份数据权限*小化 113
5.3.3 日志文件权限*小化 114
5.4 备份与容灾 114
5.4.1 制定数据库备份策略 114
5.4.2 部署数据库应多主多从 114
5.5 安装与升级 115
5.5.1 确保使用*新安装补丁 115
5.5.2 使用Redis专用账号启动进程 115
5.5.3 禁止Redis运行账号登录系统 116
5.5.4 禁止Redis使用默认端口 116
第6章 MongoDB 117
6.1 安装和补丁 117
6.1.1 确保使用*新版本数据库 117
6.1.2 使用MongoDB专用账号启动进程 117
6.1.3 确保MongoDB未使用默认端口 118
6.1.4 禁止MongoDB运行账号登录系统 118
6.2 身份认证 119
6.2.1 确保启用身份认证 119
6.2.2 确保本机登录进行身份认证 119
6.2.3 检查是否限制连接地址与设备 119
6.2.4 确保在集群环境中启用身份认证 120
6.3 备份与容灾 120
6.3.1 制定数据库备份策略 120
6.3.2 部署数据库应多主多从 121
6.4 日志与审计 121
6.4.1 确保日志记录内容完整 121
6.4.2 确保添加新日志采用追加方式而不是覆盖 121
6.5 目录文件权限 122
6.5.1 确保配置文件及目录权限合理 122
6.5.2 备份数据权限*小化 122
6.5.3 日志文件权限*小化 122
6.5.4 确保密钥证书文件权限*小化 123
6.6 权限控制 123
6.6.1 确保使用基于角色的访问控制 123
6.6.2 确保每个角色都是必要的且权限*小化 123
6.6.3 检查具有root用户角色的用户 124
6.7 传输加密 125
6.7.1 确保禁用旧版本TLS协议 125
6.7.2 确保网络传输使用TLS加密 125
第3篇 中间件安全
第7章 Tomcat 129
7.1 安全配置 129
7.1.1 以普通用户运行Tomcat 129
7.1.2 修改默认端口 129
7.1.3 设置密码长度和复杂度 130
7.1.4 配置日志功能 130
7.1.5 设置支持使用HTTPS等加密协议 130
7.1.6 设置连接超时时间 131
7.1.7 禁用危险的HTTP方法 131
7.2 权限控制 132
7.2.1 禁用manager功能 132
7.2.2 禁止Tomcat显示文件列表 132
第8章 Nginx 133
8.1 协议安全 133
8.1.1 配置SSL协议 133
8.1.2 限制SSL协议和密码 133
8.2 安全配置 134
8.2.1 关闭默认错误页的Nginx版本号 134
8.2.2 设置client_body_timeout超时 134
8.2.3 设置client_header_timeout超时 134
8.2.4 设置keepalive_timeout超时 134
8.2.5 设置send_timeout超时 134
8.2.6 设置只允许GET、HEAD、POST方法 135
8.2.7 控制并发连接 135
第9章 WebLogic 136
9.1 安全配置 136
9.1.1 以非root用户运行WebLogic 136
9.1.2 设置加密协议 136
9.1.3 设置账号锁定策略 137
9.1.4 更改默认端口 137
9.1.5 配置超时退出登录 137
9.1.6 配置日志功能 138
9.1.7 设置密码复杂度符合要求 138
9.2 权限控制 138
9.2.1 禁用发送服务器标头 138
9.2.2 限制应用服务器Socket数量 139
第 10章 JBoss 140
10.1 账号安全 140
10.1.1 设置jmx-console登录的用户名、密码及其复杂度 140
10.1.2 设置web service登录的用户名、密码及其复杂度 141
10.2 安全配置 141
10.2.1 设置支持加密协议 141
10.2.2 修改默认端口 142
10.2.3 设置会话超时时间 142
10.2.4 限制目录列表访问 142
10.2.5 记录用户登录行为 143
第 11章 Apache 144
11.1 账号安全 144
11.1.1 设置Apache用户账号Shell生效 144
11.1.2 锁定Apache用户账号 144
11.2 安全配置 145
11.2.1 禁用SSL/TLS协议 145
11.2.2 限制不安全的SSL/TLS 145
11.2.3 设置Timeout小于或等于10 145
11.2.4 设置KeepAlive为On 145
11.2.5 设置MaxKeepAliveRequests大于或等于100 146
11.2.6 设置KeepAliveTimeout小于或等于15 146
11.2.7 限制所有目录覆盖 146
第 12章 IIS 147
12.1 权限控制 147
12.1.1 卸载不需要的组件 147
12.1.2 删除默认站点 147
12.1.3 设置网站目录权限 147
12.1.4 限制应用程序扩展 148
12.1.5 限制Web服务扩展 148
12.2 安全配置 148
12.2.1 日志功能设置 148
12.2.2 自定义错误信息 148
第 13章 WebSphere 149
13.1 权限控制 149
13.1.1 控制config与properties目录权限 149
13.1.2 禁止目录浏览 149
13.2 安全配置 150
13.2.1 禁止列表显示文件 150
13.2.2 配置日志功能 150
13.2.3 启用全局安全性 150
13.2.4 启用Java 2安全性 151
13.2.5 配置控制台会话超时时间 151
13.2.6 卸载sample例子程序 151
第4篇 容器安全
第 14章 Docker 155
14.1 Docker主机安全配置 156
14.1.1 确保docker组中仅存在可信用户 156
14.1.2 审计Docker守护进程 156
14.1.3 审计Docker文件和目录 156
14.1.4 确保Docker版本*新 158
14.2 Docker守护进程配置 158
14.2.1 以非root用户运行Docker守护进程 158
14.2.2 限制在默认网桥上的容器之间的网络流量 158
14.2.3 设置日志记录级别为info 159
14.2.4 允许Docker更改iptables 159
14.2.5 禁止使用不安全的注册表 159
14.2.6 禁止使用aufs存储驱动程序 159
14.2.7 配置Docker守护进程的TLS身份验证 160
14.2.8 正确配置默认ulimit 160
14.2.9 启用用户命名空间 160
14.2.10 确保安装授权插件 161
14.2.11 配置集中和远程日志记录 161
14.2.12 限制容器获取新权限 161
14.2.13 启用实时还原 161
14.2.14 确保禁用Userland代理 162
14.2.15 禁用实验特性 162
14.3 Docker守护进程配置文件权限 162
14.3.1 配置Docker相关文件的权限和属主属组 162
14.3.2 配置/etc/docker目录的权限和属主属组 163
14.3.3 配置Docker相关证书文件目录的权限和属主属组 163
14.3.4 配置Docker服务器证书密钥文件的权限和属主属组 164
14.3.5 配置Docker套接字文件的权限和属主属组 164
14.3.6 配置Containerd套接字文件的权限和属主属组 164
14.4 容器镜像和构建文件配置 165
14.4.1 以非root用户运行容器 165
14.4.2 仅使用受信任的基础镜像 165
14.4.3 卸载容器中安装的不必要的软件 165
14.4.4 确保镜像无安全漏洞 166
14.4.5 启用Docker的内容信任 166
14.4.6 容器镜像中添加健康检查 166
14.4.7 确保在Dockerfiles中不单独使用update指令 166
14.4.8 删除不必要的setuid和setgid权限 167
14.4.9 Dockerfiles中使用COPY而不使用ADD 167
14.4.10 删除Dockerfiles中的敏感信息 168
14.5 容器运行时配置 168
14.5.1 启用AppArmor配置 168
14.5.2 设置SELinux安全选项 168
14.5.3 删除容器所有不需要的功能 169
14.5.4 不使用特权容器 170
14.5.5 禁止以读写形式挂载主机系统敏感目录 170
14.5.6 禁止容器内运行sshd 171
14.5.7 确保未映射特权端口 172
14.5.8 关闭容器非必需端口 172
14.5.9 确保容器不共享主机的网络命名空间 173
14.5.10 限制容器的可用内存 173
14.5.11 设置容器的CPU阈值 174
14.5.12 合理挂载容器的根文件系统 174
14.5.13 流量绑定特定的主机端口 174
14.5.14 设置容器重启策略 175
14.5.15 不共享主机的PID命名空间 175
14.5.16 不共享主机的IPC命名空间 176
14.5.17 不直接暴露主机设备 176
14.5.18 设置系统资源限制 176
14.5.19 禁止将挂载传播模式设置为共享 177
14.5.20 不共享主机的UTS命名空间 177
14.5.21 启用默认的seccomp配置 177
14.5.22 禁止docker exec使用--privileged选项 178
14.5.23 禁止docker exec使用--user=root选项 178
14.5.24 使用默认的Docker cgroup 178
14.5.25 限制容器获取额外的特权 179
14.5.26 运行时检查容器健康状况 179
14.5.27 使用镜像的*新版本 179
14.5.28 限制容器的pid个数 180
14.5.29 不共享主机的用户命名空间 180
14.5.30 禁止容器内安装Docker套接字 181
14.6 Docker swarm配置 181
14.6.1 非必要则禁用swarm模式 181
14.6.2 创建*小数量的管理节点 181
14.6.3 将swarm服务绑定到特定主机端口 182
14.6.4 确保所有Docker swarm覆盖网络均加密 182
14.6.5 确保swarm manager在自动锁定模式下运行 182
14.6.6 隔离管理平面流量与数据平面流量 183
第 15章 Kubernetes 184
15.1 Master Node配置文件 185
15.1.1 配置kube-apiserver.yaml的属主属组和权限 185
15.1.2 配置kube-controller-manager.yaml的属主属组和权限 185
15.1.3 配置kube-scheduler.yaml的属主属组和权限 186
15.1.4 配置etcd.yaml的属主属组和权限 186
15.1.5 配置容器网络接口文件的属主属组和权限 187
15.1.6 配置etcd数据目录的属主属组和权限 187
15.1.7 配置admin.conf的属主属组和权限 188
15.1.8 配置scheduler.conf的属主属组和权限 188
15.1.9 配置controller-manager.conf的属主属组和权限 189
15.1.10 配置Kubernetes PKI 目录及文件的属主属组和权限 189
15.2 API Server 190
15.2.1 不使用基本身份认证 190
15.2.2 不使用基于令牌的身份认证 190
15.2.3 使用HTTPS进行Kubelet连接 191
15.2.4 启用基于证书的Kubelet身份认证 191
15.2.5 建立连接前验证Kubelet证书 191
15.2.6 禁止授权所有请求 192
15.2.7 设置合理的授权方式 192
15.2.8 设置新Pod重启时按需拉取镜像 192
15.2.9 避免自动分配服务账号 193
15.2.10 拒绝在不存在的命名空间中创建对象 193
15.2.11 拒绝创建不安全的Pod 193
15.2.12 设置准入控制插件NodeRestriction 194
15.2.13 不绑定不安全的apiserver地址 194
15.2.14 不绑定不安全的端口 194
15.2.15 不禁用安全端口 195
15.2.16 启用日志审计 195
15.2.17 设置合适的日志文件参数 195
15.2.18 设置适当的API服务器请求超时参数 196
15.2.19 验证令牌之前先验证服务账号 196
15.2.20 为apiserver的服务账号设置公钥文件 196
15.2.21 设置apiserver和etcd之间的TLS连接 197
15.2.22 设置apiserver的TLS连接 197
15.2.23 设置etcd对客户端的TLS连接 198
15.2.24 设置加密存储etcd键值 198
15.3 Controller管理器 199
15.3.1 每个控制器使用单独的服务账号凭证 199
15.3.2 为Controller的服务账号设置私钥文件 199
15.3.3 设置API服务器的服务证书 200
15.3.4 禁止Controller Manager API服务绑定非环回的不安全地址 200
15.4 scheduler 201
15.4.1 确保--profiling参数为false 201
15.4.2 禁止scheduler API服务绑定到非环回的不安全地址 201
15.5 etcd 201
15.5.1 为etcd服务配置TLS加密 201
15.5.2 在etcd服务上启用客户端身份认证 202
15.5.3 禁止自签名证书用于TLS 202
15.5.4 设置etcd的TLS连接 202
15.5.5 配置etcd的对等身份认证 203
15.5.6 禁止TLS连接时使用自签名证书 203
15.6 Worker节点配置文件 203
15.6.1 配置Kubelet服务文件的属主属组和权限 203
15.6.2 配置代理kubeconfig文件的属主属组和权限 204
15.6.3 配置kubelet.conf文件的属主属组和权限 204
15.6.4 配置证书颁发机构文件的属主属组和权限 205
15.6.5 配置Kubelet配置文件的属主属组和权限 205
15.7 Kubelet配置 206
15.7.1 禁止匿名请求Kubelet服务器 206
15.7.2 启用显式授权 207
15.7.3 启用Kubelet证书身份认证 207
15.7.4 禁用只读端口 208
15.7.5 合理设置默认内核参数值 208
15.7.6 允许Kubelet管理iptables 209
15.7.7 不要覆盖节点主机名 209
15.7.8 在Kubelet上设置TLS连接 210
15.7.9 启用Kubelet客户端证书轮换 210
15.7.10 启用Kubelet服务端证书轮换 211
15.8 Kubernetes策略 211
15.8.1 禁止hostPID设置为true 211
15.8.2 禁止hostIPC设置为 true 212
15.8.3 禁止hostNetwork设置为true 212
15.8.4 禁止allowPrivilegeEscalation设置为true 213
15.8.5 禁止以root用户运行容器 213
15.8.6 确保所有命名空间都定义网络策略 213
结语 215
作者简介
白婧婧 西安电子科技大学硕士研究生,在网络安全测评领域深耕10年,主攻Docker容器逃逸、主机提权技术,精通主流操作系统、数据库、中间件的安全配置检查及加固,爱好洞察业界信息安全技术动态,在网络安全防御、漏洞修复方面有着丰富的经验。 田康 中移系统集成有限公司(雄安产业研究院)智慧城市平台部副总经理、高级工程师,中国移动OneCity系统架构师,中国移动集团科协AI专家组成员,负责甘肃省数字政府、沈阳市数字政府等多个省市数字化建设项目的整体规划编制、技术架构设计等工作,在政企数字化转型领域有深入的研究和丰富的实践经验。 李博 具有13年DevOps领域研发和实践经验,在多个企业主导DevOps体系从0到1的建设工作,包括持续集成、持续发布、研发协同等多个领域,近几年专注于DevSecOps在企业的落地实践。 高尉峰 毕业于西北工业大学软件与微电子学院,主要研究APT攻防对抗技术、RASP技术、ATT&CK知识库实践、样本溯源、安全测试工具开发和DevSecOps落地等,并在上述领域提出多项解决方案。 朱康 从事网络安全测评和渗透测试工作5年,对业界常见的攻击手段有独特的见解。在操作系统安全、数据库安全、中间件安全、容器安全领域有丰富的安全配置加固实战经验。
-
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
全图解零基础word excel ppt 应用教程
¥12.0¥48.0 -
机器学习
¥59.4¥108.0 -
深度学习的数学
¥43.5¥69.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥37.7¥65.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥77.4¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
UN NX 12.0多轴数控编程案例教程
¥25.8¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0 -
Visual Basic 语言程序设计基础(第6版)
¥32.0¥45.0